Browse Source

Merge pull request #637 from traumschule/patch-2

41.DT-1 Distribution Concept
mochet 3 years ago
parent
commit
7719c2de9d

+ 115 - 0
working-groups/distributors/Distribution_Concept.md

@@ -0,0 +1,115 @@
+# [41.DT-1](https://blog.joystream.org/sumer-kpis/#41.DT-1) - A Manifesto for Distributors
+
+
+## how many workers?
+- 6 then 10
+
+The objective is to distribute currently 1.3TB among X nodes for best atlas performance (fast node, close location)
+- rough grid:
+ - primary families: US, EU, ASIA
+ - secondary families: south/central america (SA), africa (AF) - from my research more expensive
+ - one family for the line sydney-tokyo-hongkong (at first probably lower demand)
+ - I would also experiment with smaller (0.1..1GB) distributors for high demand clusters. Here intelligent (half) automatic bag assignment based on *metrics* (TBD).
+ 
+Start with 6 main workers (1 per primary family) and regional openings for lower amounts.
+
+## Minimum hardware requirements?
+
+- Fastest disk available (SSD)
+- 2TB primary cluser, 100GB+ regional (scale up/rplace on demand)
+
+## How many regions are reasonable
+
+6 (rough grid), 3 hot spots++
+
+The amount of workers (ref budget)?
+6 in primary regions ($500) with double replication
+4 in secondary ($200) for full coverage with low replication*
+= 700
+
+[*] a network without redundancy is no network.  low prices means less speed, lower quality services. needs a compromise between redundancy and availability. with one server per region we cannot afford blackouts, with >2 price/GB has to get down. Since this is an ideal scenario and this is still a testnet real costs will start low and build up over time.
+
+Lots of theory, i am here for the fun!
+
+## Where do the requests come from?
+
+I wrote briefly in the [proposal 1100](https://pioneer.joystreamstats.live/#/proposals/1100) comment, this needs more work to combine and anlyze different sources.
+
+## Where should the workers create their nodes?
+
+We are overpresent in EU with SP and can build around that based on needs. Many uploaders are in RU and probably viewers too (check!).
+
+Focus this region + US with 2 fast nodes each, build up with 2 smaller ones for other familiies and try to fill 100Gb.
+
+## What coverage and replication can be reached given all of this?
+
+Depends on the budget. I would try different openings for sizes and regions to find out what is interesting and works.
+
+Every bag should be in 2 buckets but no must because of SP. For more it needs a deeper look at channels per language or requests by county.
+
+## Which commands do you have to make to make your system the way you want?
+> create a spreadsheet outlining what bags are in which buckets, including the number of assets and total size of each bag. Include the bucketId (family:index) for each bucket.
+
+This would be a wild guess. Needs size, language per bag (channel) and contact with curators to find a good solution.
+
+As for commands
+- create 6 families as outlined above
+- identify cyrillic channels ($ru) and assign 2 distributors ($r1, $r2)
+```
+for $i in $ru ; do
+    yarn storage-node leader:update-bag -i dynamic:channel:$i -a $r1 -k $KEY
+    yarn storage-node leader:update-bag -i dynamic:channel:$i -a $r2 -k $KEY
+done
+```
+- share english speaking channels ($en1, $en2) among US ($us1, $us2), EU ($eu1, $eu2), ASIA ($as1, $as2)
+```
+for $i in $en1 ; do
+    yarn storage-node leader:update-bag -i dynamic:channel:$i -a $us1 -k $KEY
+    yarn storage-node leader:update-bag -i dynamic:channel:$i -a $eu1 -k $KEY
+    yarn storage-node leader:update-bag -i dynamic:channel:$i -a $as1 -k $KEY
+done 
+for $i in $en2 ; do
+    yarn storage-node leader:update-bag -i dynamic:channel:$i -a $us2 -k $KEY
+    yarn storage-node leader:update-bag -i dynamic:channel:$i -a $eu2 -k $KEY
+    yarn storage-node leader:update-bag -i dynamic:channel:$i -a $as2 -k $KEY
+done 
+```
+- weekly re-assign bags that landed in a distant region ([ref](https://github.com/bwhm/helpdesk/tree/giza/roles/distributors-lead#dynamic-bag-creation-policy). This will require effective communication between channel owners and family distributiors (say party). Match could happen via curation (top>down) or with some kind of reward for channel owners (bottom>up). Bucket Operators would collect channels and forward demand to the lead.
+- open question:
+  - adjust salary to storage held.
+  - incentivizes distributors to get more bags assigned (they have little control of they will be demanded and could get filled with dust).
+  - process for requesting unassignment of bags (ideally swap similar size bags between buckets), depends on reason. penalty?
+
+## Dynamic Bag Policy (DBP)
+ 
+With 6 families ($RU, $EU, US, $SA, $AF, $AS) it is hard to predict where new content should be placed first.
+Is there a functionality to map user origin to a bucket family? Why not :)
+
+Two options:
+- place all new bags equally in US, EU, RU (our current main user base, without knowing actual data yet, JSG please share)
+```
+yarn joystream-distributor leader:update-dynamic-bag-policy -t Channel -p $us:$us1 $eu:$eu1 $ru:$ru2
+```
+
+- weekly assessment of new channels together with curators to half-manual reassign
+- new $language content to a better region
+
+Distributors do not need to hold everything old and uninteresting. That is what SP are for (and channels owners have to pay to store less demanded items). One big distributor in central europe could hold less demanded but high quality content. And we (freakstatic/me) can offerone slow but big provider (SPB) with 4TB for the rest. Lets see how long that lasts!
+
+With orion and distributor logs is will be possible to drop no-demand channels from distributors or leave it on a cheap one in central europe).
+
+## *where requests come from*
+
+This leads to many questions and options to determine main user base:
+- language of uploaded videos (given curators took care that video `language` is set correctly)
+- views: tracked by orion
+- downloads: could be a requirement for distributors to run a script that collects stats from access logs 
+
+Depending on weighing results for *where do we need how many distributors* may differ.
+
+Orion related issues:
+- [future ideas](https://github.com/Joystream/orion/issues/30)
+- [discovery node](https://github.com/Joystream/atlas/issues/878)
+- [orion queries](https://github.com/Joystream/orion/blob/master/schema.graphql)
+- QN: https://orion.joystream.org/graphql (seems to be identical with QNs for current testnet)
+- docs has few on [`mostViewedCategories`](https://github.com/search?q=org%3AJoystream+mostViewedCategories&type=code) or [`distributionBucketFamilyGeographicAreas`](https://github.com/search?q=org%3AJoystream+distributionBucketFamilyGeographicAreas&type=code) will have to write.

+ 260 - 0
working-groups/distributors/Sumer-Giza-migration/README.md

@@ -0,0 +1,260 @@
+# [41.CC-1 - Finalizing Content Migration](https://blog.joystream.org/sumer-kpis/#41.CC-1)
+
+The goal is to check if transferred channels and videos from Sumer testnet are available on Giza distributors.
+
+## Abstract
+
+> After the upgrade, we migrated a lot of the content from sumer over to giza. This means some follow up work is required.
+> Based on our own, and the community input, the channels that was migrated (including all videos) is available in thi issue.
+> For addressing both this, and the [KPI 41.CC-2](https://blog.joystream.org/sumer-kpis/#41.CC-2), using the "old" and the "new" query-node is needed.
+
+> Find out if all of the following was in fact migrated as we inteded, or if something was missing: channels videos (he migrations says yes for both, but double check wouldn't hurt) assets - some nuances here:
+> How many ACCEPTED (ignore PENDING/REJECTED) data objects were there in total stored under these channels? How many bytes in total? We know the exact amounts migrated.
+> For 1. Share the queries and scripts used to get the data.
+
+[verify.js](verify.js) does following
+- load `ids.js` with channel, video mapping
+- query and cache Sumer QN for channels (`oldChannels.json`)
+- query and cache Giza QN for videos (`newVideos.json`)
+- select migrated *ids* and perform one HEAD request for each asset on `https://storage-1.joystream.org/argus` (~12 results/s, no throttling, sorry!)
+- save results to `migration_result.json`
+- print tables for empty source videos (`PENDING`) and non-uploads on Giza (see [below](#results)).
+
+> Were there any censored channels or videos that made it into the migration? If yes, re-evaluate, and censor again if needed.
+
+4 channels (54 55 57 133) are marked as `isCensored`, see [Censored source channels](#censored-source-channels).
+
+> Are there any channels or videos that wasn't attempted migrated, but should have been? Make a channel on discord, and a forum thread where users can post what they are missing. Review what is being requested, and share the results.
+
+Of 4706 selected videos 4646 were successfully transferred (646,5 GB video data + 82 MB thumbnails).
+
+60 empty source videos were selected for transfer and the same amount is empty on the target provider.
+
+
+## Resources
+
+- Old and new `ChannelId` mapped: https://github.com/Joystream/community-repo/issues/609
+- old QN: https://hydra-sumer.joystream.org/graphql
+- new QN: https://hydra.joystream.org/graphql
+- initial Distributor setup: https://github.com/bwhm/helpdesk/tree/giza/roles/distributors-lead#initial-configurations---giza
+
+### Queries
+
+#### `Channel <> Videos` collection [Sumer](https://hydra-sumer.joystream.org/graphql)
+```
+query {
+  channels (where:{id_eq:534 }) {
+    id
+    createdAt
+    updatedAt
+    createdInBlock
+    title
+    category {
+      name
+    }
+    ownerMember {
+      id
+      handle
+      channels {
+        id
+        title
+      }
+    }
+    coverPhotoAvailability
+    avatarPhotoAvailability
+    coverPhotoDataObject {
+      joystreamContentId
+      size
+    }
+    avatarPhotoDataObject {
+      joystreamContentId
+      size
+    }
+    isCensored
+    isPublic
+    }
+    languages {
+      iso
+    }
+    videos {
+      id
+      title
+      mediaAvailability
+      thumbnailPhotoAvailability
+    }
+}
+```
+
+Shorter version [here](verify.js#L14)
+
+#### Assets on JSG provider ([Giza](https://hydra.joystream.org/graphql))
+
+````
+query{storageBuckets(where:{id_eq:"1"}){id,createdAt,acceptingNewBags,dataObjectsSizeLimit,dataObjectCountLimit,dataObjectsCount,dataObjectsSize,bags{id,objects{id,createdAt,isAccepted,size}}operatorMetadata{id,nodeEndpoint,nodeLocationId,extra,nodeLocation{id,countryCode,coordinates{latitude,longitude}}}}}
+````
+=> https://discord.com/channels/811216481340751934/812344681786507274/936573775066054688
+
+
+#### `Channel <> Videos` collection and `Bag <> StorageBucket` associations [Giza](https://hydra.joystream.org/graphql)
+```
+query {
+  storageBags { id distributionBuckets{id familyId bucketIndex} }  
+  channels {id createdAt updatedAt createdInBlock title
+    category { name } isCensored isPublic
+    ownerMember { id handle }
+    videos { id title }
+  }
+}
+```
+
+## Results
+
+Loaded IDs of 4706 transferred videos in 177 channels.
+Loaded info of 4706 migrated videos.
+Loaded info of 713 old channels.
+4646 videos were transferred 646485444380 bytes + 82260654 avatars + covers.
+
+### Migrated videos with empty source
+
+|ID|Title|Size|Upload|Thumbnail|
+|---|---|---|---|---|
+| 6154 | test upload | 140534084 | PENDING | ACCEPTED |
+| 296 | asd | 253791949 | PENDING | ACCEPTED |
+| 298 | 2021-05-25 11-13-38 | 253791949 | PENDING | ACCEPTED |
+| 299 | 2021-05-25 11-13-38 | 253791949 | PENDING | ACCEPTED |
+| 300 | 2021-05-25 11-13-38 | 253791949 | PENDING | ACCEPTED |
+| 301 | asdasd | 253791949 | PENDING | ACCEPTED |
+| 2040 | Как стать Амбассадором Bit.Country | 144893665 | PENDING | ACCEPTED |
+| 120 | Showreel animation 2021 | 44997716 | PENDING | PENDING |
+| 121 | Showreel animation 2021 | 44997716 | PENDING | PENDING |
+| 303 | Tretyakov Gallery - Black Square | 755357428 | PENDING | PENDING |
+| 206 | Любимое кафе с лучшим видом | 19237360 | PENDING | PENDING |
+| 219 | Путешествую с Пятницей | 14891181 | PENDING | PENDING |
+| 393 | Ночую в заброшке | 27508553 | PENDING | PENDING |
+| 407 | Нашел работу в горах | 37731273 | PENDING | PENDING |
+| 413 | Где я жил в кемпинге | 48027398 | PENDING | PENDING |
+| 415 | Лес обезьян | 34139670 | PENDING | PENDING |
+| 428 | Подношения | 42596459 | PENDING | PENDING |
+| 220 | Путешествую с Пятницей | 14891181 | PENDING | PENDING |
+| 201 | Как живет семья Бали | 29098159 | PENDING | PENDING |
+| 194 | Бали открыли | 34331478 | PENDING | PENDING |
+| 216 | Прекрасный вид на 360 | 36176482 | PENDING | PENDING |
+| 388 | Танцы с Пятницей | 36599530 | PENDING | PENDING |
+| 430 | С Пятницей на  вулкан | 36065310 | PENDING | PENDING |
+| 399 | Бали в стиле старых фильмов | 79158922 | PENDING | PENDING |
+| 2601 | JOY | 6264500 | PENDING | ACCEPTED |
+| 1255 | Superman: Eleventh Hour | 34823272 | PENDING | ACCEPTED |
+| 1270 | Superman: Jungle Drums | 49888116 | PENDING | ACCEPTED |
+| 2388 | The Great Piggy Bank Robbery | 80195964 | PENDING | ACCEPTED |
+| 5591 | I DID A INTENSE WORKOUT CHALLENGE | 299462853 | PENDING | ACCEPTED |
+| 5593 | Super-Pump Arm Workout for Mass | 263483999 | PENDING | ACCEPTED |
+| 2473 | Cosmos Laundromat | 76159780 | PENDING | ACCEPTED |
+| 2488 | Elephants Dream | 69682629 | PENDING | ACCEPTED |
+| 2374 | Big Buck Bunny | 94054804 | PENDING | ACCEPTED |
+| 2377 | Caminandes1 | 4999593 | PENDING | ACCEPTED |
+| 3511 | Самые смешные коты  | 45902976 | PENDING | ACCEPTED |
+| 3513 | Приколы с Котами Топовая Подборка  | 188260671 | PENDING | ACCEPTED |
+| 3522 | Самые смешные коты рунета | 36525391 | PENDING | ACCEPTED |
+| 2532 | Что происходит на дорогах.  | 74585760 | PENDING | ACCEPTED |
+| 3252 | Секрет обычной ТЁРКИ!  | 99776942 | PENDING | ACCEPTED |
+| 3260 |  Без помощи сварки | 166481690 | PENDING | ACCEPTED |
+| 2731 | Добрые поступки на дороге !!  | 95672013 | PENDING | ACCEPTED |
+| 2784 | Сначало кушал один    ...... | 60910695 | PENDING | ACCEPTED |
+| 2980 | ОШИБКИ при раскладке ПЛИТКИ! | 54067149 | PENDING | ACCEPTED |
+| 2983 | Резка кафельной плитки без плиткореза | 25852047 | PENDING | ACCEPTED |
+| 3680 | Убойные приколы с животными#6 | 69258194 | PENDING | ACCEPTED |
+| 3791 | Милые животные | 42696740 | PENDING | ACCEPTED |
+| 3790 | Милые белки | 303573777 | PENDING | ACCEPTED |
+| 3789 | Спасение котенка  | 57380709 | PENDING | ACCEPTED |
+| 4957 | ЩЕНОК ЮМИ ЧУ | 149896221 | PENDING | ACCEPTED |
+| 4956 | ТАЙНАЯ ЖИЗНЬ ДОМАШНИХ ЖИВОТНЫХ  | 27674316 | PENDING | ACCEPTED |
+| 4963 | Супер коты | 46215175 | PENDING | ACCEPTED |
+| 4997 | Смешные кошки  | 41456550 | PENDING | ACCEPTED |
+| 5070 | СМЕШНЫЕ ЖИВОТНЫЕ , КОТЫ СОБАКИ И ДРУГИЕ | 121691971 | PENDING | ACCEPTED |
+| 8662 | IMG_ | 42613049 | PENDING | ACCEPTED |
+| 4684 | J. Grunsfeld about working on Hubble | 42109276 | PENDING | PENDING |
+| 5259 | Funny Parrot Talking Videos | 28707385 | PENDING | ACCEPTED |
+| 5755 | Шоу 15 этажей | 259660035 | PENDING | ACCEPTED |
+| 7724 | Joystream | 154651016 | PENDING | ACCEPTED |
+| 4854 | Как собирать семантику (запросы) | 216125363 | PENDING | ACCEPTED |
+| 8968 | roksolana joy | 14286490 | PENDING | ACCEPTED |
+
+### Censored source channels
+
+Found 4 censored channels in migration set:
+ ```
+{"id":"55","createdAt":"2021-05-28T15:41:12.000Z","updatedAt":"2021-06-03T07:31:00.000Z","createdInBlock":733904,"title":"Gingah","category":null,"ownerMember":{"id":"2195","handle":"gingah"},"isCensored":true,"isPublic":true,"coverPhotoAvailability":"ACCEPTED","coverPhotoDataObject":{"joystreamContentId":"5GpiUscQLtvBzZE1Gk53wvw8gz8zjP7TqFvM5bGhYZUcwCbd","size":193858},"avatarPhotoAvailability":"ACCEPTED","avatarPhotoDataObject":{"joystreamContentId":"5DyCJaqLMDxC1TgRjuGoFL3VDcw3dV9P1b3NsrdNapqyDPC7","size":15103},"videos":[]}
+{"id":"57","createdAt":"2021-05-28T15:44:06.000Z","updatedAt":"2021-06-03T07:31:42.000Z","createdInBlock":733933,"title":"Gingah","category":null,"ownerMember":{"id":"2195","handle":"gingah"},"isCensored":true,"isPublic":true,"coverPhotoAvailability":"ACCEPTED","coverPhotoDataObject":{"joystreamContentId":"5HW2XWFDEgxmmGN7FQMeX52HHM8EyhbbHSp9YvGm6VCCzAxF","size":172320},"avatarPhotoAvailability":"ACCEPTED","avatarPhotoDataObject":{"joystreamContentId":"5Fg31k7kmX6Ms5oy75P3KHQ844CfrTo3FvfjeKGQHeb4gi3H","size":14980},"videos":[]}
+{"id":"54","createdAt":"2021-05-28T15:40:54.000Z","updatedAt":"2021-06-03T07:24:18.000Z","createdInBlock":733901,"title":"Gingah","category":null,"ownerMember":{"id":"2195","handle":"gingah"},"isCensored":true,"isPublic":true,"coverPhotoAvailability":"ACCEPTED","coverPhotoDataObject":{"joystreamContentId":"5Cpg2fhvHtMNcrHrJ3VZ78wo1gCM47M6cKxZwGTiK23jWxzH","size":193858},"avatarPhotoAvailability":"ACCEPTED","avatarPhotoDataObject":{"joystreamContentId":"5FFTicA5vjzgM68QCNzFe8xGXxjVBq1phCRigGdXMMWCGWMU","size":15103},"videos":[]}
+{"id":"133","createdAt":"2021-06-08T16:07:12.000Z","updatedAt":"2021-06-20T12:08:00.014Z","createdInBlock":892380,"title":"testing channel","category":null,"ownerMember":{"id":"2269","handle":"member_test_2112"},"isCensored":true,"isPublic":true,"coverPhotoAvailability":"INVALID","coverPhotoDataObject":null,"avatarPhotoAvailability":"INVALID","avatarPhotoDataObject":null,"videos":[]}
+```
+
+### Verification
+
+Performed HEAD request on 4697 videos.
+4646 of 4706 assets are available.
+
+60 have no content.
+
+| Channel | Video | Asset | Status |
+|---|---|---|---|
+| 734 | 9724 |  | no media |
+| 734 | 9731 |  | no media |
+| 734 | 9750 |  | no media |
+| 734 | 9746 |  | no media |
+| 734 | 9749 |  | no media |
+| 734 | 9843 |  | no media |
+| 734 | 9840 |  | no media |
+| 734 | 9827 |  | no media |
+| 734 | 9857 |  | no media |
+| 734 | 9859 |  | no media |
+| 734 | 9736 |  | no media |
+| 734 | 9845 |  | no media |
+| 734 | 9822 |  | no media |
+| 734 | 9832 |  | no media |
+| 747 | 12100 |  | no media |
+| 751 | 9698 |  | no media |
+| 751 | 9777 |  | no media |
+| 751 | 9697 |  | no media |
+| 757 | 9772 |  | no media |
+| 757 | 9773 |  | no media |
+| 757 | 9774 |  | no media |
+| 757 | 9775 |  | no media |
+| 757 | 9776 |  | no media |
+| 758 | 10667 |  | no media |
+| 777 | 10917 |  | no media |
+| 778 | 10154 |  | no media |
+| 778 | 10169 |  | no media |
+| 784 | 10831 |  | no media |
+| 799 | 10821 |  | no media |
+| 799 | 10822 |  | no media |
+| 799 | 10862 |  | no media |
+| 799 | 10866 |  | no media |
+| 801 | 11340 |  | no media |
+| 801 | 11341 |  | no media |
+| 801 | 11342 |  | no media |
+| 801 | 10888 |  | no media |
+| 801 | 10993 |  | no media |
+| 801 | 11109 |  | no media |
+| 801 | 11111 |  | no media |
+| 801 | 11023 |  | no media |
+| 801 | 11164 |  | no media |
+| 801 | 11603 |  | no media |
+| 801 | 11604 |  | no media |
+| 801 | 11606 |  | no media |
+| 801 | 11170 |  | no media |
+| 801 | 11614 |  | no media |
+| 801 | 11231 |  | no media |
+| 801 | 11222 |  | no media |
+| 801 | 11224 |  | no media |
+| 801 | 11631 |  | no media |
+| 801 | 11308 |  | no media |
+| 814 | 11506 |  | no media |
+| 819 | 11568 |  | no media |
+| 821 | 11702 |  | no media |
+| 822 | 11824 |  | no media |
+| 822 | 11826 |  | no media |
+| 828 | 11884 |  | no media |
+| 864 | 13757 |  | no media |
+| 869 | 13024 |  | no media |
+| 889 | 14004 |  | no media |

+ 4889 - 0
working-groups/distributors/Sumer-Giza-migration/ids.js

@@ -0,0 +1,4889 @@
+const channels = [
+  [2, 714],
+  [3, 715],
+  [4, 716],
+  [5, 717],
+  [6, 718],
+  [7, 719],
+  [8, 720],
+  [9, 721],
+  [10, 722],
+  [11, 723],
+  [12, 724],
+  [13, 725],
+  [14, 726],
+  [15, 727],
+  [16, 728],
+  [17, 729],
+  [18, 730],
+  [19, 731],
+  [20, 732],
+  [21, 733],
+  [23, 734],
+  [28, 735],
+  [29, 736],
+  [31, 737],
+  [32, 738],
+  [34, 739],
+  [39, 740],
+  [41, 741],
+  [45, 742],
+  [46, 743],
+  [47, 744],
+  [48, 745],
+  [52, 746],
+  [53, 747],
+  [56, 748],
+  [60, 749],
+  [63, 750],
+  [64, 751],
+  [66, 752],
+  [67, 753],
+  [69, 754],
+  [70, 755],
+  [71, 756],
+  [72, 757],
+  [73, 758],
+  [74, 759],
+  [76, 760],
+  [79, 761],
+  [80, 762],
+  [83, 763],
+  [88, 764],
+  [89, 765],
+  [93, 766],
+  [101, 767],
+  [106, 768],
+  [111, 769],
+  [113, 770],
+  [117, 771],
+  [122, 772],
+  [143, 773],
+  [147, 774],
+  [150, 775],
+  [154, 776],
+  [155, 777],
+  [159, 778],
+  [163, 779],
+  [167, 780],
+  [168, 781],
+  [182, 782],
+  [183, 783],
+  [188, 784],
+  [189, 785],
+  [193, 786],
+  [220, 787],
+  [228, 788],
+  [234, 789],
+  [235, 790],
+  [237, 791],
+  [238, 792],
+  [245, 793],
+  [249, 794],
+  [251, 795],
+  [252, 796],
+  [255, 797],
+  [257, 798],
+  [263, 799],
+  [265, 800],
+  [266, 801],
+  [275, 802],
+  [278, 803],
+  [283, 804],
+  [284, 805],
+  [288, 806],
+  [291, 807],
+  [300, 808],
+  [303, 809],
+  [304, 810],
+  [306, 811],
+  [311, 812],
+  [320, 813],
+  [321, 814],
+  [323, 815],
+  [325, 816],
+  [334, 817],
+  [336, 818],
+  [337, 819],
+  [338, 820],
+  [340, 821],
+  [344, 822],
+  [346, 823],
+  [349, 824],
+  [350, 825],
+  [358, 826],
+  [359, 827],
+  [360, 828],
+  [372, 829],
+  [373, 830],
+  [384, 831],
+  [391, 832],
+  [398, 833],
+  [404, 834],
+  [407, 835],
+  [423, 836],
+  [428, 837],
+  [438, 838],
+  [440, 839],
+  [448, 840],
+  [449, 841],
+  [451, 842],
+  [455, 843],
+  [461, 844],
+  [478, 845],
+  [479, 846],
+  [484, 847],
+  [485, 848],
+  [487, 849],
+  [488, 850],
+  [490, 851],
+  [492, 852],
+  [494, 853],
+  [500, 854],
+  [501, 855],
+  [507, 856],
+  [508, 857],
+  [514, 858],
+  [515, 859],
+  [523, 860],
+  [529, 861],
+  [534, 862],
+  [540, 863],
+  [542, 864],
+  [543, 865],
+  [550, 866],
+  [554, 867],
+  [556, 868],
+  [557, 869],
+  [558, 870],
+  [559, 871],
+  [562, 872],
+  [565, 873],
+  [567, 874],
+  [570, 875],
+  [577, 876],
+  [580, 877],
+  [581, 878],
+  [583, 879],
+  [584, 880],
+  [614, 881],
+  [632, 882],
+  [636, 883],
+  [644, 884],
+  [646, 885],
+  [648, 886],
+  [652, 887],
+  [654, 888],
+  [655, 889],
+  [656, 890],
+];
+
+const videos = [
+  [1, 9620],
+  [2, 9621],
+  [3, 9622],
+  [4, 9623],
+  [5, 9624],
+  [11, 9625],
+  [12, 9626],
+  [13, 9627],
+  [14, 9628],
+  [15, 9629],
+  [16, 9630],
+  [17, 9631],
+  [18, 9632],
+  [19, 9633],
+  [20, 9634],
+  [21, 9635],
+  [22, 9636],
+  [26, 9637],
+  [27, 9638],
+  [29, 9639],
+  [30, 9640],
+  [31, 9641],
+  [37, 9642],
+  [38, 9643],
+  [39, 9644],
+  [42, 9645],
+  [43, 9646],
+  [44, 9647],
+  [45, 9648],
+  [46, 9649],
+  [47, 9650],
+  [48, 9651],
+  [51, 9652],
+  [54, 9653],
+  [55, 9654],
+  [56, 9655],
+  [57, 9656],
+  [58, 9657],
+  [61, 9658],
+  [62, 9659],
+  [63, 9660],
+  [64, 9661],
+  [69, 9662],
+  [70, 9663],
+  [76, 9664],
+  [77, 9665],
+  [81, 9666],
+  [82, 9667],
+  [84, 9668],
+  [85, 9669],
+  [86, 9670],
+  [87, 9671],
+  [89, 9672],
+  [90, 9673],
+  [91, 9674],
+  [92, 9675],
+  [93, 9676],
+  [95, 9677],
+  [96, 9678],
+  [97, 9679],
+  [98, 9680],
+  [101, 9681],
+  [102, 9682],
+  [103, 9683],
+  [104, 9684],
+  [106, 9685],
+  [107, 9686],
+  [108, 9687],
+  [109, 9688],
+  [110, 9689],
+  [111, 9690],
+  [113, 9691],
+  [114, 9692],
+  [115, 9693],
+  [117, 9694],
+  [118, 9695],
+  [119, 9696],
+  [120, 9697],
+  [121, 9698],
+  [122, 9699],
+  [123, 9700],
+  [126, 9701],
+  [127, 9702],
+  [128, 9703],
+  [129, 9704],
+  [130, 9705],
+  [132, 9706],
+  [133, 9707],
+  [134, 9708],
+  [135, 9709],
+  [136, 9710],
+  [137, 9711],
+  [139, 9712],
+  [140, 9713],
+  [142, 9714],
+  [148, 9715],
+  [150, 9716],
+  [182, 9717],
+  [184, 9718],
+  [186, 9719],
+  [187, 9720],
+  [190, 9721],
+  [191, 9722],
+  [193, 9723],
+  [194, 9724],
+  [195, 9725],
+  [196, 9726],
+  [197, 9727],
+  [198, 9728],
+  [199, 9729],
+  [200, 9730],
+  [201, 9731],
+  [202, 9732],
+  [203, 9733],
+  [204, 9734],
+  [205, 9735],
+  [206, 9736],
+  [207, 9737],
+  [208, 9738],
+  [209, 9739],
+  [210, 9740],
+  [211, 9741],
+  [212, 9742],
+  [213, 9743],
+  [214, 9744],
+  [215, 9745],
+  [216, 9746],
+  [217, 9747],
+  [218, 9748],
+  [219, 9749],
+  [220, 9750],
+  [221, 9751],
+  [222, 9752],
+  [224, 9753],
+  [225, 9754],
+  [226, 9755],
+  [228, 9756],
+  [229, 9757],
+  [238, 9758],
+  [239, 9759],
+  [241, 9760],
+  [243, 9761],
+  [263, 9762],
+  [275, 9763],
+  [279, 9764],
+  [280, 9765],
+  [281, 9766],
+  [290, 9767],
+  [291, 9768],
+  [292, 9769],
+  [293, 9770],
+  [294, 9771],
+  [296, 9772],
+  [298, 9773],
+  [299, 9774],
+  [300, 9775],
+  [301, 9776],
+  [303, 9777],
+  [304, 9778],
+  [305, 9779],
+  [307, 9780],
+  [309, 9781],
+  [311, 9782],
+  [315, 9783],
+  [318, 9784],
+  [320, 9785],
+  [321, 9786],
+  [323, 9787],
+  [324, 9788],
+  [325, 9789],
+  [326, 9790],
+  [327, 9791],
+  [331, 9792],
+  [332, 9793],
+  [333, 9794],
+  [348, 9795],
+  [351, 9796],
+  [352, 9797],
+  [357, 9798],
+  [359, 9799],
+  [360, 9800],
+  [361, 9801],
+  [362, 9802],
+  [363, 9803],
+  [364, 9804],
+  [365, 9805],
+  [366, 9806],
+  [368, 9807],
+  [369, 9808],
+  [370, 9809],
+  [372, 9810],
+  [377, 9811],
+  [378, 9812],
+  [379, 9813],
+  [380, 9814],
+  [381, 9815],
+  [382, 9816],
+  [383, 9817],
+  [384, 9818],
+  [385, 9819],
+  [386, 9820],
+  [387, 9821],
+  [388, 9822],
+  [389, 9823],
+  [390, 9824],
+  [391, 9825],
+  [392, 9826],
+  [393, 9827],
+  [394, 9828],
+  [396, 9829],
+  [397, 9830],
+  [398, 9831],
+  [399, 9832],
+  [400, 9833],
+  [401, 9834],
+  [402, 9835],
+  [403, 9836],
+  [404, 9837],
+  [405, 9838],
+  [406, 9839],
+  [407, 9840],
+  [408, 9841],
+  [410, 9842],
+  [413, 9843],
+  [414, 9844],
+  [415, 9845],
+  [416, 9846],
+  [417, 9847],
+  [418, 9848],
+  [419, 9849],
+  [420, 9850],
+  [421, 9851],
+  [423, 9852],
+  [424, 9853],
+  [425, 9854],
+  [426, 9855],
+  [427, 9856],
+  [428, 9857],
+  [429, 9858],
+  [430, 9859],
+  [431, 9860],
+  [432, 9861],
+  [434, 9862],
+  [435, 9863],
+  [443, 9864],
+  [444, 9865],
+  [449, 9866],
+  [451, 9867],
+  [452, 9868],
+  [454, 9869],
+  [455, 9870],
+  [456, 9871],
+  [457, 9872],
+  [458, 9873],
+  [459, 9874],
+  [460, 9875],
+  [461, 9876],
+  [462, 9877],
+  [463, 9878],
+  [464, 9879],
+  [465, 9880],
+  [466, 9881],
+  [467, 9882],
+  [468, 9883],
+  [469, 9884],
+  [470, 9885],
+  [471, 9886],
+  [472, 9887],
+  [473, 9888],
+  [474, 9889],
+  [475, 9890],
+  [476, 9891],
+  [477, 9892],
+  [478, 9893],
+  [479, 9894],
+  [484, 9895],
+  [488, 9896],
+  [489, 9897],
+  [490, 9898],
+  [496, 9899],
+  [497, 9900],
+  [498, 9901],
+  [499, 9902],
+  [503, 9903],
+  [505, 9904],
+  [506, 9905],
+  [508, 9906],
+  [512, 9907],
+  [513, 9908],
+  [516, 9909],
+  [518, 9910],
+  [519, 9911],
+  [522, 9912],
+  [523, 9913],
+  [525, 9914],
+  [537, 9915],
+  [538, 9916],
+  [539, 9917],
+  [540, 9918],
+  [541, 9919],
+  [542, 9920],
+  [543, 9921],
+  [544, 9922],
+  [547, 9923],
+  [548, 9924],
+  [549, 9925],
+  [550, 9926],
+  [551, 9927],
+  [553, 9928],
+  [554, 9929],
+  [561, 9930],
+  [562, 9931],
+  [563, 9932],
+  [564, 9933],
+  [565, 9934],
+  [566, 9935],
+  [567, 9936],
+  [568, 9937],
+  [570, 9938],
+  [575, 9939],
+  [584, 9940],
+  [585, 9941],
+  [586, 9942],
+  [609, 9943],
+  [610, 9944],
+  [617, 9945],
+  [618, 9946],
+  [619, 9947],
+  [620, 9948],
+  [621, 9949],
+  [625, 9950],
+  [626, 9951],
+  [628, 9952],
+  [630, 9953],
+  [631, 9954],
+  [632, 9955],
+  [636, 9956],
+  [637, 9957],
+  [638, 9958],
+  [639, 9959],
+  [640, 9960],
+  [641, 9961],
+  [642, 9962],
+  [643, 9963],
+  [644, 9964],
+  [645, 9965],
+  [646, 9966],
+  [647, 9967],
+  [648, 9968],
+  [649, 9969],
+  [651, 9970],
+  [652, 9971],
+  [654, 9972],
+  [655, 9973],
+  [656, 9974],
+  [657, 9975],
+  [659, 9976],
+  [663, 9977],
+  [664, 9978],
+  [666, 9979],
+  [671, 9980],
+  [673, 9981],
+  [755, 9982],
+  [756, 9983],
+  [757, 9984],
+  [758, 9985],
+  [759, 9986],
+  [760, 9987],
+  [762, 9988],
+  [763, 9989],
+  [764, 9990],
+  [765, 9991],
+  [766, 9992],
+  [767, 9993],
+  [768, 9994],
+  [769, 9995],
+  [770, 9996],
+  [772, 9997],
+  [773, 9998],
+  [775, 9999],
+  [776, 10000],
+  [778, 10001],
+  [779, 10002],
+  [780, 10003],
+  [785, 10004],
+  [809, 10005],
+  [826, 10006],
+  [828, 10007],
+  [831, 10008],
+  [832, 10009],
+  [833, 10010],
+  [834, 10011],
+  [835, 10012],
+  [836, 10013],
+  [837, 10014],
+  [838, 10015],
+  [839, 10016],
+  [841, 10017],
+  [848, 10018],
+  [853, 10019],
+  [863, 10020],
+  [864, 10021],
+  [933, 10022],
+  [934, 10023],
+  [948, 10024],
+  [949, 10025],
+  [950, 10026],
+  [951, 10027],
+  [952, 10028],
+  [953, 10029],
+  [954, 10030],
+  [958, 10031],
+  [960, 10032],
+  [962, 10033],
+  [968, 10034],
+  [969, 10035],
+  [970, 10036],
+  [980, 10037],
+  [981, 10038],
+  [983, 10039],
+  [984, 10040],
+  [986, 10041],
+  [1012, 10042],
+  [1031, 10043],
+  [1086, 10044],
+  [1090, 10045],
+  [1091, 10046],
+  [1092, 10047],
+  [1093, 10048],
+  [1095, 10049],
+  [1099, 10050],
+  [1100, 10051],
+  [1101, 10052],
+  [1102, 10053],
+  [1103, 10054],
+  [1104, 10055],
+  [1107, 10056],
+  [1108, 10057],
+  [1109, 10058],
+  [1110, 10059],
+  [1111, 10060],
+  [1112, 10061],
+  [1113, 10062],
+  [1114, 10063],
+  [1115, 10064],
+  [1116, 10065],
+  [1117, 10066],
+  [1118, 10067],
+  [1119, 10068],
+  [1120, 10069],
+  [1121, 10070],
+  [1122, 10071],
+  [1123, 10072],
+  [1124, 10073],
+  [1125, 10074],
+  [1127, 10075],
+  [1128, 10076],
+  [1129, 10077],
+  [1140, 10078],
+  [1145, 10079],
+  [1147, 10080],
+  [1148, 10081],
+  [1149, 10082],
+  [1150, 10083],
+  [1151, 10084],
+  [1154, 10085],
+  [1155, 10086],
+  [1156, 10087],
+  [1157, 10088],
+  [1158, 10089],
+  [1159, 10090],
+  [1160, 10091],
+  [1161, 10092],
+  [1162, 10093],
+  [1163, 10094],
+  [1164, 10095],
+  [1166, 10096],
+  [1167, 10097],
+  [1168, 10098],
+  [1169, 10099],
+  [1170, 10100],
+  [1171, 10101],
+  [1172, 10102],
+  [1173, 10103],
+  [1174, 10104],
+  [1175, 10105],
+  [1176, 10106],
+  [1178, 10107],
+  [1179, 10108],
+  [1180, 10109],
+  [1181, 10110],
+  [1182, 10111],
+  [1183, 10112],
+  [1184, 10113],
+  [1193, 10114],
+  [1194, 10115],
+  [1195, 10116],
+  [1196, 10117],
+  [1199, 10118],
+  [1200, 10119],
+  [1201, 10120],
+  [1202, 10121],
+  [1204, 10122],
+  [1206, 10123],
+  [1207, 10124],
+  [1208, 10125],
+  [1209, 10126],
+  [1210, 10127],
+  [1213, 10128],
+  [1214, 10129],
+  [1220, 10130],
+  [1222, 10131],
+  [1223, 10132],
+  [1225, 10133],
+  [1229, 10134],
+  [1230, 10135],
+  [1231, 10136],
+  [1232, 10137],
+  [1233, 10138],
+  [1234, 10139],
+  [1235, 10140],
+  [1236, 10141],
+  [1237, 10142],
+  [1238, 10143],
+  [1239, 10144],
+  [1243, 10145],
+  [1245, 10146],
+  [1246, 10147],
+  [1248, 10148],
+  [1249, 10149],
+  [1250, 10150],
+  [1252, 10151],
+  [1253, 10152],
+  [1254, 10153],
+  [1255, 10154],
+  [1256, 10155],
+  [1257, 10156],
+  [1258, 10157],
+  [1259, 10158],
+  [1260, 10159],
+  [1261, 10160],
+  [1262, 10161],
+  [1263, 10162],
+  [1264, 10163],
+  [1265, 10164],
+  [1266, 10165],
+  [1267, 10166],
+  [1268, 10167],
+  [1269, 10168],
+  [1270, 10169],
+  [1271, 10170],
+  [1272, 10171],
+  [1273, 10172],
+  [1274, 10173],
+  [1276, 10174],
+  [1277, 10175],
+  [1279, 10176],
+  [1280, 10177],
+  [1282, 10178],
+  [1284, 10179],
+  [1285, 10180],
+  [1304, 10181],
+  [1390, 10182],
+  [1393, 10183],
+  [1394, 10184],
+  [1395, 10185],
+  [1397, 10186],
+  [1398, 10187],
+  [1399, 10188],
+  [1400, 10189],
+  [1401, 10190],
+  [1402, 10191],
+  [1403, 10192],
+  [1404, 10193],
+  [1405, 10194],
+  [1406, 10195],
+  [1407, 10196],
+  [1408, 10197],
+  [1409, 10198],
+  [1411, 10199],
+  [1412, 10200],
+  [1413, 10201],
+  [1414, 10202],
+  [1415, 10203],
+  [1417, 10204],
+  [1418, 10205],
+  [1419, 10206],
+  [1420, 10207],
+  [1421, 10208],
+  [1422, 10209],
+  [1423, 10210],
+  [1424, 10211],
+  [1425, 10212],
+  [1426, 10213],
+  [1427, 10214],
+  [1428, 10215],
+  [1429, 10216],
+  [1430, 10217],
+  [1431, 10218],
+  [1432, 10219],
+  [1433, 10220],
+  [1434, 10221],
+  [1435, 10222],
+  [1436, 10223],
+  [1437, 10224],
+  [1438, 10225],
+  [1439, 10226],
+  [1440, 10227],
+  [1441, 10228],
+  [1442, 10229],
+  [1443, 10230],
+  [1444, 10231],
+  [1445, 10232],
+  [1446, 10233],
+  [1447, 10234],
+  [1448, 10235],
+  [1449, 10236],
+  [1450, 10237],
+  [1452, 10238],
+  [1453, 10239],
+  [1454, 10240],
+  [1455, 10241],
+  [1457, 10242],
+  [1458, 10243],
+  [1459, 10244],
+  [1460, 10245],
+  [1461, 10246],
+  [1464, 10247],
+  [1465, 10248],
+  [1466, 10249],
+  [1467, 10250],
+  [1468, 10251],
+  [1469, 10252],
+  [1470, 10253],
+  [1471, 10254],
+  [1472, 10255],
+  [1473, 10256],
+  [1475, 10257],
+  [1477, 10258],
+  [1482, 10259],
+  [1483, 10260],
+  [1484, 10261],
+  [1487, 10262],
+  [1488, 10263],
+  [1492, 10264],
+  [1493, 10265],
+  [1494, 10266],
+  [1501, 10267],
+  [1502, 10268],
+  [1504, 10269],
+  [1505, 10270],
+  [1506, 10271],
+  [1508, 10272],
+  [1511, 10273],
+  [1512, 10274],
+  [1514, 10275],
+  [1515, 10276],
+  [1516, 10277],
+  [1517, 10278],
+  [1518, 10279],
+  [1519, 10280],
+  [1520, 10281],
+  [1521, 10282],
+  [1522, 10283],
+  [1523, 10284],
+  [1524, 10285],
+  [1525, 10286],
+  [1529, 10287],
+  [1533, 10288],
+  [1534, 10289],
+  [1543, 10290],
+  [1544, 10291],
+  [1545, 10292],
+  [1546, 10293],
+  [1549, 10294],
+  [1550, 10295],
+  [1551, 10296],
+  [1552, 10297],
+  [1553, 10298],
+  [1554, 10299],
+  [1555, 10300],
+  [1556, 10301],
+  [1557, 10302],
+  [1558, 10303],
+  [1559, 10304],
+  [1560, 10305],
+  [1562, 10306],
+  [1563, 10307],
+  [1564, 10308],
+  [1566, 10309],
+  [1567, 10310],
+  [1569, 10311],
+  [1570, 10312],
+  [1571, 10313],
+  [1572, 10314],
+  [1573, 10315],
+  [1574, 10316],
+  [1575, 10317],
+  [1577, 10318],
+  [1578, 10319],
+  [1579, 10320],
+  [1580, 10321],
+  [1581, 10322],
+  [1582, 10323],
+  [1583, 10324],
+  [1584, 10325],
+  [1585, 10326],
+  [1586, 10327],
+  [1587, 10328],
+  [1588, 10329],
+  [1591, 10330],
+  [1592, 10331],
+  [1593, 10332],
+  [1594, 10333],
+  [1595, 10334],
+  [1596, 10335],
+  [1597, 10336],
+  [1598, 10337],
+  [1599, 10338],
+  [1607, 10339],
+  [1608, 10340],
+  [1609, 10341],
+  [1610, 10342],
+  [1611, 10343],
+  [1613, 10344],
+  [1615, 10345],
+  [1618, 10346],
+  [1619, 10347],
+  [1620, 10348],
+  [1621, 10349],
+  [1622, 10350],
+  [1623, 10351],
+  [1624, 10352],
+  [1625, 10353],
+  [1626, 10354],
+  [1627, 10355],
+  [1628, 10356],
+  [1629, 10357],
+  [1630, 10358],
+  [1632, 10359],
+  [1633, 10360],
+  [1634, 10361],
+  [1635, 10362],
+  [1636, 10363],
+  [1637, 10364],
+  [1638, 10365],
+  [1639, 10366],
+  [1640, 10367],
+  [1641, 10368],
+  [1642, 10369],
+  [1645, 10370],
+  [1646, 10371],
+  [1647, 10372],
+  [1652, 10373],
+  [1657, 10374],
+  [1658, 10375],
+  [1659, 10376],
+  [1660, 10377],
+  [1662, 10378],
+  [1665, 10379],
+  [1666, 10380],
+  [1667, 10381],
+  [1668, 10382],
+  [1669, 10383],
+  [1670, 10384],
+  [1671, 10385],
+  [1672, 10386],
+  [1673, 10387],
+  [1681, 10388],
+  [1682, 10389],
+  [1683, 10390],
+  [1684, 10391],
+  [1685, 10392],
+  [1686, 10393],
+  [1692, 10394],
+  [1700, 10395],
+  [1701, 10396],
+  [1702, 10397],
+  [1703, 10398],
+  [1704, 10399],
+  [1705, 10400],
+  [1707, 10401],
+  [1708, 10402],
+  [1709, 10403],
+  [1710, 10404],
+  [1711, 10405],
+  [1712, 10406],
+  [1713, 10407],
+  [1714, 10408],
+  [1715, 10409],
+  [1716, 10410],
+  [1717, 10411],
+  [1718, 10412],
+  [1719, 10413],
+  [1720, 10414],
+  [1721, 10415],
+  [1722, 10416],
+  [1723, 10417],
+  [1726, 10418],
+  [1727, 10419],
+  [1729, 10420],
+  [1730, 10421],
+  [1732, 10422],
+  [1733, 10423],
+  [1734, 10424],
+  [1735, 10425],
+  [1736, 10426],
+  [1737, 10427],
+  [1738, 10428],
+  [1739, 10429],
+  [1740, 10430],
+  [1741, 10431],
+  [1742, 10432],
+  [1744, 10433],
+  [1745, 10434],
+  [1746, 10435],
+  [1747, 10436],
+  [1748, 10437],
+  [1752, 10438],
+  [1753, 10439],
+  [1755, 10440],
+  [1756, 10441],
+  [1757, 10442],
+  [1758, 10443],
+  [1759, 10444],
+  [1760, 10445],
+  [1761, 10446],
+  [1762, 10447],
+  [1763, 10448],
+  [1764, 10449],
+  [1765, 10450],
+  [1766, 10451],
+  [1767, 10452],
+  [1769, 10453],
+  [1770, 10454],
+  [1771, 10455],
+  [1772, 10456],
+  [1773, 10457],
+  [1774, 10458],
+  [1775, 10459],
+  [1776, 10460],
+  [1777, 10461],
+  [1779, 10462],
+  [1780, 10463],
+  [1781, 10464],
+  [1782, 10465],
+  [1783, 10466],
+  [1787, 10467],
+  [1788, 10468],
+  [1789, 10469],
+  [1790, 10470],
+  [1791, 10471],
+  [1792, 10472],
+  [1793, 10473],
+  [1794, 10474],
+  [1795, 10475],
+  [1797, 10476],
+  [1798, 10477],
+  [1799, 10478],
+  [1800, 10479],
+  [1801, 10480],
+  [1802, 10481],
+  [1803, 10482],
+  [1807, 10483],
+  [1808, 10484],
+  [1809, 10485],
+  [1810, 10486],
+  [1811, 10487],
+  [1812, 10488],
+  [1813, 10489],
+  [1814, 10490],
+  [1815, 10491],
+  [1816, 10492],
+  [1817, 10493],
+  [1820, 10494],
+  [1821, 10495],
+  [1822, 10496],
+  [1823, 10497],
+  [1824, 10498],
+  [1825, 10499],
+  [1826, 10500],
+  [1829, 10501],
+  [1830, 10502],
+  [1831, 10503],
+  [1832, 10504],
+  [1835, 10505],
+  [1836, 10506],
+  [1839, 10507],
+  [1840, 10508],
+  [1841, 10509],
+  [1842, 10510],
+  [1843, 10511],
+  [1844, 10512],
+  [1845, 10513],
+  [1846, 10514],
+  [1847, 10515],
+  [1848, 10516],
+  [1849, 10517],
+  [1850, 10518],
+  [1851, 10519],
+  [1852, 10520],
+  [1854, 10521],
+  [1855, 10522],
+  [1856, 10523],
+  [1857, 10524],
+  [1858, 10525],
+  [1860, 10526],
+  [1861, 10527],
+  [1862, 10528],
+  [1863, 10529],
+  [1864, 10530],
+  [1865, 10531],
+  [1866, 10532],
+  [1868, 10533],
+  [1869, 10534],
+  [1872, 10535],
+  [1873, 10536],
+  [1874, 10537],
+  [1875, 10538],
+  [1876, 10539],
+  [1877, 10540],
+  [1878, 10541],
+  [1879, 10542],
+  [1884, 10543],
+  [1885, 10544],
+  [1886, 10545],
+  [1887, 10546],
+  [1888, 10547],
+  [1889, 10548],
+  [1890, 10549],
+  [1891, 10550],
+  [1892, 10551],
+  [1893, 10552],
+  [1894, 10553],
+  [1895, 10554],
+  [1896, 10555],
+  [1898, 10556],
+  [1899, 10557],
+  [1900, 10558],
+  [1901, 10559],
+  [1902, 10560],
+  [1903, 10561],
+  [1904, 10562],
+  [1905, 10563],
+  [1906, 10564],
+  [1907, 10565],
+  [1908, 10566],
+  [1910, 10567],
+  [1911, 10568],
+  [1912, 10569],
+  [1915, 10570],
+  [1917, 10571],
+  [1918, 10572],
+  [1920, 10573],
+  [1921, 10574],
+  [1922, 10575],
+  [1923, 10576],
+  [1925, 10577],
+  [1927, 10578],
+  [1929, 10579],
+  [1930, 10580],
+  [1932, 10581],
+  [1933, 10582],
+  [1934, 10583],
+  [1936, 10584],
+  [1937, 10585],
+  [1938, 10586],
+  [1939, 10587],
+  [1940, 10588],
+  [1941, 10589],
+  [1942, 10590],
+  [1943, 10591],
+  [1944, 10592],
+  [1945, 10593],
+  [1946, 10594],
+  [1947, 10595],
+  [1948, 10596],
+  [1949, 10597],
+  [1950, 10598],
+  [1951, 10599],
+  [1952, 10600],
+  [1956, 10601],
+  [1957, 10602],
+  [1958, 10603],
+  [1959, 10604],
+  [1960, 10605],
+  [1961, 10606],
+  [1962, 10607],
+  [1963, 10608],
+  [1964, 10609],
+  [1965, 10610],
+  [1966, 10611],
+  [1968, 10612],
+  [1969, 10613],
+  [1970, 10614],
+  [1971, 10615],
+  [1972, 10616],
+  [1974, 10617],
+  [1975, 10618],
+  [1976, 10619],
+  [1977, 10620],
+  [1978, 10621],
+  [1980, 10622],
+  [1981, 10623],
+  [1982, 10624],
+  [1984, 10625],
+  [1985, 10626],
+  [1986, 10627],
+  [1988, 10628],
+  [1989, 10629],
+  [1990, 10630],
+  [1992, 10631],
+  [1995, 10632],
+  [1996, 10633],
+  [1998, 10634],
+  [1999, 10635],
+  [2002, 10636],
+  [2003, 10637],
+  [2004, 10638],
+  [2005, 10639],
+  [2006, 10640],
+  [2007, 10641],
+  [2008, 10642],
+  [2009, 10643],
+  [2010, 10644],
+  [2011, 10645],
+  [2012, 10646],
+  [2013, 10647],
+  [2014, 10648],
+  [2015, 10649],
+  [2017, 10650],
+  [2018, 10651],
+  [2019, 10652],
+  [2020, 10653],
+  [2021, 10654],
+  [2022, 10655],
+  [2023, 10656],
+  [2024, 10657],
+  [2031, 10658],
+  [2032, 10659],
+  [2033, 10660],
+  [2034, 10661],
+  [2035, 10662],
+  [2036, 10663],
+  [2037, 10664],
+  [2038, 10665],
+  [2039, 10666],
+  [2040, 10667],
+  [2041, 10668],
+  [2042, 10669],
+  [2044, 10670],
+  [2045, 10671],
+  [2046, 10672],
+  [2047, 10673],
+  [2049, 10674],
+  [2050, 10675],
+  [2051, 10676],
+  [2052, 10677],
+  [2053, 10678],
+  [2054, 10679],
+  [2055, 10680],
+  [2056, 10681],
+  [2060, 10682],
+  [2061, 10683],
+  [2062, 10684],
+  [2063, 10685],
+  [2064, 10686],
+  [2065, 10687],
+  [2066, 10688],
+  [2067, 10689],
+  [2068, 10690],
+  [2069, 10691],
+  [2070, 10692],
+  [2071, 10693],
+  [2072, 10694],
+  [2073, 10695],
+  [2074, 10696],
+  [2076, 10697],
+  [2078, 10698],
+  [2079, 10699],
+  [2080, 10700],
+  [2081, 10701],
+  [2082, 10702],
+  [2087, 10703],
+  [2088, 10704],
+  [2090, 10705],
+  [2091, 10706],
+  [2092, 10707],
+  [2093, 10708],
+  [2094, 10709],
+  [2095, 10710],
+  [2096, 10711],
+  [2097, 10712],
+  [2098, 10713],
+  [2099, 10714],
+  [2100, 10715],
+  [2101, 10716],
+  [2102, 10717],
+  [2103, 10718],
+  [2104, 10719],
+  [2105, 10720],
+  [2106, 10721],
+  [2107, 10722],
+  [2108, 10723],
+  [2110, 10724],
+  [2111, 10725],
+  [2112, 10726],
+  [2113, 10727],
+  [2114, 10728],
+  [2115, 10729],
+  [2116, 10730],
+  [2117, 10731],
+  [2118, 10732],
+  [2119, 10733],
+  [2120, 10734],
+  [2121, 10735],
+  [2122, 10736],
+  [2123, 10737],
+  [2124, 10738],
+  [2125, 10739],
+  [2126, 10740],
+  [2127, 10741],
+  [2128, 10742],
+  [2129, 10743],
+  [2130, 10744],
+  [2132, 10745],
+  [2133, 10746],
+  [2135, 10747],
+  [2137, 10748],
+  [2138, 10749],
+  [2140, 10750],
+  [2141, 10751],
+  [2142, 10752],
+  [2143, 10753],
+  [2145, 10754],
+  [2146, 10755],
+  [2147, 10756],
+  [2148, 10757],
+  [2149, 10758],
+  [2150, 10759],
+  [2160, 10760],
+  [2161, 10761],
+  [2162, 10762],
+  [2163, 10763],
+  [2164, 10764],
+  [2165, 10765],
+  [2166, 10766],
+  [2167, 10767],
+  [2168, 10768],
+  [2169, 10769],
+  [2170, 10770],
+  [2171, 10771],
+  [2172, 10772],
+  [2173, 10773],
+  [2174, 10774],
+  [2175, 10775],
+  [2176, 10776],
+  [2177, 10777],
+  [2178, 10778],
+  [2179, 10779],
+  [2180, 10780],
+  [2181, 10781],
+  [2182, 10782],
+  [2183, 10783],
+  [2184, 10784],
+  [2185, 10785],
+  [2186, 10786],
+  [2187, 10787],
+  [2188, 10788],
+  [2189, 10789],
+  [2190, 10790],
+  [2191, 10791],
+  [2192, 10792],
+  [2193, 10793],
+  [2196, 10794],
+  [2204, 10795],
+  [2219, 10796],
+  [2220, 10797],
+  [2221, 10798],
+  [2230, 10799],
+  [2232, 10800],
+  [2233, 10801],
+  [2234, 10802],
+  [2235, 10803],
+  [2236, 10804],
+  [2237, 10805],
+  [2238, 10806],
+  [2252, 10807],
+  [2258, 10808],
+  [2304, 10809],
+  [2307, 10810],
+  [2309, 10811],
+  [2310, 10812],
+  [2311, 10813],
+  [2312, 10814],
+  [2314, 10815],
+  [2324, 10816],
+  [2326, 10817],
+  [2341, 10818],
+  [2360, 10819],
+  [2369, 10820],
+  [2374, 10821],
+  [2377, 10822],
+  [2378, 10823],
+  [2379, 10824],
+  [2381, 10825],
+  [2382, 10826],
+  [2383, 10827],
+  [2385, 10828],
+  [2386, 10829],
+  [2387, 10830],
+  [2388, 10831],
+  [2389, 10832],
+  [2392, 10833],
+  [2395, 10834],
+  [2398, 10835],
+  [2399, 10836],
+  [2402, 10837],
+  [2403, 10838],
+  [2407, 10839],
+  [2409, 10840],
+  [2411, 10841],
+  [2413, 10842],
+  [2414, 10843],
+  [2417, 10844],
+  [2420, 10845],
+  [2422, 10846],
+  [2424, 10847],
+  [2426, 10848],
+  [2427, 10849],
+  [2428, 10850],
+  [2453, 10851],
+  [2454, 10852],
+  [2455, 10853],
+  [2456, 10854],
+  [2457, 10855],
+  [2458, 10856],
+  [2460, 10857],
+  [2461, 10858],
+  [2468, 10859],
+  [2469, 10860],
+  [2470, 10861],
+  [2473, 10862],
+  [2478, 10863],
+  [2481, 10864],
+  [2485, 10865],
+  [2488, 10866],
+  [2491, 10867],
+  [2492, 10868],
+  [2494, 10869],
+  [2497, 10870],
+  [2499, 10871],
+  [2500, 10872],
+  [2502, 10873],
+  [2503, 10874],
+  [2506, 10875],
+  [2516, 10876],
+  [2518, 10877],
+  [2520, 10878],
+  [2521, 10879],
+  [2522, 10880],
+  [2523, 10881],
+  [2524, 10882],
+  [2525, 10883],
+  [2528, 10884],
+  [2529, 10885],
+  [2530, 10886],
+  [2531, 10887],
+  [2532, 10888],
+  [2533, 10889],
+  [2534, 10890],
+  [2535, 10891],
+  [2536, 10892],
+  [2538, 10893],
+  [2539, 10894],
+  [2540, 10895],
+  [2542, 10896],
+  [2547, 10897],
+  [2549, 10898],
+  [2555, 10899],
+  [2558, 10900],
+  [2559, 10901],
+  [2560, 10902],
+  [2561, 10903],
+  [2563, 10904],
+  [2573, 10905],
+  [2574, 10906],
+  [2576, 10907],
+  [2578, 10908],
+  [2579, 10909],
+  [2580, 10910],
+  [2582, 10911],
+  [2587, 10912],
+  [2588, 10913],
+  [2589, 10914],
+  [2591, 10915],
+  [2592, 10916],
+  [2601, 10917],
+  [2603, 10918],
+  [2604, 10919],
+  [2605, 10920],
+  [2606, 10921],
+  [2607, 10922],
+  [2608, 10923],
+  [2611, 10924],
+  [2612, 10925],
+  [2613, 10926],
+  [2614, 10927],
+  [2615, 10928],
+  [2616, 10929],
+  [2617, 10930],
+  [2618, 10931],
+  [2620, 10932],
+  [2621, 10933],
+  [2622, 10934],
+  [2623, 10935],
+  [2624, 10936],
+  [2625, 10937],
+  [2626, 10938],
+  [2627, 10939],
+  [2628, 10940],
+  [2629, 10941],
+  [2630, 10942],
+  [2631, 10943],
+  [2632, 10944],
+  [2633, 10945],
+  [2634, 10946],
+  [2635, 10947],
+  [2636, 10948],
+  [2638, 10949],
+  [2641, 10950],
+  [2642, 10951],
+  [2643, 10952],
+  [2644, 10953],
+  [2647, 10954],
+  [2649, 10955],
+  [2650, 10956],
+  [2651, 10957],
+  [2652, 10958],
+  [2655, 10959],
+  [2656, 10960],
+  [2657, 10961],
+  [2658, 10962],
+  [2659, 10963],
+  [2660, 10964],
+  [2661, 10965],
+  [2662, 10966],
+  [2663, 10967],
+  [2664, 10968],
+  [2665, 10969],
+  [2666, 10970],
+  [2667, 10971],
+  [2668, 10972],
+  [2669, 10973],
+  [2671, 10974],
+  [2672, 10975],
+  [2673, 10976],
+  [2674, 10977],
+  [2675, 10978],
+  [2676, 10979],
+  [2703, 10980],
+  [2704, 10981],
+  [2705, 10982],
+  [2707, 10983],
+  [2708, 10984],
+  [2710, 10985],
+  [2714, 10986],
+  [2715, 10987],
+  [2720, 10988],
+  [2727, 10989],
+  [2728, 10990],
+  [2729, 10991],
+  [2730, 10992],
+  [2731, 10993],
+  [2733, 10994],
+  [2734, 10995],
+  [2735, 10996],
+  [2736, 10997],
+  [2738, 10998],
+  [2739, 10999],
+  [2740, 11000],
+  [2741, 11001],
+  [2742, 11002],
+  [2744, 11003],
+  [2745, 11004],
+  [2746, 11005],
+  [2747, 11006],
+  [2751, 11007],
+  [2752, 11008],
+  [2755, 11009],
+  [2760, 11010],
+  [2766, 11011],
+  [2768, 11012],
+  [2771, 11013],
+  [2772, 11014],
+  [2774, 11015],
+  [2775, 11016],
+  [2777, 11017],
+  [2778, 11018],
+  [2780, 11019],
+  [2781, 11020],
+  [2782, 11021],
+  [2783, 11022],
+  [2784, 11023],
+  [2785, 11024],
+  [2786, 11025],
+  [2787, 11026],
+  [2788, 11027],
+  [2789, 11028],
+  [2791, 11029],
+  [2793, 11030],
+  [2794, 11031],
+  [2796, 11032],
+  [2799, 11033],
+  [2801, 11034],
+  [2804, 11035],
+  [2805, 11036],
+  [2806, 11037],
+  [2809, 11038],
+  [2813, 11039],
+  [2814, 11040],
+  [2815, 11041],
+  [2816, 11042],
+  [2817, 11043],
+  [2818, 11044],
+  [2819, 11045],
+  [2820, 11046],
+  [2821, 11047],
+  [2822, 11048],
+  [2824, 11049],
+  [2832, 11050],
+  [2835, 11051],
+  [2836, 11052],
+  [2837, 11053],
+  [2838, 11054],
+  [2839, 11055],
+  [2840, 11056],
+  [2841, 11057],
+  [2842, 11058],
+  [2858, 11059],
+  [2859, 11060],
+  [2861, 11061],
+  [2863, 11062],
+  [2864, 11063],
+  [2865, 11064],
+  [2866, 11065],
+  [2867, 11066],
+  [2868, 11067],
+  [2869, 11068],
+  [2870, 11069],
+  [2871, 11070],
+  [2873, 11071],
+  [2875, 11072],
+  [2876, 11073],
+  [2877, 11074],
+  [2888, 11075],
+  [2891, 11076],
+  [2892, 11077],
+  [2894, 11078],
+  [2895, 11079],
+  [2896, 11080],
+  [2897, 11081],
+  [2898, 11082],
+  [2900, 11083],
+  [2902, 11084],
+  [2904, 11085],
+  [2907, 11086],
+  [2911, 11087],
+  [2913, 11088],
+  [2914, 11089],
+  [2915, 11090],
+  [2916, 11091],
+  [2917, 11092],
+  [2918, 11093],
+  [2919, 11094],
+  [2920, 11095],
+  [2921, 11096],
+  [2930, 11097],
+  [2932, 11098],
+  [2934, 11099],
+  [2937, 11100],
+  [2939, 11101],
+  [2940, 11102],
+  [2942, 11103],
+  [2944, 11104],
+  [2952, 11105],
+  [2953, 11106],
+  [2959, 11107],
+  [2979, 11108],
+  [2980, 11109],
+  [2982, 11110],
+  [2983, 11111],
+  [2986, 11112],
+  [2988, 11113],
+  [2989, 11114],
+  [2990, 11115],
+  [2992, 11116],
+  [2995, 11117],
+  [2997, 11118],
+  [2999, 11119],
+  [3003, 11120],
+  [3005, 11121],
+  [3007, 11122],
+  [3014, 11123],
+  [3015, 11124],
+  [3017, 11125],
+  [3019, 11126],
+  [3020, 11127],
+  [3021, 11128],
+  [3023, 11129],
+  [3025, 11130],
+  [3031, 11131],
+  [3034, 11132],
+  [3036, 11133],
+  [3037, 11134],
+  [3041, 11135],
+  [3043, 11136],
+  [3044, 11137],
+  [3088, 11138],
+  [3089, 11139],
+  [3184, 11140],
+  [3186, 11141],
+  [3190, 11142],
+  [3195, 11143],
+  [3197, 11144],
+  [3198, 11145],
+  [3201, 11146],
+  [3202, 11147],
+  [3203, 11148],
+  [3205, 11149],
+  [3206, 11150],
+  [3207, 11151],
+  [3208, 11152],
+  [3212, 11153],
+  [3213, 11154],
+  [3214, 11155],
+  [3216, 11156],
+  [3217, 11157],
+  [3244, 11158],
+  [3245, 11159],
+  [3248, 11160],
+  [3249, 11161],
+  [3250, 11162],
+  [3251, 11163],
+  [3252, 11164],
+  [3254, 11165],
+  [3255, 11166],
+  [3257, 11167],
+  [3258, 11168],
+  [3259, 11169],
+  [3260, 11170],
+  [3278, 11171],
+  [3283, 11172],
+  [3284, 11173],
+  [3295, 11174],
+  [3297, 11175],
+  [3298, 11176],
+  [3299, 11177],
+  [3301, 11178],
+  [3303, 11179],
+  [3305, 11180],
+  [3306, 11181],
+  [3308, 11182],
+  [3309, 11183],
+  [3312, 11184],
+  [3313, 11185],
+  [3316, 11186],
+  [3317, 11187],
+  [3319, 11188],
+  [3321, 11189],
+  [3328, 11190],
+  [3329, 11191],
+  [3330, 11192],
+  [3336, 11193],
+  [3338, 11194],
+  [3339, 11195],
+  [3341, 11196],
+  [3346, 11197],
+  [3354, 11198],
+  [3374, 11199],
+  [3376, 11200],
+  [3378, 11201],
+  [3380, 11202],
+  [3384, 11203],
+  [3395, 11204],
+  [3401, 11205],
+  [3404, 11206],
+  [3405, 11207],
+  [3406, 11208],
+  [3407, 11209],
+  [3426, 11210],
+  [3428, 11211],
+  [3447, 11212],
+  [3450, 11213],
+  [3457, 11214],
+  [3464, 11215],
+  [3470, 11216],
+  [3478, 11217],
+  [3484, 11218],
+  [3500, 11219],
+  [3508, 11220],
+  [3509, 11221],
+  [3511, 11222],
+  [3512, 11223],
+  [3513, 11224],
+  [3514, 11225],
+  [3515, 11226],
+  [3516, 11227],
+  [3517, 11228],
+  [3519, 11229],
+  [3520, 11230],
+  [3522, 11231],
+  [3524, 11232],
+  [3525, 11233],
+  [3532, 11234],
+  [3556, 11235],
+  [3557, 11236],
+  [3558, 11237],
+  [3560, 11238],
+  [3561, 11239],
+  [3562, 11240],
+  [3563, 11241],
+  [3564, 11242],
+  [3565, 11243],
+  [3567, 11244],
+  [3568, 11245],
+  [3569, 11246],
+  [3570, 11247],
+  [3571, 11248],
+  [3572, 11249],
+  [3573, 11250],
+  [3574, 11251],
+  [3575, 11252],
+  [3576, 11253],
+  [3577, 11254],
+  [3578, 11255],
+  [3579, 11256],
+  [3580, 11257],
+  [3581, 11258],
+  [3582, 11259],
+  [3583, 11260],
+  [3584, 11261],
+  [3585, 11262],
+  [3587, 11263],
+  [3590, 11264],
+  [3594, 11265],
+  [3600, 11266],
+  [3604, 11267],
+  [3605, 11268],
+  [3607, 11269],
+  [3610, 11270],
+  [3613, 11271],
+  [3614, 11272],
+  [3615, 11273],
+  [3616, 11274],
+  [3617, 11275],
+  [3618, 11276],
+  [3619, 11277],
+  [3620, 11278],
+  [3621, 11279],
+  [3622, 11280],
+  [3623, 11281],
+  [3624, 11282],
+  [3627, 11283],
+  [3628, 11284],
+  [3629, 11285],
+  [3630, 11286],
+  [3631, 11287],
+  [3632, 11288],
+  [3633, 11289],
+  [3634, 11290],
+  [3635, 11291],
+  [3637, 11292],
+  [3639, 11293],
+  [3642, 11294],
+  [3643, 11295],
+  [3646, 11296],
+  [3650, 11297],
+  [3652, 11298],
+  [3656, 11299],
+  [3658, 11300],
+  [3659, 11301],
+  [3670, 11302],
+  [3671, 11303],
+  [3672, 11304],
+  [3674, 11305],
+  [3675, 11306],
+  [3677, 11307],
+  [3680, 11308],
+  [3681, 11309],
+  [3684, 11310],
+  [3688, 11311],
+  [3693, 11312],
+  [3697, 11313],
+  [3706, 11314],
+  [3709, 11315],
+  [3711, 11316],
+  [3714, 11317],
+  [3715, 11318],
+  [3716, 11319],
+  [3754, 11320],
+  [3755, 11321],
+  [3758, 11322],
+  [3759, 11323],
+  [3761, 11324],
+  [3762, 11325],
+  [3763, 11326],
+  [3764, 11327],
+  [3765, 11328],
+  [3766, 11329],
+  [3767, 11330],
+  [3768, 11331],
+  [3769, 11332],
+  [3771, 11333],
+  [3774, 11334],
+  [3776, 11335],
+  [3785, 11336],
+  [3786, 11337],
+  [3787, 11338],
+  [3788, 11339],
+  [3789, 11340],
+  [3790, 11341],
+  [3791, 11342],
+  [3792, 11343],
+  [3793, 11344],
+  [3794, 11345],
+  [3795, 11346],
+  [3803, 11347],
+  [3805, 11348],
+  [3806, 11349],
+  [3807, 11350],
+  [3808, 11351],
+  [3811, 11352],
+  [3898, 11353],
+  [3900, 11354],
+  [3916, 11355],
+  [3917, 11356],
+  [3919, 11357],
+  [3920, 11358],
+  [3921, 11359],
+  [3954, 11360],
+  [3958, 11361],
+  [3959, 11362],
+  [3960, 11363],
+  [3962, 11364],
+  [3966, 11365],
+  [3967, 11366],
+  [3971, 11367],
+  [3972, 11368],
+  [3974, 11369],
+  [3975, 11370],
+  [3976, 11371],
+  [3977, 11372],
+  [3979, 11373],
+  [3981, 11374],
+  [3985, 11375],
+  [3986, 11376],
+  [3992, 11377],
+  [3995, 11378],
+  [3997, 11379],
+  [3999, 11380],
+  [4006, 11381],
+  [4010, 11382],
+  [4016, 11383],
+  [4017, 11384],
+  [4018, 11385],
+  [4020, 11386],
+  [4022, 11387],
+  [4025, 11388],
+  [4027, 11389],
+  [4029, 11390],
+  [4036, 11391],
+  [4040, 11392],
+  [4044, 11393],
+  [4046, 11394],
+  [4047, 11395],
+  [4049, 11396],
+  [4054, 11397],
+  [4056, 11398],
+  [4058, 11399],
+  [4076, 11400],
+  [4082, 11401],
+  [4083, 11402],
+  [4085, 11403],
+  [4087, 11404],
+  [4090, 11405],
+  [4098, 11406],
+  [4104, 11407],
+  [4109, 11408],
+  [4111, 11409],
+  [4112, 11410],
+  [4113, 11411],
+  [4114, 11412],
+  [4116, 11413],
+  [4119, 11414],
+  [4120, 11415],
+  [4121, 11416],
+  [4122, 11417],
+  [4123, 11418],
+  [4124, 11419],
+  [4125, 11420],
+  [4126, 11421],
+  [4127, 11422],
+  [4128, 11423],
+  [4129, 11424],
+  [4130, 11425],
+  [4141, 11426],
+  [4147, 11427],
+  [4158, 11428],
+  [4162, 11429],
+  [4167, 11430],
+  [4171, 11431],
+  [4179, 11432],
+  [4181, 11433],
+  [4188, 11434],
+  [4191, 11435],
+  [4199, 11436],
+  [4204, 11437],
+  [4205, 11438],
+  [4206, 11439],
+  [4218, 11440],
+  [4219, 11441],
+  [4228, 11442],
+  [4229, 11443],
+  [4231, 11444],
+  [4234, 11445],
+  [4236, 11446],
+  [4240, 11447],
+  [4241, 11448],
+  [4259, 11449],
+  [4261, 11450],
+  [4264, 11451],
+  [4265, 11452],
+  [4266, 11453],
+  [4267, 11454],
+  [4269, 11455],
+  [4272, 11456],
+  [4273, 11457],
+  [4276, 11458],
+  [4278, 11459],
+  [4279, 11460],
+  [4280, 11461],
+  [4282, 11462],
+  [4283, 11463],
+  [4284, 11464],
+  [4288, 11465],
+  [4289, 11466],
+  [4291, 11467],
+  [4294, 11468],
+  [4295, 11469],
+  [4298, 11470],
+  [4299, 11471],
+  [4303, 11472],
+  [4314, 11473],
+  [4344, 11474],
+  [4345, 11475],
+  [4351, 11476],
+  [4353, 11477],
+  [4359, 11478],
+  [4370, 11479],
+  [4371, 11480],
+  [4372, 11481],
+  [4373, 11482],
+  [4374, 11483],
+  [4375, 11484],
+  [4376, 11485],
+  [4493, 11486],
+  [4505, 11487],
+  [4507, 11488],
+  [4514, 11489],
+  [4633, 11490],
+  [4636, 11491],
+  [4638, 11492],
+  [4639, 11493],
+  [4641, 11494],
+  [4642, 11495],
+  [4643, 11496],
+  [4644, 11497],
+  [4645, 11498],
+  [4646, 11499],
+  [4650, 11500],
+  [4662, 11501],
+  [4663, 11502],
+  [4664, 11503],
+  [4670, 11504],
+  [4677, 11505],
+  [4684, 11506],
+  [4687, 11507],
+  [4688, 11508],
+  [4689, 11509],
+  [4690, 11510],
+  [4691, 11511],
+  [4692, 11512],
+  [4694, 11513],
+  [4695, 11514],
+  [4697, 11515],
+  [4702, 11516],
+  [4733, 11517],
+  [4736, 11518],
+  [4743, 11519],
+  [4780, 11520],
+  [4782, 11521],
+  [4784, 11522],
+  [4785, 11523],
+  [4786, 11524],
+  [4787, 11525],
+  [4789, 11526],
+  [4790, 11527],
+  [4791, 11528],
+  [4792, 11529],
+  [4793, 11530],
+  [4800, 11531],
+  [4816, 11532],
+  [4817, 11533],
+  [4818, 11534],
+  [4819, 11535],
+  [4820, 11536],
+  [4821, 11537],
+  [4822, 11538],
+  [4823, 11539],
+  [4824, 11540],
+  [4825, 11541],
+  [4826, 11542],
+  [4827, 11543],
+  [4828, 11544],
+  [4829, 11545],
+  [4830, 11546],
+  [4831, 11547],
+  [4832, 11548],
+  [4833, 11549],
+  [4834, 11550],
+  [4835, 11551],
+  [4836, 11552],
+  [4837, 11553],
+  [4838, 11554],
+  [4840, 11555],
+  [4841, 11556],
+  [4842, 11557],
+  [4843, 11558],
+  [4844, 11559],
+  [4845, 11560],
+  [4846, 11561],
+  [4847, 11562],
+  [4848, 11563],
+  [4849, 11564],
+  [4850, 11565],
+  [4851, 11566],
+  [4853, 11567],
+  [4854, 11568],
+  [4855, 11569],
+  [4856, 11570],
+  [4858, 11571],
+  [4859, 11572],
+  [4860, 11573],
+  [4862, 11574],
+  [4864, 11575],
+  [4865, 11576],
+  [4867, 11577],
+  [4871, 11578],
+  [4872, 11579],
+  [4875, 11580],
+  [4877, 11581],
+  [4879, 11582],
+  [4883, 11583],
+  [4884, 11584],
+  [4886, 11585],
+  [4890, 11586],
+  [4901, 11587],
+  [4903, 11588],
+  [4906, 11589],
+  [4908, 11590],
+  [4911, 11591],
+  [4916, 11592],
+  [4917, 11593],
+  [4919, 11594],
+  [4922, 11595],
+  [4927, 11596],
+  [4928, 11597],
+  [4936, 11598],
+  [4938, 11599],
+  [4942, 11600],
+  [4951, 11601],
+  [4954, 11602],
+  [4956, 11603],
+  [4957, 11604],
+  [4960, 11605],
+  [4963, 11606],
+  [4965, 11607],
+  [4967, 11608],
+  [4980, 11609],
+  [4985, 11610],
+  [4987, 11611],
+  [4988, 11612],
+  [4995, 11613],
+  [4997, 11614],
+  [4999, 11615],
+  [5007, 11616],
+  [5010, 11617],
+  [5012, 11618],
+  [5019, 11619],
+  [5023, 11620],
+  [5025, 11621],
+  [5029, 11622],
+  [5039, 11623],
+  [5041, 11624],
+  [5046, 11625],
+  [5050, 11626],
+  [5053, 11627],
+  [5058, 11628],
+  [5059, 11629],
+  [5063, 11630],
+  [5070, 11631],
+  [5072, 11632],
+  [5077, 11633],
+  [5078, 11634],
+  [5080, 11635],
+  [5082, 11636],
+  [5085, 11637],
+  [5086, 11638],
+  [5090, 11639],
+  [5091, 11640],
+  [5094, 11641],
+  [5096, 11642],
+  [5098, 11643],
+  [5105, 11644],
+  [5106, 11645],
+  [5111, 11646],
+  [5115, 11647],
+  [5116, 11648],
+  [5120, 11649],
+  [5121, 11650],
+  [5123, 11651],
+  [5124, 11652],
+  [5125, 11653],
+  [5126, 11654],
+  [5128, 11655],
+  [5134, 11656],
+  [5137, 11657],
+  [5139, 11658],
+  [5141, 11659],
+  [5144, 11660],
+  [5147, 11661],
+  [5148, 11662],
+  [5150, 11663],
+  [5151, 11664],
+  [5152, 11665],
+  [5156, 11666],
+  [5159, 11667],
+  [5163, 11668],
+  [5165, 11669],
+  [5168, 11670],
+  [5171, 11671],
+  [5172, 11672],
+  [5174, 11673],
+  [5176, 11674],
+  [5178, 11675],
+  [5180, 11676],
+  [5184, 11677],
+  [5186, 11678],
+  [5190, 11679],
+  [5192, 11680],
+  [5198, 11681],
+  [5200, 11682],
+  [5207, 11683],
+  [5210, 11684],
+  [5214, 11685],
+  [5216, 11686],
+  [5217, 11687],
+  [5218, 11688],
+  [5219, 11689],
+  [5224, 11690],
+  [5228, 11691],
+  [5237, 11692],
+  [5240, 11693],
+  [5241, 11694],
+  [5244, 11695],
+  [5245, 11696],
+  [5247, 11697],
+  [5248, 11698],
+  [5251, 11699],
+  [5254, 11700],
+  [5257, 11701],
+  [5259, 11702],
+  [5260, 11703],
+  [5261, 11704],
+  [5262, 11705],
+  [5263, 11706],
+  [5264, 11707],
+  [5266, 11708],
+  [5267, 11709],
+  [5268, 11710],
+  [5269, 11711],
+  [5270, 11712],
+  [5271, 11713],
+  [5272, 11714],
+  [5275, 11715],
+  [5278, 11716],
+  [5282, 11717],
+  [5284, 11718],
+  [5286, 11719],
+  [5289, 11720],
+  [5293, 11721],
+  [5299, 11722],
+  [5301, 11723],
+  [5305, 11724],
+  [5306, 11725],
+  [5307, 11726],
+  [5308, 11727],
+  [5309, 11728],
+  [5310, 11729],
+  [5311, 11730],
+  [5312, 11731],
+  [5313, 11732],
+  [5314, 11733],
+  [5315, 11734],
+  [5316, 11735],
+  [5317, 11736],
+  [5318, 11737],
+  [5319, 11738],
+  [5320, 11739],
+  [5321, 11740],
+  [5323, 11741],
+  [5325, 11742],
+  [5326, 11743],
+  [5330, 11744],
+  [5333, 11745],
+  [5337, 11746],
+  [5347, 11747],
+  [5349, 11748],
+  [5354, 11749],
+  [5355, 11750],
+  [5356, 11751],
+  [5357, 11752],
+  [5359, 11753],
+  [5363, 11754],
+  [5367, 11755],
+  [5368, 11756],
+  [5369, 11757],
+  [5370, 11758],
+  [5371, 11759],
+  [5372, 11760],
+  [5383, 11761],
+  [5384, 11762],
+  [5385, 11763],
+  [5387, 11764],
+  [5409, 11765],
+  [5413, 11766],
+  [5418, 11767],
+  [5419, 11768],
+  [5424, 11769],
+  [5426, 11770],
+  [5429, 11771],
+  [5432, 11772],
+  [5438, 11773],
+  [5444, 11774],
+  [5445, 11775],
+  [5447, 11776],
+  [5448, 11777],
+  [5453, 11778],
+  [5464, 11779],
+  [5468, 11780],
+  [5471, 11781],
+  [5475, 11782],
+  [5482, 11783],
+  [5490, 11784],
+  [5496, 11785],
+  [5503, 11786],
+  [5513, 11787],
+  [5515, 11788],
+  [5516, 11789],
+  [5517, 11790],
+  [5518, 11791],
+  [5519, 11792],
+  [5521, 11793],
+  [5522, 11794],
+  [5526, 11795],
+  [5527, 11796],
+  [5531, 11797],
+  [5539, 11798],
+  [5542, 11799],
+  [5544, 11800],
+  [5545, 11801],
+  [5547, 11802],
+  [5548, 11803],
+  [5552, 11804],
+  [5572, 11805],
+  [5573, 11806],
+  [5574, 11807],
+  [5575, 11808],
+  [5576, 11809],
+  [5577, 11810],
+  [5578, 11811],
+  [5579, 11812],
+  [5580, 11813],
+  [5581, 11814],
+  [5582, 11815],
+  [5583, 11816],
+  [5584, 11817],
+  [5585, 11818],
+  [5586, 11819],
+  [5587, 11820],
+  [5588, 11821],
+  [5589, 11822],
+  [5590, 11823],
+  [5591, 11824],
+  [5592, 11825],
+  [5593, 11826],
+  [5594, 11827],
+  [5595, 11828],
+  [5596, 11829],
+  [5597, 11830],
+  [5598, 11831],
+  [5599, 11832],
+  [5600, 11833],
+  [5601, 11834],
+  [5602, 11835],
+  [5603, 11836],
+  [5604, 11837],
+  [5605, 11838],
+  [5606, 11839],
+  [5607, 11840],
+  [5608, 11841],
+  [5609, 11842],
+  [5610, 11843],
+  [5611, 11844],
+  [5638, 11845],
+  [5639, 11846],
+  [5641, 11847],
+  [5642, 11848],
+  [5643, 11849],
+  [5647, 11850],
+  [5699, 11851],
+  [5708, 11852],
+  [5709, 11853],
+  [5710, 11854],
+  [5711, 11855],
+  [5712, 11856],
+  [5713, 11857],
+  [5716, 11858],
+  [5717, 11859],
+  [5718, 11860],
+  [5719, 11861],
+  [5724, 11862],
+  [5725, 11863],
+  [5726, 11864],
+  [5727, 11865],
+  [5728, 11866],
+  [5733, 11867],
+  [5734, 11868],
+  [5736, 11869],
+  [5737, 11870],
+  [5738, 11871],
+  [5739, 11872],
+  [5740, 11873],
+  [5741, 11874],
+  [5742, 11875],
+  [5743, 11876],
+  [5745, 11877],
+  [5748, 11878],
+  [5749, 11879],
+  [5751, 11880],
+  [5752, 11881],
+  [5753, 11882],
+  [5754, 11883],
+  [5755, 11884],
+  [5756, 11885],
+  [5758, 11886],
+  [5759, 11887],
+  [5760, 11888],
+  [5761, 11889],
+  [5762, 11890],
+  [5763, 11891],
+  [5765, 11892],
+  [5766, 11893],
+  [5767, 11894],
+  [5769, 11895],
+  [5770, 11896],
+  [5771, 11897],
+  [5778, 11898],
+  [5779, 11899],
+  [5781, 11900],
+  [5782, 11901],
+  [5783, 11902],
+  [5784, 11903],
+  [5785, 11904],
+  [5786, 11905],
+  [5787, 11906],
+  [5788, 11907],
+  [5789, 11908],
+  [5790, 11909],
+  [5791, 11910],
+  [5792, 11911],
+  [5793, 11912],
+  [5797, 11913],
+  [5812, 11914],
+  [5814, 11915],
+  [5819, 11916],
+  [5820, 11917],
+  [5825, 11918],
+  [5826, 11919],
+  [5827, 11920],
+  [5831, 11921],
+  [5832, 11922],
+  [5833, 11923],
+  [5834, 11924],
+  [5835, 11925],
+  [5836, 11926],
+  [5837, 11927],
+  [5838, 11928],
+  [5839, 11929],
+  [5840, 11930],
+  [5841, 11931],
+  [5842, 11932],
+  [5843, 11933],
+  [5844, 11934],
+  [5846, 11935],
+  [5847, 11936],
+  [5849, 11937],
+  [5850, 11938],
+  [5851, 11939],
+  [5852, 11940],
+  [5853, 11941],
+  [5854, 11942],
+  [5855, 11943],
+  [5857, 11944],
+  [5858, 11945],
+  [5862, 11946],
+  [5864, 11947],
+  [5866, 11948],
+  [5867, 11949],
+  [5868, 11950],
+  [5870, 11951],
+  [5871, 11952],
+  [5872, 11953],
+  [5875, 11954],
+  [5877, 11955],
+  [5878, 11956],
+  [5879, 11957],
+  [5881, 11958],
+  [5882, 11959],
+  [5883, 11960],
+  [5884, 11961],
+  [5885, 11962],
+  [5886, 11963],
+  [5887, 11964],
+  [5891, 11965],
+  [5892, 11966],
+  [5893, 11967],
+  [5894, 11968],
+  [5895, 11969],
+  [5897, 11970],
+  [5898, 11971],
+  [5899, 11972],
+  [5900, 11973],
+  [5901, 11974],
+  [5902, 11975],
+  [5903, 11976],
+  [5904, 11977],
+  [5905, 11978],
+  [5906, 11979],
+  [5907, 11980],
+  [5908, 11981],
+  [5909, 11982],
+  [5910, 11983],
+  [5911, 11984],
+  [5912, 11985],
+  [5913, 11986],
+  [5914, 11987],
+  [5915, 11988],
+  [5916, 11989],
+  [5917, 11990],
+  [5918, 11991],
+  [5919, 11992],
+  [5920, 11993],
+  [5922, 11994],
+  [5923, 11995],
+  [5924, 11996],
+  [5925, 11997],
+  [5926, 11998],
+  [5927, 11999],
+  [5928, 12000],
+  [5929, 12001],
+  [5930, 12002],
+  [5932, 12003],
+  [5933, 12004],
+  [5934, 12005],
+  [5935, 12006],
+  [5936, 12007],
+  [5937, 12008],
+  [5938, 12009],
+  [5939, 12010],
+  [5941, 12011],
+  [5943, 12012],
+  [5944, 12013],
+  [5945, 12014],
+  [5947, 12015],
+  [5948, 12016],
+  [5949, 12017],
+  [5950, 12018],
+  [5951, 12019],
+  [5953, 12020],
+  [5954, 12021],
+  [5955, 12022],
+  [5956, 12023],
+  [5957, 12024],
+  [5959, 12025],
+  [5960, 12026],
+  [5964, 12027],
+  [5966, 12028],
+  [5969, 12029],
+  [5972, 12030],
+  [5973, 12031],
+  [5985, 12032],
+  [5986, 12033],
+  [5987, 12034],
+  [5988, 12035],
+  [5989, 12036],
+  [5992, 12037],
+  [5993, 12038],
+  [5994, 12039],
+  [5995, 12040],
+  [5996, 12041],
+  [5997, 12042],
+  [6002, 12043],
+  [6003, 12044],
+  [6004, 12045],
+  [6005, 12046],
+  [6006, 12047],
+  [6007, 12048],
+  [6008, 12049],
+  [6009, 12050],
+  [6010, 12051],
+  [6011, 12052],
+  [6012, 12053],
+  [6013, 12054],
+  [6032, 12055],
+  [6034, 12056],
+  [6035, 12057],
+  [6071, 12058],
+  [6075, 12059],
+  [6083, 12060],
+  [6084, 12061],
+  [6085, 12062],
+  [6086, 12063],
+  [6087, 12064],
+  [6088, 12065],
+  [6089, 12066],
+  [6091, 12067],
+  [6094, 12068],
+  [6095, 12069],
+  [6096, 12070],
+  [6097, 12071],
+  [6098, 12072],
+  [6099, 12073],
+  [6103, 12074],
+  [6104, 12075],
+  [6105, 12076],
+  [6107, 12077],
+  [6110, 12078],
+  [6112, 12079],
+  [6113, 12080],
+  [6117, 12081],
+  [6119, 12082],
+  [6120, 12083],
+  [6121, 12084],
+  [6122, 12085],
+  [6128, 12086],
+  [6130, 12087],
+  [6132, 12088],
+  [6133, 12089],
+  [6134, 12090],
+  [6135, 12091],
+  [6138, 12092],
+  [6139, 12093],
+  [6141, 12094],
+  [6142, 12095],
+  [6143, 12096],
+  [6145, 12097],
+  [6146, 12098],
+  [6147, 12099],
+  [6154, 12100],
+  [6155, 12101],
+  [6156, 12102],
+  [6157, 12103],
+  [6158, 12104],
+  [6159, 12105],
+  [6160, 12106],
+  [6161, 12107],
+  [6163, 12108],
+  [6164, 12109],
+  [6165, 12110],
+  [6166, 12111],
+  [6167, 12112],
+  [6168, 12113],
+  [6169, 12114],
+  [6170, 12115],
+  [6171, 12116],
+  [6172, 12117],
+  [6173, 12118],
+  [6174, 12119],
+  [6175, 12120],
+  [6176, 12121],
+  [6182, 12122],
+  [6183, 12123],
+  [6184, 12124],
+  [6185, 12125],
+  [6186, 12126],
+  [6187, 12127],
+  [6188, 12128],
+  [6190, 12129],
+  [6193, 12130],
+  [6195, 12131],
+  [6200, 12132],
+  [6201, 12133],
+  [6202, 12134],
+  [6206, 12135],
+  [6207, 12136],
+  [6214, 12137],
+  [6215, 12138],
+  [6217, 12139],
+  [6218, 12140],
+  [6221, 12141],
+  [6225, 12142],
+  [6226, 12143],
+  [6227, 12144],
+  [6228, 12145],
+  [6229, 12146],
+  [6230, 12147],
+  [6231, 12148],
+  [6232, 12149],
+  [6235, 12150],
+  [6236, 12151],
+  [6241, 12152],
+  [6242, 12153],
+  [6243, 12154],
+  [6244, 12155],
+  [6245, 12156],
+  [6252, 12157],
+  [6253, 12158],
+  [6254, 12159],
+  [6274, 12160],
+  [6275, 12161],
+  [6278, 12162],
+  [6279, 12163],
+  [6280, 12164],
+  [6281, 12165],
+  [6282, 12166],
+  [6283, 12167],
+  [6284, 12168],
+  [6285, 12169],
+  [6286, 12170],
+  [6288, 12171],
+  [6290, 12172],
+  [6298, 12173],
+  [6299, 12174],
+  [6300, 12175],
+  [6302, 12176],
+  [6303, 12177],
+  [6304, 12178],
+  [6305, 12179],
+  [6307, 12180],
+  [6308, 12181],
+  [6309, 12182],
+  [6310, 12183],
+  [6311, 12184],
+  [6319, 12185],
+  [6320, 12186],
+  [6321, 12187],
+  [6322, 12188],
+  [6323, 12189],
+  [6324, 12190],
+  [6325, 12191],
+  [6326, 12192],
+  [6327, 12193],
+  [6328, 12194],
+  [6329, 12195],
+  [6330, 12196],
+  [6331, 12197],
+  [6332, 12198],
+  [6333, 12199],
+  [6334, 12200],
+  [6335, 12201],
+  [6339, 12202],
+  [6340, 12203],
+  [6341, 12204],
+  [6342, 12205],
+  [6343, 12206],
+  [6344, 12207],
+  [6345, 12208],
+  [6346, 12209],
+  [6347, 12210],
+  [6348, 12211],
+  [6349, 12212],
+  [6355, 12213],
+  [6357, 12214],
+  [6358, 12215],
+  [6359, 12216],
+  [6360, 12217],
+  [6361, 12218],
+  [6367, 12219],
+  [6371, 12220],
+  [6372, 12221],
+  [6373, 12222],
+  [6379, 12223],
+  [6381, 12224],
+  [6382, 12225],
+  [6383, 12226],
+  [6398, 12227],
+  [6400, 12228],
+  [6401, 12229],
+  [6402, 12230],
+  [6403, 12231],
+  [6404, 12232],
+  [6405, 12233],
+  [6406, 12234],
+  [6407, 12235],
+  [6408, 12236],
+  [6409, 12237],
+  [6410, 12238],
+  [6411, 12239],
+  [6413, 12240],
+  [6414, 12241],
+  [6415, 12242],
+  [6416, 12243],
+  [6417, 12244],
+  [6418, 12245],
+  [6419, 12246],
+  [6420, 12247],
+  [6421, 12248],
+  [6422, 12249],
+  [6423, 12250],
+  [6424, 12251],
+  [6425, 12252],
+  [6426, 12253],
+  [6427, 12254],
+  [6428, 12255],
+  [6429, 12256],
+  [6430, 12257],
+  [6431, 12258],
+  [6440, 12259],
+  [6441, 12260],
+  [6442, 12261],
+  [6452, 12262],
+  [6454, 12263],
+  [6455, 12264],
+  [6456, 12265],
+  [6457, 12266],
+  [6458, 12267],
+  [6467, 12268],
+  [6471, 12269],
+  [6475, 12270],
+  [6476, 12271],
+  [6477, 12272],
+  [6480, 12273],
+  [6481, 12274],
+  [6482, 12275],
+  [6484, 12276],
+  [6488, 12277],
+  [6493, 12278],
+  [6494, 12279],
+  [6495, 12280],
+  [6496, 12281],
+  [6503, 12282],
+  [6506, 12283],
+  [6510, 12284],
+  [6511, 12285],
+  [6512, 12286],
+  [6513, 12287],
+  [6514, 12288],
+  [6515, 12289],
+  [6516, 12290],
+  [6517, 12291],
+  [6518, 12292],
+  [6519, 12293],
+  [6520, 12294],
+  [6521, 12295],
+  [6522, 12296],
+  [6523, 12297],
+  [6524, 12298],
+  [6525, 12299],
+  [6526, 12300],
+  [6527, 12301],
+  [6528, 12302],
+  [6529, 12303],
+  [6530, 12304],
+  [6531, 12305],
+  [6532, 12306],
+  [6533, 12307],
+  [6534, 12308],
+  [6535, 12309],
+  [6536, 12310],
+  [6537, 12311],
+  [6538, 12312],
+  [6539, 12313],
+  [6540, 12314],
+  [6541, 12315],
+  [6542, 12316],
+  [6544, 12317],
+  [6545, 12318],
+  [6546, 12319],
+  [6547, 12320],
+  [6554, 12321],
+  [6555, 12322],
+  [6556, 12323],
+  [6558, 12324],
+  [6562, 12325],
+  [6564, 12326],
+  [6567, 12327],
+  [6568, 12328],
+  [6569, 12329],
+  [6570, 12330],
+  [6571, 12331],
+  [6572, 12332],
+  [6573, 12333],
+  [6574, 12334],
+  [6575, 12335],
+  [6576, 12336],
+  [6577, 12337],
+  [6579, 12338],
+  [6580, 12339],
+  [6581, 12340],
+  [6582, 12341],
+  [6583, 12342],
+  [6584, 12343],
+  [6586, 12344],
+  [6587, 12345],
+  [6588, 12346],
+  [6589, 12347],
+  [6590, 12348],
+  [6591, 12349],
+  [6592, 12350],
+  [6593, 12351],
+  [6595, 12352],
+  [6598, 12353],
+  [6599, 12354],
+  [6601, 12355],
+  [6602, 12356],
+  [6603, 12357],
+  [6604, 12358],
+  [6605, 12359],
+  [6606, 12360],
+  [6607, 12361],
+  [6608, 12362],
+  [6609, 12363],
+  [6610, 12364],
+  [6611, 12365],
+  [6617, 12366],
+  [6618, 12367],
+  [6619, 12368],
+  [6620, 12369],
+  [6621, 12370],
+  [6622, 12371],
+  [6623, 12372],
+  [6624, 12373],
+  [6625, 12374],
+  [6626, 12375],
+  [6627, 12376],
+  [6628, 12377],
+  [6629, 12378],
+  [6630, 12379],
+  [6631, 12380],
+  [6632, 12381],
+  [6633, 12382],
+  [6634, 12383],
+  [6635, 12384],
+  [6636, 12385],
+  [6637, 12386],
+  [6638, 12387],
+  [6639, 12388],
+  [6640, 12389],
+  [6641, 12390],
+  [6643, 12391],
+  [6644, 12392],
+  [6645, 12393],
+  [6646, 12394],
+  [6647, 12395],
+  [6648, 12396],
+  [6649, 12397],
+  [6650, 12398],
+  [6651, 12399],
+  [6653, 12400],
+  [6655, 12401],
+  [6656, 12402],
+  [6657, 12403],
+  [6658, 12404],
+  [6659, 12405],
+  [6660, 12406],
+  [6661, 12407],
+  [6662, 12408],
+  [6663, 12409],
+  [6664, 12410],
+  [6665, 12411],
+  [6666, 12412],
+  [6667, 12413],
+  [6668, 12414],
+  [6669, 12415],
+  [6670, 12416],
+  [6671, 12417],
+  [6672, 12418],
+  [6677, 12419],
+  [6678, 12420],
+  [6679, 12421],
+  [6680, 12422],
+  [6681, 12423],
+  [6683, 12424],
+  [6685, 12425],
+  [6688, 12426],
+  [6689, 12427],
+  [6691, 12428],
+  [6702, 12429],
+  [6724, 12430],
+  [6726, 12431],
+  [6732, 12432],
+  [6737, 12433],
+  [6738, 12434],
+  [6740, 12435],
+  [6741, 12436],
+  [6743, 12437],
+  [6745, 12438],
+  [6746, 12439],
+  [6754, 12440],
+  [6768, 12441],
+  [6769, 12442],
+  [6770, 12443],
+  [6771, 12444],
+  [6772, 12445],
+  [6773, 12446],
+  [6774, 12447],
+  [6775, 12448],
+  [6776, 12449],
+  [6777, 12450],
+  [6778, 12451],
+  [6779, 12452],
+  [6780, 12453],
+  [6781, 12454],
+  [6782, 12455],
+  [6784, 12456],
+  [6785, 12457],
+  [6786, 12458],
+  [6787, 12459],
+  [6788, 12460],
+  [6789, 12461],
+  [6790, 12462],
+  [6791, 12463],
+  [6792, 12464],
+  [6795, 12465],
+  [6796, 12466],
+  [6797, 12467],
+  [6798, 12468],
+  [6811, 12469],
+  [6814, 12470],
+  [6815, 12471],
+  [6816, 12472],
+  [6817, 12473],
+  [6818, 12474],
+  [6819, 12475],
+  [6820, 12476],
+  [6821, 12477],
+  [6822, 12478],
+  [6823, 12479],
+  [6824, 12480],
+  [6825, 12481],
+  [6826, 12482],
+  [6827, 12483],
+  [6828, 12484],
+  [6832, 12485],
+  [6835, 12486],
+  [6837, 12487],
+  [6838, 12488],
+  [6840, 12489],
+  [6841, 12490],
+  [6842, 12491],
+  [6843, 12492],
+  [6844, 12493],
+  [6845, 12494],
+  [6847, 12495],
+  [6848, 12496],
+  [6849, 12497],
+  [6854, 12498],
+  [6855, 12499],
+  [6856, 12500],
+  [6857, 12501],
+  [6858, 12502],
+  [6859, 12503],
+  [6860, 12504],
+  [6861, 12505],
+  [6862, 12506],
+  [6863, 12507],
+  [6864, 12508],
+  [6865, 12509],
+  [6866, 12510],
+  [6867, 12511],
+  [6876, 12512],
+  [6881, 12513],
+  [6882, 12514],
+  [6885, 12515],
+  [6886, 12516],
+  [6887, 12517],
+  [6888, 12518],
+  [6889, 12519],
+  [6890, 12520],
+  [6891, 12521],
+  [6892, 12522],
+  [6893, 12523],
+  [6896, 12524],
+  [6897, 12525],
+  [6898, 12526],
+  [6900, 12527],
+  [6909, 12528],
+  [6910, 12529],
+  [6912, 12530],
+  [6913, 12531],
+  [6915, 12532],
+  [6916, 12533],
+  [6918, 12534],
+  [6920, 12535],
+  [6921, 12536],
+  [6922, 12537],
+  [6923, 12538],
+  [6924, 12539],
+  [6925, 12540],
+  [6927, 12541],
+  [6932, 12542],
+  [6935, 12543],
+  [6947, 12544],
+  [6948, 12545],
+  [6949, 12546],
+  [6950, 12547],
+  [6951, 12548],
+  [6952, 12549],
+  [6953, 12550],
+  [6954, 12551],
+  [6955, 12552],
+  [6956, 12553],
+  [6961, 12554],
+  [6962, 12555],
+  [6963, 12556],
+  [6968, 12557],
+  [6997, 12558],
+  [6999, 12559],
+  [7008, 12560],
+  [7009, 12561],
+  [7011, 12562],
+  [7012, 12563],
+  [7013, 12564],
+  [7015, 12565],
+  [7016, 12566],
+  [7017, 12567],
+  [7018, 12568],
+  [7019, 12569],
+  [7020, 12570],
+  [7021, 12571],
+  [7022, 12572],
+  [7023, 12573],
+  [7024, 12574],
+  [7025, 12575],
+  [7027, 12576],
+  [7029, 12577],
+  [7031, 12578],
+  [7032, 12579],
+  [7033, 12580],
+  [7035, 12581],
+  [7037, 12582],
+  [7038, 12583],
+  [7039, 12584],
+  [7040, 12585],
+  [7041, 12586],
+  [7042, 12587],
+  [7043, 12588],
+  [7044, 12589],
+  [7045, 12590],
+  [7047, 12591],
+  [7048, 12592],
+  [7050, 12593],
+  [7059, 12594],
+  [7060, 12595],
+  [7061, 12596],
+  [7062, 12597],
+  [7063, 12598],
+  [7066, 12599],
+  [7067, 12600],
+  [7068, 12601],
+  [7069, 12602],
+  [7070, 12603],
+  [7071, 12604],
+  [7072, 12605],
+  [7074, 12606],
+  [7075, 12607],
+  [7076, 12608],
+  [7077, 12609],
+  [7078, 12610],
+  [7079, 12611],
+  [7080, 12612],
+  [7081, 12613],
+  [7082, 12614],
+  [7083, 12615],
+  [7095, 12616],
+  [7096, 12617],
+  [7097, 12618],
+  [7099, 12619],
+  [7100, 12620],
+  [7101, 12621],
+  [7104, 12622],
+  [7106, 12623],
+  [7109, 12624],
+  [7110, 12625],
+  [7111, 12626],
+  [7112, 12627],
+  [7113, 12628],
+  [7114, 12629],
+  [7115, 12630],
+  [7116, 12631],
+  [7117, 12632],
+  [7118, 12633],
+  [7119, 12634],
+  [7120, 12635],
+  [7121, 12636],
+  [7122, 12637],
+  [7123, 12638],
+  [7124, 12639],
+  [7125, 12640],
+  [7126, 12641],
+  [7140, 12642],
+  [7141, 12643],
+  [7142, 12644],
+  [7143, 12645],
+  [7144, 12646],
+  [7145, 12647],
+  [7146, 12648],
+  [7147, 12649],
+  [7148, 12650],
+  [7149, 12651],
+  [7150, 12652],
+  [7151, 12653],
+  [7152, 12654],
+  [7153, 12655],
+  [7154, 12656],
+  [7155, 12657],
+  [7157, 12658],
+  [7159, 12659],
+  [7170, 12660],
+  [7171, 12661],
+  [7172, 12662],
+  [7173, 12663],
+  [7175, 12664],
+  [7179, 12665],
+  [7183, 12666],
+  [7185, 12667],
+  [7187, 12668],
+  [7190, 12669],
+  [7194, 12670],
+  [7205, 12671],
+  [7206, 12672],
+  [7207, 12673],
+  [7209, 12674],
+  [7212, 12675],
+  [7213, 12676],
+  [7214, 12677],
+  [7215, 12678],
+  [7216, 12679],
+  [7217, 12680],
+  [7218, 12681],
+  [7219, 12682],
+  [7220, 12683],
+  [7221, 12684],
+  [7222, 12685],
+  [7223, 12686],
+  [7224, 12687],
+  [7225, 12688],
+  [7226, 12689],
+  [7228, 12690],
+  [7231, 12691],
+  [7235, 12692],
+  [7236, 12693],
+  [7237, 12694],
+  [7238, 12695],
+  [7239, 12696],
+  [7240, 12697],
+  [7241, 12698],
+  [7242, 12699],
+  [7243, 12700],
+  [7244, 12701],
+  [7245, 12702],
+  [7256, 12703],
+  [7257, 12704],
+  [7258, 12705],
+  [7259, 12706],
+  [7260, 12707],
+  [7261, 12708],
+  [7262, 12709],
+  [7263, 12710],
+  [7264, 12711],
+  [7265, 12712],
+  [7266, 12713],
+  [7267, 12714],
+  [7268, 12715],
+  [7269, 12716],
+  [7270, 12717],
+  [7271, 12718],
+  [7272, 12719],
+  [7273, 12720],
+  [7275, 12721],
+  [7280, 12722],
+  [7281, 12723],
+  [7284, 12724],
+  [7287, 12725],
+  [7289, 12726],
+  [7290, 12727],
+  [7291, 12728],
+  [7292, 12729],
+  [7293, 12730],
+  [7294, 12731],
+  [7295, 12732],
+  [7296, 12733],
+  [7297, 12734],
+  [7298, 12735],
+  [7299, 12736],
+  [7300, 12737],
+  [7301, 12738],
+  [7302, 12739],
+  [7303, 12740],
+  [7304, 12741],
+  [7306, 12742],
+  [7309, 12743],
+  [7314, 12744],
+  [7316, 12745],
+  [7317, 12746],
+  [7318, 12747],
+  [7319, 12748],
+  [7320, 12749],
+  [7321, 12750],
+  [7322, 12751],
+  [7323, 12752],
+  [7324, 12753],
+  [7327, 12754],
+  [7329, 12755],
+  [7330, 12756],
+  [7331, 12757],
+  [7332, 12758],
+  [7333, 12759],
+  [7334, 12760],
+  [7335, 12761],
+  [7336, 12762],
+  [7337, 12763],
+  [7338, 12764],
+  [7339, 12765],
+  [7340, 12766],
+  [7341, 12767],
+  [7342, 12768],
+  [7343, 12769],
+  [7344, 12770],
+  [7345, 12771],
+  [7346, 12772],
+  [7347, 12773],
+  [7348, 12774],
+  [7349, 12775],
+  [7350, 12776],
+  [7351, 12777],
+  [7352, 12778],
+  [7353, 12779],
+  [7354, 12780],
+  [7355, 12781],
+  [7356, 12782],
+  [7357, 12783],
+  [7358, 12784],
+  [7359, 12785],
+  [7360, 12786],
+  [7361, 12787],
+  [7362, 12788],
+  [7363, 12789],
+  [7364, 12790],
+  [7365, 12791],
+  [7366, 12792],
+  [7367, 12793],
+  [7368, 12794],
+  [7369, 12795],
+  [7370, 12796],
+  [7371, 12797],
+  [7372, 12798],
+  [7376, 12799],
+  [7377, 12800],
+  [7378, 12801],
+  [7379, 12802],
+  [7380, 12803],
+  [7381, 12804],
+  [7382, 12805],
+  [7383, 12806],
+  [7384, 12807],
+  [7395, 12808],
+  [7403, 12809],
+  [7404, 12810],
+  [7405, 12811],
+  [7406, 12812],
+  [7407, 12813],
+  [7408, 12814],
+  [7409, 12815],
+  [7410, 12816],
+  [7411, 12817],
+  [7412, 12818],
+  [7413, 12819],
+  [7414, 12820],
+  [7415, 12821],
+  [7416, 12822],
+  [7417, 12823],
+  [7418, 12824],
+  [7419, 12825],
+  [7420, 12826],
+  [7421, 12827],
+  [7422, 12828],
+  [7423, 12829],
+  [7424, 12830],
+  [7428, 12831],
+  [7438, 12832],
+  [7439, 12833],
+  [7440, 12834],
+  [7441, 12835],
+  [7442, 12836],
+  [7443, 12837],
+  [7444, 12838],
+  [7445, 12839],
+  [7466, 12840],
+  [7467, 12841],
+  [7469, 12842],
+  [7470, 12843],
+  [7471, 12844],
+  [7472, 12845],
+  [7473, 12846],
+  [7474, 12847],
+  [7475, 12848],
+  [7476, 12849],
+  [7477, 12850],
+  [7478, 12851],
+  [7479, 12852],
+  [7480, 12853],
+  [7481, 12854],
+  [7482, 12855],
+  [7483, 12856],
+  [7484, 12857],
+  [7485, 12858],
+  [7486, 12859],
+  [7487, 12860],
+  [7488, 12861],
+  [7490, 12862],
+  [7493, 12863],
+  [7498, 12864],
+  [7499, 12865],
+  [7502, 12866],
+  [7503, 12867],
+  [7504, 12868],
+  [7506, 12869],
+  [7507, 12870],
+  [7508, 12871],
+  [7509, 12872],
+  [7511, 12873],
+  [7512, 12874],
+  [7513, 12875],
+  [7514, 12876],
+  [7515, 12877],
+  [7516, 12878],
+  [7517, 12879],
+  [7518, 12880],
+  [7519, 12881],
+  [7520, 12882],
+  [7521, 12883],
+  [7526, 12884],
+  [7530, 12885],
+  [7534, 12886],
+  [7536, 12887],
+  [7537, 12888],
+  [7539, 12889],
+  [7541, 12890],
+  [7542, 12891],
+  [7545, 12892],
+  [7546, 12893],
+  [7547, 12894],
+  [7548, 12895],
+  [7549, 12896],
+  [7550, 12897],
+  [7551, 12898],
+  [7552, 12899],
+  [7553, 12900],
+  [7554, 12901],
+  [7555, 12902],
+  [7556, 12903],
+  [7569, 12904],
+  [7570, 12905],
+  [7571, 12906],
+  [7572, 12907],
+  [7573, 12908],
+  [7574, 12909],
+  [7575, 12910],
+  [7576, 12911],
+  [7577, 12912],
+  [7579, 12913],
+  [7580, 12914],
+  [7581, 12915],
+  [7582, 12916],
+  [7583, 12917],
+  [7584, 12918],
+  [7585, 12919],
+  [7587, 12920],
+  [7588, 12921],
+  [7589, 12922],
+  [7590, 12923],
+  [7591, 12924],
+  [7592, 12925],
+  [7594, 12926],
+  [7595, 12927],
+  [7596, 12928],
+  [7597, 12929],
+  [7598, 12930],
+  [7599, 12931],
+  [7600, 12932],
+  [7601, 12933],
+  [7602, 12934],
+  [7603, 12935],
+  [7604, 12936],
+  [7605, 12937],
+  [7606, 12938],
+  [7607, 12939],
+  [7608, 12940],
+  [7609, 12941],
+  [7610, 12942],
+  [7611, 12943],
+  [7612, 12944],
+  [7613, 12945],
+  [7614, 12946],
+  [7615, 12947],
+  [7616, 12948],
+  [7617, 12949],
+  [7618, 12950],
+  [7620, 12951],
+  [7621, 12952],
+  [7623, 12953],
+  [7624, 12954],
+  [7625, 12955],
+  [7626, 12956],
+  [7627, 12957],
+  [7628, 12958],
+  [7629, 12959],
+  [7631, 12960],
+  [7640, 12961],
+  [7641, 12962],
+  [7642, 12963],
+  [7643, 12964],
+  [7644, 12965],
+  [7645, 12966],
+  [7646, 12967],
+  [7647, 12968],
+  [7648, 12969],
+  [7649, 12970],
+  [7650, 12971],
+  [7651, 12972],
+  [7652, 12973],
+  [7653, 12974],
+  [7654, 12975],
+  [7655, 12976],
+  [7656, 12977],
+  [7657, 12978],
+  [7658, 12979],
+  [7659, 12980],
+  [7660, 12981],
+  [7661, 12982],
+  [7662, 12983],
+  [7663, 12984],
+  [7664, 12985],
+  [7666, 12986],
+  [7667, 12987],
+  [7669, 12988],
+  [7670, 12989],
+  [7671, 12990],
+  [7672, 12991],
+  [7673, 12992],
+  [7674, 12993],
+  [7675, 12994],
+  [7676, 12995],
+  [7677, 12996],
+  [7678, 12997],
+  [7679, 12998],
+  [7680, 12999],
+  [7681, 13000],
+  [7682, 13001],
+  [7683, 13002],
+  [7684, 13003],
+  [7685, 13004],
+  [7686, 13005],
+  [7687, 13006],
+  [7688, 13007],
+  [7689, 13008],
+  [7691, 13009],
+  [7692, 13010],
+  [7701, 13011],
+  [7702, 13012],
+  [7703, 13013],
+  [7704, 13014],
+  [7705, 13015],
+  [7706, 13016],
+  [7707, 13017],
+  [7708, 13018],
+  [7709, 13019],
+  [7710, 13020],
+  [7712, 13021],
+  [7713, 13022],
+  [7715, 13023],
+  [7724, 13024],
+  [7725, 13025],
+  [7728, 13026],
+  [7729, 13027],
+  [7730, 13028],
+  [7739, 13029],
+  [7740, 13030],
+  [7741, 13031],
+  [7742, 13032],
+  [7743, 13033],
+  [7744, 13034],
+  [7745, 13035],
+  [7746, 13036],
+  [7747, 13037],
+  [7748, 13038],
+  [7749, 13039],
+  [7750, 13040],
+  [7751, 13041],
+  [7752, 13042],
+  [7753, 13043],
+  [7754, 13044],
+  [7756, 13045],
+  [7757, 13046],
+  [7759, 13047],
+  [7760, 13048],
+  [7761, 13049],
+  [7762, 13050],
+  [7764, 13051],
+  [7765, 13052],
+  [7766, 13053],
+  [7767, 13054],
+  [7768, 13055],
+  [7769, 13056],
+  [7770, 13057],
+  [7771, 13058],
+  [7773, 13059],
+  [7774, 13060],
+  [7775, 13061],
+  [7776, 13062],
+  [7778, 13063],
+  [7779, 13064],
+  [7780, 13065],
+  [7781, 13066],
+  [7782, 13067],
+  [7783, 13068],
+  [7786, 13069],
+  [7787, 13070],
+  [7788, 13071],
+  [7789, 13072],
+  [7790, 13073],
+  [7791, 13074],
+  [7802, 13075],
+  [7803, 13076],
+  [7804, 13077],
+  [7805, 13078],
+  [7806, 13079],
+  [7807, 13080],
+  [7808, 13081],
+  [7809, 13082],
+  [7810, 13083],
+  [7811, 13084],
+  [7812, 13085],
+  [7818, 13086],
+  [7819, 13087],
+  [7820, 13088],
+  [7821, 13089],
+  [7822, 13090],
+  [7823, 13091],
+  [7824, 13092],
+  [7825, 13093],
+  [7826, 13094],
+  [7827, 13095],
+  [7828, 13096],
+  [7829, 13097],
+  [7830, 13098],
+  [7831, 13099],
+  [7832, 13100],
+  [7833, 13101],
+  [7834, 13102],
+  [7835, 13103],
+  [7836, 13104],
+  [7837, 13105],
+  [7838, 13106],
+  [7839, 13107],
+  [7840, 13108],
+  [7841, 13109],
+  [7842, 13110],
+  [7843, 13111],
+  [7844, 13112],
+  [7845, 13113],
+  [7846, 13114],
+  [7847, 13115],
+  [7848, 13116],
+  [7849, 13117],
+  [7851, 13118],
+  [7852, 13119],
+  [7853, 13120],
+  [7854, 13121],
+  [7855, 13122],
+  [7856, 13123],
+  [7857, 13124],
+  [7858, 13125],
+  [7867, 13126],
+  [7871, 13127],
+  [7879, 13128],
+  [7880, 13129],
+  [7881, 13130],
+  [7882, 13131],
+  [7883, 13132],
+  [7885, 13133],
+  [7886, 13134],
+  [7887, 13135],
+  [7888, 13136],
+  [7889, 13137],
+  [7890, 13138],
+  [7891, 13139],
+  [7892, 13140],
+  [7893, 13141],
+  [7894, 13142],
+  [7895, 13143],
+  [7896, 13144],
+  [7897, 13145],
+  [7898, 13146],
+  [7899, 13147],
+  [7900, 13148],
+  [7901, 13149],
+  [7902, 13150],
+  [7903, 13151],
+  [7904, 13152],
+  [7905, 13153],
+  [7906, 13154],
+  [7907, 13155],
+  [7908, 13156],
+  [7909, 13157],
+  [7910, 13158],
+  [7911, 13159],
+  [7912, 13160],
+  [7913, 13161],
+  [7914, 13162],
+  [7915, 13163],
+  [7916, 13164],
+  [7917, 13165],
+  [7918, 13166],
+  [7919, 13167],
+  [7920, 13168],
+  [7921, 13169],
+  [7922, 13170],
+  [7923, 13171],
+  [7924, 13172],
+  [7925, 13173],
+  [7926, 13174],
+  [7927, 13175],
+  [7928, 13176],
+  [7929, 13177],
+  [7930, 13178],
+  [7931, 13179],
+  [7932, 13180],
+  [7933, 13181],
+  [7934, 13182],
+  [7935, 13183],
+  [7936, 13184],
+  [7937, 13185],
+  [7938, 13186],
+  [7939, 13187],
+  [7940, 13188],
+  [7941, 13189],
+  [7942, 13190],
+  [7943, 13191],
+  [7944, 13192],
+  [7945, 13193],
+  [7946, 13194],
+  [7960, 13195],
+  [7961, 13196],
+  [7962, 13197],
+  [7963, 13198],
+  [7964, 13199],
+  [7965, 13200],
+  [7967, 13201],
+  [7968, 13202],
+  [7969, 13203],
+  [7970, 13204],
+  [7971, 13205],
+  [7972, 13206],
+  [7974, 13207],
+  [7975, 13208],
+  [7976, 13209],
+  [7977, 13210],
+  [7978, 13211],
+  [7979, 13212],
+  [7980, 13213],
+  [7981, 13214],
+  [7982, 13215],
+  [7983, 13216],
+  [7984, 13217],
+  [7985, 13218],
+  [7986, 13219],
+  [7987, 13220],
+  [7988, 13221],
+  [7989, 13222],
+  [7990, 13223],
+  [7991, 13224],
+  [7992, 13225],
+  [7993, 13226],
+  [7994, 13227],
+  [7995, 13228],
+  [7996, 13229],
+  [7997, 13230],
+  [7998, 13231],
+  [7999, 13232],
+  [8000, 13233],
+  [8001, 13234],
+  [8002, 13235],
+  [8003, 13236],
+  [8004, 13237],
+  [8005, 13238],
+  [8006, 13239],
+  [8007, 13240],
+  [8008, 13241],
+  [8009, 13242],
+  [8011, 13243],
+  [8012, 13244],
+  [8013, 13245],
+  [8014, 13246],
+  [8015, 13247],
+  [8016, 13248],
+  [8017, 13249],
+  [8018, 13250],
+  [8019, 13251],
+  [8020, 13252],
+  [8021, 13253],
+  [8022, 13254],
+  [8023, 13255],
+  [8024, 13256],
+  [8025, 13257],
+  [8026, 13258],
+  [8027, 13259],
+  [8028, 13260],
+  [8029, 13261],
+  [8030, 13262],
+  [8031, 13263],
+  [8032, 13264],
+  [8033, 13265],
+  [8034, 13266],
+  [8035, 13267],
+  [8036, 13268],
+  [8037, 13269],
+  [8038, 13270],
+  [8039, 13271],
+  [8040, 13272],
+  [8041, 13273],
+  [8042, 13274],
+  [8043, 13275],
+  [8044, 13276],
+  [8045, 13277],
+  [8046, 13278],
+  [8055, 13279],
+  [8056, 13280],
+  [8057, 13281],
+  [8058, 13282],
+  [8059, 13283],
+  [8060, 13284],
+  [8061, 13285],
+  [8062, 13286],
+  [8063, 13287],
+  [8064, 13288],
+  [8065, 13289],
+  [8066, 13290],
+  [8067, 13291],
+  [8068, 13292],
+  [8069, 13293],
+  [8070, 13294],
+  [8071, 13295],
+  [8072, 13296],
+  [8073, 13297],
+  [8074, 13298],
+  [8075, 13299],
+  [8076, 13300],
+  [8077, 13301],
+  [8078, 13302],
+  [8079, 13303],
+  [8080, 13304],
+  [8081, 13305],
+  [8082, 13306],
+  [8084, 13307],
+  [8086, 13308],
+  [8090, 13309],
+  [8091, 13310],
+  [8092, 13311],
+  [8093, 13312],
+  [8094, 13313],
+  [8095, 13314],
+  [8096, 13315],
+  [8097, 13316],
+  [8098, 13317],
+  [8099, 13318],
+  [8100, 13319],
+  [8101, 13320],
+  [8102, 13321],
+  [8111, 13322],
+  [8114, 13323],
+  [8115, 13324],
+  [8116, 13325],
+  [8117, 13326],
+  [8118, 13327],
+  [8119, 13328],
+  [8120, 13329],
+  [8121, 13330],
+  [8122, 13331],
+  [8123, 13332],
+  [8124, 13333],
+  [8125, 13334],
+  [8126, 13335],
+  [8127, 13336],
+  [8128, 13337],
+  [8129, 13338],
+  [8130, 13339],
+  [8131, 13340],
+  [8132, 13341],
+  [8133, 13342],
+  [8134, 13343],
+  [8135, 13344],
+  [8136, 13345],
+  [8137, 13346],
+  [8138, 13347],
+  [8139, 13348],
+  [8140, 13349],
+  [8141, 13350],
+  [8142, 13351],
+  [8143, 13352],
+  [8144, 13353],
+  [8145, 13354],
+  [8146, 13355],
+  [8147, 13356],
+  [8148, 13357],
+  [8149, 13358],
+  [8150, 13359],
+  [8151, 13360],
+  [8152, 13361],
+  [8153, 13362],
+  [8154, 13363],
+  [8155, 13364],
+  [8156, 13365],
+  [8157, 13366],
+  [8158, 13367],
+  [8159, 13368],
+  [8160, 13369],
+  [8161, 13370],
+  [8162, 13371],
+  [8163, 13372],
+  [8164, 13373],
+  [8165, 13374],
+  [8166, 13375],
+  [8169, 13376],
+  [8171, 13377],
+  [8172, 13378],
+  [8173, 13379],
+  [8174, 13380],
+  [8175, 13381],
+  [8176, 13382],
+  [8177, 13383],
+  [8178, 13384],
+  [8179, 13385],
+  [8180, 13386],
+  [8181, 13387],
+  [8182, 13388],
+  [8183, 13389],
+  [8184, 13390],
+  [8185, 13391],
+  [8186, 13392],
+  [8187, 13393],
+  [8188, 13394],
+  [8189, 13395],
+  [8190, 13396],
+  [8191, 13397],
+  [8192, 13398],
+  [8193, 13399],
+  [8194, 13400],
+  [8195, 13401],
+  [8196, 13402],
+  [8197, 13403],
+  [8198, 13404],
+  [8199, 13405],
+  [8200, 13406],
+  [8201, 13407],
+  [8202, 13408],
+  [8203, 13409],
+  [8204, 13410],
+  [8206, 13411],
+  [8207, 13412],
+  [8208, 13413],
+  [8209, 13414],
+  [8210, 13415],
+  [8224, 13416],
+  [8225, 13417],
+  [8226, 13418],
+  [8227, 13419],
+  [8228, 13420],
+  [8229, 13421],
+  [8230, 13422],
+  [8231, 13423],
+  [8232, 13424],
+  [8233, 13425],
+  [8234, 13426],
+  [8235, 13427],
+  [8236, 13428],
+  [8237, 13429],
+  [8238, 13430],
+  [8239, 13431],
+  [8240, 13432],
+  [8241, 13433],
+  [8242, 13434],
+  [8243, 13435],
+  [8244, 13436],
+  [8245, 13437],
+  [8246, 13438],
+  [8247, 13439],
+  [8248, 13440],
+  [8249, 13441],
+  [8250, 13442],
+  [8251, 13443],
+  [8252, 13444],
+  [8253, 13445],
+  [8254, 13446],
+  [8255, 13447],
+  [8256, 13448],
+  [8257, 13449],
+  [8258, 13450],
+  [8259, 13451],
+  [8260, 13452],
+  [8261, 13453],
+  [8262, 13454],
+  [8263, 13455],
+  [8264, 13456],
+  [8265, 13457],
+  [8266, 13458],
+  [8267, 13459],
+  [8268, 13460],
+  [8269, 13461],
+  [8270, 13462],
+  [8271, 13463],
+  [8272, 13464],
+  [8279, 13465],
+  [8280, 13466],
+  [8281, 13467],
+  [8282, 13468],
+  [8283, 13469],
+  [8284, 13470],
+  [8285, 13471],
+  [8286, 13472],
+  [8287, 13473],
+  [8288, 13474],
+  [8289, 13475],
+  [8290, 13476],
+  [8291, 13477],
+  [8292, 13478],
+  [8293, 13479],
+  [8294, 13480],
+  [8295, 13481],
+  [8296, 13482],
+  [8307, 13483],
+  [8308, 13484],
+  [8309, 13485],
+  [8310, 13486],
+  [8311, 13487],
+  [8312, 13488],
+  [8313, 13489],
+  [8314, 13490],
+  [8315, 13491],
+  [8316, 13492],
+  [8317, 13493],
+  [8318, 13494],
+  [8319, 13495],
+  [8320, 13496],
+  [8321, 13497],
+  [8322, 13498],
+  [8323, 13499],
+  [8324, 13500],
+  [8325, 13501],
+  [8326, 13502],
+  [8327, 13503],
+  [8328, 13504],
+  [8329, 13505],
+  [8330, 13506],
+  [8331, 13507],
+  [8332, 13508],
+  [8333, 13509],
+  [8337, 13510],
+  [8338, 13511],
+  [8339, 13512],
+  [8340, 13513],
+  [8341, 13514],
+  [8342, 13515],
+  [8343, 13516],
+  [8344, 13517],
+  [8345, 13518],
+  [8346, 13519],
+  [8347, 13520],
+  [8348, 13521],
+  [8349, 13522],
+  [8350, 13523],
+  [8351, 13524],
+  [8352, 13525],
+  [8353, 13526],
+  [8354, 13527],
+  [8355, 13528],
+  [8356, 13529],
+  [8357, 13530],
+  [8358, 13531],
+  [8359, 13532],
+  [8360, 13533],
+  [8361, 13534],
+  [8363, 13535],
+  [8364, 13536],
+  [8365, 13537],
+  [8366, 13538],
+  [8367, 13539],
+  [8368, 13540],
+  [8369, 13541],
+  [8370, 13542],
+  [8371, 13543],
+  [8372, 13544],
+  [8373, 13545],
+  [8374, 13546],
+  [8375, 13547],
+  [8376, 13548],
+  [8377, 13549],
+  [8378, 13550],
+  [8379, 13551],
+  [8380, 13552],
+  [8381, 13553],
+  [8383, 13554],
+  [8384, 13555],
+  [8385, 13556],
+  [8386, 13557],
+  [8387, 13558],
+  [8388, 13559],
+  [8389, 13560],
+  [8390, 13561],
+  [8391, 13562],
+  [8392, 13563],
+  [8394, 13564],
+  [8395, 13565],
+  [8396, 13566],
+  [8399, 13567],
+  [8401, 13568],
+  [8402, 13569],
+  [8403, 13570],
+  [8405, 13571],
+  [8407, 13572],
+  [8408, 13573],
+  [8423, 13574],
+  [8429, 13575],
+  [8430, 13576],
+  [8431, 13577],
+  [8432, 13578],
+  [8433, 13579],
+  [8434, 13580],
+  [8435, 13581],
+  [8436, 13582],
+  [8437, 13583],
+  [8438, 13584],
+  [8439, 13585],
+  [8440, 13586],
+  [8441, 13587],
+  [8442, 13588],
+  [8443, 13589],
+  [8446, 13590],
+  [8451, 13591],
+  [8452, 13592],
+  [8453, 13593],
+  [8454, 13594],
+  [8455, 13595],
+  [8456, 13596],
+  [8457, 13597],
+  [8458, 13598],
+  [8459, 13599],
+  [8461, 13600],
+  [8462, 13601],
+  [8464, 13602],
+  [8465, 13603],
+  [8466, 13604],
+  [8467, 13605],
+  [8468, 13606],
+  [8469, 13607],
+  [8470, 13608],
+  [8471, 13609],
+  [8472, 13610],
+  [8473, 13611],
+  [8474, 13612],
+  [8475, 13613],
+  [8476, 13614],
+  [8477, 13615],
+  [8478, 13616],
+  [8479, 13617],
+  [8480, 13618],
+  [8481, 13619],
+  [8482, 13620],
+  [8483, 13621],
+  [8484, 13622],
+  [8486, 13623],
+  [8487, 13624],
+  [8488, 13625],
+  [8489, 13626],
+  [8490, 13627],
+  [8491, 13628],
+  [8492, 13629],
+  [8493, 13630],
+  [8494, 13631],
+  [8495, 13632],
+  [8496, 13633],
+  [8508, 13634],
+  [8509, 13635],
+  [8511, 13636],
+  [8512, 13637],
+  [8513, 13638],
+  [8514, 13639],
+  [8515, 13640],
+  [8516, 13641],
+  [8517, 13642],
+  [8518, 13643],
+  [8519, 13644],
+  [8520, 13645],
+  [8521, 13646],
+  [8522, 13647],
+  [8523, 13648],
+  [8524, 13649],
+  [8525, 13650],
+  [8526, 13651],
+  [8527, 13652],
+  [8528, 13653],
+  [8530, 13654],
+  [8531, 13655],
+  [8532, 13656],
+  [8534, 13657],
+  [8535, 13658],
+  [8536, 13659],
+  [8537, 13660],
+  [8538, 13661],
+  [8539, 13662],
+  [8540, 13663],
+  [8541, 13664],
+  [8542, 13665],
+  [8543, 13666],
+  [8557, 13667],
+  [8562, 13668],
+  [8563, 13669],
+  [8564, 13670],
+  [8565, 13671],
+  [8566, 13672],
+  [8567, 13673],
+  [8568, 13674],
+  [8569, 13675],
+  [8570, 13676],
+  [8571, 13677],
+  [8572, 13678],
+  [8573, 13679],
+  [8574, 13680],
+  [8575, 13681],
+  [8576, 13682],
+  [8577, 13683],
+  [8578, 13684],
+  [8579, 13685],
+  [8580, 13686],
+  [8581, 13687],
+  [8582, 13688],
+  [8583, 13689],
+  [8584, 13690],
+  [8585, 13691],
+  [8586, 13692],
+  [8587, 13693],
+  [8588, 13694],
+  [8590, 13695],
+  [8593, 13696],
+  [8594, 13697],
+  [8595, 13698],
+  [8596, 13699],
+  [8597, 13700],
+  [8598, 13701],
+  [8599, 13702],
+  [8600, 13703],
+  [8601, 13704],
+  [8602, 13705],
+  [8603, 13706],
+  [8604, 13707],
+  [8605, 13708],
+  [8606, 13709],
+  [8607, 13710],
+  [8608, 13711],
+  [8610, 13712],
+  [8611, 13713],
+  [8612, 13714],
+  [8613, 13715],
+  [8614, 13716],
+  [8615, 13717],
+  [8617, 13718],
+  [8618, 13719],
+  [8620, 13720],
+  [8621, 13721],
+  [8622, 13722],
+  [8623, 13723],
+  [8624, 13724],
+  [8625, 13725],
+  [8626, 13726],
+  [8627, 13727],
+  [8628, 13728],
+  [8629, 13729],
+  [8630, 13730],
+  [8631, 13731],
+  [8632, 13732],
+  [8633, 13733],
+  [8634, 13734],
+  [8635, 13735],
+  [8636, 13736],
+  [8637, 13737],
+  [8638, 13738],
+  [8639, 13739],
+  [8640, 13740],
+  [8641, 13741],
+  [8642, 13742],
+  [8645, 13743],
+  [8647, 13744],
+  [8648, 13745],
+  [8649, 13746],
+  [8650, 13747],
+  [8651, 13748],
+  [8652, 13749],
+  [8653, 13750],
+  [8654, 13751],
+  [8655, 13752],
+  [8656, 13753],
+  [8657, 13754],
+  [8660, 13755],
+  [8661, 13756],
+  [8662, 13757],
+  [8663, 13758],
+  [8668, 13759],
+  [8669, 13760],
+  [8670, 13761],
+  [8688, 13762],
+  [8689, 13763],
+  [8690, 13764],
+  [8691, 13765],
+  [8692, 13766],
+  [8693, 13767],
+  [8694, 13768],
+  [8695, 13769],
+  [8696, 13770],
+  [8697, 13771],
+  [8698, 13772],
+  [8699, 13773],
+  [8700, 13774],
+  [8701, 13775],
+  [8702, 13776],
+  [8703, 13777],
+  [8704, 13778],
+  [8705, 13779],
+  [8706, 13780],
+  [8707, 13781],
+  [8708, 13782],
+  [8709, 13783],
+  [8710, 13784],
+  [8711, 13785],
+  [8712, 13786],
+  [8713, 13787],
+  [8714, 13788],
+  [8715, 13789],
+  [8716, 13790],
+  [8717, 13791],
+  [8718, 13792],
+  [8720, 13793],
+  [8721, 13794],
+  [8722, 13795],
+  [8723, 13796],
+  [8724, 13797],
+  [8725, 13798],
+  [8726, 13799],
+  [8727, 13800],
+  [8728, 13801],
+  [8729, 13802],
+  [8730, 13803],
+  [8731, 13804],
+  [8732, 13805],
+  [8733, 13806],
+  [8734, 13807],
+  [8735, 13808],
+  [8736, 13809],
+  [8737, 13810],
+  [8738, 13811],
+  [8739, 13812],
+  [8740, 13813],
+  [8741, 13814],
+  [8742, 13815],
+  [8743, 13816],
+  [8744, 13817],
+  [8745, 13818],
+  [8746, 13819],
+  [8747, 13820],
+  [8748, 13821],
+  [8749, 13822],
+  [8750, 13823],
+  [8751, 13824],
+  [8752, 13825],
+  [8753, 13826],
+  [8754, 13827],
+  [8755, 13828],
+  [8756, 13829],
+  [8757, 13830],
+  [8758, 13831],
+  [8759, 13832],
+  [8760, 13833],
+  [8761, 13834],
+  [8762, 13835],
+  [8763, 13836],
+  [8765, 13837],
+  [8770, 13838],
+  [8771, 13839],
+  [8772, 13840],
+  [8773, 13841],
+  [8774, 13842],
+  [8775, 13843],
+  [8776, 13844],
+  [8777, 13845],
+  [8778, 13846],
+  [8779, 13847],
+  [8780, 13848],
+  [8781, 13849],
+  [8782, 13850],
+  [8783, 13851],
+  [8784, 13852],
+  [8785, 13853],
+  [8786, 13854],
+  [8787, 13855],
+  [8788, 13856],
+  [8789, 13857],
+  [8790, 13858],
+  [8791, 13859],
+  [8792, 13860],
+  [8793, 13861],
+  [8794, 13862],
+  [8795, 13863],
+  [8797, 13864],
+  [8798, 13865],
+  [8799, 13866],
+  [8800, 13867],
+  [8801, 13868],
+  [8802, 13869],
+  [8803, 13870],
+  [8807, 13871],
+  [8808, 13872],
+  [8809, 13873],
+  [8810, 13874],
+  [8811, 13875],
+  [8812, 13876],
+  [8813, 13877],
+  [8814, 13878],
+  [8815, 13879],
+  [8816, 13880],
+  [8817, 13881],
+  [8818, 13882],
+  [8819, 13883],
+  [8820, 13884],
+  [8821, 13885],
+  [8822, 13886],
+  [8823, 13887],
+  [8824, 13888],
+  [8825, 13889],
+  [8826, 13890],
+  [8827, 13891],
+  [8828, 13892],
+  [8829, 13893],
+  [8830, 13894],
+  [8831, 13895],
+  [8832, 13896],
+  [8833, 13897],
+  [8834, 13898],
+  [8835, 13899],
+  [8836, 13900],
+  [8837, 13901],
+  [8838, 13902],
+  [8839, 13903],
+  [8840, 13904],
+  [8841, 13905],
+  [8842, 13906],
+  [8843, 13907],
+  [8844, 13908],
+  [8845, 13909],
+  [8846, 13910],
+  [8847, 13911],
+  [8848, 13912],
+  [8849, 13913],
+  [8850, 13914],
+  [8851, 13915],
+  [8852, 13916],
+  [8853, 13917],
+  [8854, 13918],
+  [8855, 13919],
+  [8856, 13920],
+  [8857, 13921],
+  [8858, 13922],
+  [8859, 13923],
+  [8860, 13924],
+  [8861, 13925],
+  [8862, 13926],
+  [8863, 13927],
+  [8864, 13928],
+  [8876, 13929],
+  [8877, 13930],
+  [8878, 13931],
+  [8879, 13932],
+  [8881, 13933],
+  [8882, 13934],
+  [8883, 13935],
+  [8884, 13936],
+  [8887, 13937],
+  [8888, 13938],
+  [8889, 13939],
+  [8890, 13940],
+  [8891, 13941],
+  [8892, 13942],
+  [8893, 13943],
+  [8894, 13944],
+  [8895, 13945],
+  [8896, 13946],
+  [8897, 13947],
+  [8898, 13948],
+  [8899, 13949],
+  [8900, 13950],
+  [8902, 13951],
+  [8903, 13952],
+  [8904, 13953],
+  [8905, 13954],
+  [8906, 13955],
+  [8907, 13956],
+  [8908, 13957],
+  [8909, 13958],
+  [8911, 13959],
+  [8912, 13960],
+  [8913, 13961],
+  [8914, 13962],
+  [8915, 13963],
+  [8916, 13964],
+  [8917, 13965],
+  [8918, 13966],
+  [8919, 13967],
+  [8920, 13968],
+  [8921, 13969],
+  [8925, 13970],
+  [8927, 13971],
+  [8931, 13972],
+  [8932, 13973],
+  [8934, 13974],
+  [8936, 13975],
+  [8937, 13976],
+  [8939, 13977],
+  [8940, 13978],
+  [8941, 13979],
+  [8942, 13980],
+  [8943, 13981],
+  [8945, 13982],
+  [8946, 13983],
+  [8947, 13984],
+  [8948, 13985],
+  [8949, 13986],
+  [8950, 13987],
+  [8951, 13988],
+  [8952, 13989],
+  [8954, 13990],
+  [8955, 13991],
+  [8956, 13992],
+  [8957, 13993],
+  [8958, 13994],
+  [8959, 13995],
+  [8960, 13996],
+  [8961, 13997],
+  [8962, 13998],
+  [8963, 13999],
+  [8964, 14000],
+  [8965, 14001],
+  [8966, 14002],
+  [8967, 14003],
+  [8968, 14004],
+  [8969, 14005],
+  [8970, 14006],
+  [8971, 14007],
+  [8972, 14008],
+  [8973, 14009],
+  [8974, 14010],
+  [8975, 14011],
+  [8976, 14012],
+  [8977, 14013],
+  [8978, 14014],
+  [8979, 14015],
+  [8980, 14016],
+  [8981, 14017],
+  [8982, 14018],
+  [8983, 14019],
+  [8984, 14020],
+  [8985, 14021],
+  [8986, 14022],
+  [8989, 14023],
+  [8990, 14024],
+  [8991, 14025],
+  [9003, 14026],
+  [9005, 14027],
+  [9007, 14028],
+  [9008, 14029],
+  [9009, 14030],
+  [9010, 14031],
+  [9011, 14032],
+  [9012, 14033],
+  [9013, 14034],
+  [9014, 14035],
+  [9015, 14036],
+  [9016, 14037],
+  [9017, 14038],
+  [9018, 14039],
+  [9019, 14040],
+  [9020, 14041],
+  [9021, 14042],
+  [9022, 14043],
+  [9027, 14044],
+  [9028, 14045],
+  [9029, 14046],
+  [9030, 14047],
+  [9031, 14048],
+  [9032, 14049],
+  [9033, 14050],
+  [9034, 14051],
+  [9035, 14052],
+  [9036, 14053],
+  [9037, 14054],
+  [9038, 14055],
+  [9039, 14056],
+  [9040, 14057],
+  [9041, 14058],
+  [9042, 14059],
+  [9043, 14060],
+  [9044, 14061],
+  [9051, 14062],
+  [9052, 14063],
+  [9053, 14064],
+  [9070, 14065],
+  [9071, 14066],
+  [9072, 14067],
+  [9073, 14068],
+  [9074, 14069],
+  [9075, 14070],
+  [9076, 14071],
+  [9077, 14072],
+  [9078, 14073],
+  [9079, 14074],
+  [9080, 14075],
+  [9081, 14076],
+  [9083, 14077],
+  [9085, 14078],
+  [9086, 14079],
+  [9087, 14080],
+  [9088, 14081],
+  [9089, 14082],
+  [9090, 14083],
+  [9102, 14084],
+  [9104, 14085],
+  [9105, 14086],
+  [9106, 14087],
+  [9107, 14088],
+  [9108, 14089],
+  [9113, 14090],
+  [9114, 14091],
+  [9123, 14092],
+  [9126, 14093],
+  [9127, 14094],
+  [9128, 14095],
+  [9129, 14096],
+  [9130, 14097],
+  [9131, 14098],
+  [9132, 14099],
+  [9133, 14100],
+  [9134, 14101],
+  [9135, 14102],
+  [9136, 14103],
+  [9137, 14104],
+  [9138, 14105],
+  [9139, 14106],
+  [9140, 14107],
+  [9141, 14108],
+  [9142, 14109],
+  [9143, 14110],
+  [9144, 14111],
+  [9145, 14112],
+  [9146, 14113],
+  [9161, 14114],
+  [9162, 14115],
+  [9163, 14116],
+  [9168, 14117],
+  [9169, 14118],
+  [9170, 14119],
+  [9171, 14120],
+  [9172, 14121],
+  [9173, 14122],
+  [9191, 14123],
+  [9192, 14124],
+  [9193, 14125],
+  [9209, 14126],
+  [9214, 14127],
+  [9216, 14128],
+  [9217, 14129],
+  [9218, 14130],
+  [9222, 14131],
+  [9223, 14132],
+  [9224, 14133],
+  [9226, 14134],
+  [9227, 14135],
+  [9228, 14136],
+  [9230, 14137],
+  [9232, 14138],
+  [9236, 14139],
+  [9237, 14140],
+  [9238, 14141],
+  [9241, 14142],
+  [9263, 14143],
+  [9265, 14144],
+  [9266, 14145],
+  [9267, 14146],
+  [9268, 14147],
+  [9269, 14148],
+  [9270, 14149],
+  [9271, 14150],
+  [9272, 14151],
+  [9273, 14152],
+  [9274, 14153],
+  [9275, 14154],
+  [9276, 14155],
+  [9277, 14156],
+  [9278, 14157],
+  [9280, 14158],
+  [9281, 14159],
+  [9282, 14160],
+  [9283, 14161],
+  [9285, 14162],
+  [9286, 14163],
+  [9287, 14164],
+  [9288, 14165],
+  [9289, 14166],
+  [9290, 14167],
+  [9291, 14168],
+  [9292, 14169],
+  [9293, 14170],
+  [9294, 14171],
+  [9295, 14172],
+  [9296, 14173],
+  [9297, 14174],
+  [9298, 14175],
+  [9302, 14176],
+  [9304, 14177],
+  [9308, 14178],
+  [9309, 14179],
+  [9310, 14180],
+  [9311, 14181],
+  [9312, 14182],
+  [9313, 14183],
+  [9316, 14184],
+  [9317, 14185],
+  [9318, 14186],
+  [9319, 14187],
+  [9321, 14188],
+  [9322, 14189],
+  [9323, 14190],
+  [9324, 14191],
+  [9325, 14192],
+  [9326, 14193],
+  [9327, 14194],
+  [9329, 14195],
+  [9330, 14196],
+  [9331, 14197],
+  [9332, 14198],
+  [9333, 14199],
+  [9334, 14200],
+  [9335, 14201],
+  [9336, 14202],
+  [9337, 14203],
+  [9338, 14204],
+  [9339, 14205],
+  [9340, 14206],
+  [9341, 14207],
+  [9342, 14208],
+  [9343, 14209],
+  [9344, 14210],
+  [9345, 14211],
+  [9346, 14212],
+  [9347, 14213],
+  [9348, 14214],
+  [9354, 14215],
+  [9355, 14216],
+  [9356, 14217],
+  [9374, 14218],
+  [9381, 14219],
+  [9383, 14220],
+  [9386, 14221],
+  [9394, 14222],
+  [9395, 14223],
+  [9396, 14224],
+  [9397, 14225],
+  [9398, 14226],
+  [9399, 14227],
+  [9400, 14228],
+  [9401, 14229],
+  [9402, 14230],
+  [9403, 14231],
+  [9404, 14232],
+  [9405, 14233],
+  [9407, 14234],
+  [9408, 14235],
+  [9412, 14236],
+  [9413, 14237],
+  [9415, 14238],
+  [9422, 14239],
+  [9423, 14240],
+  [9424, 14241],
+  [9425, 14242],
+  [9426, 14243],
+  [9427, 14244],
+  [9428, 14245],
+  [9429, 14246],
+  [9430, 14247],
+  [9431, 14248],
+  [9437, 14249],
+  [9438, 14250],
+  [9450, 14251],
+  [9451, 14252],
+  [9452, 14253],
+  [9453, 14254],
+  [9454, 14255],
+  [9455, 14256],
+  [9456, 14257],
+  [9457, 14258],
+  [9458, 14259],
+  [9469, 14260],
+  [9472, 14261],
+  [9485, 14262],
+  [9487, 14263],
+  [9489, 14264],
+  [9501, 14265],
+  [9505, 14266],
+  [9513, 14267],
+  [9518, 14268],
+  [9527, 14269],
+  [9529, 14270],
+  [9531, 14271],
+  [9532, 14272],
+  [9533, 14273],
+  [9536, 14274],
+  [9537, 14275],
+  [9538, 14276],
+  [9539, 14277],
+  [9540, 14278],
+  [9541, 14279],
+  [9542, 14280],
+  [9543, 14281],
+  [9544, 14282],
+  [9545, 14283],
+  [9549, 14284],
+  [9550, 14285],
+  [9551, 14286],
+  [9552, 14287],
+  [9553, 14288],
+  [9554, 14289],
+  [9555, 14290],
+  [9556, 14291],
+  [9557, 14292],
+  [9558, 14293],
+  [9559, 14294],
+  [9560, 14295],
+  [9561, 14296],
+  [9562, 14297],
+  [9563, 14298],
+  [9574, 14299],
+  [9575, 14300],
+  [9576, 14301],
+  [9577, 14302],
+  [9578, 14303],
+  [9579, 14304],
+  [9580, 14305],
+  [9581, 14306],
+  [9582, 14307],
+  [9583, 14308],
+  [9584, 14309],
+  [9585, 14310],
+  [9586, 14311],
+  [9587, 14312],
+  [9589, 14313],
+  [9597, 14314],
+  [9598, 14315],
+  [9599, 14316],
+  [9602, 14317],
+  [9603, 14318],
+  [9605, 14319],
+  [9607, 14320],
+  [9608, 14321],
+  [9611, 14322],
+  [9614, 14323],
+  [9615, 14324],
+  [9618, 14325],
+];
+module.exports = { channels, videos };

+ 12 - 0
working-groups/distributors/Sumer-Giza-migration/package.json

@@ -0,0 +1,12 @@
+{
+  "name":"joystream-migration-verification",
+  "dependencies": "MIT",
+  "dependencies": {
+    "axios": "^0.25.0",
+    "request": "^2.88.2"
+  },
+  "scripts": {
+      "start": "yarn verify",
+      "verify": "node verify.js"
+  }
+}

+ 176 - 0
working-groups/distributors/Sumer-Giza-migration/verify.js

@@ -0,0 +1,176 @@
+const fs = require("fs");
+const axios = require("axios");
+
+const oldFilename = `oldChannels.json`;
+const newFilename = `newVideos.json`;
+const resultsFilename = `migration_result.json`;
+const { channels, videos } = require("./ids.js");
+console.log(
+  `Loaded IDs of ${videos.length} transferred videos in ${channels.length} channels.`
+);
+//const { channels } = require("./ru.js");
+// channels.map((c) => c.id).reduce((id=> axios.head(`${}`))
+
+const oldChannels = `query { channels (limit: 10000) { id createdAt updatedAt createdInBlock
+    title category { name } ownerMember {id handle } isCensored isPublic
+    coverPhotoAvailability coverPhotoDataObject { joystreamContentId size }
+    avatarPhotoAvailability avatarPhotoDataObject { joystreamContentId size }
+    videos { id title mediaDataObject {size} mediaAvailability thumbnailPhotoAvailability }
+}}`;
+
+const queryVideos = `query { videos (limit:10000) { id channelId language{iso} media { id } }}`;
+
+const queryVideo = (id) => `query { videos(where: {id_eq: "${id}"})  {
+  id channelId language{iso} media { id } }}`;
+
+//curl 'https://ipfs.joystreamstats.live/graphql' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: https://ipfs.joystreamstats.live' --data-binary '{"query":"query { videos { id channelId language{iso} media { id } }}"}' --compressed
+
+const getOldChannels = () =>
+  axios
+    .post(`https://hydra-sumer.joystream.org/graphql`, { query: oldChannels })
+    .then(({ data }) => {
+      fs.writeFileSync(oldFilename, JSON.stringify(data.data.channels));
+      return data.data.channels;
+    })
+    .catch(({ message, response }) => {
+      console.log(response.status, message, response.data);
+      return [];
+    });
+
+const printResults = (results) => {
+  const available = results.filter((v) => v.status === `available`);
+  console.log(`${available.length} of ${results.length} assets are available.`);
+  const notok = results.filter((v) => v.status !== `available`);
+  if (!notok.length) return;
+
+  // print table
+  const header = `\n### Created Videos without media file\n\n${notok.length} have no content.\n\n| Channel | Video | Asset | Status |\n|---|---|---|---|\n`;
+  const row = ({ id, channelId, media, status }) =>
+    `| ${channelId} | ${id} | ${media?.id || ``} | ${status || ``} |`;
+  const sorted = notok.sort((a, b) => a.channelId - b.channelId);
+  console.log(header + sorted.map((video) => row(video)).join(`\n`));
+};
+
+const testVideos = async (list, oldResults) => {
+  if (!list?.length) return console.log(`empty result from QN`);
+  console.log(`Testing availability of ${list.length} videos (~5..15min)`);
+  let results = oldResults || [];
+  const timer = setInterval(
+    () => console.log(`Tested ${results.length} videos.`),
+    5000
+  );
+  for (const video of list) {
+    const { id, channelId, language, media } = video;
+    if (!videos.find((map) => +map[1] === +id)) continue; // not migrated
+    if (!media) {
+      console.log(`Skipping video ${id}: no media info.`);
+      results.push({ ...video, status: `no media` });
+      continue;
+    }
+    const status = await axios
+      .head(`https://storage-1.joystream.org/argus/api/v1/assets/${media.id}`)
+      .then(({ status, statusText }) =>
+        status === 200 ? `available` : `${status} ${statusText}`
+      )
+      .catch((error) => error.message);
+    if (status !== "available") console.log(`Not available:`, video);
+    results.push({ ...video, status });
+  }
+  fs.writeFileSync(resultsFilename, JSON.stringify(results));
+  console.log(`Wrote ${resultsFilename}.`);
+  printResults(results);
+  clearInterval(timer);
+};
+
+const countSize = (ids, channels) => {
+  let acceptedVideos = 0;
+  let channelsSize = 0;
+  let sizes = [];
+  let notacceptedbuttransferred = [];
+  channels
+    .filter((c) => ids.find((id) => id[0] === +c.id))
+    .map((channel) => {
+      if (channel.isCensored) console.log(`channel ${cid} was censored!`);
+      if (channel.coverPhotoDataObject)
+        channelsSize += channel.coverPhotoDataObject.size;
+      if (channel.avatarPhotoDataObject)
+        channelsSize += channel.avatarPhotoDataObject.size;
+      channel.videos.forEach((v) => {
+        if (v.mediaAvailability === "ACCEPTED")
+          sizes.push(v.mediaDataObject.size);
+        else notacceptedbuttransferred.push(v);
+      });
+    });
+  const bytes = sizes.reduce((a, b) => a + b, 0);
+  console.log(
+    `${sizes.length} videos were transferred ${bytes} bytes + ${channelsSize} avatars + covers.`
+  );
+  if (notacceptedbuttransferred) {
+    const lines = notacceptedbuttransferred.map(
+      (v) =>
+        `| ${v.id} | ${v.title} | ${v.mediaDataObject.size} | ${v.mediaAvailability} | ${v.thumbnailPhotoAvailability} |`
+    );
+    console.log(
+      `\n### Migrated ${lines.length} videos with empty source\n\n|ID|Title|Size|Upload|Thumbnail|\n|---|---|---|---|---|\n`,
+      lines.join(`\n`)
+    );
+  }
+  return bytes + channelsSize;
+};
+
+// load old channels from disk or old QN
+fs.stat(oldFilename, async (err, stat) => {
+  const oldChannels = !err
+    ? JSON.parse(fs.readFileSync(oldFilename, "utf-8"))
+    : await getOldChannels();
+  console.log(`Loaded info of ${oldChannels.length} old channels.`);
+  const size = countSize(channels, oldChannels);
+
+  // find censored
+  const censored = oldChannels.filter((c) => c.isCensored);
+  if (!censored.length) return;
+  console.log(
+    `\n### Censored source channels\n\nFound ${censored.length} censored channels in migration set:\n`,
+    "```\n" + censored.map((j) => JSON.stringify(j)).join("\n") + "\n```"
+  );
+});
+
+// load new videos from disk or new QN
+fs.stat(newFilename, async (err, stat) => {
+  const newVideos = !err
+    ? JSON.parse(fs.readFileSync(newFilename, "utf-8"))
+    : await axios
+        .post(`https://ipfs.joystreamstats.live/graphql`, {
+          query: queryVideos,
+        })
+        .then(({ data }) => {
+          fs.writeFileSync(newFilename, JSON.stringify(data.data.videos));
+          return data.data.videos;
+        })
+        .catch((error) => {
+          console.log(error.message, error);
+          return [];
+        });
+
+  // find migrated of all new videos
+  const migrated = newVideos.filter((v) =>
+    videos.find((ids) => ids[1] === +v.id)
+  );
+  if (!migrated.length)
+    return console.log(
+      `Something went wrong. No migrated videos found. Contact your administrator.`
+    );
+  console.log(`Loaded info of ${migrated.length} migrated videos.`);
+  fs.stat(resultsFilename, async (err, stat) => {
+    if (err) return testVideos(migrated);
+    console.log(`Loading old results.`);
+    const results = JSON.parse(fs.readFileSync(resultsFilename, "utf-8"));
+    const nottested = videos.filter(
+      (i) => !results.find((r) => +r.id === i[1])
+    );
+    console.log(nottested.length, `not tested before.`);
+    if (nottested.length) return testVideos(nottested, results);
+    console.log(`Nothing to do. all migrated Videos were tested.`);
+    printResults(results);
+  });
+});