From 42fd9a69fa2bc9ef11c65c169a58ff40c9cb0fa1 Mon Sep 17 00:00:00 2001 From: lectio Date: Tue, 28 Jul 2026 22:07:21 +0200 Subject: clectio: tiny suckless C daily readings, all readings compiled in clectio prints the Catholic liturgical day and its Mass readings for a date with a single table lookup -- no computation, config file, network, or deps beyond libc. The calendar, reading citations and scripture text are all compiled in; the whole shipped package fits on a 1.44 MB floppy (~1.29 MiB) and the binary is ~0.9 MB (OF) / ~0.3 MB (EF). - suckless config.h: FORM_OF/FORM_EF, SIGLA_ENGLISH/SIGLA_LATIN, COLOR. - Bring your own Bible: `make CORPUS=mybible.tsv` recompiles with any Vulgate-numbered 6-column TSV; only the ~12k cited verses are embedded. - The hard liturgical logic stays in lectio (Go, oracle-validated); its clectio-gen emits the corpus-independent tables in gen/. The scripture text is LZSS-packed (lz.h) to fit; mktext/bin2h resolve+embed it at build time. - Verified byte-identical to lectio's readings; day names match 157/157 over a 3-year sample. Default text: public-domain Latin Vulgate. ISC-licensed. Claude-Session: https://claude.ai/code/session_01S1CD1u3tgSS4xNu6WHfp5a --- .gitignore | 8 + LICENSE | 23 + Makefile | 54 + README.md | 67 + bin2h.c | 22 + clectio.c | 127 + config.def.h | 27 + gen/liturgy_ef.h | 3353 +++++++++++++++++ gen/liturgy_of.h | 9731 +++++++++++++++++++++++++++++++++++++++++++++++++ gen/verses_ef.keys.gz | Bin 0 -> 8115 bytes gen/verses_of.keys.gz | Bin 0 -> 31111 bytes lz.h | 111 + mktext.c | 116 + text_ef.lz | Bin 0 -> 166192 bytes text_of.lz | Bin 0 -> 671691 bytes 15 files changed, 13639 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 README.md create mode 100644 bin2h.c create mode 100644 clectio.c create mode 100644 config.def.h create mode 100644 gen/liturgy_ef.h create mode 100644 gen/liturgy_of.h create mode 100644 gen/verses_ef.keys.gz create mode 100644 gen/verses_of.keys.gz create mode 100644 lz.h create mode 100644 mktext.c create mode 100644 text_ef.lz create mode 100644 text_of.lz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bc7b305 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +/clectio +/mktext +/bin2h +/config.h +/text.lz.h +/gen/verses_of.keys +/gen/verses_ef.keys +*.o diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..e1e6938 --- /dev/null +++ b/LICENSE @@ -0,0 +1,23 @@ +ISC License + +Copyright (c) 2026 Łukasz Kasprzak + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +--- + +This licence covers clectio's own source code only. The generated data in +gen/ (liturgical calendar and scripture references) consists of facts and is +not subject to copyright. The compiled scripture text is a separate work under +its own terms: the default is the public-domain Latin Vulgate. A build made +with another translation may carry that translation's own licensing. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..fb6d964 --- /dev/null +++ b/Makefile @@ -0,0 +1,54 @@ +# clectio -- tiny, fast, suckless daily readings +# Configure by editing config.h (copied from config.def.h on first build). + +CC = cc +CFLAGS = -std=c99 -Os -Wall -Wextra +LDFLAGS = -s +PREFIX = /usr/local + +# The form to build is read from config.h so there is one source of truth. +FORM := $(shell grep -Eq '^[[:space:]]*\#[[:space:]]*define[[:space:]]+FORM_EF' config.h 2>/dev/null && echo ef || echo of) +# Bring your own Bible: `make CORPUS=/path/to/mybible.tsv` (same 6-column TSV +# format as gen/, Vulgate-numbered). Empty = use the shipped Vulgate text. +CORPUS ?= + +.PHONY: all clean size install uninstall + +all: clectio + +config.h: + cp config.def.h config.h + +mktext: mktext.c lz.h + $(CC) $(CFLAGS) -o $@ mktext.c + +bin2h: bin2h.c + $(CC) $(CFLAGS) -o $@ bin2h.c + +# With CORPUS set, repack the text for the chosen form from that corpus; +# otherwise the shipped text_
.lz (default Vulgate) is used as-is. The +# verse keys ship gzipped (they are only needed here), so unpack them first. +ifneq ($(CORPUS),) +gen/verses_$(FORM).keys: gen/verses_$(FORM).keys.gz + gzip -dc $< > $@ +text_$(FORM).lz: mktext gen/verses_$(FORM).keys $(CORPUS) + ./mktext gen/verses_$(FORM).keys $(CORPUS) $@ +endif + +text.lz.h: bin2h text_$(FORM).lz + ./bin2h text_$(FORM).lz > $@ + +clectio: clectio.c config.h text.lz.h gen/liturgy_$(FORM).h lz.h + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ clectio.c + +size: clectio + @ls -l clectio | awk '{printf "clectio (%s): %d bytes = %.0f KB\n","$(FORM)",$$5,$$5/1024}' + +install: clectio + install -Dm755 clectio $(DESTDIR)$(PREFIX)/bin/clectio + +uninstall: + rm -f $(DESTDIR)$(PREFIX)/bin/clectio + +clean: + rm -f clectio mktext bin2h text.lz.h gen/verses_of.keys gen/verses_ef.keys diff --git a/README.md b/README.md new file mode 100644 index 0000000..e6b494c --- /dev/null +++ b/README.md @@ -0,0 +1,67 @@ +# clectio + +tiny, fast, suckless daily readings. + +clectio prints the Catholic liturgical day and its Mass readings for any date. +It computes nothing at run time: the calendar, the reading citations and the +scripture text are all compiled in. One table lookup, no config file, no +network, no dependencies beyond libc. The default text is the public-domain +Latin Vulgate, and the whole program fits on a 1.44 MB floppy. + +It is the small cousin of [lectio](https://github.com/lukaszkasprzak/lectio), +the Go engine that computes and generates clectio's data. + +## Build + + make # Ordinary Form, English sigla, Latin Vulgate + ./clectio # today + ./clectio 2026-12-25 # a given date + make install # into $PREFIX/bin (default /usr/local) + +Needs only a C99 compiler and libc. It builds in about a second. + +## Configure (suckless style) + +Edit `config.h` (copied from `config.def.h` on first build), then `make`: + + * `FORM_OF` / `FORM_EF` — Ordinary Form (1969) or Extraordinary Form (1962) + * `SIGLA_ENGLISH` / `SIGLA_LATIN` — citation dialect (`Jer 14` vs `Ier 14`) + * `COLOR` — colour the day name with its liturgical colour + +One form per binary; for both, build twice. The interface is English only. + +## Bring your own Bible + +The default build embeds the Latin Vulgate. To compile with another +translation, hand `make` a corpus in the same 6-column TSV format +(`BookAbbrevBookNumChapterVerseText`), using Vulgate +chapter/verse numbering: + + make CORPUS=/path/to/mybible.tsv + +clectio compiles in only the ~12000 verses the lectionary actually cites, so the +binary stays around 1 MiB whatever the Bible. A verse the corpus lacks prints +blank; it never fails the day. + +## Coverage + +The compiled calendar runs 2025–2054. Dates outside that range are reported, not +guessed. To extend it, regenerate `gen/` with lectio's `clectio-gen`. + +## Files + + clectio.c the program: date -> table lookup -> print + config.def.h compile-time configuration + lz.h a tiny LZSS codec (keeps the compiled text small) + mktext.c build tool: resolve verse keys against a corpus, pack the text + bin2h.c build tool: embed the packed text as C + gen/ generated, corpus-independent data (calendar + citations) + text_of.lz the default Vulgate text, packed (one per form) + +## Licence + +clectio's own code is ISC (see `LICENSE`). The data in `gen/` is generated from +lectio and is dates and scripture *references* — facts, not copyrightable. The +compiled scripture *text* is a separate work under its own terms; the default, +the Latin Vulgate, is public domain. Distribute a build made with a different +Bible only where that translation permits it. diff --git a/bin2h.c b/bin2h.c new file mode 100644 index 0000000..dbbfa42 --- /dev/null +++ b/bin2h.c @@ -0,0 +1,22 @@ +/* bin2h -- embed a binary file as the C array clectio compiles in. + * usage: bin2h > text.lz.h (public domain) */ +#include + +int main(int argc, char **argv) { + FILE *f; + int c, n = 0; + if (argc != 2 || !(f = fopen(argv[1], "rb"))) { + fprintf(stderr, "usage: bin2h > out.h\n"); + return 1; + } + printf("static const unsigned char text_lz[] = {"); + while ((c = fgetc(f)) != EOF) { + if (n % 20 == 0) + printf("\n\t"); + printf("%d,", c); + n++; + } + printf("\n};\nstatic const unsigned text_lz_len = %d;\n", n); + fclose(f); + return 0; +} diff --git a/clectio.c b/clectio.c new file mode 100644 index 0000000..7a660cb --- /dev/null +++ b/clectio.c @@ -0,0 +1,127 @@ +/* clectio -- tiny, fast, suckless daily readings. + * + * Computes nothing at runtime: the liturgical calendar, its reading citations + * and the scripture text are all compiled in (see gen/ and the Makefile). For a + * date it does a table lookup and prints the day and its readings. Configuration + * is compile-time (config.h), suckless-style: edit and recompile. + * + * Public domain. The compiled scripture corpus is NOT part of this program's + * licence (see README): the default is the public-domain Latin Vulgate. + */ +#define _POSIX_C_SOURCE 200809L /* localtime_r, isatty under -std=c99 */ + +#include "config.h" +#include LITURGY /* gen/liturgy_.h: names,parts,cites_*,vpool,readings,rpool,days,cal,EPOCH,NDAYS */ +#include "text.lz.h" /* embedded LZSS text blob: text_lz[], text_lz_len */ +#include "lz.h" + +#include +#include +#include +#include +#include + +static char *textbuf; /* inflated verse text */ +static const char **verse; /* verse[i] -> the text of the i-th key, nul-terminated */ +static int usecolor; + +static const char *const colname[] = { "green", "white", "red", "violet", "rose", "black" }; +static const char *const colansi[] = { "\033[32m", "\033[37m", "\033[31m", "\033[35m", "\033[95m", "\033[90m" }; + +/* Days since the civil epoch 1970-01-01 (Howard Hinnant's algorithm). */ +static long days_from_civil(long y, unsigned m, unsigned d) { + y -= m <= 2; + long era = (y >= 0 ? y : y - 399) / 400; + unsigned yoe = (unsigned)(y - era * 400); + unsigned doy = (153u * (m + (m > 2 ? -3u : 9u)) + 2u) / 5u + d - 1; + unsigned doe = yoe * 365 + yoe / 4 - yoe / 100 + doy; + return era * 146097 + (long)doe - 719468; +} + +static void load_text(void) { + unsigned raw = text_lz[0] | text_lz[1] << 8 | text_lz[2] << 16 | (unsigned)text_lz[3] << 24; + int cap = 8192, n = 0; + char *p; + textbuf = malloc(raw + 1); + lz_unpack(text_lz + 4, text_lz_len - 4, (unsigned char *)textbuf, raw); + textbuf[raw] = 0; + verse = malloc(cap * sizeof(*verse)); + verse[n++] = textbuf; + for (p = textbuf; *p; p++) + if (*p == '\n') { + *p = 0; + if (p[1]) { + if (n == cap) { cap *= 2; verse = realloc(verse, cap * sizeof(*verse)); } + verse[n++] = p + 1; + } + } +} + +static const char *citation(int r) { +#ifdef SIGLA_LATIN + return cites_la[readings_cite_la[r]]; +#else + return cites_en[readings[r].cite]; +#endif +} + +static void print_day(long off, const char *datestr) { + const Day *d = &days[cal[off]]; + unsigned k, ri; + if (usecolor) + printf("%s%s\033[0m", colansi[d->colour], names[d->name]); + else + printf("%s \xc2\xb7 %s", names[d->name], colname[d->colour]); + printf("\n%s for %s\n", FORMNAME, datestr); + for (k = 0; k < d->rlen; k++) + putchar('='); + putchar('\n'); + for (ri = 0; ri < d->rlen; ri++) { + const Reading *r = &readings[rpool[d->roff + ri]]; + unsigned v; + printf("\n%s (%s)\n\n", parts[r->part], citation(rpool[d->roff + ri])); + for (v = 0; v < r->vlen; v++) + printf("%s\n", verse[vpool[r->voff + v]]); + } +} + +int main(int argc, char **argv) { + struct tm tm; + long off; + char datestr[16]; + int y, m, dd; + + usecolor = COLOR && isatty(1); + + if (argc > 1 && (!strcmp(argv[1], "-h") || !strcmp(argv[1], "--help"))) { + fprintf(stderr, "usage: clectio [YYYY-MM-DD] (default: today)\n" + " compiled: %s, %s, %d-%d\n", FORMNAME, SIGLANAME, EPOCH_Y, EPOCH_Y + (NDAYS / 366)); + return 0; + } + if (argc > 1) { + if (sscanf(argv[1], "%d-%d-%d", &y, &m, &dd) != 3) { + fprintf(stderr, "clectio: bad date %s (want YYYY-MM-DD)\n", argv[1]); + return 2; + } + snprintf(datestr, sizeof datestr, "%04d-%02d-%02d", y, m, dd); + } else { + time_t t = time(NULL); + localtime_r(&t, &tm); + y = tm.tm_year + 1900; + m = tm.tm_mon + 1; + dd = tm.tm_mday; + strftime(datestr, sizeof datestr, "%Y-%m-%d", &tm); + } + + off = days_from_civil(y, (unsigned)m, (unsigned)dd) - + days_from_civil(EPOCH_Y, EPOCH_M, EPOCH_D); + if (off < 0 || off >= NDAYS) { + fprintf(stderr, "clectio: %s is outside the compiled range %d..%d\n", + datestr, EPOCH_Y, EPOCH_Y + (NDAYS / 366)); + return 1; + } + + load_text(); + print_day(off, datestr); + return 0; +} diff --git a/config.def.h b/config.def.h new file mode 100644 index 0000000..0447669 --- /dev/null +++ b/config.def.h @@ -0,0 +1,27 @@ +/* clectio configuration -- suckless style: copy to config.h, edit, `make`. + * Everything here is compile-time; the binary has no config file to read. */ + +/* --- Liturgical form: build ONE (recompile for the other). --------------- */ +#define FORM_OF /* Ordinary Form (modern, post-1969) */ +/* #define FORM_EF */ /* Extraordinary Form (1962) */ + +/* --- Citation dialect: build ONE. ---------------------------------------- */ +/* #define SIGLA_LATIN */ /* e.g. "Ier 14:17-22" -- matches the Vulgate */ +#define SIGLA_ENGLISH /* e.g. "Jer 14:17-22" */ + +/* --- Colourize the day name with its liturgical colour on a terminal. ---- */ +#define COLOR 1 + +/* ------------------------- derived (do not edit) ------------------------- */ +#ifdef FORM_EF +# define LITURGY "gen/liturgy_ef.h" +# define FORMNAME "Extraordinary Form (1962)" +#else +# define LITURGY "gen/liturgy_of.h" +# define FORMNAME "Ordinary Form" +#endif +#ifdef SIGLA_LATIN +# define SIGLANAME "Latin sigla" +#else +# define SIGLANAME "English sigla" +#endif diff --git a/gen/liturgy_ef.h b/gen/liturgy_ef.h new file mode 100644 index 0000000..7e85c8c --- /dev/null +++ b/gen/liturgy_ef.h @@ -0,0 +1,3353 @@ +/* generated by clectio-gen -- do not edit */ +#ifndef LITURGY_EF_H +#define LITURGY_EF_H + +#define EPOCH_Y 2025 +#define EPOCH_M 1 +#define EPOCH_D 1 +#define NDAYS 10957 + +static const char *const names[] = { + "The Circumcision of the Lord", + "Thursday of Christmas", + "Friday of Christmas", + "Saturday of Christmas", + "0th Sunday of Christmas", + "The Epiphany of the Lord", + "Tuesday of the 1st Week after Epiphany", + "Wednesday of the 1st Week after Epiphany", + "Thursday of the 1st Week after Epiphany", + "Friday of the 1st Week after Epiphany", + "Saturday of the 1st Week after Epiphany", + "1st Sunday after Epiphany", + "Commemoration of the Baptism of the Lord", + "St. Hilary", + "St. Paul, the First Hermit", + "St. Marcellus I", + "St. Anthony", + "Saturday of the 2nd Week after Epiphany", + "2nd Sunday after Epiphany", + "Sts. Fabian & Sebastian", + "St. Agnes", + "Sts. Vincent & Anastasius", + "St. Raymond of Peñafort", + "St. Timothy", + "Conversion of St. Paul", + "3rd Sunday after Epiphany", + "St. John Chrysostom", + "St. Peter Nolasco", + "St. Francis de Sales", + "St. Martina", + "St. John Bosco", + "St. Ignatius of Antioch", + "Purification of the Blessed Virgin Mary", + "Monday of the 5th Week after Epiphany", + "St. Andrew Corsini", + "St. Agatha", + "St. Titus", + "St. Romuald", + "St. John of Matha", + "5th Sunday after Epiphany", + "St. Scholastica", + "Our Lady of Lourdes", + "Seven Holy Servite Founders", + "Thursday of the 6th Week after Epiphany", + "Friday of the 6th Week after Epiphany", + "Saturday of the 6th Week after Epiphany", + "1st Sunday of Septuagesima", + "Monday of the 1st Week of Septuagesima", + "Tuesday of the 1st Week of Septuagesima", + "Wednesday of the 1st Week of Septuagesima", + "Thursday of the 1st Week of Septuagesima", + "Friday of the 1st Week of Septuagesima", + "Chair of St. Peter", + "2nd Sunday of Septuagesima", + "St. Matthias", + "Tuesday of the 2nd Week of Septuagesima", + "Wednesday of the 2nd Week of Septuagesima", + "St. Gabriel of Our Lady of Sorrows", + "Friday of the 2nd Week of Septuagesima", + "Saturday of the 2nd Week of Septuagesima", + "3rd Sunday of Septuagesima", + "Monday of the 3rd Week of Septuagesima", + "St. Casimir", + "Ash Wednesday", + "Thursday after Ash Wednesday", + "Friday after Ash Wednesday", + "Saturday after Ash Wednesday", + "1st Sunday of Lent", + "Monday of the 1st Week of Lent", + "Tuesday of the 1st Week of Lent", + "Wednesday of the 1st Week of Lent", + "Thursday of the 1st Week of Lent", + "Friday of the 1st Week of Lent", + "Saturday of the 1st Week of Lent", + "2nd Sunday of Lent", + "Monday of the 2nd Week of Lent", + "Tuesday of the 2nd Week of Lent", + "St. Joseph, Spouse of the Bl. Virgin Mary", + "Thursday of the 2nd Week of Lent", + "Friday of the 2nd Week of Lent", + "Saturday of the 2nd Week of Lent", + "3rd Sunday of Lent", + "Monday of the 3rd Week of Lent", + "Annunciation of the Blessed Virgin Mary", + "Wednesday of the 3rd Week of Lent", + "Thursday of the 3rd Week of Lent", + "Friday of the 3rd Week of Lent", + "Saturday of the 3rd Week of Lent", + "4th Sunday of Lent", + "Monday of the 4th Week of Lent", + "Tuesday of the 4th Week of Lent", + "Wednesday of the 4th Week of Lent", + "Thursday of the 4th Week of Lent", + "Friday of the 4th Week of Lent", + "Saturday of the 4th Week of Lent", + "Passion Sunday", + "Monday of Passion Week", + "Tuesday of Passion Week", + "Wednesday of Passion Week", + "Thursday of Passion Week", + "Friday of Passion Week", + "Saturday of Passion Week", + "Palm Sunday", + "Easter Sunday", + "Monday of the 1st Week of Easter", + "Tuesday of the 1st Week of Easter", + "Wednesday of the 1st Week of Easter", + "Thursday of the 1st Week of Easter", + "Friday of the 1st Week of Easter", + "Saturday of the 1st Week of Easter", + "Second Sunday of Easter", + "St. Paul of the Cross", + "St. Peter of Verona", + "St. Catherine of Siena", + "St. Joseph the Workman", + "St. Athanasius", + "Saturday of the 2nd Week of Easter", + "3rd Sunday of Easter", + "St. Pius V", + "Tuesday of the 3rd Week of Easter", + "St. Stanislaus", + "Thursday of the 3rd Week of Easter", + "St. Gregory of Nazianzen", + "St. Antoninus", + "4th Sunday of Easter", + "Sts. Nereus, Achilleus, Domitilla, & Pancras", + "St. Robert Bellarmine", + "Wednesday of the 4th Week of Easter", + "St. John Baptist de la Salle", + "Friday of the 4th Week of Easter", + "St. Paschal Baylon", + "5th Sunday of Easter", + "St. Peter Celestine", + "St. Bernardine of Siena", + "Wednesday of the 5th Week of Easter", + "Thursday of the 5th Week of Easter", + "Friday of the 5th Week of Easter", + "Saturday of the 5th Week of Easter", + "6th Sunday of Easter", + "St. Philip Neri", + "St. Bede the Venerable", + "Vigil of the Ascension", + "The Ascension of the Lord", + "Friday of the 6th Week of Easter", + "Queenship of the Blessed Virgin Mary", + "7th Sunday of Easter", + "Monday of the 7th Week of Easter", + "Tuesday of the 7th Week of Easter", + "St. Francis Caracciolo", + "St. Boniface", + "St. Norbert", + "Vigil of Pentecost", + "Pentecost Sunday", + "Monday of the 8th Week of Easter", + "Tuesday of the 8th Week of Easter", + "Wednesday of the 8th Week of Easter", + "Thursday of the 8th Week of Easter", + "Friday of the 8th Week of Easter", + "Saturday of the 8th Week of Easter", + "Trinity Sunday", + "Monday of the 1st Week after Pentecost", + "St. Gregory Barbarigo", + "St. Ephrem of Syria", + "The Body and Blood of Christ", + "Friday of the 1st Week after Pentecost", + "St. Aloysius Gongzaga", + "2nd Sunday after Pentecost", + "Vigil of the Nativity of St. John the Baptist", + "Nativity of St. John the Baptist", + "St. William", + "Sts. John & Paul", + "The Most Sacred Heart of Jesus", + "Vigil of Sts. Peter & Paul", + "Sts. Peter & Paul", + "In Commemoratione Sancti Pauli Apostoli", + "The Precious Blood of Our Lord Jesus Christ", + "Visitation of the Blessed Virgin Mary", + "St. Irenaeus", + "Friday of the 3rd Week after Pentecost", + "St. Anthony Mary Zaccariah", + "4th Sunday after Pentecost", + "Sts. Cyril & Methodius", + "St. Elizabeth of Portugal", + "Wednesday of the 4th Week after Pentecost", + "Seven Holy Brothers and Sts. Rufina & Secunda", + "Friday of the 4th Week after Pentecost", + "St. John Gualbert", + "5th Sunday after Pentecost", + "St. Bonaventure", + "St. Henry the Emperor", + "Wednesday of the 5th Week after Pentecost", + "Thursday of the 5th Week after Pentecost", + "Camillus de Lellis", + "St. Vincent de Paul", + "6th Sunday after Pentecost", + "St. Laurence of Brindisi", + "St. Mary Magdalene", + "St. Apollinaris", + "Thursday of the 6th Week after Pentecost", + "St. James the Greater", + "St. Anne, Mother of the Blessed Virgin", + "7th Sunday after Pentecost", + "Sts. Nazarius & Celsus, St. Victor I & St. Innocent I", + "St. Martha", + "Wednesday of the 7th Week after Pentecost", + "St. Ignatius Loyola", + "Friday of the 7th Week after Pentecost", + "St. Alphonsus Liguori", + "8th Sunday after Pentecost", + "St. Dominic", + "Dedication of the Basilica of St. Mary Major", + "Transfiguration of Our Lord", + "St. Cajetan", + "St. John Mary Vianney", + "Vigil of St. Lawrence", + "9th Sunday after Pentecost", + "Monday of the 9th Week after Pentecost", + "St. Clare", + "Wednesday of the 9th Week after Pentecost", + "Vigil of the Assumption", + "Assumption of the Blessed Virgin Mary", + "St. Joachim, Father of the Blessed Virgin", + "10th Sunday after Pentecost", + "Monday of the 10th Week after Pentecost", + "St. John Eudes", + "St. Bernard of Clairvaux", + "St. Jane Frances de Chantal", + "Immaculate Heart of Mary", + "St. Philip Benizi", + "11th Sunday after Pentecost", + "St. Louis IX", + "Tuesday of the 11th Week after Pentecost", + "St. Joseph Calasance", + "St. Augustine", + "Beheading of St. John the Baptist", + "St. Rose of Lima", + "12th Sunday after Pentecost", + "Monday of the 12th Week after Pentecost", + "St. Stephen of Hungary", + "St. Pius X", + "Thursday of the 12th Week after Pentecost", + "St. Lawrence Justinian", + "Saturday of the 12th Week after Pentecost", + "13th Sunday after Pentecost", + "Nativity of the Blessed Virgin Mary", + "Tuesday of the 13th Week after Pentecost", + "St. Nicholas of Tolentino", + "Thursday of the 13th Week after Pentecost", + "Most Holy Name of Mary", + "Saturday of the 13th Week after Pentecost", + "Exaltation of the Holy Cross", + "Seven Sorrows of the Blessed Virgin Mary", + "Sts. Cornelius & Cyprian", + "Wednesday of the 14th Week after Pentecost", + "St. Joseph of Cupertino", + "St. Januarius & Companions", + "Saturday of the 14th Week after Pentecost", + "15th Sunday after Pentecost", + "St. Thomas of Villanova", + "St. Linus", + "Ember Wednesday of September", + "Thursday of the 15th Week after Pentecost", + "Ember Friday of September", + "Ember Saturday of September", + "16th Sunday after Pentecost", + "Dedication of St. Michael the Archangel", + "St. Jerome", + "Wednesday of the 16th Week after Pentecost", + "Holy Guardian Angels", + "St. Theresa of the Infant Jesus", + "St. Francis of Assisi", + "17th Sunday after Pentecost", + "St. Bruno", + "Our Lady of the Rosary", + "St. Bridget of Sweden", + "St. John Leonardi", + "St. Francis Borgia", + "Maternity of the Blessed Virgin Mary", + "18th Sunday after Pentecost", + "St. Edward", + "St. Callistus I", + "St. Teresa of Avila", + "St. Hedwig", + "St. Margaret Mary Alacoque", + "St. Luke the Evangelist", + "19th Sunday after Pentecost", + "St. John Cantius", + "Tuesday of the 19th Week after Pentecost", + "Wednesday of the 19th Week after Pentecost", + "St. Anthony Mary Claret", + "St. Raphael the Archangel", + "Saturday of the 19th Week after Pentecost", + "Our Lord Jesus Christ, King of the Universe", + "Monday of the 20th Week after Pentecost", + "Sts. Simon & Jude", + "Wednesday of the 20th Week after Pentecost", + "Thursday of the 20th Week after Pentecost", + "Friday of the 20th Week after Pentecost", + "All Saints", + "21st Sunday after Pentecost", + "Commemoration of All Souls", + "St. Charles Borromeo", + "Wednesday of the 21st Week after Pentecost", + "Thursday of the 21st Week after Pentecost", + "Friday of the 21st Week after Pentecost", + "Saturday of the 21st Week after Pentecost", + "Dedication of the Archbasilica of Our Holy Savior", + "St. Andrew Avellino", + "St. Martin of Tours", + "St. Martin I", + "Thursday of the 22nd Week after Pentecost", + "St. Josaphat", + "St. Albert the Great", + "23rd Sunday after Pentecost", + "St. Gregory the Wonderworker", + "Dedication of the Basilicas of Sts. Peter & Paul", + "St. Elizabeth of Hungary", + "St. Felix of Valois", + "Presentation of the Blessed Virgin Mary", + "St. Cecilia", + "24th Sunday after Pentecost", + "St. John of the Cross", + "St. Catherine of Alexandria", + "St. Sylvester", + "Thursday of the 24th Week after Pentecost", + "Friday of the 24th Week after Pentecost", + "Saturday of the 24th Week after Pentecost", + "1st Sunday of Advent", + "Monday of the 1st Week of Advent", + "St. Vivian", + "St. Francis Xavier", + "St. Peter Chrysologus", + "Friday of the 1st Week of Advent", + "St. Nicholas", + "2nd Sunday of Advent", + "Immaculate Conception of the Blessed Virgin Mary", + "Tuesday of the 2nd Week of Advent", + "Wednesday of the 2nd Week of Advent", + "St. Damasus I", + "Friday of the 2nd Week of Advent", + "St. Lucy", + "3rd Sunday of Advent", + "Monday of the 3rd Week of Advent", + "St. Eusebius", + "Ember Wednesday of Advent", + "Thursday of the 3rd Week of Advent", + "Ember Friday of Advent", + "Ember Saturday of Advent", + "4th Sunday of Advent", + "Monday of the 4th Week of Advent", + "Tuesday of the 4th Week of Advent", + "Vigil of Christmas", + "The Nativity of the Lord", + "St. Stephen", + "St. John the Evangelist", + "Monday of Christmas", + "Tuesday of Christmas", + "Wednesday of Christmas", + "Monday of the 1st Week after Epiphany", + "Monday of the 2nd Week after Epiphany", + "St. Polycarp", + "St. Cyril of Alexandria", + "Tuesday of the 3rd Week of Septuagesima", + "Wednesday of the 2nd Week of Lent", + "Tuesday of the 3rd Week of Lent", + "St. Hermenegild", + "St. Justin", + "Wednesday of the 2nd Week of Easter", + "Thursday of the 2nd Week of Easter", + "Friday of the 2nd Week of Easter", + "Monday of the 3rd Week of Easter", + "St. Anselm", + "Sts. Soter & Caius", + "St. Fidelis of Sigmaringen", + "St. Mark", + "St. Peter Canisius", + "St. Monica", + "Sts. Philip & James", + "Saturday of the 6th Week of Easter", + "St. Venantius", + "Thursday of the 7th Week of Easter", + "Friday of the 7th Week of Easter", + "St. Angela Merici", + "Tuesday of the 1st Week after Pentecost", + "Wednesday of the 1st Week after Pentecost", + "Monday of the 2nd Week after Pentecost", + "Tuesday of the 2nd Week after Pentecost", + "St. Margaret of Scotland", + "St. Barnabas", + "St. Anthony of Padua", + "3rd Sunday after Pentecost", + "Monday of the 3rd Week after Pentecost", + "Tuesday of the 3rd Week after Pentecost", + "St. Julia of Falconieri", + "Saturday of the 3rd Week after Pentecost", + "St. Paulinus of Nola", + "Saturday of the 4th Week after Pentecost", + "Saturday of the 5th Week after Pentecost", + "Monday of the 6th Week after Pentecost", + "Saturday of the 6th Week after Pentecost", + "Monday of the 7th Week after Pentecost", + "Thursday of the 7th Week after Pentecost", + "St. Jerome Emiliani", + "Friday of the 8th Week after Pentecost", + "Thursday of the 9th Week after Pentecost", + "Saturday of the 9th Week after Pentecost", + "St. Lawrence", + "Thursday of the 11th Week after Pentecost", + "St. Hyacinth", + "Tuesday of the 12th Week after Pentecost", + "St. Bartholomew", + "Wednesday of the 13th Week after Pentecost", + "14th Sunday after Pentecost", + "St. Raymond Nonnatus", + "Tuesday of the 14th Week after Pentecost", + "Friday of the 14th Week after Pentecost", + "Monday of the 15th Week after Pentecost", + "Wednesday of the 15th Week after Pentecost", + "Friday of the 15th Week after Pentecost", + "Thursday of the 16th Week after Pentecost", + "St. Matthew", + "Thursday of the 17th Week after Pentecost", + "St. Wenceslaus", + "Thursday of the 18th Week after Pentecost", + "Monday of the 19th Week after Pentecost", + "20th Sunday after Pentecost", + "St. Peter of Alcantara", + "Monday of the 22nd Week after Pentecost", + "Tuesday of the 22nd Week after Pentecost", + "Friday of the 22nd Week after Pentecost", + "Saturday of the 22nd Week after Pentecost", + "Tuesday of the 23rd Week after Pentecost", + "Thursday of the 23rd Week after Pentecost", + "Friday of the 23rd Week after Pentecost", + "Saturday of the 23rd Week after Pentecost", + "6th Sunday after Epiphany", + "St. Gertrude the Great", + "St. Clement I", + "Friday of the 26th Week after Pentecost", + "Saturday of the 26th Week after Pentecost", + "St. Andrew", + "Tuesday of the 1st Week of Advent", + "Saturday of the 1st Week of Advent", + "St. Ambrose", + "Thursday of the 2nd Week of Advent", + "Saturday of the 2nd Week of Advent", + "Tuesday of the 3rd Week of Advent", + "St. Thomas", + "Wednesday of the 4th Week of Advent", + "Holy Innocents", + "Tuesday of the 2nd Week after Epiphany", + "Tuesday of the 2nd Week of Easter", + "Friday of the 3rd Week of Easter", + "Saturday of the 3rd Week of Easter", + "Monday of the 4th Week of Easter", + "Tuesday of the 4th Week of Easter", + "Sts. Cletus & Marcellinus", + "Monday of the 6th Week of Easter", + "St. Gregory VII", + "St. Augustine of Canterbury", + "St. Mary Magdalene de Pazzi", + "Wednesday of the 2nd Week after Pentecost", + "Thursday of the 2nd Week after Pentecost", + "Wednesday of the 3rd Week after Pentecost", + "St. John of San Fecundo", + "St. Basil the Great", + "Tuesday of the 4th Week after Pentecost", + "Tuesday of the 7th Week after Pentecost", + "Tuesday of the 8th Week after Pentecost", + "Saturday of the 8th Week after Pentecost", + "Tuesday of the 10th Week after Pentecost", + "Friday of the 10th Week after Pentecost", + "Wednesday of the 12th Week after Pentecost", + "Friday of the 12th Week after Pentecost", + "Thursday of the 14th Week after Pentecost", + "Saturday of the 15th Week after Pentecost", + "Monday of the 16th Week after Pentecost", + "Tuesday of the 16th Week after Pentecost", + "Saturday of the 16th Week after Pentecost", + "Monday of the 17th Week after Pentecost", + "Friday of the 17th Week after Pentecost", + "Monday of the 18th Week after Pentecost", + "Sts. Cosmas & Damian", + "Friday of the 19th Week after Pentecost", + "Tuesday of the 20th Week after Pentecost", + "Tuesday of the 21st Week after Pentecost", + "22nd Sunday after Pentecost", + "Monday of the 23rd Week after Pentecost", + "Wednesday of the 23rd Week after Pentecost", + "Wednesday of the 24th Week after Pentecost", + "Monday of the 25th Week after Pentecost", + "Saturday of the 25th Week after Pentecost", + "Saturday of the 27th Week after Pentecost", + "Wednesday of the 1st Week of Advent", + "Thursday of the 4th Week of Advent", + "Wednesday of the 2nd Week after Epiphany", + "4th Sunday after Epiphany", + "Thursday of the 5th Week after Epiphany", + "Saturday of the 1st Week of Septuagesima", + "Monday of the 2nd Week of Septuagesima", + "St. Peter Damien", + "Wednesday of the 3rd Week of Easter", + "Tuesday of the 5th Week of Easter", + "Tuesday of the 6th Week of Easter", + "Thursday of the 4th Week after Pentecost", + "Tuesday of the 5th Week after Pentecost", + "Thursday of the 8th Week after Pentecost", + "Friday of the 9th Week after Pentecost", + "Saturday of the 11th Week after Pentecost", + "Monday of the 13th Week after Pentecost", + "Monday of the 14th Week after Pentecost", + "Monday of the 21st Week after Pentecost", + "Wednesday of the 22nd Week after Pentecost", + "Tuesday of the 25th Week after Pentecost", + "Wednesday of the 25th Week after Pentecost", + "Friday of the 25th Week after Pentecost", + "Thursday of the 2nd Week after Epiphany", + "Friday of the 2nd Week after Epiphany", + "St. Leo the Great", + "Wednesday of the 7th Week of Easter", + "Saturday of the 1st Week after Pentecost", + "Saturday of the 2nd Week after Pentecost", + "Wednesday of the 6th Week after Pentecost", + "Friday of the 6th Week after Pentecost", + "Monday of the 8th Week after Pentecost", + "Tuesday of the 9th Week after Pentecost", + "Wednesday of the 10th Week after Pentecost", + "Tuesday of the 15th Week after Pentecost", + "Tuesday of the 18th Week after Pentecost", + "Wednesday of the 18th Week after Pentecost", + "Monday of the 24th Week after Pentecost", + "Tuesday of the 24th Week after Pentecost", + "Tuesday of the 27th Week after Pentecost", + "Wednesday of the 27th Week after Pentecost", + "Thursday of the 27th Week after Pentecost", + "Monday of the 2nd Week of Advent", + "Wednesday of the 6th Week after Epiphany", + "Thursday of the 2nd Week of Septuagesima", + "Thursday of the 4th Week of Easter", + "Thursday of the 3rd Week after Pentecost", + "Saturday of the 7th Week after Pentecost", + "Monday of the 11th Week after Pentecost", + "Friday of the 13th Week after Pentecost", + "Saturday of the 17th Week after Pentecost", + "Thursday of the 1st Week of Advent", + "Friday of the 5th Week after Pentecost", + "Wednesday of the 8th Week after Pentecost", + "Wednesday of the 17th Week after Pentecost", + "Saturday of the 20th Week after Pentecost", + "Thursday of the 25th Week after Pentecost", + "Saturday of the 4th Week of Easter", + "Monday of the 5th Week of Easter", + "Monday of the 4th Week after Pentecost", + "Monday of the 5th Week after Pentecost", + "Thursday of the 10th Week after Pentecost", + "Friday of the 11th Week after Pentecost", + "Friday of the 4th Week of Advent", + "Friday of the 5th Week after Epiphany", + "Monday of the 2nd Week of Easter", + "Tuesday of the 6th Week after Pentecost", + "Tuesday of the 17th Week after Pentecost", + "Thursday of the 19th Week after Pentecost", + "Monday of the 26th Week after Pentecost", + "Tuesday of the 26th Week after Pentecost", + "Wednesday of the 26th Week after Pentecost", + "Wednesday of the 11th Week after Pentecost", + "Friday of the 16th Week after Pentecost", + "Tuesday of the 28th Week after Pentecost", + "Wednesday of the 28th Week after Pentecost", + "Thursday of the 28th Week after Pentecost", + "Saturday of the 28th Week after Pentecost", + "Wednesday of the 5th Week after Epiphany", + "Monday of the 6th Week after Epiphany", + "Tuesday of the 6th Week after Epiphany", + "Wednesday of the 7th Week after Epiphany", + "Thursday of the 7th Week after Epiphany", + "Friday of the 7th Week after Epiphany", + "Saturday of the 7th Week after Epiphany", + "Friday of the 18th Week after Pentecost", + "Saturday of the 10th Week after Pentecost", + "Thursday of the 26th Week after Pentecost", + "Friday of the 27th Week after Pentecost", + "Saturday of the 18th Week after Pentecost", + "Monday of the 27th Week after Pentecost", + "Saturday of the 5th Week after Epiphany", +}; + +static const char *const parts[] = { + "Epistle", + "Gospel", +}; + +static const char *const cites_en[] = { + "Ti 2:11-15", + "Lk 2:21", + "Gal 4:1-7", + "Lk 2:33-40", + "Isa 60:1-6", + "Matt 2:1-12", + "Col 3:12-17", + "Lk 2:42-52", + "Jn 1:29-34", + "2 Tim 4:1-8", + "Matt 5:13-19", + "Phil 3:7-12", + "Matt 11:25-30", + "1 Pet 5:1-4,10-11", + "Matt 16:13-19", + "Lk 12:35-40", + "Rom 12:6-16", + "Jn 2:1-11", + "Heb 11:33-39", + "Lk 6:17-23", + "Sir 51:1-8,12", + "Matt 25:1-13", + "Wis 3:1-8", + "Lk 21:9-19", + "Sir 31:8-11", + "1 Tim 6:11-16", + "Lk 14:26-33", + "Acts 9:1-22", + "Matt 19:27-29", + "Rom 12:16-21", + "Matt 8:1-13", + "1 Cor 4:9-14", + "Lk 12:32-34", + "Phil 4:4-9", + "Matt 18:1-5", + "Rom 8:35-39", + "Jn 12:24-26", + "Mal 3:1-4", + "Lk 2:22-32", + "Rom 13:8-10", + "Matt 8:23-27", + "Sir 44:16-27; 45:3-20", + "Matt 25:14-23", + "1 Cor 1:26-31", + "Matt 19:3-12", + "Lk 10:1-9", + "Matt 13:24-30", + "2 Cor 10:17-18; 11:1-2", + "Lk 1:26-31", + "1 Cor 9:24-27; 10:1-5", + "Matt 20:1-16", + "1 Pet 1:1-7", + "2 Cor 11:19-33; 12:1-9", + "Lk 8:4-15", + "Acts 1:15-26", + "1 Jn 2:14-17", + "Mk 10:13-21", + "1 Cor 13:1-13", + "Lk 18:31-43", + "Jl 2:12-19", + "Matt 6:16-21", + "Isa 38:1-6", + "Matt 8:5-13", + "Isa 58:1-9", + "Matt 5:43-48; 6:1-4", + "Isa 58:9-14", + "Mk 6:47-56", + "2 Cor 6:1-10", + "Matt 4:1-11", + "Matt 25:31-46", + "Isa 55:6-11", + "Matt 21:10-17", + "Matt 12:38-50", + "Matt 15:21-28", + "Jn 5:1-15", + "1 Thess 5:14-23", + "Matt 17:1-9", + "1 Thess 4:1-7", + "Dan 9:15-19", + "Jn 8:21-29", + "Matt 23:1-12", + "Matt 1:18-21", + "Jer 17:5-10", + "Lk 16:19-31", + "Gen 37:6-22", + "Matt 21:33-46", + "Gen 27:6-40", + "Lk 15:11-32", + "Eph 5:1-9", + "Lk 11:14-28", + "Lk 4:23-30", + "Isa 7:10-15", + "Lk 1:26-38", + "Ex 20:12-24", + "Matt 15:1-20", + "Jer 7:1-7", + "Lk 4:38-44", + "Num 20:1,3,6-13", + "Jn 4:5-42", + "Dan 13:1-9,15-17,19-30,33-62", + "Jn 8:1-11", + "Gal 4:22-31", + "Jn 6:1-15", + "Jn 2:13-25", + "Ex 32:7-14", + "Jn 7:14-31", + "Isa 1:16-19", + "Jn 9:1-38", + "Lk 7:11-16", + "Jn 11:1-45", + "Isa 49:8-15", + "Jn 8:12-20", + "Heb 9:11-15", + "Jn 8:46-59", + "Jn 7:32-39", + "Jer 11:18-20", + "Mk 14:32-72,15,1-46", + "Lev 19:1-2,11-19,25", + "Jn 10:22-38", + "Dan 3:25,34-45", + "Lk 7:36-50", + "Jer 17:13-18", + "Jn 11:47-54", + "Jer 18:18-23", + "Jn 12:10-36", + "Phil 2:5-11", + "Matt 26:36-75; 27:1-60", + "1 Cor 5:7-8", + "Mk 16:1-7", + "Acts 10:37-43", + "Lk 24:13-35", + "Acts 13:16,26-33", + "Lk 24:36-47", + "Acts 3:13-15,17-19", + "Jn 21:1-14", + "Acts 8:26-40", + "Jn 20:11-18", + "1 Pet 3:18-22", + "Matt 28:16-20", + "1 Pet 2:1-10", + "Jn 20:1-9", + "1 Jn 5:4-10", + "Jn 20:19-31", + "1 Cor 1:17-25", + "2 Tim 2:8-10; 3:10-12", + "Matt 10:34-42", + "Col 3:14-15,17,23-24", + "Matt 13:54-58", + "2 Cor 4:5-14", + "Matt 10:23-28", + "Jn 19:25-27", + "1 Pet 2:21-25", + "Jn 10:11-16", + "Wis 5:1-5", + "Jn 15:1-7", + "1 Pet 2:11-19", + "Jn 16:16-22", + "Jn 4:46-53", + "Wis 7:7-14", + "Jas 1:17-21", + "Jn 16:5-14", + "Jas 1:22-27", + "Jn 16:23-30", + "Eph 4:7-13", + "Jn 17:1-11", + "Acts 1:1-11", + "Mk 16:14-20", + "Lk 1:26-33", + "1 Pet 4:7-11", + "Jn 15:26-27; 16:1-4", + "Wis 4:7-14", + "Matt 5:1-12", + "Acts 19:1-8", + "Jn 14:15-21", + "Acts 2:1-11", + "Jn 14:23-31", + "Acts 10:34,42-48", + "Jn 3:16-21", + "Acts 8:14-17", + "Jn 10:1-10", + "Acts 5:12-16", + "Jn 6:44-52", + "Acts 8:5-8", + "Lk 9:1-6", + "Jl 2:23-24,26-27", + "Lk 5:17-26", + "Rom 5:1-5", + "Rom 11:33-36", + "Matt 28:18-20", + "Matt 22:29-40", + "1 Jn 3:13-18", + "Lk 14:16-24", + "Jer 1:4-10", + "Lk 1:5-17", + "Isa 49:1-3,5-7", + "Lk 1:57-68", + "Lk 12:1-8", + "Acts 3:1-10", + "Jn 21:15-19", + "Acts 12:1-11", + "Gal 1:11-20", + "Matt 10:16-22", + "Jn 19:30-35", + "Song 2:8-14", + "Lk 1:39-47", + "2 Tim 3:14-17; 4:1-5", + "Matt 10:28-33", + "1 Pet 5:6-11", + "Lk 15:1-10", + "1 Tim 4:8-16", + "Mk 10:15-21", + "Rom 8:18-23", + "Lk 5:1-11", + "Heb 7:23-27", + "Prov 31:10-31", + "Matt 13:44-52", + "Matt 12:46-50", + "Matt 5:43-48", + "1 Pet 3:8-15", + "Matt 5:20-24", + "Jn 15:12-16", + "Rom 6:3-11", + "Mk 8:1-9", + "Song 3:2-5; 8:6-7", + "1 Pet 5:1-11", + "Lk 22:24-30", + "1 Cor 4:9-15", + "Matt 20:20-23", + "Rom 6:19-23", + "Matt 7:15-21", + "Wis 10:17-20", + "Lk 10:38-42", + "2 Tim 2:1-7", + "Rom 8:12-17", + "Lk 16:1-9", + "Lk 11:27-28", + "2 Pet 1:16-19", + "Matt 6:24-33", + "Matt 16:24-27", + "1 Cor 10:6-13", + "Lk 19:41-47", + "Sir 24:23-31", + "Jdt 13:22-25,15,10", + "Lk 1:41-50", + "Matt 1:1-16", + "1 Cor 12:2-11", + "Lk 18:9-14", + "1 Cor 15:1-10", + "Mk 7:31-37", + "Wis 10:10-14", + "Lk 19:12-26", + "Jer 1:17-19", + "Mk 6:17-29", + "2 Cor 3:4-9", + "Lk 10:23-37", + "1 Thess 2:2-8", + "Jn 21:15-17", + "Gal 3:16-22", + "Lk 17:11-19", + "Prov 8:22-35", + "Jn 12:31-36", + "Jdt 13:22,25", + "Gal 5:16-24", + "1 Cor 13:1-8", + "Matt 22:1-14", + "Heb 10:32-38", + "Matt 24:3-13", + "Gal 5:25-26; 6:1-10", + "Mk 9:16-28", + "Ezek 1:10-14", + "Matt 9:9-13", + "Eph 3:13-21", + "Lk 14:1-11", + "Rev 1:1-5", + "Matt 18:1-10", + "Ex 23:20-23", + "Isa 66:12-14", + "Matt 18:1-4", + "Gal 6:14-18", + "Eph 4:1-6", + "Matt 22:34-46", + "Prov 8:22-24,32-35", + "1 Tim 5:3-10", + "2 Cor 4:1-6,15-18", + "Lk 2:43-51", + "1 Cor 1:4-8", + "Matt 9:1-8", + "Eph 3:8-9,14-19", + "2 Cor 8:16-24", + "Eph 4:23-28", + "Jas 2:12-17", + "Matt 24:42-47", + "Tob 12:7-15", + "Jn 5:1-4", + "Col 1:12-20", + "Jn 18:33-37", + "Jn 15:17-25", + "Eph 6:10-17", + "Matt 18:23-35", + "1 Cor 15:51-57", + "Jn 5:25-29", + "Rev 21:2-5", + "Lk 19:1-10", + "Lk 11:33-36", + "Phil 1:6-11", + "Matt 22:15-21", + "Heb 5:1-6", + "Phil 3:17-21; 4:1-3", + "Matt 9:18-26", + "Mk 11:22-24", + "Sir 51:13-17", + "Col 1:9-14", + "Matt 24:15-35", + "Rom 13:11-14", + "Lk 21:25-33", + "Rom 10:10-18", + "Mk 16:15-18", + "Heb 13:7-17", + "Rom 15:4-13", + "Matt 11:2-10", + "Lk 1:26-28", + "Phil 4:4-7", + "Jn 1:19-28", + "2 Cor 1:3-7", + "Isa 11:1-5", + "Eph 2:19-22", + "Jn 20:24-29", + "1 Cor 4:1-5", + "Lk 3:1-6", + "Rom 1:1-6", + "Heb 1:1-12", + "Jn 1:1-14", + "Acts 6:8-10; 7:54-59", + "Matt 23:34-39", + "Jn 21:19-24", + "1 Jn 3:10-16", + "Matt 10:26-32", + "Esth 13:8-11,15-17", + "Matt 20:17-28", + "Matt 18:15-22", + "1 Cor 1:18-25,30", + "Lk 12:2-8", + "Jn 14:1-13", + "Acts 11:21-26; 13:1-3", + "2 Cor 8:9-15", + "Isa 58:7-11", + "Matt 19:13-21", + "2 Cor 9:6-10", + "1 Cor 12:27-31", + "Lk 6:12-19", + "Eph 5:15-21", + "1 Thess 1:2-10", + "Matt 13:31-35", + "Matt 4:18-22", + "Matt 2:13-18", + "1 Thess 2:2-9", + "Lk 14:26-35", + "Wis 5:16-20", +}; + +static const char *const cites_la[] = { + "Tit 2:11-15", + "Luc 2:21", + "Gal 4:1-7", + "Luc 2:33-40", + "Is 60:1-6", + "Matt 2:1-12", + "Col 3:12-17", + "Luc 2:42-52", + "Ioann 1:29-34", + "2 Tim 4:1-8", + "Matt 5:13-19", + "Phil 3:7-12", + "Matt 11:25-30", + "1 Pet 5:1-4,10-11", + "Matt 16:13-19", + "Luc 12:35-40", + "Rom 12:6-16", + "Ioann 2:1-11", + "Hebr 11:33-39", + "Luc 6:17-23", + "Eccli 51:1-8,12", + "Matt 25:1-13", + "Sap 3:1-8", + "Luc 21:9-19", + "Eccli 31:8-11", + "1 Tim 6:11-16", + "Luc 14:26-33", + "Act 9:1-22", + "Matt 19:27-29", + "Rom 12:16-21", + "Matt 8:1-13", + "1 Cor 4:9-14", + "Luc 12:32-34", + "Phil 4:4-9", + "Matt 18:1-5", + "Rom 8:35-39", + "Ioann 12:24-26", + "Mal 3:1-4", + "Luc 2:22-32", + "Rom 13:8-10", + "Matt 8:23-27", + "Eccli 44:16-27; 45:3-20", + "Matt 25:14-23", + "1 Cor 1:26-31", + "Matt 19:3-12", + "Luc 10:1-9", + "Matt 13:24-30", + "2 Cor 10:17-18; 11:1-2", + "Luc 1:26-31", + "1 Cor 9:24-27; 10:1-5", + "Matt 20:1-16", + "1 Pet 1:1-7", + "2 Cor 11:19-33; 12:1-9", + "Luc 8:4-15", + "Act 1:15-26", + "1 Ioann 2:14-17", + "Marc 10:13-21", + "1 Cor 13:1-13", + "Luc 18:31-43", + "Ioel 2:12-19", + "Matt 6:16-21", + "Is 38:1-6", + "Matt 8:5-13", + "Is 58:1-9", + "Matt 5:43-48; 6:1-4", + "Is 58:9-14", + "Marc 6:47-56", + "2 Cor 6:1-10", + "Matt 4:1-11", + "Matt 25:31-46", + "Is 55:6-11", + "Matt 21:10-17", + "Matt 12:38-50", + "Matt 15:21-28", + "Ioann 5:1-15", + "1 Thess 5:14-23", + "Matt 17:1-9", + "1 Thess 4:1-7", + "Dan 9:15-19", + "Ioann 8:21-29", + "Matt 23:1-12", + "Matt 1:18-21", + "Ier 17:5-10", + "Luc 16:19-31", + "Gen 37:6-22", + "Matt 21:33-46", + "Gen 27:6-40", + "Luc 15:11-32", + "Eph 5:1-9", + "Luc 11:14-28", + "Luc 4:23-30", + "Is 7:10-15", + "Luc 1:26-38", + "Ex 20:12-24", + "Matt 15:1-20", + "Ier 7:1-7", + "Luc 4:38-44", + "Num 20:1,3,6-13", + "Ioann 4:5-42", + "Dan 13:1-9,15-17,19-30,33-62", + "Ioann 8:1-11", + "Gal 4:22-31", + "Ioann 6:1-15", + "Ioann 2:13-25", + "Ex 32:7-14", + "Ioann 7:14-31", + "Is 1:16-19", + "Ioann 9:1-38", + "Luc 7:11-16", + "Ioann 11:1-45", + "Is 49:8-15", + "Ioann 8:12-20", + "Hebr 9:11-15", + "Ioann 8:46-59", + "Ioann 7:32-39", + "Ier 11:18-20", + "Marc 14:32-72,15,1-46", + "Lev 19:1-2,11-19,25", + "Ioann 10:22-38", + "Dan 3:25,34-45", + "Luc 7:36-50", + "Ier 17:13-18", + "Ioann 11:47-54", + "Ier 18:18-23", + "Ioann 12:10-36", + "Phil 2:5-11", + "Matt 26:36-75; 27:1-60", + "1 Cor 5:7-8", + "Marc 16:1-7", + "Act 10:37-43", + "Luc 24:13-35", + "Act 13:16,26-33", + "Luc 24:36-47", + "Act 3:13-15,17-19", + "Ioann 21:1-14", + "Act 8:26-40", + "Ioann 20:11-18", + "1 Pet 3:18-22", + "Matt 28:16-20", + "1 Pet 2:1-10", + "Ioann 20:1-9", + "1 Ioann 5:4-10", + "Ioann 20:19-31", + "1 Cor 1:17-25", + "2 Tim 2:8-10; 3:10-12", + "Matt 10:34-42", + "Col 3:14-15,17,23-24", + "Matt 13:54-58", + "2 Cor 4:5-14", + "Matt 10:23-28", + "Ioann 19:25-27", + "1 Pet 2:21-25", + "Ioann 10:11-16", + "Sap 5:1-5", + "Ioann 15:1-7", + "1 Pet 2:11-19", + "Ioann 16:16-22", + "Ioann 4:46-53", + "Sap 7:7-14", + "Iac 1:17-21", + "Ioann 16:5-14", + "Iac 1:22-27", + "Ioann 16:23-30", + "Eph 4:7-13", + "Ioann 17:1-11", + "Act 1:1-11", + "Marc 16:14-20", + "Luc 1:26-33", + "1 Pet 4:7-11", + "Ioann 15:26-27; 16:1-4", + "Sap 4:7-14", + "Matt 5:1-12", + "Act 19:1-8", + "Ioann 14:15-21", + "Act 2:1-11", + "Ioann 14:23-31", + "Act 10:34,42-48", + "Ioann 3:16-21", + "Act 8:14-17", + "Ioann 10:1-10", + "Act 5:12-16", + "Ioann 6:44-52", + "Act 8:5-8", + "Luc 9:1-6", + "Ioel 2:23-24,26-27", + "Luc 5:17-26", + "Rom 5:1-5", + "Rom 11:33-36", + "Matt 28:18-20", + "Matt 22:29-40", + "1 Ioann 3:13-18", + "Luc 14:16-24", + "Ier 1:4-10", + "Luc 1:5-17", + "Is 49:1-3,5-7", + "Luc 1:57-68", + "Luc 12:1-8", + "Act 3:1-10", + "Ioann 21:15-19", + "Act 12:1-11", + "Gal 1:11-20", + "Matt 10:16-22", + "Ioann 19:30-35", + "Cant 2:8-14", + "Luc 1:39-47", + "2 Tim 3:14-17; 4:1-5", + "Matt 10:28-33", + "1 Pet 5:6-11", + "Luc 15:1-10", + "1 Tim 4:8-16", + "Marc 10:15-21", + "Rom 8:18-23", + "Luc 5:1-11", + "Hebr 7:23-27", + "Prov 31:10-31", + "Matt 13:44-52", + "Matt 12:46-50", + "Matt 5:43-48", + "1 Pet 3:8-15", + "Matt 5:20-24", + "Ioann 15:12-16", + "Rom 6:3-11", + "Marc 8:1-9", + "Cant 3:2-5; 8:6-7", + "1 Pet 5:1-11", + "Luc 22:24-30", + "1 Cor 4:9-15", + "Matt 20:20-23", + "Rom 6:19-23", + "Matt 7:15-21", + "Sap 10:17-20", + "Luc 10:38-42", + "2 Tim 2:1-7", + "Rom 8:12-17", + "Luc 16:1-9", + "Luc 11:27-28", + "2 Pet 1:16-19", + "Matt 6:24-33", + "Matt 16:24-27", + "1 Cor 10:6-13", + "Luc 19:41-47", + "Eccli 24:23-31", + "Idt 13:22-25,15,10", + "Luc 1:41-50", + "Matt 1:1-16", + "1 Cor 12:2-11", + "Luc 18:9-14", + "1 Cor 15:1-10", + "Marc 7:31-37", + "Sap 10:10-14", + "Luc 19:12-26", + "Ier 1:17-19", + "Marc 6:17-29", + "2 Cor 3:4-9", + "Luc 10:23-37", + "1 Thess 2:2-8", + "Ioann 21:15-17", + "Gal 3:16-22", + "Luc 17:11-19", + "Prov 8:22-35", + "Ioann 12:31-36", + "Idt 13:22,25", + "Gal 5:16-24", + "1 Cor 13:1-8", + "Matt 22:1-14", + "Hebr 10:32-38", + "Matt 24:3-13", + "Gal 5:25-26; 6:1-10", + "Marc 9:16-28", + "Ez 1:10-14", + "Matt 9:9-13", + "Eph 3:13-21", + "Luc 14:1-11", + "Apoc 1:1-5", + "Matt 18:1-10", + "Ex 23:20-23", + "Is 66:12-14", + "Matt 18:1-4", + "Gal 6:14-18", + "Eph 4:1-6", + "Matt 22:34-46", + "Prov 8:22-24,32-35", + "1 Tim 5:3-10", + "2 Cor 4:1-6,15-18", + "Luc 2:43-51", + "1 Cor 1:4-8", + "Matt 9:1-8", + "Eph 3:8-9,14-19", + "2 Cor 8:16-24", + "Eph 4:23-28", + "Iac 2:12-17", + "Matt 24:42-47", + "Tob 12:7-15", + "Ioann 5:1-4", + "Col 1:12-20", + "Ioann 18:33-37", + "Ioann 15:17-25", + "Eph 6:10-17", + "Matt 18:23-35", + "1 Cor 15:51-57", + "Ioann 5:25-29", + "Apoc 21:2-5", + "Luc 19:1-10", + "Luc 11:33-36", + "Phil 1:6-11", + "Matt 22:15-21", + "Hebr 5:1-6", + "Phil 3:17-21; 4:1-3", + "Matt 9:18-26", + "Marc 11:22-24", + "Eccli 51:13-17", + "Col 1:9-14", + "Matt 24:15-35", + "Rom 13:11-14", + "Luc 21:25-33", + "Rom 10:10-18", + "Marc 16:15-18", + "Hebr 13:7-17", + "Rom 15:4-13", + "Matt 11:2-10", + "Luc 1:26-28", + "Phil 4:4-7", + "Ioann 1:19-28", + "2 Cor 1:3-7", + "Is 11:1-5", + "Eph 2:19-22", + "Ioann 20:24-29", + "1 Cor 4:1-5", + "Luc 3:1-6", + "Rom 1:1-6", + "Hebr 1:1-12", + "Ioann 1:1-14", + "Act 6:8-10; 7:54-59", + "Matt 23:34-39", + "Ioann 21:19-24", + "1 Ioann 3:10-16", + "Matt 10:26-32", + "Esth 13:8-11,15-17", + "Matt 20:17-28", + "Matt 18:15-22", + "1 Cor 1:18-25,30", + "Luc 12:2-8", + "Ioann 14:1-13", + "Act 11:21-26; 13:1-3", + "2 Cor 8:9-15", + "Is 58:7-11", + "Matt 19:13-21", + "2 Cor 9:6-10", + "1 Cor 12:27-31", + "Luc 6:12-19", + "Eph 5:15-21", + "1 Thess 1:2-10", + "Matt 13:31-35", + "Matt 4:18-22", + "Matt 2:13-18", + "1 Thess 2:2-9", + "Luc 14:26-35", + "Sap 5:16-20", +}; + +static const unsigned short vpool[] = { + 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, + 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, + 64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79, + 80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95, + 96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111, + 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127, + 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, + 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159, + 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, + 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191, + 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207, + 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223, + 224,225,226,227,118,228,229,230,231,232,233,234,235,236,237,238, + 239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254, + 255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270, + 271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286, + 287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302, + 303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318, + 319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334, + 335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350, + 351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366, + 367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382, + 383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398, + 399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414, + 415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430, + 431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446, + 447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462, + 463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478, + 479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494, + 495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510, + 511,512,513,514,515,516,517,237,238,239,240,241,242,243,244,245, + 518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533, + 534,535,536,526,537,538,539,540,541,542,543,544,545,546,547,548, + 549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564, + 565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580, + 581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596, + 597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612, + 613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628, + 629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644, + 645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660, + 661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676, + 677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692, + 693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708, + 709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724, + 725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740, + 741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756, + 757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772, + 773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788, + 789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804, + 805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820, + 821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836, + 837,838,839,373,374,375,376,377,378,840,841,842,843,844,845,846, + 847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862, + 863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878, + 879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894, + 895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910, + 911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926, + 927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942, + 943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958, + 959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974, + 975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990, + 991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006, + 1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022, + 1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038, + 1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054, + 1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070, + 1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086, + 1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102, + 1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118, + 1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134, + 1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150, + 1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166, + 1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182, + 1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198, + 1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214, + 1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230, + 1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246, + 1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262, + 1263,1264,1265,1266,1252,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277, + 1278,1279,1280,1281,1282,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221, + 1222,1223,1224,1225,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294, + 1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310, + 1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326, + 1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342, + 1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358, + 1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,271, + 272,273,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387, + 1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403, + 1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419, + 1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435, + 1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451, + 1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467, + 1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483, + 1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499, + 1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515, + 1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,1531, + 1532,1533,1534,1535,1536,1537,1538,1539,1540,1541,1542,1543,1544,1545,1546,1547, + 1548,1549,1550,1551,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1563, + 1564,1565,1566,1567,1568,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579, + 1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,1595, + 1596,1597,1598,1599,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611, + 1612,1613,1614,1615,1616,1617,1618,1619,1620,1621,1622,1623,1624,1625,1626,1627, + 1628,1629,1630,1631,1632,1633,1634,1635,1636,1637,1638,1639,1640,1641,1642,1643, + 1644,1645,1646,1647,1648,1649,1650,1651,1652,1653,1654,1655,1656,1657,1658,1659, + 1660,1661,1662,1663,1664,1665,1666,41,42,44,1667,1668,1669,1670,1671,1672, + 1673,1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,1684,1685,1686,1687,1688, + 1689,1690,1691,1692,1693,1694,1695,1696,1697,1698,1699,1700,1701,1702,1703,1704, + 1705,1706,1707,1708,1709,1710,1711,1712,1713,1714,1715,1716,1717,1718,1719,1720, + 1721,1722,1723,1724,1725,1726,1727,1728,1729,1730,1731,1732,1733,1734,1735,1736, + 1737,1738,1739,1740,1741,1742,1743,1744,1745,1746,1747,1748,1749,1750,1751,1752, + 1753,1754,1755,1756,1757,1758,1759,1760,1761,1762,1763,1764,1765,1766,1767,1768, + 1769,1770,1771,1772,1773,1774,1775,1776,1777,1778,1779,1780,1781,1782,1783,1784, + 1785,1786,1787,1788,1789,1790,1791,1792,1793,1794,1795,1796,1797,1798,1799,1800, + 1801,1802,1803,1804,1805,1806,1807,1808,1809,1810,1811,1812,373,374,375,376, + 377,378,840,841,1813,1814,1815,1816,1817,1818,1819,1820,1821,1822,1823,1824, + 1825,1826,1827,1828,1829,1830,1831,1832,1833,1834,1835,1836,1837,1838,1839,1840, + 1841,1842,1843,1844,1845,1846,1847,1848,1849,1850,1851,1852,1853,1854,1855,1856, + 1857,1858,1859,1860,1861,1862,1863,1864,1865,1866,1867,1868,1869,1870,1871,1872, + 1873,1874,1875,1876,1877,1878,1879,1505,1506,1880,1881,1882,1883,1884,1885,1886, + 1887,1888,1889,1890,1891,1892,1893,1894,1895,1896,1897,1898,1899,1900,1901,1902, + 1903,1904,1905,1906,1907,1908,1909,1910,1911,1912,1913,1914,1915,1916,1917,1918, + 1919,1920,1921,1922,1923,1924,1925,1926,1927,1928,1929,1930,1931,1932,1933,1934, + 1935,1936,1937,1938,1939,1940,1941,1942,1943,1944,1945,1946,1947,1948,1949,1950, + 1951,1601,1602,1603,1952,1953,1954,1955,1956,1957,1958,1959,1960,1961,1962,1963, + 1964,1965,1966,1967,1968,1969,1970,1971,1972,1973,1974,1975,1976,1977,1978,1979, + 1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995, + 1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011, + 2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2027, + 2028,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043, + 2044,2045,2046,2047,2048,2049,2050,2051,2052,2053,2054,2055,2056,2057,2058,2059, + 2060,2061,2062,2063,2064,2065,2066,2067,2068,2069,2070,2071,2072,2073,2074,2075, + 2076,2077,2078,2079,2080,2081,2082,2083,2084,2085,2086,2087,2088,2089,2090,2091, + 2092,2093,62,63,64,65,66,1689,2094,2095,2096,2097,2098,2099,2100,2101, + 2102,93,94,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115, + 2116,2117,2118,2119,2120,2121,465,466,467,468,469,470,471,2122,2123,2124, + 2125,2126,2127,2128,2129,2130,2131,2132,2133,2134,2135,2136,2137,2138,2139,2140, + 2141,2142,2143,2144,2145,2146,2147,2148,2149,2150,2151,2152,2153,2154,2155,2156, + 2157,2158,2159,2160,2161,2162,2163,2164,2165,2166,2167,2168,2169,2170,2171,2172, + 2173,2174,611,612,613,614,615,527,528,529,530,531,532,2175,2176,2177, + 2178,2179,2180,2181,2182,2183,2184,2185,2186,2187,2188,2189,2190,2191,2192,2193, + 2194,2195,2196,2197,2198,2199,2200,2201,2202,2203,2204,2205,2206,2207,2208,2209, + 2210,2211,2212,2213,2214,2215,2216,89,90,91,92,2217,2099,2100,2101,2102, + 93,94,2218,2219,2220,2221,2222,2223,2224,246,247,248,249,250,251,2225, + 2226,2227,2228,2229,2230,2231,2232,2233,2234,2235,2236,2237,2238,2239,2240,2241, + 2242,2243,2244,2245,2246,2247,2248,2249,2250,2251,2252,2253,2254,2255,2256,2257, + 2258,2259,2260,2261,2262,2263,2264,2265,2266,2267,2268,2269,2270,2271,2272,824, + 825,2273,2274,2275,2276,2277,2278,2279,2280,2281,2282,2283,2284,2285,2286,2287, + 2288,2289,2290,2291,2292,2293,2294,2295,2296,2297,2298,2299,2300,2301,2302,2303, + 2304,2305,2306,2307,2308,2309,2310,2311,2312,2313,2314,2315,2316,2317,2318,2319, + 2320,2083,2084,2085,2086,2087,2088,2089,2321,2322,2323,2324,2325,2326,2327,2328, + 2329,2330,2331,2332,2333,2334,2335,2336,2337,2338,2339,2340,2341,2342,2343,2344, + 2345,2346,2347,2348,2349,2350,2351,2352,2353,2354,2355,2356,2357,2358,2359,2360, + 2361,2362,2363,2364,2365,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376, + 2377,2378,2379,2380,2381,2382,2383,2384,2385,2386,2387,2388,2389,2390,2391,2392, + 2393,2394,2395,2396,2397,2398,2399,2400,2401,2402,2403,2404,2405,2406,2407,2408, + 2409,2410,2411,2412,2413,2414,2415,2416,2417,2418,2419,2420,2421,2422,2423,2424, + 2425,2426,2427,2428,2429,2430,2431,2432,2433,2434,2435,2436,2035,2036,2037,2437, + 2438,2439,2440,2441,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2453, + 2454,2455,2456,2457,2458,2459,2460,2461,2462,2463,2464,2465,2466,1378,1379,1380, + 1381,1382,1383,2315,2318,2467,2468,2469,2470,2471,2472,2473,2474,2475,472,473, + 474,475,476,477,478,479,2476,2477,2478,2479,2480,2481,2482,2483,2484,2485, + 2486,2487,2488,2489,2490,2491,2492,2493,2494,2495,2496,2497,2498,2499,2500,2501, + 2502,2503,2504,2505,2506,2507,2508,2509,2510,2511,2512,2513,2514,2515,2516,2517, + 2518,2519,2520,2521,2522,2523,2524,2525,2526,2527,2528,2529,2530,2531,2532,2533, + 2534,2535,2536,2537,2538,2539,2540,2541,2542,2543,2544,2545,2546,2547,2548,2549, + 2550,2551,2552,2553,2554,2555,2556,2557,2558,2559,2560,2561,2562,2563,2564,2565, + 2566,2567,261,262,263,264,265,2568,2569,2570,2571,2572,2573,2574,2575,2576, + 2577,2578,2579,261,262,263,264,2580,2581,2582,2583,2584,2585,2586,2587,2588, + 2589,2590,1957,1958,1959,1960,1961,1962,1963,2591,2592,2593,2594,2595,2596,2453, + 2454,2455,2463,2464,2465,2466,2597,2598,2599,2600,2601,2602,2603,2604,2605,2606, + 2607,2608,1674,1675,2609,2610,2611,2612,46,47,48,49,50,51,52,53, + 54,2613,2614,2615,2616,2617,2618,2619,2620,2621,2622,2623,2624,2625,2626,2627, + 2544,2545,2546,2547,2548,2549,2628,2629,2630,2631,2632,2633,2634,2635,2636,2637, + 2638,2639,2640,2641,2642,2643,2644,2645,2646,2647,2648,2649,2650,2651,2652,2653, + 2654,2655,2656,2657,2658,2659,2660,2661,2662,2663,624,625,626,627,2664,2665, + 2666,2667,2668,2669,2670,2671,2672,2673,2674,2675,2676,2677,2678,2679,2680,2681, + 2682,2683,2684,2685,2686,2687,2688,2689,2690,2691,2692,2693,2694,2695,2696,2697, + 2698,2699,2700,2701,2702,2703,2704,2705,2706,2707,2708,2709,2710,2711,2712,2713, + 2714,2715,2716,2717,2718,2719,2720,2721,2722,2723,2724,2725,2726,2727,2728,2729, + 2730,2731,2732,2733,2734,2735,2736,2737,2738,2739,2740,2741,2742,2743,2744,2745, + 2746,2747,2748,2749,2750,2751,2752,2753,2754,2755,2756,2757,2758,2759,2760,2761, + 2762,2763,2764,2765,2766,2767,2768,2769,2770,2771,2772,2773,2774,2775,2776,2777, + 2778,2779,2780,2781,2782,2783,2784,2664,2665,2666,2785,2786,2787,2788,2789,2790, + 2791,2792,2793,2794,2795,2796,2797,2798,2799,2800,2801,2802,2803,2804,2805,2806, + 2807,2808,2809,2810,2811,2812,2813,2814,2815,2816,2817,2818,2819,2820,2821,2822, + 2823,2824,2825,2826,2827,1807,1808,1809,1810,2828,2829,2830,2831,2832,2833,2834, + 2835,2836,2837,2838,2839,2840,2841,2842,2843,2844,2845,2846,2847,2848,2849,2850, + 2851,2852,2853,2854,2855,2856,2857,373,374,375,255,256,257,258,2858,2859, + 2860,2861,2862,2863,2864,2865,2866,2867,2868,2869,2870,2871,2872,2873,2874,2875, + 2876,2877,2878,2879,2880,2881,1635,1636,1637,1638,1639,1640,2882,2883,2884,2885, + 2886,2887,2888,2889,2890,2891,2892,2893,2894,2895,2896,2897,2898,2899,2900,2901, + 2902,2903,2904,2905,2906,2907,2908,2909,2910,2911,2912,2913,2914,2915,2916,2917, + 2918,2919,2920,2921,2922,2923,2924,2925,2926,2927,2928,2929,2930,2931,2932,2933, + 2934,2935,2936,2937,2938,2939,2039,2940,2941,2942,2943,2944,2945,2946,2947,1964, + 1965,1966,1967,1687,1688,1689,2094,2095,2096,2097,2948,2949,2950,2951,2952,2953, + 2954,2955,2956,2957,2226,2227,2228,2229,2958,2959,2960,2961,2962,2963,2964,2965, + 2966,2967,2968,2969,2970,1644,1645,1646,1647,1648,1649,1650,1651,341,2018,2019, + 2020,2021,2022,2023,2024,2971,2972,2973,2974,2975,2976,2977,2978,2979,2980,2981, + 2982,2983,2984,2985,2986,2987,2988,2989,2990,2991,2992,2993,2994,2995,2996,2997, + 2998,2999,524,525,526,537,538,3000,3001,3002,3003,3004,3005,3006,3007,3008, + 3009,3010,3011,3012,3013,3014,3015,3016,3017,3018,3019,3020,3021,3022,3023,137, + 138,139,3024,3025,3026,3027,3028,3029,3030,3031,3032,3033,3034,3035,3036,3037, + 3038,3039,3040,3041,3042,3043,3044,3045,3046,3047,3048,3049,3050,3051,3052,3053, + 3054,3055,2430,2431,2432,2433,2434,2435,2436,3056,195,196,197,198,199,200, + 201,202,3057,3058,3059,3060,3061,3062,3063, +}; + +typedef struct { unsigned short part, cite, voff, vlen; } Reading; +static const Reading readings[] = { + {0,0,0,5}, + {1,1,5,1}, + {0,2,6,7}, + {1,3,13,8}, + {0,4,21,6}, + {1,5,27,12}, + {0,6,39,6}, + {1,7,45,11}, + {1,8,56,6}, + {0,9,62,8}, + {1,10,70,7}, + {0,11,77,6}, + {1,12,83,6}, + {0,13,89,6}, + {1,14,95,7}, + {1,15,102,6}, + {0,16,108,11}, + {1,17,119,11}, + {0,18,130,7}, + {1,19,137,7}, + {0,20,144,9}, + {1,21,153,13}, + {0,22,166,8}, + {1,23,174,11}, + {0,24,185,4}, + {0,25,189,6}, + {1,26,195,8}, + {0,27,203,22}, + {1,28,225,3}, + {0,29,228,6}, + {1,30,234,13}, + {0,31,247,6}, + {1,32,253,3}, + {0,33,256,6}, + {1,34,262,5}, + {0,35,267,5}, + {1,36,272,3}, + {0,37,275,4}, + {1,38,279,11}, + {0,39,290,3}, + {1,40,293,5}, + {0,41,298,30}, + {1,42,328,10}, + {0,43,338,6}, + {1,44,344,10}, + {1,45,354,9}, + {1,46,363,7}, + {0,47,370,4}, + {1,48,374,6}, + {0,49,380,9}, + {1,50,389,16}, + {0,51,405,7}, + {0,52,412,24}, + {1,53,436,12}, + {0,54,448,12}, + {0,55,460,4}, + {1,56,464,9}, + {0,57,473,13}, + {1,58,486,13}, + {0,59,499,8}, + {1,60,507,6}, + {0,61,513,6}, + {1,62,519,9}, + {0,63,528,9}, + {1,64,537,10}, + {0,65,547,6}, + {1,66,553,10}, + {0,67,563,10}, + {1,68,573,11}, + {1,69,584,16}, + {0,70,600,6}, + {1,71,606,8}, + {1,72,614,13}, + {1,73,627,8}, + {1,74,635,15}, + {0,75,650,10}, + {1,76,660,9}, + {0,77,669,7}, + {0,78,676,5}, + {1,79,681,9}, + {1,80,690,12}, + {1,81,702,4}, + {0,82,706,6}, + {1,83,712,13}, + {0,84,725,17}, + {1,85,742,14}, + {0,86,756,35}, + {1,87,791,22}, + {0,88,813,9}, + {1,89,822,15}, + {1,90,837,8}, + {0,91,845,6}, + {1,92,851,13}, + {0,93,864,13}, + {1,94,877,20}, + {0,95,897,7}, + {1,96,904,7}, + {0,97,911,10}, + {1,98,921,38}, + {0,99,959,54}, + {1,100,1013,11}, + {0,101,1024,10}, + {1,102,1034,15}, + {1,103,1049,13}, + {0,104,1062,8}, + {1,105,1070,18}, + {0,106,1088,4}, + {1,107,1092,38}, + {1,108,1130,6}, + {1,109,1136,45}, + {0,110,1181,8}, + {1,111,1189,9}, + {0,112,1198,5}, + {1,113,1203,14}, + {1,114,1217,8}, + {0,115,1225,3}, + {1,116,1228,88}, + {0,117,1316,12}, + {1,118,1328,17}, + {0,119,1345,13}, + {1,120,1358,15}, + {0,121,1373,6}, + {1,122,1379,8}, + {0,123,1387,6}, + {1,124,1393,27}, + {0,125,1420,7}, + {1,126,1427,100}, + {0,127,1527,2}, + {1,128,1529,7}, + {0,129,1536,7}, + {1,130,1543,23}, + {0,131,1566,9}, + {1,132,1575,12}, + {0,133,1587,6}, + {1,134,1593,14}, + {0,135,1607,15}, + {1,136,1622,8}, + {0,137,1630,5}, + {1,138,1635,5}, + {0,139,1640,10}, + {1,140,1650,9}, + {0,141,1659,7}, + {1,142,1666,13}, + {0,143,1679,9}, + {0,144,1688,6}, + {1,145,1694,9}, + {0,146,1703,5}, + {1,147,1708,5}, + {0,148,1713,10}, + {1,149,1723,6}, + {1,150,1729,3}, + {0,151,1732,5}, + {1,152,1737,6}, + {0,153,1743,5}, + {1,154,1748,7}, + {0,155,1755,9}, + {1,156,1764,7}, + {1,157,1771,8}, + {0,158,1779,8}, + {0,159,1787,5}, + {1,160,1792,10}, + {0,161,1802,6}, + {1,162,1808,8}, + {0,163,1816,7}, + {1,164,1823,11}, + {0,165,1834,11}, + {1,166,1845,7}, + {1,167,1852,8}, + {0,168,1860,5}, + {1,169,1865,6}, + {0,170,1871,8}, + {1,171,1879,12}, + {0,172,1891,8}, + {1,173,1899,7}, + {0,174,1906,11}, + {1,175,1917,9}, + {0,176,1926,8}, + {1,177,1934,6}, + {0,178,1940,4}, + {1,179,1944,10}, + {0,180,1954,5}, + {1,181,1959,9}, + {0,182,1968,4}, + {1,183,1972,6}, + {0,184,1978,4}, + {1,185,1982,10}, + {0,186,1992,5}, + {0,187,1997,4}, + {1,188,2001,3}, + {1,189,2004,12}, + {0,190,2016,6}, + {1,191,2022,9}, + {0,192,2031,7}, + {1,193,2038,13}, + {0,194,2051,6}, + {1,195,2057,12}, + {1,196,2069,8}, + {0,197,2077,10}, + {1,198,2087,5}, + {0,199,2092,11}, + {0,200,2103,10}, + {1,201,2113,7}, + {1,202,2120,6}, + {0,203,2126,7}, + {1,204,2133,9}, + {0,205,2142,9}, + {1,206,2151,6}, + {0,207,2157,6}, + {1,208,2163,10}, + {0,209,2173,9}, + {1,210,2182,7}, + {0,211,2189,6}, + {1,212,2195,11}, + {0,213,2206,5}, + {0,214,2211,22}, + {1,215,2233,9}, + {1,216,2242,5}, + {1,217,2247,6}, + {0,218,2253,8}, + {1,219,2261,5}, + {1,220,2266,5}, + {0,221,2271,9}, + {1,222,2280,9}, + {0,223,2289,6}, + {0,224,2295,11}, + {1,225,2306,7}, + {0,226,2313,7}, + {1,227,2320,4}, + {0,228,2324,5}, + {1,229,2329,7}, + {0,230,2336,4}, + {1,231,2340,5}, + {0,232,2345,7}, + {0,233,2352,6}, + {1,234,2358,9}, + {1,235,2367,2}, + {0,236,2369,4}, + {1,237,2373,10}, + {1,238,2383,4}, + {0,239,2387,8}, + {1,240,2395,7}, + {0,241,2402,9}, + {0,242,2411,6}, + {1,243,2417,10}, + {1,244,2427,16}, + {0,245,2443,10}, + {1,246,2453,6}, + {0,247,2459,10}, + {1,248,2469,7}, + {0,249,2476,5}, + {1,250,2481,15}, + {0,251,2496,3}, + {1,252,2499,13}, + {0,253,2512,6}, + {1,254,2518,15}, + {0,255,2533,7}, + {1,256,2540,3}, + {0,257,2543,7}, + {1,258,2550,9}, + {0,259,2559,14}, + {1,260,2573,6}, + {0,261,2579,2}, + {0,262,2581,9}, + {0,263,2590,8}, + {1,264,2598,14}, + {0,265,2612,7}, + {1,266,2619,11}, + {0,267,2630,12}, + {1,268,2642,13}, + {0,269,2655,5}, + {1,270,2660,5}, + {0,271,2665,9}, + {1,272,2674,11}, + {0,273,2685,5}, + {1,274,2690,10}, + {0,275,2700,4}, + {0,276,2704,3}, + {1,277,2707,4}, + {0,278,2711,5}, + {0,279,2716,6}, + {1,280,2722,13}, + {0,281,2735,7}, + {0,282,2742,8}, + {0,283,2750,10}, + {1,284,2760,9}, + {0,285,2769,5}, + {1,286,2774,8}, + {0,287,2782,8}, + {0,288,2790,9}, + {0,289,2799,6}, + {0,290,2805,6}, + {1,291,2811,6}, + {0,292,2817,9}, + {1,293,2826,4}, + {0,294,2830,9}, + {1,295,2839,5}, + {1,296,2844,9}, + {0,297,2853,8}, + {1,298,2861,13}, + {0,299,2874,7}, + {1,300,2881,5}, + {0,301,2886,4}, + {1,302,2890,10}, + {1,303,2900,4}, + {0,304,2904,6}, + {1,305,2910,7}, + {0,306,2917,6}, + {0,307,2923,8}, + {1,308,2931,9}, + {1,309,2940,3}, + {0,310,2943,5}, + {0,311,2948,6}, + {1,312,2954,21}, + {0,313,2975,4}, + {1,314,2979,9}, + {0,315,2988,9}, + {1,316,2997,4}, + {0,317,3001,11}, + {0,318,3012,10}, + {1,319,3022,9}, + {1,320,3031,3}, + {0,321,3034,4}, + {1,322,3038,10}, + {0,323,3048,5}, + {0,324,3053,5}, + {0,325,3058,4}, + {1,326,3062,6}, + {0,327,3068,5}, + {1,328,3073,6}, + {0,329,3079,6}, + {0,330,3085,12}, + {1,331,3097,14}, + {0,332,3111,9}, + {1,333,3120,6}, + {1,334,3126,6}, + {0,335,3132,7}, + {1,336,3139,7}, + {0,337,3146,7}, + {1,338,3153,12}, + {1,339,3165,8}, + {0,340,3173,9}, + {1,341,3182,7}, + {1,342,3189,13}, + {0,343,3202,9}, + {0,344,3211,7}, + {0,345,3218,5}, + {1,346,3223,9}, + {0,347,3232,5}, + {0,348,3237,5}, + {1,349,3242,8}, + {0,350,3250,7}, + {0,351,3257,9}, + {1,352,3266,5}, + {1,353,3271,5}, + {1,354,3276,6}, + {0,355,3282,8}, + {1,356,3290,10}, + {0,357,3300,5}, +}; + +static const unsigned short readings_cite_la[] = { + 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, + 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, + 64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79, + 80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95, + 96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111, + 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127, + 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, + 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159, + 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, + 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191, + 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207, + 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223, + 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, + 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255, + 256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271, + 272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287, + 288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303, + 304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319, + 320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335, + 336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351, + 352,353,354,355,356,357, +}; + +static const unsigned short rpool[] = { + 0,1,2,3,2,3,2,3,2,3,4,5,2,3,2,3, + 2,3,2,3,2,3,6,7,4,8,9,10,11,12,13,14, + 15,6,7,16,17,18,19,20,21,22,23,24,15,25,26,27, + 28,29,30,9,10,31,32,9,10,20,21,33,34,35,36,37, + 38,39,40,41,42,43,44,41,45,28,24,15,6,46,47,21, + 48,28,6,46,6,46,6,46,49,50,49,50,49,50,49,50, + 49,50,49,50,51,14,52,53,54,12,52,53,52,53,55,56, + 52,53,52,53,57,58,57,58,24,15,59,60,61,62,63,64, + 65,66,67,68,69,70,71,72,73,74,75,76,77,76,78,79, + 80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95, + 96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111, + 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127, + 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, + 45,144,145,47,21,146,147,148,149,150,151,152,13,14,151,152, + 153,154,151,152,10,41,42,155,156,153,157,158,10,155,156,24, + 34,155,156,24,15,159,160,13,14,24,28,159,160,159,160,159, + 160,150,161,162,158,15,9,10,163,164,165,166,161,162,167,168, + 169,168,169,168,169,170,15,171,41,42,172,173,174,175,176,177, + 178,179,180,181,182,183,184,185,186,96,187,188,187,188,41,42, + 9,10,187,188,187,188,24,189,190,191,192,193,194,195,28,196, + 190,191,197,198,199,14,200,201,112,202,203,204,205,206,207,208, + 209,210,211,212,213,45,214,215,211,212,214,216,211,212,217,218, + 219,9,10,24,15,218,219,218,219,190,220,31,45,221,222,9, + 10,223,120,224,225,221,222,226,227,214,215,228,229,230,23,47, + 231,228,229,144,45,228,229,232,45,233,234,9,15,235,236,76, + 24,237,24,15,238,239,240,239,240,47,21,239,240,241,235,242, + 243,24,244,245,246,245,246,24,15,10,214,215,241,150,31,32, + 247,248,249,250,247,248,249,34,9,10,251,252,47,21,253,254, + 253,254,24,250,255,256,253,254,41,42,253,254,257,258,259,244, + 257,258,31,32,257,258,241,92,257,258,125,260,261,150,22,23, + 262,237,263,264,265,266,262,237,267,108,41,42,13,14,268,267, + 108,120,269,270,271,272,273,274,9,10,271,272,275,274,276,277, + 278,12,279,280,24,15,281,92,282,215,283,45,28,241,284,285, + 286,24,15,13,14,47,21,214,215,287,12,288,45,289,264,290, + 15,289,264,289,264,213,291,292,293,289,264,294,295,294,295,163, + 296,294,295,294,295,294,295,171,297,298,299,300,41,42,297,298, + 297,298,297,298,297,298,301,302,24,15,41,303,13,14,304,305, + 306,152,9,10,307,308,41,309,301,302,214,215,31,32,235,310, + 21,311,312,9,10,20,21,28,311,312,311,312,311,312,313,314, + 313,314,310,215,315,316,9,10,313,314,317,42,318,319,259,320, + 318,319,318,319,13,14,318,319,47,215,321,322,321,322,323,238, + 91,92,321,322,324,204,325,326,327,328,327,328,327,328,329,81, + 330,331,332,333,334,2,3,2,3,2,3,6,7,16,17,335, + 336,9,10,57,58,337,338,339,249,26,340,341,141,142,141,142, + 141,142,151,152,9,10,13,14,153,154,269,45,9,10,282,108, + 153,342,150,153,154,168,169,168,169,47,21,187,188,187,188,190, + 191,190,191,214,215,343,201,9,10,207,208,207,208,207,208,47, + 21,207,208,344,32,211,212,218,219,221,222,221,222,228,229,228, + 229,345,346,233,234,239,240,239,240,347,36,247,248,24,15,253, + 254,348,349,257,258,262,237,24,15,262,237,262,237,267,108,267, + 108,267,108,271,272,269,270,279,280,249,145,285,286,289,264,350, + 157,350,157,11,32,294,295,294,295,294,295,294,295,294,295,307, + 308,307,308,307,308,307,308,6,46,351,352,47,21,307,14,311, + 312,311,312,315,353,313,314,313,314,9,10,318,319,318,319,321, + 322,325,326,327,328,354,6,7,16,17,141,142,151,152,150,155, + 156,155,156,13,14,161,162,13,14,355,45,47,21,190,191,190, + 191,207,208,24,15,9,356,211,212,228,229,233,234,233,234,245, + 246,245,246,253,254,253,254,262,237,267,108,271,272,271,272,271, + 272,279,280,279,280,285,286,357,19,289,264,350,157,297,298,304, + 305,304,305,307,308,307,308,294,295,294,295,294,295,6,46,6, + 46,311,312,313,314,327,328,6,7,16,17,39,40,39,40,49, + 50,52,53,9,10,151,152,159,160,161,162,211,212,218,219,233, + 234,239,240,247,248,257,258,262,237,350,157,350,157,350,157,294, + 295,294,295,294,295,304,305,304,305,304,305,311,312,311,312,311, + 312,311,312,327,328,327,328,6,7,6,7,16,17,16,17,13, + 14,168,169,187,188,190,191,221,222,221,222,233,234,239,240,245, + 246,267,108,285,286,285,286,304,305,294,295,294,295,294,295,294, + 295,39,40,39,40,39,40,39,40,6,46,311,312,311,312,311, + 312,318,319,4,5,4,5,4,5,4,5,4,5,4,5,16, + 17,351,352,351,352,351,352,351,352,52,53,155,156,207,208,228, + 229,247,248,257,258,279,280,294,295,311,312,313,314,218,219,233, + 234,279,280,350,157,294,295,294,295,311,312,311,312,155,156,159, + 160,211,212,218,219,245,246,247,248,294,295,327,328,330,331,330, + 331,330,331,0,1,0,1,0,1,0,1,0,1,39,40,141, + 142,221,222,279,280,289,264,6,46,311,312,311,312,311,312,247, + 248,271,272,294,295,294,295,39,40,39,40,39,40,39,40,6, + 46,311,312,311,312,311,312,311,312,39,40,351,352,351,352,351, + 352,351,352,351,352,351,352,285,286,294,295,297,298,311,312,245, + 246,294,295,6,46,311,312,294,295,294,295,39,40,39,40,6, + 46,311,312,285,286,311,312,39,40, +}; + +typedef struct { unsigned short name; unsigned char colour; unsigned short roff, rlen; } Day; +static const Day days[] = { + {0,1,0,2}, + {1,1,2,2}, + {2,1,4,2}, + {3,1,6,2}, + {4,1,8,2}, + {5,1,10,2}, + {6,0,12,2}, + {7,0,14,2}, + {8,0,16,2}, + {9,0,18,2}, + {10,0,20,2}, + {11,0,22,2}, + {12,1,24,2}, + {13,1,26,2}, + {14,1,28,2}, + {15,2,30,2}, + {16,1,32,1}, + {17,0,33,2}, + {18,0,35,2}, + {19,2,37,2}, + {20,2,39,2}, + {21,2,41,2}, + {22,1,43,2}, + {23,2,45,2}, + {24,1,47,2}, + {25,0,49,2}, + {26,1,51,2}, + {27,1,53,2}, + {28,1,55,2}, + {29,2,57,2}, + {30,1,59,2}, + {31,2,61,2}, + {32,1,63,2}, + {33,0,65,2}, + {34,1,67,2}, + {35,2,69,2}, + {36,1,71,2}, + {37,1,73,1}, + {38,1,74,2}, + {39,0,76,2}, + {40,1,78,2}, + {41,1,80,1}, + {42,1,81,1}, + {43,0,82,2}, + {44,0,84,2}, + {45,0,86,2}, + {46,3,88,2}, + {47,3,90,2}, + {48,3,92,2}, + {49,3,94,2}, + {50,3,96,2}, + {51,3,98,2}, + {52,1,100,2}, + {53,3,102,2}, + {54,2,104,2}, + {55,3,106,2}, + {56,3,108,2}, + {57,1,110,2}, + {58,3,112,2}, + {59,3,114,2}, + {60,3,116,2}, + {61,3,118,2}, + {62,1,120,2}, + {63,3,122,2}, + {64,3,124,2}, + {65,3,126,2}, + {66,3,128,2}, + {67,3,130,2}, + {68,3,132,1}, + {69,3,133,2}, + {70,3,135,1}, + {71,3,136,1}, + {72,3,137,1}, + {73,3,138,2}, + {74,3,140,2}, + {75,3,142,2}, + {76,3,144,1}, + {77,1,145,1}, + {78,3,146,2}, + {79,3,148,2}, + {80,3,150,2}, + {81,3,152,2}, + {82,3,154,1}, + {83,1,155,2}, + {84,3,157,2}, + {85,3,159,2}, + {86,3,161,2}, + {87,3,163,2}, + {88,3,165,2}, + {89,3,167,1}, + {90,3,168,2}, + {91,3,170,2}, + {92,3,172,1}, + {93,3,173,1}, + {94,3,174,2}, + {95,3,176,2}, + {96,3,178,1}, + {97,3,179,2}, + {98,3,181,2}, + {99,3,183,2}, + {100,3,185,2}, + {101,3,187,2}, + {102,3,189,2}, + {103,1,191,2}, + {104,1,193,2}, + {105,1,195,2}, + {106,1,197,2}, + {107,1,199,2}, + {108,1,201,2}, + {109,1,203,2}, + {110,1,205,2}, + {111,1,207,2}, + {112,2,209,2}, + {113,1,211,2}, + {114,1,213,2}, + {115,1,215,2}, + {116,1,217,1}, + {117,1,218,2}, + {118,1,220,2}, + {119,1,222,2}, + {120,2,224,2}, + {121,1,226,2}, + {122,1,228,1}, + {123,1,229,2}, + {124,1,231,2}, + {125,2,233,2}, + {126,1,235,2}, + {127,1,237,2}, + {128,1,239,2}, + {129,1,241,2}, + {130,1,243,2}, + {131,1,245,2}, + {132,1,247,2}, + {133,1,249,2}, + {134,1,251,2}, + {135,1,253,2}, + {136,1,255,2}, + {137,1,257,1}, + {138,1,258,2}, + {139,1,260,2}, + {140,1,262,2}, + {141,1,264,2}, + {142,1,266,2}, + {143,1,268,2}, + {144,1,270,1}, + {145,1,271,2}, + {146,1,273,2}, + {147,1,275,2}, + {148,1,277,2}, + {149,2,279,1}, + {150,1,280,2}, + {151,2,282,2}, + {152,2,284,2}, + {153,2,286,2}, + {154,2,288,2}, + {155,2,290,2}, + {156,2,292,2}, + {157,2,294,2}, + {158,2,296,2}, + {159,1,298,2}, + {160,0,300,2}, + {161,1,302,2}, + {162,2,304,2}, + {163,1,306,2}, + {164,0,308,2}, + {165,1,310,2}, + {166,0,312,2}, + {167,3,314,2}, + {168,1,316,2}, + {169,1,318,1}, + {170,2,319,1}, + {171,1,320,2}, + {172,3,322,2}, + {173,2,324,2}, + {174,2,326,2}, + {175,2,328,2}, + {176,1,330,2}, + {177,2,332,2}, + {178,0,334,2}, + {179,1,336,2}, + {180,0,338,2}, + {181,1,340,2}, + {182,1,342,2}, + {183,0,344,2}, + {184,2,346,2}, + {185,0,348,2}, + {186,2,350,1}, + {187,0,351,2}, + {188,1,353,2}, + {189,1,355,2}, + {190,0,357,2}, + {191,0,359,2}, + {192,2,361,2}, + {193,1,363,2}, + {194,0,365,2}, + {195,1,367,2}, + {196,1,369,2}, + {197,1,371,2}, + {198,0,373,2}, + {199,2,375,2}, + {200,1,377,2}, + {201,0,379,2}, + {202,2,381,2}, + {203,2,383,2}, + {204,0,385,2}, + {205,1,387,2}, + {206,0,389,2}, + {207,2,391,2}, + {208,0,393,2}, + {209,1,395,2}, + {210,1,397,1}, + {211,1,398,2}, + {212,1,400,2}, + {213,1,402,2}, + {214,2,404,1}, + {215,0,405,2}, + {216,0,407,2}, + {217,1,409,2}, + {218,0,411,2}, + {219,1,413,2}, + {220,1,415,2}, + {221,1,417,2}, + {222,0,419,2}, + {223,0,421,2}, + {224,1,423,2}, + {225,1,425,1}, + {226,1,426,2}, + {227,1,428,2}, + {228,1,430,2}, + {229,0,432,2}, + {230,1,434,2}, + {231,0,436,2}, + {232,1,438,2}, + {233,2,440,2}, + {234,2,442,2}, + {235,2,444,2}, + {236,0,446,2}, + {237,0,448,2}, + {238,1,450,2}, + {239,1,452,2}, + {240,0,454,2}, + {241,1,456,2}, + {242,0,458,2}, + {243,0,460,2}, + {244,1,462,2}, + {245,0,464,2}, + {246,1,466,2}, + {247,0,468,2}, + {248,1,470,2}, + {249,0,472,2}, + {250,2,474,2}, + {251,1,476,2}, + {252,2,478,2}, + {253,0,480,2}, + {254,1,482,2}, + {255,2,484,2}, + {256,0,486,2}, + {257,0,488,2}, + {258,1,490,2}, + {259,2,492,2}, + {260,3,494,1}, + {261,0,495,2}, + {262,3,497,1}, + {263,3,498,2}, + {264,0,500,2}, + {265,1,502,2}, + {266,1,504,2}, + {267,0,506,2}, + {268,1,508,2}, + {269,1,510,2}, + {270,1,512,2}, + {271,0,514,2}, + {272,1,516,2}, + {273,1,518,2}, + {274,1,520,2}, + {275,1,522,2}, + {276,1,524,1}, + {277,1,525,2}, + {278,0,527,2}, + {279,1,529,2}, + {280,2,531,2}, + {281,1,533,2}, + {282,1,535,2}, + {283,1,537,2}, + {284,2,539,2}, + {285,0,541,2}, + {286,1,543,2}, + {287,0,545,2}, + {288,0,547,2}, + {289,1,549,2}, + {290,1,551,2}, + {291,0,553,2}, + {292,1,555,2}, + {293,0,557,2}, + {294,2,559,2}, + {295,0,561,2}, + {296,0,563,2}, + {297,0,565,2}, + {298,1,567,1}, + {299,0,568,2}, + {300,5,570,2}, + {301,1,572,2}, + {302,0,574,2}, + {303,0,576,2}, + {304,0,578,2}, + {305,0,580,2}, + {306,1,582,2}, + {307,1,584,2}, + {308,1,586,2}, + {309,2,588,2}, + {310,0,590,2}, + {311,1,592,2}, + {312,1,594,2}, + {313,0,596,2}, + {314,1,598,2}, + {315,1,600,2}, + {316,1,602,2}, + {317,1,604,2}, + {318,1,606,1}, + {319,2,607,2}, + {320,0,609,2}, + {321,1,611,2}, + {322,2,613,2}, + {323,1,615,1}, + {324,0,616,2}, + {325,0,618,2}, + {326,0,620,2}, + {327,3,622,2}, + {328,3,624,2}, + {329,2,626,2}, + {330,1,628,2}, + {331,1,630,2}, + {332,3,632,2}, + {333,1,634,2}, + {334,3,636,2}, + {335,1,638,2}, + {336,3,640,2}, + {337,3,642,2}, + {338,1,644,2}, + {339,3,646,2}, + {340,2,648,2}, + {341,3,650,2}, + {342,3,652,2}, + {343,2,654,2}, + {344,3,656,2}, + {345,3,658,2}, + {346,3,660,2}, + {347,3,662,2}, + {348,3,664,2}, + {349,3,666,2}, + {350,3,668,2}, + {351,3,670,2}, + {352,1,672,2}, + {353,2,674,2}, + {354,1,676,1}, + {355,1,677,2}, + {356,1,679,2}, + {357,1,681,2}, + {358,0,683,2}, + {359,0,685,2}, + {360,2,687,2}, + {361,1,689,2}, + {362,3,691,2}, + {363,3,693,2}, + {364,3,695,1}, + {365,2,696,2}, + {366,2,698,2}, + {367,1,700,2}, + {368,1,702,2}, + {369,1,704,2}, + {370,1,706,2}, + {371,1,708,2}, + {372,2,710,2}, + {373,2,712,2}, + {374,2,714,2}, + {375,1,716,2}, + {376,1,718,2}, + {377,2,720,2}, + {378,1,722,1}, + {379,2,723,2}, + {380,1,725,2}, + {381,1,727,2}, + {382,1,729,2}, + {383,0,731,2}, + {384,0,733,2}, + {385,0,735,2}, + {386,0,737,2}, + {387,1,739,2}, + {388,2,741,2}, + {389,1,743,2}, + {390,0,745,2}, + {391,0,747,2}, + {392,0,749,2}, + {393,2,751,2}, + {394,0,753,2}, + {395,1,755,2}, + {396,0,757,2}, + {397,0,759,2}, + {398,0,761,2}, + {399,0,763,2}, + {400,0,765,2}, + {401,0,767,2}, + {402,2,769,2}, + {403,0,771,2}, + {404,0,773,2}, + {405,0,775,2}, + {406,2,777,2}, + {407,0,779,2}, + {408,1,781,2}, + {409,0,783,2}, + {410,2,785,2}, + {411,0,787,2}, + {412,0,789,2}, + {413,1,791,2}, + {414,0,793,2}, + {415,0,795,2}, + {416,0,797,2}, + {417,0,799,2}, + {418,0,801,2}, + {419,0,803,2}, + {420,2,805,2}, + {421,0,807,2}, + {422,2,809,2}, + {423,0,811,2}, + {424,0,813,2}, + {425,0,815,2}, + {293,0,817,2}, + {426,1,819,2}, + {427,0,821,2}, + {428,0,823,2}, + {310,0,825,2}, + {429,0,827,2}, + {430,0,829,2}, + {431,0,831,2}, + {432,0,833,2}, + {433,0,835,2}, + {434,0,837,2}, + {325,0,839,2}, + {435,0,841,2}, + {436,1,843,2}, + {437,2,845,2}, + {438,0,847,2}, + {439,0,849,2}, + {440,2,851,2}, + {441,3,853,2}, + {442,3,855,2}, + {443,1,857,2}, + {444,3,859,2}, + {445,3,861,2}, + {446,3,863,2}, + {447,2,865,2}, + {448,3,867,2}, + {449,2,869,1}, + {6,0,870,2}, + {450,0,872,2}, + {451,1,874,2}, + {452,1,876,2}, + {453,1,878,1}, + {454,1,879,2}, + {455,1,881,2}, + {456,2,883,2}, + {457,1,885,2}, + {458,1,887,2}, + {459,1,889,2}, + {460,1,891,2}, + {461,0,893,2}, + {462,0,895,2}, + {463,0,897,2}, + {464,2,899,2}, + {465,1,901,2}, + {466,0,903,2}, + {467,0,905,2}, + {468,0,907,2}, + {469,0,909,2}, + {470,0,911,2}, + {471,0,913,2}, + {472,0,915,2}, + {473,0,917,2}, + {474,0,919,2}, + {475,0,921,2}, + {476,0,923,2}, + {477,0,925,2}, + {478,0,927,2}, + {479,0,929,2}, + {480,0,931,2}, + {481,0,933,2}, + {482,2,935,2}, + {483,0,937,2}, + {484,0,939,2}, + {485,0,941,2}, + {486,0,943,2}, + {429,0,945,2}, + {487,0,947,2}, + {488,0,949,2}, + {489,0,951,2}, + {325,0,953,2}, + {326,0,955,2}, + {490,0,957,2}, + {491,0,959,2}, + {492,0,961,2}, + {493,3,963,2}, + {494,3,965,2}, + {7,0,967,2}, + {495,0,969,2}, + {496,0,971,2}, + {497,0,973,2}, + {498,3,975,2}, + {499,3,977,2}, + {500,1,979,2}, + {501,1,981,2}, + {502,1,983,2}, + {503,1,985,2}, + {504,0,987,2}, + {505,0,989,2}, + {506,0,991,2}, + {507,0,993,2}, + {508,0,995,2}, + {509,0,997,2}, + {510,0,999,2}, + {295,0,1001,2}, + {296,0,1003,2}, + {297,0,1005,2}, + {511,0,1007,2}, + {485,0,1009,2}, + {304,0,1011,2}, + {427,0,1013,2}, + {428,0,1015,2}, + {512,0,1017,2}, + {490,0,1019,2}, + {513,0,1021,2}, + {514,0,1023,2}, + {515,0,1025,2}, + {2,1,1027,2}, + {3,1,1029,2}, + {8,0,1031,2}, + {9,0,1033,2}, + {516,0,1035,2}, + {517,0,1037,2}, + {518,1,1039,2}, + {519,1,1041,2}, + {520,0,1043,2}, + {521,0,1045,2}, + {522,0,1047,2}, + {523,0,1049,2}, + {524,0,1051,2}, + {525,0,1053,2}, + {526,0,1055,2}, + {527,0,1057,2}, + {528,0,1059,2}, + {529,0,1061,2}, + {430,0,1063,2}, + {487,0,1065,2}, + {431,0,1067,2}, + {488,0,1069,2}, + {434,0,1071,2}, + {530,0,1073,2}, + {531,0,1075,2}, + {489,0,1077,2}, + {324,0,1079,2}, + {513,0,1081,2}, + {532,0,1083,2}, + {533,0,1085,2}, + {534,0,1087,2}, + {535,3,1089,2}, + {358,0,1091,2}, + {6,0,1093,2}, + {7,0,1095,2}, + {8,0,1097,2}, + {9,0,1099,2}, + {10,0,1101,2}, + {17,0,1103,2}, + {536,0,1105,2}, + {43,0,1107,2}, + {44,0,1109,2}, + {45,0,1111,2}, + {537,3,1113,2}, + {538,1,1115,2}, + {539,0,1117,2}, + {540,0,1119,2}, + {541,0,1121,2}, + {542,0,1123,2}, + {543,0,1125,2}, + {484,0,1127,2}, + {489,0,1129,2}, + {544,3,1131,2}, + {545,0,1133,2}, + {546,0,1135,2}, + {547,0,1137,2}, + {548,0,1139,2}, + {302,0,1141,2}, + {303,0,1143,2}, + {549,0,1145,2}, + {491,0,1147,2}, + {550,1,1149,2}, + {551,1,1151,2}, + {552,0,1153,2}, + {553,0,1155,2}, + {554,0,1157,2}, + {555,0,1159,2}, + {305,0,1161,2}, + {556,3,1163,2}, + {1,1,1165,2}, + {2,1,1167,2}, + {3,1,1169,2}, + {355,1,1171,2}, + {356,1,1173,2}, + {357,1,1175,2}, + {1,1,1177,2}, + {10,0,1179,2}, + {557,0,1181,2}, + {558,1,1183,2}, + {559,0,1185,2}, + {560,0,1187,2}, + {561,0,1189,2}, + {530,0,1191,2}, + {562,0,1193,2}, + {563,0,1195,2}, + {564,0,1197,2}, + {565,0,1199,2}, + {566,0,1201,2}, + {530,0,1203,2}, + {531,0,1205,2}, + {490,0,1207,2}, + {513,0,1209,2}, + {514,0,1211,2}, + {549,0,1213,2}, + {563,0,1215,2}, + {567,0,1217,2}, + {568,0,1219,2}, + {569,0,1221,2}, + {570,0,1223,2}, + {571,0,1225,2}, + {572,0,1227,2}, + {573,0,1229,2}, + {574,0,1231,2}, + {575,0,1233,2}, + {576,0,1235,2}, + {577,0,1237,2}, + {578,0,1239,2}, + {548,0,1241,2}, + {511,0,1243,2}, + {434,0,1245,2}, + {579,0,1247,2}, + {512,0,1249,2}, + {324,0,1251,2}, + {580,0,1253,2}, + {432,0,1255,2}, + {433,0,1257,2}, + {325,0,1259,2}, + {326,0,1261,2}, + {515,0,1263,2}, + {581,0,1265,2}, + {582,0,1267,2}, + {583,0,1269,2}, + {584,0,1271,2}, +}; + +static const unsigned short cal[NDAYS] = { + 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, + 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, + 64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79, + 80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95, + 96,97,98,99,100,101,102,96,97,98,99,100,101,103,104,105, + 106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121, + 122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137, + 138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153, + 154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169, + 170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185, + 186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201, + 202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217, + 218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233, + 234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249, + 250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265, + 266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281, + 282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297, + 298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313, + 314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329, + 330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345, + 346,347,348,349,350,351,352,353,354,4,355,356,357,0,2,3, + 4,355,5,7,8,9,10,11,358,12,13,14,15,16,18,359, + 19,20,21,22,23,25,360,26,27,28,29,30,46,32,48,34, + 35,36,37,53,361,40,41,42,58,59,60,61,362,63,64,65, + 66,67,68,54,70,71,72,73,74,75,76,363,78,79,80,81, + 82,364,84,85,86,87,88,89,90,91,77,93,94,95,96,97, + 83,99,100,101,102,96,97,98,99,100,101,103,104,105,106,107, + 108,109,110,365,366,367,368,369,116,117,370,371,372,121,373,374, + 124,375,111,112,113,114,115,131,376,118,134,120,136,122,138,377, + 125,141,142,128,378,145,379,132,133,380,381,151,152,153,154,155, + 156,157,158,159,382,383,384,163,149,150,166,385,386,387,388,171, + 389,390,391,392,161,162,393,394,180,395,167,168,169,170,396,187, + 173,174,175,176,177,397,194,398,181,182,198,184,399,201,400,188, + 189,401,206,192,208,402,195,196,197,403,199,215,216,202,203,404, + 205,405,222,223,209,210,211,212,213,229,406,231,217,407,219,220, + 236,408,409,224,225,226,227,243,410,230,411,232,233,234,412,413, + 414,238,239,415,241,257,416,244,417,246,418,248,264,250,251,252, + 419,254,255,271,420,258,260,421,262,263,278,422,265,266,423,268, + 269,285,424,272,273,274,275,276,425,426,279,280,281,282,283,299, + 427,286,302,303,289,290,292,428,429,294,430,431,432,298,300,433, + 301,434,435,436,39,306,307,308,309,437,311,438,439,314,315,316, + 317,318,320,440,321,322,323,441,442,327,443,444,329,330,331,445, + 334,446,335,337,447,338,448,341,342,449,344,345,346,347,348,450, + 350,451,351,352,353,4,452,356,357,1,0,3,4,355,356,5, + 8,9,10,11,358,453,12,13,14,15,18,359,454,19,20,21, + 22,46,24,360,26,27,28,29,53,31,32,56,34,35,36,60, + 38,361,63,64,65,66,67,68,69,70,71,72,73,74,52,76, + 54,78,79,80,81,82,364,84,85,86,87,88,89,90,91,92, + 93,94,95,96,97,98,99,77,101,102,96,97,98,99,100,101, + 103,104,105,106,107,108,109,110,83,455,367,368,369,116,117,370, + 365,366,121,456,457,124,458,459,371,372,129,373,131,460,375,111, + 112,113,114,138,461,376,141,142,120,378,145,123,377,125,126,381, + 151,152,153,154,155,156,157,158,159,160,462,139,163,463,464,166, + 144,382,465,466,171,149,390,391,392,467,387,388,468,180,469,470, + 183,161,162,393,187,165,395,167,168,169,170,194,172,173,174,175, + 176,177,201,179,471,181,182,206,184,208,186,472,188,189,403,473, + 215,193,402,195,196,197,405,222,200,474,202,203,475,205,229,207, + 231,209,210,211,212,236,214,406,476,217,477,219,220,221,408,411, + 224,225,226,412,228,410,230,478,232,233,257,235,413,417,238,239, + 479,264,480,481,244,419,246,482,271,483,250,251,252,484,254,278, + 485,420,260,259,262,263,285,486,422,265,266,487,268,425,270,488, + 272,273,274,275,299,277,489,279,280,281,282,490,284,427,286,310, + 491,289,313,492,433,493,294,435,436,292,298,300,494,301,495,496, + 39,497,306,307,308,309,498,438,312,439,314,315,316,317,320,319, + 440,321,322,323,499,327,328,443,500,329,330,331,334,333,446,335, + 447,339,338,341,340,449,344,343,346,347,348,349,450,451,501,351, + 352,4,354,452,357,1,2,0,4,355,356,357,5,9,10,11, + 358,453,502,12,13,14,18,16,454,503,19,20,21,25,23,24, + 360,26,27,28,504,30,31,32,505,34,35,39,37,38,361,40, + 41,42,46,47,48,49,50,51,506,53,507,52,508,54,58,59, + 60,61,362,63,64,65,66,67,68,69,70,71,72,73,74,75, + 76,363,78,79,80,77,82,364,84,85,86,83,88,89,90,91, + 92,93,94,95,96,97,98,99,100,101,102,96,97,98,99,100, + 101,103,104,105,106,107,108,109,110,373,374,460,375,111,112,117, + 114,115,509,376,118,457,124,458,122,123,377,125,126,131,128,510, + 130,379,132,133,138,461,511,141,142,139,140,145,464,147,144,382, + 381,151,152,153,154,155,156,157,158,159,468,389,469,163,164,161, + 166,393,386,165,395,171,168,390,170,392,172,173,174,175,180,177, + 470,179,512,181,182,187,184,513,186,191,188,189,194,398,192,193, + 402,195,196,201,400,199,200,401,202,203,208,205,472,207,514,209, + 210,211,212,213,214,406,515,217,222,219,220,221,408,475,224,229, + 226,227,228,410,230,516,236,233,234,235,413,477,238,243,517,241, + 411,247,244,249,412,518,248,253,250,251,252,257,254,255,260,420, + 262,263,264,480,481,486,422,265,266,271,268,269,270,421,272,273, + 278,275,276,277,423,279,280,285,282,283,284,427,286,291,425,289, + 290,519,520,521,294,292,522,523,298,300,524,301,490,525,526,527, + 306,307,308,313,492,311,312,439,314,315,438,317,318,319,440,321, + 322,320,528,529,530,443,531,329,327,331,444,333,446,335,445,334, + 338,336,340,447,339,343,341,342,449,344,450,346,347,351,352,353, + 354,452,532,533,4,0,356,357,1,2,5,11,358,453,502,534, + 535,12,18,14,15,16,536,537,19,25,21,22,23,24,360,26, + 46,28,29,30,31,32,506,53,35,36,37,38,361,40,60,42, + 362,63,64,65,66,67,68,69,70,52,72,54,74,75,76,363, + 78,79,80,81,82,364,84,85,86,87,88,89,90,91,92,93, + 94,95,77,97,98,99,100,101,102,96,97,98,99,100,101,103, + 104,105,106,107,108,109,110,83,455,538,368,365,366,117,370,119, + 509,121,456,371,124,458,373,374,460,375,111,131,113,114,115,135, + 376,118,138,120,511,141,142,377,125,145,146,128,539,130,379,151, + 152,153,154,155,156,157,158,159,463,464,384,163,382,540,166,148, + 149,150,466,171,541,390,388,468,389,469,178,394,180,162,393,183, + 165,395,167,168,169,170,190,172,173,174,175,176,177,542,179,543, + 181,201,400,184,204,186,206,188,208,544,472,192,193,402,195,215, + 197,545,199,200,515,202,222,223,205,546,207,475,209,229,211,212, + 213,214,406,516,236,237,219,220,221,408,242,243,225,226,227,228, + 410,230,412,232,233,234,235,413,256,257,239,547,241,261,418,244, + 264,246,481,248,419,250,251,271,483,254,260,421,262,263,278,485, + 548,549,486,422,265,285,424,268,269,270,487,272,425,274,275,276, + 277,521,279,299,281,282,283,284,427,286,490,525,289,290,310,491, + 550,292,551,552,553,298,300,554,504,555,556,557,558,306,307,39, + 309,559,311,312,439,314,438,316,317,318,319,440,321,320,323,560, + 561,562,443,499,327,330,331,500,333,446,335,334,563,338,337,340, + 339,448,341,342,449,344,345,346,347,348,351,352,353,354,452,533, + 4,355,0,357,1,2,3,5,564,565,566,567,568,569,18,13, + 14,15,16,537,570,25,20,21,22,23,24,360,504,27,28,29, + 30,31,32,39,34,35,36,37,38,361,438,41,42,571,572,573, + 574,46,47,48,49,50,52,508,53,507,55,57,575,58,59,60, + 62,362,63,64,65,66,67,68,69,70,71,72,73,74,75,77, + 363,78,79,80,81,83,364,84,85,86,87,88,89,90,91,92, + 93,94,95,96,97,98,99,100,101,102,96,97,98,99,100,101, + 103,104,105,106,107,108,109,110,112,113,114,115,369,376,117,370, + 120,509,122,123,377,124,126,459,128,576,130,379,131,133,510,134, + 135,136,462,138,140,463,141,142,144,382,145,146,148,149,150,381, + 151,152,153,154,155,156,157,158,159,161,162,393,163,165,395,166, + 168,169,170,466,171,173,390,175,176,177,577,179,394,180,182,470, + 184,512,186,396,187,189,513,190,192,193,402,194,196,197,542,199, + 200,399,201,203,471,205,401,207,578,208,210,211,212,213,214,406, + 215,217,545,219,220,221,408,222,224,225,226,227,228,410,229,579, + 232,233,234,235,413,236,238,239,476,241,477,242,243,517,246,411, + 248,580,250,412,252,414,260,255,262,263,257,259,547,417,261,486, + 422,265,266,481,268,269,270,482,271,273,274,275,276,277,581,278, + 280,281,282,283,284,427,285,424,287,289,290,487,291,292,294,582, + 295,296,298,300,299,301,489,302,303,304,306,490,308,309,527,311, + 312,439,313,315,316,317,318,319,440,320,322,323,583,324,325,443, + 327,329,330,331,584,333,446,335,563,336,338,447,340,448,341,343, + 449,344,345,346,347,348,349,351,352,353,354,452,4,355,356,0, + 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32, + 33,34,35,36,37,38,46,40,41,42,50,51,506,53,507,55, + 56,575,58,52,60,54,362,63,64,65,66,67,68,69,70,71, + 72,73,74,75,76,363,78,79,80,81,82,364,77,85,86,87, + 88,89,83,91,92,93,94,95,96,97,98,99,100,101,102,96, + 97,98,99,100,101,103,104,105,106,107,108,109,110,371,372,367, + 373,374,460,117,111,112,113,114,115,457,124,118,459,120,576,122, + 123,131,125,126,134,128,136,130,138,132,133,141,142,143,378,145, + 139,140,463,464,381,151,152,153,154,155,156,157,158,159,160,387, + 388,163,389,469,166,385,161,162,393,171,165,390,167,168,169,170, + 178,172,173,174,175,176,177,185,179,187,181,182,190,184,585,186, + 194,188,189,542,198,192,193,201,195,196,197,401,199,200,208,202, + 203,586,205,403,207,215,209,210,211,212,213,214,222,223,217,546, + 219,220,221,229,579,224,225,226,227,228,236,230,409,232,233,234, + 235,243,517,238,239,247,241,249,412,244,414,246,478,248,256,250, + 251,252,417,254,255,479,264,258,259,260,419,262,263,271,265,266, + 587,268,269,270,278,272,273,274,275,276,277,285,279,280,281,282, + 283,284,425,286,488,519,289,290,588,292,522,294,589,590,524,298, + 490,300,301,527,310,491,550,306,307,308,309,434,311,312,438,314, + 315,316,317,318,319,320,321,322,323,591,531,592,327,328,329,330, + 331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346, + 347,348,349,350,351,352,353,354,4,355,356,357,0,2,3,4, + 355,5,7,8,9,10,11,358,12,13,14,15,16,18,359,19, + 20,21,22,23,46,360,26,27,28,29,30,53,32,55,34,35, + 36,37,60,361,40,63,64,65,66,67,68,69,70,71,72,73, + 74,75,54,363,78,79,80,81,82,364,84,85,86,87,88,89, + 90,91,92,93,94,95,96,97,98,99,77,101,102,96,97,98, + 99,100,101,103,104,105,106,107,108,109,110,83,455,367,368,369, + 116,117,370,365,366,121,456,457,124,458,459,371,372,129,373,131, + 460,375,111,112,113,114,138,461,376,141,142,120,378,145,123,377, + 125,126,381,151,152,153,154,155,156,157,158,159,160,462,139,163, + 463,464,166,144,382,465,466,171,149,390,391,392,467,387,388,468, + 180,469,470,183,161,162,393,187,165,395,167,168,169,170,194,172, + 173,174,175,176,177,201,179,471,181,182,206,184,208,186,472,188, + 189,403,473,215,193,402,195,196,197,405,222,200,474,202,203,475, + 205,229,207,231,209,210,211,212,236,214,406,476,217,477,219,220, + 221,408,411,224,225,226,412,228,410,230,478,232,233,257,235,413, + 417,238,239,479,264,480,481,244,419,246,482,271,483,250,251,252, + 484,254,278,485,420,260,259,262,263,285,486,422,265,266,487,268, + 425,270,488,272,273,274,275,299,277,489,279,280,281,282,490,284, + 427,286,310,491,289,313,492,433,493,294,435,436,292,298,300,494, + 301,495,496,39,497,306,307,308,309,498,438,312,439,314,315,316, + 317,320,319,440,321,322,323,499,327,328,443,500,329,330,331,334, + 333,446,335,447,339,338,341,340,449,344,343,346,347,348,349,450, + 451,501,351,352,4,354,452,357,1,2,0,4,355,356,357,5, + 9,10,11,358,453,502,12,13,14,18,16,454,503,19,20,21, + 25,23,24,360,26,27,28,504,30,31,32,505,34,35,39,37, + 38,361,40,41,42,46,47,48,49,50,51,506,53,507,52,508, + 54,58,59,60,61,362,63,64,65,66,67,68,69,70,71,72, + 73,74,75,76,363,78,79,77,81,82,364,84,85,83,87,88, + 89,90,91,92,93,94,95,96,97,98,99,100,101,102,96,97, + 98,99,100,101,103,104,105,106,107,108,109,110,374,460,375,111, + 112,113,114,115,119,376,118,456,120,124,122,123,377,125,126,593, + 131,594,130,379,132,133,137,138,461,511,141,142,140,463,145,146, + 144,382,380,381,151,152,153,154,155,156,157,158,159,389,469,384, + 163,161,162,166,385,165,395,167,171,168,390,391,172,173,174,175, + 176,180,595,179,183,181,182,396,187,596,186,190,188,189,397,194, + 192,193,402,195,196,197,201,199,200,204,202,203,578,208,544,207, + 586,209,210,211,215,213,214,406,404,217,405,222,220,221,408,597, + 224,225,229,227,228,410,230,598,232,236,234,235,413,240,238,239, + 243,241,245,411,244,580,246,412,248,414,250,251,252,256,257,255, + 547,260,258,262,263,264,480,486,422,265,266,482,271,269,270,587, + 272,273,274,278,276,277,549,279,280,281,285,283,284,427,286,487, + 291,425,290,488,519,520,294,588,292,522,298,300,590,301,599,490, + 525,526,306,307,308,309,313,311,312,439,314,315,316,320,318,319, + 440,321,322,323,327,328,444,443,584,329,330,334,563,333,446,335, + 339,448,341,342,340,344,345,346,347,348,349,350,450,501,600,351, + 352,353,354,452,601,602,603,0,604,605,606,607,5,608,11,358, + 453,502,534,12,13,18,15,16,503,536,19,20,25,22,23,24, + 360,26,27,504,29,30,31,32,609,34,46,36,37,38,361,40, + 41,53,507,55,56,575,58,59,60,61,362,63,64,54,66,67, + 68,69,70,71,72,73,74,75,76,363,78,79,80,81,82,364, + 84,85,86,87,77,89,90,91,92,93,83,95,96,97,98,99, + 100,101,102,96,97,98,99,100,101,103,104,105,106,107,108,109, + 110,610,455,367,368,371,372,117,373,374,460,375,111,112,124,114, + 115,127,376,118,593,131,594,122,123,377,125,126,138,128,511,141, + 142,132,133,145,146,147,539,462,139,151,152,153,154,155,156,157, + 158,159,149,150,384,163,164,387,166,468,389,469,466,171,161,390, + 393,392,165,395,167,168,180,170,470,172,173,174,175,187,177,513, + 179,191,181,182,194,184,611,186,198,188,189,201,400,192,193,402, + 195,196,208,544,199,200,514,202,203,215,205,545,207,404,209,210, + 211,212,213,214,406,475,217,229,219,220,221,408,598,224,236,226, + 227,228,410,230,242,243,233,234,235,413,580,238,412,518,241,253, + 478,244,256,257,416,248,417,250,251,252,264,254,255,260,420,262, + 263,271,483,612,486,422,265,266,278,268,269,270,423,272,273,285, + 275,276,277,613,279,280,425,282,283,284,427,286,588,299,289,290, + 302,303,304,294,292,428,429,298,300,431,301,313,492,433,493,306, + 307,308,39,614,311,312,439,314,315,438,317,318,319,440,321,322, + 320,615,616,617,443,441,329,327,331,444,333,446,335,445,334,338, + 336,340,447,339,343,341,342,449,344,450,346,347,351,352,353,354, + 452,532,533,4,0,356,357,1,2,5,11,358,453,502,534,535, + 12,18,14,15,16,536,537,19,46,21,22,23,24,360,26,53, + 28,29,30,31,32,59,60,35,36,63,64,65,66,67,68,69, + 70,71,72,73,74,75,76,363,52,79,54,81,82,364,84,85, + 86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101, + 102,96,97,98,99,100,101,103,104,105,106,107,108,109,110,83, + 455,367,368,369,116,117,370,119,538,121,365,366,124,458,459,127, + 576,129,371,131,594,373,374,460,375,111,138,113,114,141,142,376, + 118,145,120,147,122,123,377,151,152,153,154,155,156,157,158,159, + 160,383,384,163,462,139,166,463,464,465,144,171,541,390,148,149, + 150,577,178,394,180,388,468,389,469,185,396,187,162,393,190,165, + 395,167,168,169,170,542,172,173,174,175,176,177,204,179,206,181, + 208,544,184,586,186,403,188,215,216,545,192,193,402,195,222,197, + 474,199,200,475,202,229,579,205,618,207,598,209,236,211,212,213, + 214,406,242,243,517,219,220,221,408,249,412,225,226,227,228,410, + 230,257,232,233,234,235,413,479,264,239,481,241,419,619,244,271, + 246,612,248,421,250,251,278,485,254,260,423,262,263,285,424,287, + 288,486,422,265,425,426,268,269,270,521,272,299,274,275,276,277, + 304,279,490,281,282,283,284,427,286,313,492,289,290,434,435,436, + 292,620,621,494,298,300,496,504,622,623,624,625,306,307,39,309, + 626,311,312,439,314,438,316,317,318,319,440,321,320,323,627,628, + 629,443,630,327,330,331,500,333,446,335,334,563,338,337,340,339, + 448,341,342,449,344,345,346,347,348,351,352,353,354,452,533,4, + 355,0,357,1,2,3,5,564,565,566,567,568,569,18,13,14, + 15,16,537,570,25,20,21,22,23,24,360,504,27,28,29,30, + 31,32,39,34,35,36,37,38,361,46,41,42,49,50,51,506, + 53,507,55,56,575,52,508,60,61,362,63,64,65,66,67,68, + 69,70,71,72,73,74,75,76,363,78,79,80,81,82,364,77, + 85,86,87,88,89,83,91,92,93,94,95,96,97,98,99,100, + 101,102,96,97,98,99,100,101,103,104,105,106,107,108,109,110, + 371,372,367,373,374,460,117,111,112,113,114,115,457,124,118,459, + 120,576,122,123,131,125,126,134,128,136,130,138,132,133,141,142, + 143,378,145,139,140,463,464,381,151,152,153,154,155,156,157,158, + 159,160,387,388,163,389,469,166,385,161,162,393,171,165,390,167, + 168,169,170,178,172,173,174,175,176,177,185,179,187,181,182,190, + 184,585,186,194,188,189,542,198,192,193,201,195,196,197,401,199, + 200,208,202,203,586,205,403,207,215,209,210,211,212,213,214,222, + 223,217,546,219,220,221,229,579,224,225,226,227,228,236,230,409, + 232,233,234,235,243,517,238,239,247,241,249,412,244,414,246,478, + 248,256,250,251,252,417,254,255,479,264,258,259,260,419,262,263, + 271,265,266,587,268,269,270,278,272,273,274,275,276,277,285,279, + 280,281,282,283,284,425,286,488,519,289,290,588,292,522,294,589, + 590,524,298,490,300,301,527,310,491,550,306,307,308,309,434,311, + 312,438,314,315,316,317,318,319,320,321,322,323,591,531,592,327, + 328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343, + 344,345,346,347,348,349,350,351,352,353,354,4,355,356,357,0, + 2,3,4,355,5,7,8,9,10,11,358,12,13,14,15,16, + 18,359,19,20,21,22,23,25,360,26,27,28,29,30,46,32, + 48,34,35,36,37,53,361,40,41,42,58,59,60,61,362,63, + 64,65,66,67,68,54,70,71,72,73,74,75,76,363,78,79, + 80,81,82,364,84,85,86,87,88,89,90,91,77,93,94,95, + 96,97,83,99,100,101,102,96,97,98,99,100,101,103,104,105, + 106,107,108,109,110,365,366,367,368,369,116,117,370,371,372,121, + 373,374,124,375,111,112,113,114,115,131,376,118,134,120,136,122, + 138,377,125,141,142,128,378,145,379,132,133,380,381,151,152,153, + 154,155,156,157,158,159,382,383,384,163,149,150,166,385,386,387, + 388,171,389,390,391,392,161,162,393,394,180,395,167,168,169,170, + 396,187,173,174,175,176,177,397,194,398,181,182,198,184,399,201, + 400,188,189,401,206,192,208,402,195,196,197,403,199,215,216,202, + 203,404,205,405,222,223,209,210,211,212,213,229,406,231,217,407, + 219,220,236,408,409,224,225,226,227,243,410,230,411,232,233,234, + 412,413,414,238,239,415,241,257,416,244,417,246,418,248,264,250, + 251,252,419,254,255,271,420,258,260,421,262,263,278,422,265,266, + 423,268,269,285,424,272,273,274,275,276,425,426,279,280,281,282, + 283,299,427,286,302,303,289,290,292,428,429,294,430,431,432,298, + 300,433,301,434,435,436,39,306,307,308,309,437,311,438,439,314, + 315,316,317,318,320,440,321,322,323,441,442,327,443,444,329,330, + 331,445,334,446,335,337,447,338,448,341,342,449,344,345,346,347, + 348,450,350,451,351,352,353,4,452,356,357,1,0,3,4,355, + 356,5,8,9,10,11,358,453,12,13,14,15,18,359,454,19, + 20,21,22,25,24,360,26,27,28,29,504,31,32,631,34,35, + 36,39,38,361,40,41,42,45,438,632,633,634,635,636,637,46, + 52,508,54,50,51,57,53,507,55,56,62,58,59,60,61,362, + 63,64,65,66,67,68,69,70,71,77,73,74,75,76,363,83, + 79,80,81,82,364,84,85,86,87,88,89,90,91,92,93,94, + 95,96,97,98,99,100,101,102,96,97,98,99,100,101,103,104, + 105,106,107,108,109,110,114,376,118,368,120,116,117,123,377,125, + 126,456,128,124,130,379,132,133,129,593,131,594,462,139,140,463, + 464,138,144,382,141,142,148,149,145,146,147,539,387,388,151,152, + 153,154,155,156,157,158,159,165,395,167,163,168,170,166,172,173, + 174,175,171,177,390,179,392,181,182,178,184,180,186,470,188,189, + 185,396,187,193,402,195,196,197,397,194,200,611,202,203,543,205, + 201,207,471,209,210,211,212,208,214,406,586,217,403,219,220,221, + 408,218,224,225,226,222,228,410,230,597,232,233,229,235,413,618, + 238,239,516,236,237,409,244,240,246,242,243,517,250,251,252,580, + 254,412,518,420,260,259,262,263,257,486,422,265,266,418,268,264, + 270,481,272,273,274,275,271,277,612,279,280,281,282,278,284,427, + 286,423,638,289,285,424,287,288,294,487,291,292,298,300,295,301, + 297,639,299,640,306,307,308,309,305,490,312,439,314,315,316,317, + 320,319,440,321,322,323,641,327,328,443,500,329,330,331,334,333, + 446,335,447,339,338,341,340,449,344,343,346,347,348,349,450,451, + 501,351,352,4,354,452,357,1,2,0,4,355,356,357,5,9, + 10,11,358,453,502,12,13,14,18,16,454,503,19,20,21,25, + 23,24,360,26,27,28,504,30,31,32,505,34,35,46,37,38, + 361,40,41,42,53,507,55,56,575,58,59,60,61,52,63,54, + 65,66,67,68,69,70,71,72,73,74,75,76,363,78,79,80, + 81,82,364,84,85,86,77,88,89,90,91,92,83,94,95,96, + 97,98,99,100,101,102,96,97,98,99,100,101,103,104,105,106, + 107,108,109,110,610,455,367,371,372,116,117,374,460,375,111,112, + 113,114,115,459,376,118,129,120,131,122,123,377,125,126,137,138, + 461,130,141,142,133,378,145,146,147,462,139,140,151,152,153,154, + 155,156,157,158,159,150,383,384,163,387,388,166,389,469,465,466, + 171,162,390,391,165,395,167,168,169,180,595,172,173,174,175,176, + 187,596,179,190,181,182,397,194,398,186,542,188,189,399,201,192, + 193,402,195,196,197,208,199,200,586,202,203,473,215,216,207,218, + 209,210,211,222,213,214,406,597,217,642,229,220,221,408,407,224, + 225,236,227,228,410,230,477,232,243,234,235,413,247,238,239,412, + 241,414,253,244,415,246,257,248,547,250,251,252,479,264,255,481, + 260,258,262,263,271,483,486,422,265,266,581,278,269,270,549,272, + 273,274,285,276,277,288,279,280,281,425,283,284,427,286,521,588, + 299,290,489,302,303,294,305,292,428,298,300,430,301,432,313,492, + 433,306,307,308,309,438,311,312,439,314,315,316,320,318,319,440, + 321,322,323,327,328,444,443,584,329,330,334,563,333,446,335,339, + 448,341,342,340,344,345,346,347,348,349,350,450,501,600,351,352, + 353,354,452,601,602,603,0,604,605,606,607,5,608,11,358,453, + 502,534,12,13,18,15,16,503,536,19,20,25,22,23,24,360, + 26,27,46,29,30,31,32,51,34,53,36,37,38,361,40,41, + 60,61,362,63,64,65,66,67,68,69,52,71,54,73,74,75, + 76,363,78,79,80,81,82,364,84,85,86,87,88,89,90,91, + 92,93,94,95,77,97,98,99,100,101,102,96,97,98,99,100, + 101,103,104,105,106,107,108,109,110,83,455,538,368,365,366,117, + 370,119,509,121,456,371,124,458,373,374,460,375,111,131,113,114, + 115,135,376,118,138,120,511,141,142,377,125,145,146,128,539,130, + 379,151,152,153,154,155,156,157,158,159,463,464,384,163,382,540, + 166,148,149,150,466,171,541,390,388,468,389,469,178,394,180,162, + 393,183,165,395,167,168,169,170,190,172,173,174,175,176,177,542, + 179,543,181,201,400,184,204,186,206,188,208,544,472,192,193,402, + 195,215,197,545,199,200,515,202,222,223,205,546,207,475,209,229, + 211,212,213,214,406,516,236,237,219,220,221,408,242,243,225,226, + 227,228,410,230,412,232,233,234,235,413,256,257,239,547,241,261, + 418,244,264,246,481,248,419,250,251,271,483,254,260,421,262,263, + 278,485,548,549,486,422,265,285,424,268,269,270,487,272,425,274, + 275,276,277,521,279,299,281,282,283,284,427,286,490,525,289,290, + 310,491,550,292,551,552,553,298,300,554,504,555,556,557,558,306, + 307,39,309,559,311,312,439,314,438,316,317,318,319,440,321,320, + 323,560,561,562,443,499,327,330,331,500,333,446,335,334,563,338, + 337,340,339,448,341,342,449,344,345,346,347,348,351,352,353,354, + 452,533,4,355,0,357,1,2,3,5,564,565,566,567,568,569, + 18,13,14,15,16,537,570,25,20,21,22,23,24,360,504,27, + 28,29,30,31,32,39,34,35,36,37,38,361,438,41,42,571, + 572,573,574,46,47,48,49,50,52,508,53,507,55,57,575,58, + 59,60,62,362,63,64,65,66,67,68,69,70,71,72,73,74, + 75,77,363,78,79,80,81,83,364,84,85,86,87,88,89,90, + 91,92,93,94,95,96,97,98,99,100,101,102,96,97,98,99, + 100,101,103,104,105,106,107,108,109,110,112,113,114,115,369,376, + 117,370,120,509,122,123,377,124,126,459,128,576,130,379,131,133, + 510,134,135,136,462,138,140,463,141,142,144,382,145,146,148,149, + 150,381,151,152,153,154,155,156,157,158,159,161,162,393,163,165, + 395,166,168,169,170,466,171,173,390,175,176,177,577,179,394,180, + 182,470,184,512,186,396,187,189,513,190,192,193,402,194,196,197, + 542,199,200,399,201,203,471,205,401,207,578,208,210,211,212,213, + 214,406,215,217,545,219,220,221,408,222,224,225,226,227,228,410, + 229,579,232,233,234,235,413,236,238,239,476,241,477,242,243,517, + 246,411,248,580,250,412,252,414,260,255,262,263,257,259,547,417, + 261,486,422,265,266,481,268,269,270,482,271,273,274,275,276,277, + 581,278,280,281,282,283,284,427,285,424,287,289,290,487,291,292, + 294,582,295,296,298,300,299,301,489,302,303,304,306,490,308,309, + 527,311,312,439,313,315,316,317,318,319,440,320,322,323,583,324, + 325,443,327,329,330,331,584,333,446,335,563,336,338,447,340,448, + 341,343,449,344,345,346,347,348,349,351,352,353,354,452,4,355, + 356,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30, + 31,32,47,34,35,36,37,38,53,40,41,42,575,58,59,60, + 61,362,63,64,65,52,67,54,69,70,71,72,73,74,75,76, + 363,78,79,80,81,82,364,84,85,86,87,88,89,90,77,92, + 93,94,95,96,83,98,99,100,101,102,96,97,98,99,100,101, + 103,104,105,106,107,108,109,110,366,455,367,368,369,116,117,371, + 372,509,373,374,460,124,111,112,113,114,115,593,131,118,510,120, + 135,122,123,138,125,126,141,142,143,130,145,132,133,539,380,381, + 151,152,153,154,155,156,157,158,159,160,383,148,163,150,540,166, + 385,387,388,468,171,469,390,391,161,162,393,178,165,180,167,168, + 169,170,185,172,173,174,175,176,177,585,179,194,181,182,542,184, + 543,186,201,188,189,204,401,192,193,208,195,196,197,514,199,200, + 215,202,203,218,205,515,207,222,209,210,211,212,213,214,229,579, + 217,618,219,220,221,236,237,224,225,226,227,228,243,230,245,232, + 233,234,235,412,518,238,239,478,241,256,257,244,547,246,261,248, + 479,250,251,252,267,254,255,482,271,258,259,260,421,262,263,278, + 265,266,549,268,269,270,285,272,273,274,275,276,277,425,279,280, + 281,282,283,284,299,286,489,302,289,290,305,292,428,294,643,430, + 431,298,313,300,301,493,434,435,436,306,307,308,309,644,311,312, + 438,314,315,316,317,318,319,320,321,322,323,645,441,442,327,328, + 329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344, + 345,346,347,348,349,350,351,352,353,354,4,355,356,357,0,2, + 3,4,355,5,7,8,9,10,11,358,12,13,14,15,16,18, + 359,19,20,21,22,23,46,360,26,27,28,29,30,53,32,55, + 34,35,36,37,60,361,40,63,64,65,66,67,68,69,70,71, + 72,73,74,75,54,363,78,79,80,81,82,364,84,85,86,87, + 88,89,90,91,92,93,94,95,96,97,98,77,100,101,102,96, + 97,98,99,100,101,103,104,105,106,107,108,109,110,83,455,367, + 368,369,538,117,365,366,509,121,456,457,124,458,371,372,576,373, + 374,131,375,111,112,113,114,115,138,376,118,141,142,143,122,145, + 377,125,126,380,128,151,152,153,154,155,156,157,158,159,462,139, + 140,163,464,540,166,382,386,465,148,171,150,390,391,392,387,388, + 468,389,180,595,470,161,162,393,396,187,395,167,168,169,170,397, + 194,173,174,175,176,177,399,201,400,181,182,401,184,578,208,544, + 188,189,514,403,192,215,402,195,196,197,515,199,222,223,202,203, + 597,205,642,229,579,209,210,211,212,213,236,406,409,217,240,219, + 220,243,408,245,224,225,226,227,412,410,230,253,232,233,234,257, + 413,547,238,239,418,241,264,480,244,267,246,619,248,271,250,251, + 252,421,254,255,278,420,258,260,423,262,263,285,422,265,266,613, + 268,269,425,426,272,273,274,275,276,299,640,279,280,281,282,283, + 490,427,286,527,310,289,290,292,551,552,294,646,647,554,298,300, + 556,301,558,648,649,39,306,307,308,309,650,311,438,439,314,315, + 316,317,318,320,440,321,322,323,651,499,327,443,444,329,330,331, + 445,334,446,335,337,447,338,448,341,342,449,344,345,346,347,348, + 450,350,451,351,352,353,4,452,356,357,1,0,3,4,355,356, + 5,8,9,10,11,358,453,12,13,14,15,18,359,454,19,20, + 21,22,25,24,360,26,27,28,29,504,31,32,631,34,35,36, + 39,38,361,40,41,42,45,46,47,48,49,50,51,506,53,52, + 508,54,575,58,57,60,61,362,63,64,65,66,67,68,69,70, + 71,72,73,74,75,76,363,78,79,77,81,82,364,84,85,83, + 87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102, + 96,97,98,99,100,101,103,104,105,106,107,108,109,110,374,460, + 375,111,112,113,114,115,119,376,118,456,120,124,122,123,377,125, + 126,593,131,594,130,379,132,133,137,138,461,511,141,142,140,463, + 145,146,144,382,380,381,151,152,153,154,155,156,157,158,159,389, + 469,384,163,161,162,166,385,165,395,167,171,168,390,391,172,173, + 174,175,176,180,595,179,183,181,182,396,187,596,186,190,188,189, + 397,194,192,193,402,195,196,197,201,199,200,204,202,203,578,208, + 544,207,586,209,210,211,215,213,214,406,404,217,405,222,220,221, + 408,597,224,225,229,227,228,410,230,598,232,236,234,235,413,240, + 238,239,243,241,245,411,244,580,246,412,248,414,250,251,252,256, + 257,255,547,260,258,262,263,264,480,486,422,265,266,482,271,269, + 270,587,272,273,274,278,276,277,549,279,280,281,285,283,284,427, + 286,487,291,425,290,488,519,520,294,588,292,522,298,300,590,301, + 599,490,525,526,306,307,308,309,313,311,312,439,314,315,316,320, + 318,319,440,321,322,323,327,328,444,443,584,329,330,334,563,333, + 446,335,339,448,341,342,340,344,345,346,347,348,349,350,450,501, + 600,351,352,353,354,452,601,602,603,0,604,605,606,607,5,608, + 11,358,453,502,534,12,13,18,15,16,503,536,19,20,25,22, + 23,24,360,26,27,504,29,30,31,32,609,34,46,36,37,38, + 361,40,41,53,507,55,56,575,58,59,60,61,362,63,64,54, + 66,67,68,69,70,71,72,73,74,75,76,363,78,79,80,81, + 82,364,84,85,86,87,77,89,90,91,92,93,83,95,96,97, + 98,99,100,101,102,96,97,98,99,100,101,103,104,105,106,107, + 108,109,110,610,455,367,368,371,372,117,373,374,460,375,111,112, + 124,114,115,127,376,118,593,131,594,122,123,377,125,126,138,128, + 511,141,142,132,133,145,146,147,539,462,139,151,152,153,154,155, + 156,157,158,159,149,150,384,163,164,387,166,468,389,469,466,171, + 161,390,393,392,165,395,167,168,180,170,470,172,173,174,175,187, + 177,513,179,191,181,182,194,184,611,186,198,188,189,201,400,192, + 193,402,195,196,208,544,199,200,514,202,203,215,205,545,207,404, + 209,210,211,212,213,214,406,475,217,229,219,220,221,408,598,224, + 236,226,227,228,410,230,242,243,233,234,235,413,580,238,412,518, + 241,253,478,244,256,257,416,248,417,250,251,252,264,254,255,260, + 420,262,263,271,483,612,486,422,265,266,278,268,269,270,423,272, + 273,285,275,276,277,613,279,280,425,282,283,284,427,286,588,299, + 289,290,302,303,304,294,292,428,429,298,300,431,301,313,492,433, + 493,306,307,308,39,614,311,312,439,314,315,438,317,318,319,440, + 321,322,320,615,616,617,443,441,329,327,331,444,333,446,335,445, + 334,338,336,340,447,339,343,341,342,449,344,450,346,347,351,352, + 353,354,452,532,533,4,0,356,357,1,2,5,11,358,453,502, + 534,535,12,18,14,15,16,536,537,19,46,21,22,23,24,360, + 26,53,28,29,30,31,32,59,60,35,36,63,64,65,66,67, + 68,69,70,71,72,73,74,75,76,363,52,79,54,81,82,364, + 84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99, + 100,101,102,96,97,98,99,100,101,103,104,105,106,107,108,109, + 110,83,455,367,368,369,116,117,370,119,538,121,365,366,124,458, + 459,127,576,129,371,131,594,373,374,460,375,111,138,113,114,141, + 142,376,118,145,120,147,122,123,377,151,152,153,154,155,156,157, + 158,159,160,383,384,163,462,139,166,463,464,465,144,171,541,390, + 148,149,150,577,178,394,180,388,468,389,469,185,396,187,162,393, + 190,165,395,167,168,169,170,542,172,173,174,175,176,177,204,179, + 206,181,208,544,184,586,186,403,188,215,216,545,192,193,402,195, + 222,197,474,199,200,475,202,229,579,205,618,207,598,209,236,211, + 212,213,214,406,242,243,517,219,220,221,408,249,412,225,226,227, + 228,410,230,257,232,233,234,235,413,479,264,239,481,241,419,619, + 244,271,246,612,248,421,250,251,278,485,254,260,423,262,263,285, + 424,287,288,486,422,265,425,426,268,269,270,521,272,299,274,275, + 276,277,304,279,490,281,282,283,284,427,286,313,492,289,290,434, + 435,436,292,620,621,494,298,300,496,504,622,623,624,625,306,307, + 39,309,626,311,312,439,314,438,316,317,318,319,440,321,320,323, + 627,628,629,443,630,327,330,331,500,333,446,335,334,563,338,337, + 340,339,448,341,342,449,344,345,346,347,348,351,352,353,354,452, + 533,4,355,0,357,1,2,3,5,564,565,566,567,568,569,18, + 13,14,15,16,537,570,25,20,21,22,23,24,360,504,27,28, + 29,30,31,32,39,34,35,36,37,38,361,46,41,42,49,50, + 51,506,53,507,55,56,575,52,508,60,61,362,63,64,65,66, + 67,68,69,70,71,72,73,74,75,76,363,78,79,80,81,82, + 77,84,85,86,87,88,83,90,91,92,93,94,95,96,97,98, + 99,100,101,102,96,97,98,99,100,101,103,104,105,106,107,108, + 109,110,372,455,373,374,460,375,117,112,113,114,115,456,376,124, + 458,120,127,122,123,377,131,126,510,128,135,130,379,138,133,511, + 141,142,143,462,145,140,463,464,380,144,151,152,153,154,155,156, + 157,158,159,387,388,468,163,469,540,166,161,162,393,466,171,395, + 390,168,169,170,577,172,173,180,175,176,177,512,179,396,187,182, + 513,184,191,186,397,194,189,611,542,192,193,402,201,196,197,204, + 199,200,578,208,203,472,205,514,207,473,215,210,211,212,213,214, + 406,222,217,474,219,220,221,408,229,224,225,226,227,228,410,236, + 237,232,233,234,235,413,243,238,239,411,241,580,249,412,518,246, + 253,248,415,250,257,252,547,260,255,262,263,264,259,481,267,419, + 486,422,265,266,612,268,269,270,581,278,273,274,275,276,277,652, + 285,280,281,282,283,284,427,425,426,488,289,290,521,588,292,294, + 523,589,590,298,300,490,301,526,527,310,491,306,313,308,309,493, + 311,312,439,438,315,316,317,318,319,440,320,322,323,530,591,531, + 443,327,329,330,331,584,333,446,335,563,336,338,447,340,448,341, + 343,449,344,345,346,347,348,349,351,352,353,354,452,4,355,356, + 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, + 32,47,34,35,36,37,38,53,40,41,42,575,58,59,60,61, + 362,63,64,65,52,67,54,69,70,71,72,73,74,75,76,363, + 78,79,80,81,82,364,84,85,86,87,88,89,90,91,77,93, + 94,95,96,97,83,99,100,101,102,96,97,98,99,100,101,103, + 104,105,106,107,108,109,110,365,366,367,368,369,116,117,370,371, + 372,121,373,374,124,375,111,112,113,114,115,131,376,118,134,120, + 136,122,138,377,125,141,142,128,378,145,379,132,133,380,381,151, + 152,153,154,155,156,157,158,159,382,383,384,163,149,150,166,385, + 386,387,388,171,389,390,391,392,161,162,393,394,180,395,167,168, + 169,170,396,187,173,174,175,176,177,397,194,398,181,182,198,184, + 399,201,400,188,189,401,206,192,208,402,195,196,197,403,199,215, + 216,202,203,404,205,405,222,223,209,210,211,212,213,229,406,231, + 217,407,219,220,236,408,409,224,225,226,227,243,410,230,411,232, + 233,234,412,413,414,238,239,415,241,257,416,244,417,246,418,248, + 264,250,251,252,419,254,255,271,420,258,260,421,262,263,278,422, + 265,266,423,268,269,285,424,272,273,274,275,276,425,426,279,280, + 281,282,283,299,427,286,302,303,289,290,292,428,429,294,430,431, + 432,298,300,433,301,434,435,436,39,306,307,308,309,437,311,438, + 439,314,315,316,317,318,320,440,321,322,323,441,442,327,443,444, + 329,330,331,445,334,446,335,337,447,338,448,341,342,449,344,345, + 346,347,348,450,350,451,351,352,353,4,452,356,357,1,0,3, + 4,355,356,5,8,9,10,11,358,453,12,13,14,15,18,359, + 454,19,20,21,22,25,24,360,26,27,28,29,504,31,32,631, + 34,35,36,39,38,361,40,41,42,45,46,47,48,49,50,51, + 506,53,52,508,54,575,58,57,60,61,362,63,64,65,66,67, + 68,69,70,71,72,73,74,75,76,363,78,77,80,81,82,364, + 84,83,86,87,88,89,90,91,92,93,94,95,96,97,98,99, + 100,101,102,96,97,98,99,100,101,103,104,105,106,107,108,109, + 110,460,375,111,112,113,114,117,370,376,118,121,120,457,124,123, + 377,125,126,129,128,131,130,379,132,133,136,137,138,461,462,141, + 142,463,464,145,144,382,539,380,148,151,152,153,154,155,156,157, + 158,159,469,383,384,163,162,393,166,165,395,167,168,171,170,390, + 172,173,174,175,176,177,180,179,470,181,182,185,184,187,186,513, + 188,189,585,397,194,193,402,195,196,197,399,201,200,471,202,203, + 206,205,208,207,472,209,210,211,212,215,214,406,218,217,515,219, + 220,221,408,546,224,225,226,229,228,410,230,407,232,233,236,235, + 413,476,238,239,242,243,517,245,244,247,246,249,412,518,250,251, + 252,415,254,257,416,420,260,259,262,263,264,486,422,265,266,619, + 268,271,270,612,272,273,274,275,278,277,548,279,280,281,282,285, + 284,427,286,613,487,289,425,426,488,519,294,521,588,292,298,300, + 589,301,524,599,490,525,306,307,308,309,550,313,312,439,314,315, + 316,317,320,319,440,321,322,323,326,327,328,443,500,329,330,331, + 334,333,446,335,447,339,338,341,340,449,344,343,346,347,348,349, + 450,451,501,351,352,4,354,452,357,1,2,0,4,355,356,357, + 5,9,10,11,358,453,502,12,13,14,18,16,454,503,19,20, + 21,25,23,24,360,26,27,28,504,30,31,32,505,34,35,46, + 37,38,361,40,41,42,53,507,55,56,575,58,59,60,61,52, + 63,54,65,66,67,68,69,70,71,72,73,74,75,76,363,78, + 79,80,81,82,364,84,85,86,77,88,89,90,91,92,83,94, + 95,96,97,98,99,100,101,102,96,97,98,99,100,101,103,104, + 105,106,107,108,109,110,610,455,367,371,372,116,117,374,460,375, + 111,112,113,114,115,459,376,118,129,120,131,122,123,377,125,126, + 137,138,461,130,141,142,133,378,145,146,147,462,139,140,151,152, + 153,154,155,156,157,158,159,150,383,384,163,387,388,166,389,469, + 465,466,171,162,390,391,165,395,167,168,169,180,595,172,173,174, + 175,176,187,596,179,190,181,182,397,194,398,186,542,188,189,399, + 201,192,193,402,195,196,197,208,199,200,586,202,203,473,215,216, + 207,218,209,210,211,222,213,214,406,597,217,642,229,220,221,408, + 407,224,225,236,227,228,410,230,477,232,243,234,235,413,247,238, + 239,412,241,414,253,244,415,246,257,248,547,250,251,252,479,264, + 255,481,260,258,262,263,271,483,486,422,265,266,581,278,269,270, + 549,272,273,274,285,276,277,288,279,280,281,425,283,284,427,286, + 521,588,299,290,489,302,303,294,305,292,428,298,300,430,301,432, + 313,492,433,306,307,308,309,438,311,312,439,314,315,316,320,318, + 319,440,321,322,323,327,328,444,443,584,329,330,334,563,333,446, + 335,339,448,341,342,340,344,345,346,347,348,349,350,450,501,600, + 351,352,353,354,452,601,602,603,0,604,605,606,607,5,608,11, + 358,453,502,534,12,13,18,15,16,503,536,19,20,25,22,23, + 24,360,26,27,46,29,30,31,32,51,34,53,36,37,38,361, + 40,41,60,61,362,63,64,65,66,67,68,69,52,71,54,73, + 74,75,76,363,78,79,80,81,82,364,84,85,86,87,88,89, + 90,91,92,93,94,95,77,97,98,99,100,83,102,96,97,98, + 99,100,101,103,104,105,106,107,108,109,110,610,538,367,365,366, + 116,117,370,119,509,121,371,372,124,373,374,460,375,111,112,131, + 114,115,134,376,118,137,138,461,122,141,142,125,126,145,128,147, + 130,379,132,151,152,153,154,155,156,157,158,159,464,383,144,163, + 164,540,166,149,150,465,466,171,387,390,468,389,469,577,178,161, + 180,393,470,165,395,167,168,187,170,513,172,173,174,175,194,177, + 611,179,198,181,182,201,184,471,186,401,188,189,208,544,192,193, + 402,195,196,215,216,199,200,404,202,203,222,205,474,207,597,209, + 210,211,212,213,214,406,598,217,236,219,220,221,408,477,224,243, + 226,227,228,410,230,249,412,233,234,235,413,415,238,257,416,241, + 417,261,244,479,264,480,248,267,250,251,252,271,254,255,260,420, + 262,263,278,485,548,486,422,265,266,285,268,269,270,613,272,273, + 425,275,276,277,520,279,280,299,282,283,284,427,286,305,490,289, + 290,527,310,491,294,292,551,552,298,300,647,301,504,555,556,557, + 306,307,308,39,497,311,312,439,314,315,438,317,318,319,440,321, + 322,320,653,560,561,443,651,329,327,331,444,333,446,335,445,334, + 338,336,340,447,339,343,341,342,449,344,450,346,347,351,352,353, + 354,452,532,533,4,0,356,357,1,2,5,11,358,453,502,534, + 535,12,18,14,15,16,536,537,19,25,21,22,23,24,360,26, + 504,28,29,30,31,32,654,39,35,36,37,38,361,40,438,42, + 633,571,572,573,637,46,47,48,49,52,508,54,53,507,57,56, + 575,58,59,60,62,362,63,64,65,66,67,68,69,70,71,72, + 73,74,75,77,363,78,79,80,81,83,364,84,85,86,87,88, + 89,90,91,92,93,94,95,96,97,98,99,100,101,102,96,97, + 98,99,100,101,103,104,105,106,107,108,109,110,112,113,114,115, + 369,376,117,370,120,509,122,123,377,124,126,459,128,576,130,379, + 131,133,510,134,135,136,462,138,140,463,141,142,144,382,145,146, + 148,149,150,381,151,152,153,154,155,156,157,158,159,161,162,393, + 163,165,395,166,168,169,170,466,171,173,390,175,176,177,577,179, + 394,180,182,470,184,512,186,396,187,189,513,190,192,193,402,194, + 196,197,542,199,200,399,201,203,471,205,401,207,578,208,210,211, + 212,213,214,406,215,217,545,219,220,221,408,222,224,225,226,227, + 228,410,229,579,232,233,234,235,413,236,238,239,476,241,477,242, + 243,517,246,411,248,580,250,412,252,414,260,255,262,263,257,259, + 547,417,261,486,422,265,266,481,268,269,270,482,271,273,274,275, + 276,277,581,278,280,281,282,283,284,427,285,424,287,289,290,487, + 291,292,294,582,295,296,298,300,299,301,489,302,303,304,306,490, + 308,309,527,311,312,439,313,315,316,317,318,319,440,320,322,323, + 583,324,325,443,327,329,330,331,584,333,446,335,563,336,338,447, + 340,448,341,343,449,344,345,346,347,348,349,351,352,353,354,452, + 4,355,356,0,1,2,3,4,5,6,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28, + 29,30,31,32,47,34,35,36,37,38,53,40,41,42,575,58, + 59,60,61,362,63,64,65,52,67,54,69,70,71,72,73,74, + 75,76,363,78,79,80,81,82,364,84,85,86,87,88,89,90, + 77,92,93,94,95,96,83,98,99,100,101,102,96,97,98,99, + 100,101,103,104,105,106,107,108,109,110,366,455,367,368,369,116, + 117,371,372,509,373,374,460,124,111,112,113,114,115,593,131,118, + 510,120,135,122,123,138,125,126,141,142,143,130,145,132,133,539, + 380,381,151,152,153,154,155,156,157,158,159,160,383,148,163,150, + 540,166,385,387,388,468,171,469,390,391,161,162,393,178,165,180, + 167,168,169,170,185,172,173,174,175,176,177,585,179,194,181,182, + 542,184,543,186,201,188,189,204,401,192,193,208,195,196,197,514, + 199,200,215,202,203,218,205,515,207,222,209,210,211,212,213,214, + 229,579,217,618,219,220,221,236,237,224,225,226,227,228,243,230, + 245,232,233,234,235,412,518,238,239,478,241,256,257,244,547,246, + 261,248,479,250,251,252,267,254,255,482,271,258,259,260,421,262, + 263,278,265,266,549,268,269,270,285,272,273,274,275,276,277,425, + 279,280,281,282,283,284,299,286,489,302,289,290,305,292,428,294, + 643,430,431,298,313,300,301,493,434,435,436,306,307,308,309,644, + 311,312,438,314,315,316,317,318,319,320,321,322,323,645,441,442, + 327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342, + 343,344,345,346,347,348,349,350,351,352,353,354,4,355,356,357, + 0,2,3,4,355,5,7,8,9,10,11,358,12,13,14,15, + 16,18,359,19,20,21,22,23,46,360,26,27,28,29,30,53, + 32,55,34,35,36,37,60,361,40,63,64,65,66,67,68,69, + 70,71,72,73,74,75,54,363,78,79,80,81,82,364,84,85, + 86,87,88,89,90,91,92,93,94,95,96,97,98,77,100,101, + 102,96,97,98,99,100,101,103,104,105,106,107,108,109,110,83, + 455,367,368,369,538,117,365,366,509,121,456,457,124,458,371,372, + 576,373,374,131,375,111,112,113,114,115,138,376,118,141,142,143, + 122,145,377,125,126,380,128,151,152,153,154,155,156,157,158,159, + 462,139,140,163,464,540,166,382,386,465,148,171,150,390,391,392, + 387,388,468,389,180,595,470,161,162,393,396,187,395,167,168,169, + 170,397,194,173,174,175,176,177,399,201,400,181,182,401,184,578, + 208,544,188,189,514,403,192,215,402,195,196,197,515,199,222,223, + 202,203,597,205,642,229,579,209,210,211,212,213,236,406,409,217, + 240,219,220,243,408,245,224,225,226,227,412,410,230,253,232,233, + 234,257,413,547,238,239,418,241,264,480,244,267,246,619,248,271, + 250,251,252,421,254,255,278,420,258,260,423,262,263,285,422,265, + 266,613,268,269,425,426,272,273,274,275,276,299,640,279,280,281, + 282,283,490,427,286,527,310,289,290,292,551,552,294,646,647,554, + 298,300,556,301,558,648,649,39,306,307,308,309,650,311,438,439, + 314,315,316,317,318,320,440,321,322,323,651,499,327,443,444,329, + 330,331,445,334,446,335,337,447,338,448,341,342,449,344,345,346, + 347,348,450,350,451,351,352,353,4,452,356,357,1, +}; + +#endif diff --git a/gen/liturgy_of.h b/gen/liturgy_of.h new file mode 100644 index 0000000..b1e4b58 --- /dev/null +++ b/gen/liturgy_of.h @@ -0,0 +1,9731 @@ +/* generated by clectio-gen -- do not edit */ +#ifndef LITURGY_OF_H +#define LITURGY_OF_H + +#define EPOCH_Y 2025 +#define EPOCH_M 1 +#define EPOCH_D 1 +#define NDAYS 10957 + +static const char *const names[] = { + "Mary, Mother of God (Octave of Christmas)", + "Saints Basil the Great and Gregory Nazianzen, bishops and doctors", + "January 3", + "January 4", + "Second Sunday after the Nativity", + "The Epiphany of the Lord", + "Tuesday after the Epiphany", + "Wednesday after the Epiphany", + "Thursday after the Epiphany", + "Friday after the Epiphany", + "Saturday after the Epiphany", + "The Baptism of the Lord", + "Monday of the 1st Week in Ordinary Time", + "Tuesday of the 1st Week in Ordinary Time", + "Wednesday of the 1st Week in Ordinary Time", + "Thursday of the 1st Week in Ordinary Time", + "Saint Anthony of Egypt, abbot", + "Saturday of the 1st Week in Ordinary Time", + "2nd Sunday in Ordinary Time", + "Monday of the 2nd Week in Ordinary Time", + "Saint Agnes, virgin and martyr", + "Wednesday of the 2nd Week in Ordinary Time", + "Thursday of the 2nd Week in Ordinary Time", + "Saint Francis de Sales, bishop and doctor", + "The Conversion of Saint Paul, apostle", + "3rd Sunday in Ordinary Time", + "Monday of the 3rd Week in Ordinary Time", + "Saint Thomas Aquinas, priest and doctor", + "Wednesday of the 3rd Week in Ordinary Time", + "Thursday of the 3rd Week in Ordinary Time", + "Saint John Bosco, priest", + "Saturday of the 3rd Week in Ordinary Time", + "Presentation of the Lord", + "Monday of the 4th Week in Ordinary Time", + "Tuesday of the 4th Week in Ordinary Time", + "Saint Agatha, virgin and martyr", + "Saints Paul Miki and companions, martyrs", + "Friday of the 4th Week in Ordinary Time", + "Saturday of the 4th Week in Ordinary Time", + "5th Sunday in Ordinary Time", + "Saint Scholastica, virgin", + "Tuesday of the 5th Week in Ordinary Time", + "Wednesday of the 5th Week in Ordinary Time", + "Thursday of the 5th Week in Ordinary Time", + "Saints Cyril, monk, and Methodius, bishop", + "Saturday of the 5th Week in Ordinary Time", + "6th Sunday in Ordinary Time", + "Monday of the 6th Week in Ordinary Time", + "Tuesday of the 6th Week in Ordinary Time", + "Wednesday of the 6th Week in Ordinary Time", + "Thursday of the 6th Week in Ordinary Time", + "Friday of the 6th Week in Ordinary Time", + "Chair of Saint Peter, apostle", + "7th Sunday in Ordinary Time", + "Monday of the 7th Week in Ordinary Time", + "Tuesday of the 7th Week in Ordinary Time", + "Wednesday of the 7th Week in Ordinary Time", + "Thursday of the 7th Week in Ordinary Time", + "Friday of the 7th Week in Ordinary Time", + "Saturday of the 7th Week in Ordinary Time", + "8th Sunday in Ordinary Time", + "Monday of the 8th Week in Ordinary Time", + "Tuesday of the 8th Week in Ordinary Time", + "Ash Wednesday", + "Thursday after Ash Wednesday", + "Friday after Ash Wednesday", + "Saturday after Ash Wednesday", + "1st Sunday of Lent", + "Monday of the 1st Week of Lent", + "Tuesday of the 1st Week of Lent", + "Wednesday of the 1st Week of Lent", + "Thursday of the 1st Week of Lent", + "Friday of the 1st Week of Lent", + "Saturday of the 1st Week of Lent", + "2nd Sunday of Lent", + "Monday of the 2nd Week of Lent", + "Tuesday of the 2nd Week of Lent", + "Saint Joseph Husband of the Blessed Virgin Mary", + "Thursday of the 2nd Week of Lent", + "Friday of the 2nd Week of Lent", + "Saturday of the 2nd Week of Lent", + "3rd Sunday of Lent", + "Monday of the 3rd Week of Lent", + "Annunciation of the Lord", + "Wednesday of the 3rd Week of Lent", + "Thursday of the 3rd Week of Lent", + "Friday of the 3rd Week of Lent", + "Saturday of the 3rd Week of Lent", + "4th Sunday of Lent", + "Monday of the 4th Week of Lent", + "Tuesday of the 4th Week of Lent", + "Wednesday of the 4th Week of Lent", + "Thursday of the 4th Week of Lent", + "Friday of the 4th Week of Lent", + "Saturday of the 4th Week of Lent", + "5th Sunday of Lent", + "Monday of the 5th Week of Lent", + "Tuesday of the 5th Week of Lent", + "Wednesday of the 5th Week of Lent", + "Thursday of the 5th Week of Lent", + "Friday of the 5th Week of Lent", + "Saturday of the 5th Week of Lent", + "Palm Sunday", + "Monday of Holy Week", + "Tuesday of Holy Week", + "Wednesday of Holy Week", + "Holy Thursday", + "Good Friday", + "Holy Saturday", + "Easter Sunday", + "Monday in the Octave of Easter", + "Tuesday in the Octave of Easter", + "Wednesday in the Octave of Easter", + "Thursday in the Octave of Easter", + "Friday in the Octave of Easter", + "Saturday in the Octave of Easter", + "Sunday in the Octave of Easter", + "Monday of the 2nd Week of Easter", + "Saint Catherine of Siena, virgin and doctor of the Church", + "Wednesday of the 2nd Week of Easter", + "Thursday of the 2nd Week of Easter", + "Saint Athanasius, bishop and doctor", + "Saints Philip and James, Apostles", + "3rd Sunday of Easter", + "Monday of the 3rd Week of Easter", + "Tuesday of the 3rd Week of Easter", + "Wednesday of the 3rd Week of Easter", + "Thursday of the 3rd Week of Easter", + "Friday of the 3rd Week of Easter", + "Saturday of the 3rd Week of Easter", + "4th Sunday of Easter", + "Monday of the 4th Week of Easter", + "Tuesday of the 4th Week of Easter", + "Saint Matthias the Apostle", + "Thursday of the 4th Week of Easter", + "Friday of the 4th Week of Easter", + "Saturday of the 4th Week of Easter", + "5th Sunday of Easter", + "Monday of the 5th Week of Easter", + "Tuesday of the 5th Week of Easter", + "Wednesday of the 5th Week of Easter", + "Thursday of the 5th Week of Easter", + "Friday of the 5th Week of Easter", + "Saturday of the 5th Week of Easter", + "6th Sunday of Easter", + "Saint Philip Neri, priest", + "Tuesday of the 6th Week of Easter", + "Wednesday of the 6th Week of Easter", + "The Ascension of the Lord", + "Friday of the 6th Week of Easter", + "Visitation of the Blessed Virgin Mary", + "7th Sunday of Easter", + "Monday of the 7th Week of Easter", + "Saints Charles Lwanga and companions, martyrs", + "Wednesday of the 7th Week of Easter", + "Saint Boniface, bishop and martyr", + "Friday of the 7th Week of Easter", + "Saturday of the 7th Week of Easter", + "Pentecost Sunday", + "Mary, Mother of the Church", + "Tuesday of the 10th Week in Ordinary Time", + "Saint Barnabas the Apostle", + "Thursday of the 10th Week in Ordinary Time", + "Saint Anthony of Padua, priest and doctor", + "Saturday of the 10th Week in Ordinary Time", + "The Most Holy Trinity", + "Monday of the 11th Week in Ordinary Time", + "Tuesday of the 11th Week in Ordinary Time", + "Wednesday of the 11th Week in Ordinary Time", + "The Body and Blood of Christ", + "Friday of the 11th Week in Ordinary Time", + "Saint Aloysius Gonzaga, religious", + "12th Sunday in Ordinary Time", + "Monday of the 12th Week in Ordinary Time", + "Birth of Saint John the Baptist", + "Wednesday of the 12th Week in Ordinary Time", + "Thursday of the 12th Week in Ordinary Time", + "The Most Sacred Heart of Jesus", + "Saturday of the 12th Week in Ordinary Time", + "Saints Peter and Paul, Apostles", + "Monday of the 13th Week in Ordinary Time", + "Tuesday of the 13th Week in Ordinary Time", + "Wednesday of the 13th Week in Ordinary Time", + "Saint Thomas the Apostle", + "Friday of the 13th Week in Ordinary Time", + "Saturday of the 13th Week in Ordinary Time", + "14th Sunday in Ordinary Time", + "Monday of the 14th Week in Ordinary Time", + "Tuesday of the 14th Week in Ordinary Time", + "Wednesday of the 14th Week in Ordinary Time", + "Thursday of the 14th Week in Ordinary Time", + "Saint Benedict, abbot", + "Saturday of the 14th Week in Ordinary Time", + "15th Sunday in Ordinary Time", + "Monday of the 15th Week in Ordinary Time", + "Saint Bonaventure, bishop and doctor", + "Wednesday of the 15th Week in Ordinary Time", + "Thursday of the 15th Week in Ordinary Time", + "Friday of the 15th Week in Ordinary Time", + "Saturday of the 15th Week in Ordinary Time", + "16th Sunday in Ordinary Time", + "Monday of the 16th Week in Ordinary Time", + "Saint Mary Magdalene", + "Wednesday of the 16th Week in Ordinary Time", + "Thursday of the 16th Week in Ordinary Time", + "Saint James, apostle", + "Saints Joachim and Anne", + "17th Sunday in Ordinary Time", + "Monday of the 17th Week in Ordinary Time", + "Saint Martha", + "Wednesday of the 17th Week in Ordinary Time", + "Saint Ignatius of Loyola, priest", + "Saint Alphonsus Maria de Liguori, bishop and doctor of the Church", + "Saturday of the 17th Week in Ordinary Time", + "18th Sunday in Ordinary Time", + "Saint Jean Vianney (the Curé of Ars), priest", + "Tuesday of the 18th Week in Ordinary Time", + "Transfiguration of the Lord", + "Thursday of the 18th Week in Ordinary Time", + "Saint Dominic, priest", + "Saturday of the 18th Week in Ordinary Time", + "19th Sunday in Ordinary Time", + "Saint Clare, virgin", + "Tuesday of the 19th Week in Ordinary Time", + "Wednesday of the 19th Week in Ordinary Time", + "Saint Maximilian Mary Kolbe, priest and martyr", + "Assumption of the Blessed Virgin Mary", + "Saturday of the 19th Week in Ordinary Time", + "20th Sunday in Ordinary Time", + "Monday of the 20th Week in Ordinary Time", + "Tuesday of the 20th Week in Ordinary Time", + "Saint Bernard of Clairvaux, abbot and doctor of the Church", + "Saint Pius X, pope", + "Queenship of Blessed Virgin Mary", + "Saturday of the 20th Week in Ordinary Time", + "21st Sunday in Ordinary Time", + "Monday of the 21st Week in Ordinary Time", + "Tuesday of the 21st Week in Ordinary Time", + "Saint Monica", + "Saint Augustine of Hippo, bishop and doctor of the Church", + "The Beheading of Saint John the Baptist, martyr", + "Saturday of the 21st Week in Ordinary Time", + "22nd Sunday in Ordinary Time", + "Monday of the 22nd Week in Ordinary Time", + "Tuesday of the 22nd Week in Ordinary Time", + "Saint Gregory the Great, pope and doctor", + "Thursday of the 22nd Week in Ordinary Time", + "Friday of the 22nd Week in Ordinary Time", + "Saturday of the 22nd Week in Ordinary Time", + "23rd Sunday in Ordinary Time", + "Birth of the Blessed Virgin Mary", + "Tuesday of the 23rd Week in Ordinary Time", + "Wednesday of the 23rd Week in Ordinary Time", + "Thursday of the 23rd Week in Ordinary Time", + "Friday of the 23rd Week in Ordinary Time", + "Saint John Chrysostom, bishop and doctor", + "Triumph of the Holy Cross", + "Our Lady of Sorrows", + "Saints Cornelius, pope, and Cyprian, bishop, martyrs", + "Wednesday of the 24th Week in Ordinary Time", + "Thursday of the 24th Week in Ordinary Time", + "Friday of the 24th Week in Ordinary Time", + "Saint Andrew Kim Taegon, priest, and Paul Chong Hasang and companions, martyrs", + "25th Sunday in Ordinary Time", + "Monday of the 25th Week in Ordinary Time", + "Saint Pio of Pietrelcina (Padre Pio), priest", + "Wednesday of the 25th Week in Ordinary Time", + "Thursday of the 25th Week in Ordinary Time", + "Friday of the 25th Week in Ordinary Time", + "Saint Vincent de Paul, priest", + "26th Sunday in Ordinary Time", + "Saints Michael, Gabriel and Raphael, Archangels", + "Saint Jerome, priest and doctor", + "Saint Thérèse of the Child Jesus, virgin and doctor", + "Guardian Angels", + "Friday of the 26th Week in Ordinary Time", + "Saint Francis of Assisi", + "27th Sunday in Ordinary Time", + "Monday of the 27th Week in Ordinary Time", + "Our Lady of the Rosary", + "Wednesday of the 27th Week in Ordinary Time", + "Thursday of the 27th Week in Ordinary Time", + "Friday of the 27th Week in Ordinary Time", + "Saturday of the 27th Week in Ordinary Time", + "28th Sunday in Ordinary Time", + "Monday of the 28th Week in Ordinary Time", + "Tuesday of the 28th Week in Ordinary Time", + "Saint Teresa of Jesus, virgin and doctor", + "Thursday of the 28th Week in Ordinary Time", + "Saint Ignatius of Antioch, bishop and martyr", + "Saint Luke the Evangelist", + "29th Sunday in Ordinary Time", + "Monday of the 29th Week in Ordinary Time", + "Tuesday of the 29th Week in Ordinary Time", + "Wednesday of the 29th Week in Ordinary Time", + "Thursday of the 29th Week in Ordinary Time", + "Friday of the 29th Week in Ordinary Time", + "Saturday of the 29th Week in Ordinary Time", + "30th Sunday in Ordinary Time", + "Monday of the 30th Week in Ordinary Time", + "Saint Simon and Saint Jude, apostles", + "Wednesday of the 30th Week in Ordinary Time", + "Thursday of the 30th Week in Ordinary Time", + "Friday of the 30th Week in Ordinary Time", + "All Saints", + "All Souls", + "Monday of the 31st Week in Ordinary Time", + "Saint Charles Borromeo, bishop", + "Wednesday of the 31st Week in Ordinary Time", + "Thursday of the 31st Week in Ordinary Time", + "Friday of the 31st Week in Ordinary Time", + "Saturday of the 31st Week in Ordinary Time", + "Dedication of the Lateran basilica", + "Saint Leo the Great, pope and doctor", + "Saint Martin of Tours, bishop", + "Saint Josaphat, bishop and martyr", + "Thursday of the 32nd Week in Ordinary Time", + "Friday of the 32nd Week in Ordinary Time", + "Saturday of the 32nd Week in Ordinary Time", + "33rd Sunday in Ordinary Time", + "Saint Elizabeth of Hungary, religious", + "Tuesday of the 33rd Week in Ordinary Time", + "Wednesday of the 33rd Week in Ordinary Time", + "Thursday of the 33rd Week in Ordinary Time", + "Presentation of the Blessed Virgin Mary", + "Saint Cecilia, virgin and martyr", + "Our Lord Jesus Christ, King of the Universe", + "Saint Andrew Dung Lac and his companions, martyrs", + "Tuesday of the 34th Week in Ordinary Time", + "Wednesday of the 34th Week in Ordinary Time", + "Thursday of the 34th Week in Ordinary Time", + "Friday of the 34th Week in Ordinary Time", + "Saturday of the 34th Week in Ordinary Time", + "1st Sunday of Advent", + "Monday of the 1st Week of Advent", + "Tuesday of the 1st Week of Advent", + "Saint Francis Xavier, priest", + "Thursday of the 1st Week of Advent", + "Friday of the 1st Week of Advent", + "Saturday of the 1st Week of Advent", + "2nd Sunday of Advent", + "Immaculate Conception of the Blessed Virgin Mary", + "Tuesday of the 2nd Week of Advent", + "Wednesday of the 2nd Week of Advent", + "Thursday of the 2nd Week of Advent", + "Friday of the 2nd Week of Advent", + "Saint Lucy of Syracuse, virgin and martyr", + "3rd Sunday of Advent", + "Monday of the 3rd Week of Advent", + "Tuesday of the 3rd Week of Advent", + "December 17", + "December 18", + "December 19", + "December 20", + "4th Sunday of Advent", + "December 22", + "December 23", + "December 24", + "The Nativity of the Lord", + "Saint Stephen, the first martyr", + "Saint John the Apostle and evangelist", + "The Holy Family of Jesus, Mary and Joseph", + "December 29", + "December 30", + "December 31", + "January 5", + "Friday of the 1st Week in Ordinary Time", + "Tuesday of the 2nd Week in Ordinary Time", + "Friday of the 2nd Week in Ordinary Time", + "Saints Timothy and Titus, bishops", + "Tuesday of the 3rd Week in Ordinary Time", + "Friday of the 3rd Week in Ordinary Time", + "4th Sunday in Ordinary Time", + "Wednesday of the 4th Week in Ordinary Time", + "Monday of the 5th Week in Ordinary Time", + "Friday of the 5th Week in Ordinary Time", + "Wednesday of the 2nd Week of Lent", + "Tuesday of the 3rd Week of Lent", + "Tuesday of the 2nd Week of Easter", + "Friday of the 2nd Week of Easter", + "Saturday of the 2nd Week of Easter", + "Saint Mark the Evangelist", + "Monday of the 6th Week of Easter", + "Saturday of the 6th Week of Easter", + "Tuesday of the 7th Week of Easter", + "Thursday of the 7th Week of Easter", + "Wednesday of the 8th Week in Ordinary Time", + "Thursday of the 8th Week in Ordinary Time", + "Friday of the 8th Week in Ordinary Time", + "Saturday of the 8th Week in Ordinary Time", + "Saint Justin Martyr", + "Tuesday of the 9th Week in Ordinary Time", + "Saturday of the 9th Week in Ordinary Time", + "10th Sunday in Ordinary Time", + "Monday of the 10th Week in Ordinary Time", + "Wednesday of the 10th Week in Ordinary Time", + "11th Sunday in Ordinary Time", + "Thursday of the 11th Week in Ordinary Time", + "Saturday of the 11th Week in Ordinary Time", + "Tuesday of the 12th Week in Ordinary Time", + "Friday of the 12th Week in Ordinary Time", + "13th Sunday in Ordinary Time", + "Thursday of the 13th Week in Ordinary Time", + "Friday of the 14th Week in Ordinary Time", + "Tuesday of the 15th Week in Ordinary Time", + "Tuesday of the 16th Week in Ordinary Time", + "Friday of the 16th Week in Ordinary Time", + "Tuesday of the 17th Week in Ordinary Time", + "Thursday of the 17th Week in Ordinary Time", + "Monday of the 18th Week in Ordinary Time", + "Wednesday of the 18th Week in Ordinary Time", + "Friday of the 18th Week in Ordinary Time", + "Saint Lawrence, deacon and martyr", + "Thursday of the 19th Week in Ordinary Time", + "Wednesday of the 20th Week in Ordinary Time", + "Saint Bartholomew the Apostle", + "Wednesday of the 21st Week in Ordinary Time", + "Wednesday of the 22nd Week in Ordinary Time", + "Monday of the 23rd Week in Ordinary Time", + "Saturday of the 23rd Week in Ordinary Time", + "24th Sunday in Ordinary Time", + "Saturday of the 24th Week in Ordinary Time", + "Saint Matthew the Evangelist, Apostle, Evangelist", + "Tuesday of the 25th Week in Ordinary Time", + "Saturday of the 25th Week in Ordinary Time", + "Monday of the 26th Week in Ordinary Time", + "Saturday of the 26th Week in Ordinary Time", + "Tuesday of the 27th Week in Ordinary Time", + "Wednesday of the 28th Week in Ordinary Time", + "Friday of the 28th Week in Ordinary Time", + "Tuesday of the 30th Week in Ordinary Time", + "Saturday of the 30th Week in Ordinary Time", + "Tuesday of the 31st Week in Ordinary Time", + "32nd Sunday in Ordinary Time", + "Monday of the 33rd Week in Ordinary Time", + "Friday of the 33rd Week in Ordinary Time", + "Monday of the 34th Week in Ordinary Time", + "Saint Andrew the Apostle", + "Wednesday of the 1st Week of Advent", + "Saint Ambrose, bishop and doctor", + "Saturday of the 2nd Week of Advent", + "Saint John of the Cross, priest and doctor", + "Wednesday of the 3rd Week of Advent", + "December 21", + "Holy Innocents, martyrs", + "Saturday of the 2nd Week in Ordinary Time", + "Thursday of the 4th Week in Ordinary Time", + "Saint John Baptist de la Salle, priest", + "Wednesday of the 4th Week of Easter", + "9th Sunday in Ordinary Time", + "Wednesday of the 9th Week in Ordinary Time", + "Saint Irenaeus, bishop and martyr", + "Saturday of the 16th Week in Ordinary Time", + "Friday of the 17th Week in Ordinary Time", + "Monday of the 19th Week in Ordinary Time", + "Friday of the 19th Week in Ordinary Time", + "Thursday of the 20th Week in Ordinary Time", + "Thursday of the 21st Week in Ordinary Time", + "Tuesday of the 26th Week in Ordinary Time", + "Saturday of the 28th Week in Ordinary Time", + "31st Sunday in Ordinary Time", + "Monday of the 32nd Week in Ordinary Time", + "Saturday of the 33rd Week in Ordinary Time", + "Monday of the 2nd Week of Advent", + "Thursday of the 3rd Week of Advent", + "Saturday of the 6th Week in Ordinary Time", + "Saint Polycarp, bishop and martyr", + "Thursday of the 9th Week in Ordinary Time", + "Friday of the 9th Week in Ordinary Time", + "Friday of the 10th Week in Ordinary Time", + "Friday of the 20th Week in Ordinary Time", + "Friday of the 21st Week in Ordinary Time", + "Monday of the 24th Week in Ordinary Time", + "Tuesday of the 24th Week in Ordinary Time", + "Thursday of the 26th Week in Ordinary Time", + "Tuesday of the 32nd Week in Ordinary Time", + "Wednesday of the 32nd Week in Ordinary Time", + "Saint Stanislaus, bishop and martyr", + "Monday of the 9th Week in Ordinary Time", + "The Immaculate Heart of the Blessed Virgin Mary", + "Wednesday of the 26th Week in Ordinary Time", + "Monday after the Epiphany", + "Friday of the 3rd Week of Advent", +}; + +static const char *const parts[] = { + "First Reading", + "Responsorial Psalm", + "Second Reading", + "Gospel", +}; + +static const char *const cites_en[] = { + "Num 6:22-27", + "Ps 67:2-3,5,6+8", + "Gal 4:4-7", + "Lk 2:16-21", + "1 Jn 2:22-28", + "Ps 98:1,2-3ab,3cd-4", + "Jn 1:19-28", + "1 Jn 2:29-3:6", + "Ps 98:1,3cd-4,5-6", + "Jn 1:29-34", + "1 Jn 3:7-10", + "Ps 98:1,7-8,9", + "Jn 1:35-42", + "Sir 24:1-4,12-16", + "Ps 147:12-13,14-15,19-20", + "Eph 1:3-6,15-18", + "Jn 1:1-18", + "Isa 60:1-6", + "Ps 72:1-2,7-8,10-11,12-13", + "Eph 3:2-3,5-6", + "Matt 2:1-12", + "1 Jn 4:7-10", + "Ps 72:1-2,3-4,7-8", + "Mk 6:34-44", + "1 Jn 4:11-18", + "Ps 72:1-2,10,12-13", + "Mk 6:45-52", + "1 Jn 4:19-5:4", + "Ps 72:1-2,14+15bc,17", + "Lk 4:14-22", + "1 Jn 5:5-13", + "Lk 5:12-16", + "1 Jn 5:14-21", + "Ps 149:1-2,3-4,5+6+9", + "Jn 3:22-30", + "Isa 40:1-5,9-11", + "Ps 104:1-2,3-4,24-25,27-28,29-30", + "Ti 2:11-14; 3:4-7", + "Lk 3:15-16,21-22", + "Heb 1:1-6", + "Ps 97:1+2,6+7,9", + "Mk 1:14-20", + "Heb 2:5-12", + "Ps 8:2ab+5,6-7,8-9", + "Mk 1:21-28", + "Heb 2:14-18", + "Ps 105:1-2,3-4,6-7,8-9", + "Mk 1:29-39", + "Heb 3:7-14", + "Ps 95:6-7,8-9,10-11", + "Mk 1:40-45", + "Heb 4:1-5,11", + "Ps 78:3+4bc,6-7,8", + "Mk 2:1-12", + "Heb 4:12-16", + "Ps 19:8,9,10,15", + "Mk 2:13-17", + "Isa 62:1-5", + "Ps 96:1-2,2-3,7-8,9-10", + "1 Cor 12:4-11", + "Jn 2:1-11", + "Heb 5:1-10", + "Ps 110:1,2,3,4", + "Mk 2:18-22", + "Heb 6:10-20", + "Ps 111:1-2,4-5,9+10", + "Mk 2:23-28", + "Heb 7:1-3,15-17", + "Mk 3:1-6", + "Heb 7:25-8:6", + "Ps 40:7-8,8-9,10,17", + "Mk 3:7-12", + "Heb 8:6-13", + "Ps 85:8+10,11-12,13-14", + "Mk 3:13-19", + "The Acts 22:3-16", + "Ps 117:1bc,2", + "Mk 16:15-18", + "Neh 8:2-4,5-6,8-10", + "1 Cor 12:12-30", + "Lk 1:1-4; 4:14-21", + "Heb 9:15,24-28", + "Ps 98:1,2-3ab,3cd-4,5-6", + "Mk 3:22-30", + "Heb 10:1-10", + "Ps 40:2+4ab,7-8,10,11", + "Mk 3:31-35", + "Heb 10:11-18", + "Mk 4:1-20", + "Heb 10:19-25", + "Ps 24:1-2,3-4ab,5-6", + "Mk 4:21-25", + "Heb 10:32-39", + "Ps 37:3-4,5-6,23-24,39-40", + "Mk 4:26-34", + "Heb 11:1-2,8-19", + "Lk 1:69-70,71-72,73-75", + "Mk 4:35-41", + "Mal 3:1-4", + "Ps 24:7,8,9,10", + "Lk 2:22-40", + "Heb 11:32-40", + "Ps 31:20,21,22,23,24", + "Mk 5:1-20", + "Heb 12:1-4", + "Ps 22:26-27,28+30,31-32", + "Mk 5:21-43", + "Heb 12:4-7,11-15", + "Ps 103:1-2,13-14,17-18", + "Mk 6:1-6", + "Heb 12:18-19,21-24", + "Ps 48:2-3ab,3cd-4,9,10-11", + "Mk 6:7-13", + "Heb 13:1-8", + "Ps 27:1,3,5,8-9abc", + "Mk 6:14-29", + "Heb 13:15-17,20-21", + "Ps 23:1-3,3-4,5,6", + "Mk 6:30-34", + "Isa 6:1-2,3-8", + "Ps 138:1-2,2-3,4-5,7-8", + "1 Cor 15:1-11", + "Lk 5:1-11", + "Gen 1:1-19", + "Ps 104:1-2,5-6,10+12,24+35", + "Mk 6:53-56", + "Gen 1:20-2:4", + "Ps 8:4-5,6-7,8-9", + "Mk 7:1-13", + "Gen 2:4-9,15-17", + "Ps 104:1-2,27-28,29bc-30", + "Mk 7:14-23", + "Gen 2:18-25", + "Ps 128:1-2,3,4-5", + "Mk 7:24-30", + "Gen 3:1-8", + "Ps 32:1-2,5,6,7", + "Mk 7:31-37", + "Gen 3:9-24", + "Ps 90:2,3-4abc,5-6,12-13", + "Mk 8:1-10", + "Jer 17:5-8", + "Ps 1:1-2,3,4+6", + "1 Cor 15:12,16-20", + "Lk 6:17,20-26", + "Gen 4:1-15,25", + "Ps 50:1+8,16bc-17,20-21", + "Mk 8:11-13", + "Gen 6:5-8; 7:1-5,10", + "Ps 29:1+2,3ac-4,3+9-10", + "Mk 8:14-21", + "Gen 8:6-13,20-22", + "Ps 116:12-13,14-15,18-19", + "Mk 8:22-26", + "Gen 9:1-13", + "Ps 102:16-18,19-21,29+22-23", + "Mk 8:27-33", + "Gen 11:1-9", + "Ps 33:10-11,12-13,14-15", + "Mk 8:34-9:1", + "1 Pet 5:1-4", + "Ps 23:1-3,4,5,6", + "Matt 16:13-19", + "1 Sam 26:2,7-9,12-13,22-23", + "Ps 103:1-2,3-4,8+10,12-13", + "1 Cor 15:45-49", + "Lk 6:27-38", + "Sir 1:1-10", + "Ps 93:1ab,1cd-2,5", + "Mk 9:14-29", + "Sir 2:1-11", + "Ps 37:3-4,18-19,27-28,39-40", + "Mk 9:30-37", + "Sir 4:11-19", + "Ps 119:165,168,171,172,174,175", + "Mk 9:38-40", + "Sir 5:1-8", + "Mk 9:41-50", + "Sir 6:5-17", + "Ps 119:12,16,18,27,34,35", + "Mk 10:1-12", + "Sir 17:1-15", + "Ps 103:13-14,15-16,17-18", + "Mk 10:13-16", + "Sir 27:5-8", + "Ps 92:2-3,13-14,15-16", + "1 Cor 15:54-58", + "Lk 6:39-45", + "Sir 17:20-24", + "Mk 10:17-27", + "Sir 35:1-12", + "Ps 50:5-6,7-8,14+23", + "Mk 10:28-31", + "Jl 2:12-18", + "Ps 51:3-4,5-6ab,12-13,14+17", + "Matt 6:1-6,16-18", + "Deut 30:15-20", + "Lk 9:22-25", + "Isa 58:1-9", + "Ps 51:3-4,5-6ab,18-19", + "Matt 9:14-15", + "Isa 58:9-14", + "Ps 86:1-2,3-4,5-6", + "Lk 5:27-32", + "Deut 26:4-10", + "Ps 91:1-2,10-11,12-13,14-15", + "Rom 10:8-13", + "Lk 4:1-13", + "Lev 19:1-2,11-18", + "Matt 25:31-46", + "Isa 55:10-11", + "Ps 34:4-5,6-7,16-17,18-19", + "Matt 6:7-15", + "Jon 3:1-10", + "Ps 51:3-4,12-13,18-19", + "Lk 11:29-32", + "Esth 14:1-13", + "Ps 138:1-2ab,2cde-3,7-8", + "Matt 7:7-12", + "Ezek 18:21-28", + "Ps 130:1-2,3-4,5-7,7bc-8", + "Matt 5:20-26", + "Deut 26:16-19", + "Ps 119:1-2,4-5,7-8", + "Matt 5:43-48", + "Gen 15:5-12,17-18", + "Ps 27:1,7-8,8-9,13-14", + "Phil 3:17-4:1", + "Lk 9:28-36", + "Dan 9:4-10", + "Ps 78:8,9,11+13", + "Lk 6:36-38", + "Isa 1:10,16-20", + "Ps 50:8-9,16bc-17,21+23", + "Matt 23:1-12", + "2 Sam 7:4-5,12-14,16", + "Ps 89:2-3,4-5,27+29", + "Rom 4:13,16-18,22", + "Matt 1:16,18-21,24", + "Jer 17:5-10", + "Lk 16:19-31", + "Gen 37:3-4,12-13,17-28", + "Ps 105:16-17,18-19,20-21", + "Matt 21:33-43,45-46", + "Mic 7:14-15,18-20", + "Ps 103:1-2,3-4,9-10,11-12", + "Lk 15:1-3,11-32", + "Ex 3:1-8,13-15", + "Ps 103:1-2,3-4,6-7,8+11", + "1 Cor 10:1-6,10-12", + "Lk 13:1-9", + "2 Kgs 5:1-15", + "Ps 42:2,3; 43:3,4", + "Lk 4:24-30", + "Isa 7:10-14; 8:10", + "Ps 40:7-8,8-9,10,11", + "Heb 10:4-10", + "Lk 1:26-38", + "Deut 4:1,5-9", + "Ps 147:12-13,15-16,19-20", + "Matt 5:17-19", + "Jer 7:23-28", + "Ps 95:1-2,6-7,8-9", + "Lk 11:14-23", + "Hos 14:2-10", + "Ps 81:6-8,8bc-9,10-11ab,14+17", + "Mk 12:28-34", + "Hos 6:1-6", + "Ps 51:3-4,18-19,20-21ab", + "Lk 18:9-14", + "Josh 5:9,10-12", + "Ps 34:2-3,4-5,6-7", + "2 Cor 5:17-21", + "Isa 65:17-21", + "Ps 30:2+4,5-6,11-12+13", + "Jn 4:43-54", + "Ezek 47:1-9,12", + "Ps 46:2-3,5-6,8-9", + "Jn 5:1-3,5-16", + "Isa 49:8-15", + "Ps 145:8-9,13cd-14,17-18", + "Jn 5:17-30", + "Ex 32:7-14", + "Ps 106:19-20,21-22,23", + "Jn 5:31-47", + "Wis 2:1,12-22", + "Ps 34:17-18,19-20,21+23", + "Jn 7:1-2,10,25-30", + "Jer 11:18-20", + "Ps 7:2-3,9bc-10,11-12", + "Jn 7:40-53", + "Isa 43:16-21", + "Ps 126:1-2,2-3,4-5,6", + "Phil 3:8-14", + "Jn 8:1-11", + "Dan 13:1-9,15-17,19-30,33-62", + "Num 21:4-9", + "Ps 102:2-3,16-18,19-21", + "Jn 8:21-30", + "Dan 3:14-20,91-92,95", + "Dan 3:52,53,54,55,56", + "Jn 8:31-42", + "Gen 17:3-9", + "Ps 105:4-5,6-7,8-9", + "Jn 8:51-59", + "Jer 20:10-13", + "Ps 18:2-3,3bc-4,5-6,7", + "Jn 10:31-42", + "Ezek 37:21-28", + "Jer 31:10,11-12abcd,13", + "Jn 11:45-56", + "Isa 50:4-7", + "Ps 22:8-9,17-18,19-20,23-24", + "Phil 2:6-11", + "Lk 23:1-49", + "Isa 42:1-7", + "Ps 27:1bcde,2,3,13-14", + "Jn 12:1-11", + "Isa 49:1-6", + "Ps 71:1-2,3-4,5-6,15,17", + "Jn 13:21-33,36-38", + "Isa 50:4-9", + "Ps 69:7-9,20-21,30,32-33", + "Mat 26:14-25", + "Isa 61:1-3,6,8-9", + "Ps 89:20-21,24,26", + "Lk 4:16-21", + "Isa 52:13-53:12", + "Ps 31:1,5,11ab,12,14-15,16,24", + "Jn 18:1-19:42", + "Gen 1:1-2:2", + "Ps 118:1-2,16-17,22-23", + "Gen 1:1,26-31", + "Mat 28:1-10", + "The Acts 10:34a,37-43", + "Col 3:1-4", + "Jn 20:1-9", + "Acts 2:14,22-32", + "Ps 16:1-2,5,7-8,9-10,11", + "Mat 28:8-15", + "Acts 2:36-41", + "Ps 33:4-5,18-19,20,22", + "Jn 20:11-18", + "Acts 3:1-10", + "Lk 24:13-35", + "Acts 3:11-26", + "Ps 8:1ab,4,5-6,7-8", + "Lk 24:35-48", + "Acts 4:1-12", + "Ps 118:1-2,4,22-24,25-27", + "Jn 21:1-14", + "Acts 4:13-21", + "Ps 118:1bc,14-15,16-18,19-21", + "Mk 16:9-15", + "The Acts 5:12-16", + "Ps 118:2-4,13-15,22-24", + "Rev 1:9-11,12-13,17-19", + "Jn 20:19-31", + "The Acts 4:23-31", + "Ps 2:1-3,4-7,7-9", + "Jn 3:1-8", + "The Acts 4:32-37", + "Jn 3:7-15", + "The Acts 5:17-26", + "Ps 34:2-3,4-5,6-7,8-9", + "Jn 3:16-21", + "The Acts 5:27-33", + "Ps 34:2+9,17-18,19-20", + "Jn 3:31-36", + "The Acts 5:34-42", + "Ps 27:1,4,13-14", + "Jn 6:1-15", + "1 Cor 15:1-8", + "Ps 19:2-3,4-5", + "Jn 14:6-14", + "The Acts 5:27-32,40b-41", + "Rev 5:11-14", + "Jn 21:1-19", + "The Acts 6:8-15", + "Ps 119:23-24,26-27,29-30", + "Jn 6:22-29", + "The Acts 7:51-8:1a", + "Ps 31:3cd-4,6+7+8,17+21ab", + "Jn 6:30-35", + "The Acts 8:1b-8", + "Ps 66:1-3,4-5,6-7", + "Jn 6:35-40", + "The Acts 8:26-40", + "Ps 66:8-9,16-17,20", + "Jn 6:44-51", + "The Acts 9:1-20", + "Ps 117:1,2", + "Jn 6:52-59", + "The Acts 9:31-42", + "Ps 116:12-13,14-15,16-17", + "Jn 6:60-69", + "The Acts 13:14,43-52", + "Ps 100:1-2,3,5", + "Rev 7:9,14-17", + "Jn 10:27-30", + "The Acts 11:1-18", + "Ps 42:2-3,3,4", + "Jn 10:1-10", + "The Acts 11:19-26", + "Ps 87:1-3,4-5,6-7", + "Jn 10:22-30", + "The Acts 1:15-17,20-26", + "Ps 113:1-2,3-4,5-6,7-8", + "Jn 15:9-17", + "The Acts 13:13-25", + "Ps 89:2-3,21-22,25+27", + "Jn 13:16-20", + "The Acts 13:26-33", + "Ps 2:6-7,8-9,10-11ab", + "Jn 14:1-6", + "The Acts 13:44-52", + "Jn 14:7-14", + "The Acts 14:21-27", + "Ps 145:8-9,10-11,12-13", + "Rev 21:1-5", + "Jn 13:31-33,34-35", + "The Acts 14:5-18", + "Ps 115:1-2,3-4,15-16", + "Jn 14:21-26", + "The Acts 14:19-28", + "Ps 145:10-11,12-13ab,21", + "Jn 14:27-31", + "The Acts 15:1-6", + "Ps 122:1-2,3-4ab,4cd-5", + "Jn 15:1-8", + "The Acts 15:7-21", + "Ps 96:1-2,2-3,10", + "Jn 15:9-11", + "The Acts 15:22-31", + "Ps 57:8-9,10+12", + "Jn 15:12-17", + "The Acts 16:1-10", + "Jn 15:18-21", + "The Acts 15:1-2,22-29", + "Rev 21:10-14,22-23", + "Jn 14:23-29", + "The Acts 16:11-15", + "Ps 149:1-2,3-4,5-6+9", + "Jn 15:26-16:4", + "The Acts 16:22-34", + "Jn 16:5-11", + "The Acts 17:15,22-18:1", + "Ps 148:1-2,11-12,13,14", + "Jn 16:12-15", + "The Acts 1:1-11", + "Ps 47:2-3,6-7,8-9", + "Heb 9:24-28; 10:19-23", + "Lk 24:46-53", + "The Acts 18:9-18", + "Ps 47:2-3,4-5,6-7", + "Jn 16:20-23", + "Zeph 3:14-18", + "Isa 12:2-3,4bcd,5-6", + "Lk 1:39-56", + "The Acts 7:55-60", + "Ps 97:1-2,6-7,9", + "Rev 22:12-14,16-17,20", + "Jn 17:20-26", + "The Acts 19:1-8", + "Ps 68:2-3ab,4-5acd,6-7ab", + "Jn 16:29-33", + "The Acts 20:17-27", + "Ps 68:10-11,20-21", + "Jn 17:1-11", + "The Acts 20:28-38", + "Ps 68:29-30,33-35,35bc-36ab", + "Jn 17:11-19", + "The Acts 22:30;23:6-11", + "Ps 16:1-2+5,7-8,9-10,11", + "The Acts 25:13b-21", + "Ps 103:1-2,11-12,19-20ab", + "Jn 21:15-19", + "The Acts 28:16-20,30-31", + "Ps 11:4,5+7", + "Jn 21:20-25", + "The Acts 2:1-11", + "Ps 104:1+24,29-30,31+34", + "Rom 8:8-17", + "Jn 14:15-16,23-26", + "Gen 3:9-15,20", + "Ps 87:1-2,3+5,6-7", + "Jn 19:25-34", + "2 Cor 1:18-22", + "Ps 119:129,130,131,132,133,135", + "Matt 5:13-16", + "The Acts 11:21b-26;13:1-3", + "2 Cor 3:15-4:1,3-6", + "Ps 85:9ab+10,11-12,13-14", + "2 Cor 4:7-15", + "Ps 116:10-11,15-16,17-18", + "Matt 5:27-32", + "2 Cor 5:14-21", + "Matt 5:33-37", + "Prov 8:22-31", + "Rom 5:1-5", + "2 Cor 6:1-10", + "Matt 5:38-42", + "2 Cor 8:1-9", + "Ps 146:2,5-6ab,6-7,8-9", + "2 Cor 9:6-11", + "Ps 112:1bc-2,3-4,9", + "Gen 14:18-20", + "1 Cor 11:23-26", + "Lk 9:11-17", + "2 Cor 11:18,21-30", + "Matt 6:19-23", + "2 Cor 12:1-10", + "Ps 34:8-9,10-11,12-13", + "Matt 6:24-34", + "Zech 12:10-11; 13:1", + "Ps 63:2,3-4,5-6,8-9", + "Gal 3:26-29", + "Lk 9:18-24", + "Gen 12:1-9", + "Ps 33:12-13,18-19,20+22", + "Matt 7:1-5", + "Ps 139:1-3,13-14ab,14-15", + "The Acts 13:22-26", + "Lk 1:57-66,80", + "Gen 15:1-12,17-18", + "Matt 7:15-20", + "Gen 16:1-12,15-16", + "Ps 106:1-2,3-4,4-5", + "Matt 7:21-29", + "Ezek 34:11-16", + "Rom 5:5-11", + "Lk 15:3-7", + "Gen 18:1-15", + "Lk 1:46-47,48-49,50+53,54-55", + "Matt 8:5-17", + "The Acts 12:1-11", + "2 Tim 4:6-8,17-18", + "Gen 18:16-33", + "Ps 103:1-2,3-4,8-9,10-11", + "Matt 8:18-22", + "Gen 19:15-29", + "Ps 26:2-3,9-10,11-12", + "Matt 8:23-27", + "Gen 21:5,8-20", + "Ps 34:7-8,10-11,12-13", + "Matt 8:28-34", + "Eph 2:19-22", + "Jn 20:24-29", + "Gen 23:1-4,19; 24:1-8,62-67", + "Matt 9:9-13", + "Gen 27:1-5,15-29", + "Ps 135:1-2,3-4,5-6", + "Matt 9:14-17", + "Isa 66:10-14", + "Ps 66:1-3,4-5,6-7,16+20", + "Gal 6:14-18", + "Lk 10:1-12,17-20", + "Gen 28:10-22", + "Ps 91:1-2,3-4,14-15ab", + "Matt 9:18-26", + "Gen 32:23-33", + "Ps 17:1,2-3,6-7ab,8+15", + "Matt 9:32-38", + "Gen 41:55-57; 42:5-7,17-24", + "Ps 33:2-3,10-11,18-19", + "Matt 10:1-7", + "Gen 44:18-21,23-29; 45:1-5", + "Matt 10:7-15", + "Gen 46:1-7,28-30", + "Matt 10:16-23", + "Gen 49:29-32; 50:15-26", + "Ps 105:1-2,3-4,6-7", + "Matt 10:24-33", + "Deut 30:10-14", + "Ps 69:14+17,30-31,33-34,36+37", + "Col 1:15-20", + "Lk 10:25-37", + "Ex 1:8-14,22", + "Ps 124:1-3,4-6,7-8", + "Matt 10:34-11:1", + "Ex 2:1-15", + "Ps 69:3,14,30-31,33-34", + "Matt 11:20-24", + "Ex 3:1-6,9-12", + "Ps 103:1-2,3-4,6-7", + "Matt 11:25-27", + "Ex 3:13-20", + "Ps 105:1+5,8-9,24-25,26-27", + "Matt 11:28-30", + "Ex 11:10-12:14", + "Ps 116:12-13,15+16bc,17-18", + "Matt 12:1-8", + "Ex 12:37-42", + "Ps 136:1+23-24,10-12,13-15", + "Matt 12:14-21", + "Gen 18:1-10", + "Ps 15:2-3,3-4,5", + "Col 1:24-28", + "Lk 10:38-42", + "Ex 14:5-18", + "Ex 15:1bc-2,3-4,5-6", + "Matt 12:38-42", + "Ex 14:21-15:1", + "Ex 15:8-9,10+12,17", + "Jn 20:1-2,11-18", + "Ex 16:1-5,9-15", + "Ps 78:18-19,23-24,25-26,27-28", + "Matt 13:1-9", + "Ex 19:1-2,9-11,16-20", + "Matt 13:10-17", + "Ps 126:1bc-2ab,2cd-3,4-5,6", + "Matt 20:20-28", + "Sir 44:1,10-15", + "Ps 132:11,13-14,17-18", + "Matt 13:16-17", + "Gen 18:20-32", + "Ps 138:1-2,2-3,6-7,7-8", + "Col 2:12-14", + "Lk 11:1-13", + "Ex 32:15-24,30-34", + "Matt 13:31-35", + "Ex 33:7-11; 34:5-9,28", + "Ps 103:6-7,8-9,10-11,12-13", + "Jn 11:19-27", + "Ex 34:29-35", + "Ps 99:5,6,7,9", + "Matt 13:44-46", + "Ex 40:16-21,34-38", + "Ps 84:3,4,5-6+8,11", + "Matt 13:47-53", + "Lev 23:1,4-11,15-16,27,34-37", + "Ps 81:3-4,5-6ab,10-11ab", + "Matt 13:54-58", + "Lev 25:1,8-17", + "Ps 67:2-3,5,7-8", + "Matt 14:1-12", + "Eccl 1:2; 2:21-23", + "Ps 90:3-4,5-6,12-13,14+17", + "Col 3:1-5,9-11", + "Lk 12:13-21", + "Num 11:4-15", + "Ps 81:12-13,14-15,16-17", + "Matt 14:13-21", + "Num 12:1-13", + "Ps 51:3-4,5-6ab,6cd-7,12-13", + "Matt 14:22-36", + "Dan 7:9-10,13-14", + "Ps 97:1-2,5-6,9", + "2 Pet 1:16-19", + "Matt 17:1-9", + "Num 20:1-13", + "Matt 16:13-23", + "Deut 4:32-40", + "Ps 77:12-13,14-15,16+21", + "Matt 16:24-28", + "Deut 6:4-13", + "Ps 18:2-3,3bc-4,47+51", + "Matt 17:14-20", + "Wis 18:6-9", + "Ps 33:1+12,18-19,20-22", + "Lk 12:32-48", + "Deut 10:12-22", + "Matt 17:22-27", + "Deut 31:1-8", + "Deut 32:3-4ab,7,8,9+12", + "Matt 18:1-5,10,12-14", + "Deut 34:1-12", + "Ps 66:1-3,5+8,16-17", + "Matt 18:15-20", + "Josh 3:7-10,11,13-17", + "Ps 114:1-2,3-4,5-6", + "Matt 18:21-19:1", + "Rev 11:19; 12:1-6,10ab", + "Ps 45:10,11,12,16", + "1 Cor 15:20-27", + "Josh 24:14-29", + "Ps 16:1-2+5,7-8,11", + "Matt 19:13-15", + "Jer 38:4-6,8-10", + "Ps 40:2,3,4,18", + "Lk 12:49-53", + "Judg 2:11-19", + "Ps 106:34-35,36-37,39-40,43ab+44", + "Matt 19:16-22", + "Judg 6:11-24", + "Ps 85:9,11-12,13-14", + "Matt 19:23-30", + "Judg 9:6-15", + "Ps 21:2-3,4-5,6-7", + "Matt 20:1-16", + "Judg 11:29-39", + "Ps 40:5,7-8,8-9,10", + "Matt 22:1-14", + "Ru 1:1,3-6,14-16,22", + "Ps 146:5-6ab,6-7,8-9,9bc-10", + "Matt 22:34-40", + "Ru 2:1-3,8-11; 4:13-17", + "Ps 128:1-2,3,4,5", + "Isa 66:18-21", + "Heb 12:5-7,11-13", + "Lk 13:22-30", + "1 Thess 1:1-5,8-10", + "Matt 23:13-22", + "1 Thess 2:1-8", + "Ps 139:1-3,4-6", + "Matt 23:23-26", + "1 Thess 2:9-13", + "Ps 139:7-8,9-10,11-12ab", + "Matt 23:27-32", + "1 Thess 3:7-13", + "Ps 90:3-4,12-13,14+17", + "Matt 24:42-51", + "1 Thess 4:1-8", + "Ps 97:1+2,5-6,10,11-12", + "Mk 6:17-29", + "1 Thess 4:9-11", + "Matt 25:14-30", + "Sir 3:17-18,20,28-29", + "Ps 68:4-5,6-7,10-11", + "Heb 12:18-19,22-24", + "Lk 14:1,7-14", + "1 Thess 4:13-18", + "Ps 96:1+3,4-5,11-12,13", + "Lk 4:16-30", + "1 Thess 5:1-6,9-11", + "Lk 4:31-37", + "Col 1:1-8", + "Ps 52:10,11", + "Lk 4:38-44", + "Col 1:9-14", + "Ps 98:2-3ab,3cd-4,5-6", + "Ps 100:1-2,3,4,5", + "Lk 5:33-39", + "Col 1:21-23", + "Ps 54:3-4,6+8", + "Lk 6:1-5", + "Wis 9:13-18", + "Philemon 9-10,12-17", + "Lk 14:25-33", + "Mic 5:1-4", + "Ps 13:6ab,6", + "Matt 1:1-16,18-23", + "Col 2:6-15", + "Ps 145:1-2,8-9,10-11", + "Lk 6:12-19", + "Col 3:1-11", + "Ps 145:2-3,10-11,12-13ab", + "Lk 6:20-26", + "Col 3:12-17", + "Ps 150:1-2,3-4,5-6", + "1 Tim 1:1-2,12-14", + "Lk 6:39-42", + "1 Tim 1:15-17", + "Ps 113:1-2,3-4,5+6-7", + "Lk 6:43-49", + "Ps 78:1bc-2,34-35,36-37,38", + "Jn 3:13-17", + "1 Tim 2:1-8", + "Ps 28:2,7,8-9", + "Jn 19:25-27", + "1 Tim 3:1-13", + "Ps 101:1-2ab,2cd-3ab,5,6", + "Lk 7:11-17", + "1 Tim 3:14-16", + "Ps 111:1-2,3-4,5-6", + "Lk 7:31-35", + "1 Tim 4:12-16", + "Ps 111:7-8,9,10", + "Lk 7:36-50", + "1 Tim 6:2-12", + "Ps 49:6-7,8-10,17-18,19-20", + "Lk 8:1-3", + "1 Tim 6:13-16", + "Lk 8:4-15", + "Am 8:4-7", + "Ps 113:1-2,4-6,7-8", + "Lk 16:1-13", + "Ezra 1:1-6", + "Ps 126:1-2ab,2cd-3,4-5,6", + "Lk 8:16-18", + "Ezra 6:7-8,12,14-20", + "Lk 8:19-21", + "Ezra 9:5-9", + "Tob 13:2,3-4,6,7,10", + "Lk 9:1-6", + "Hag 1:1-8", + "Lk 9:7-9", + "Hag 2:1-9", + "Ps 43:1,2,3,4", + "Lk 9:18-22", + "Zech 2:1-5,10-11", + "Jer 31:10,11-12ab,13", + "Lk 9:43-45", + "Am 6:1,4-7", + "Ps 146:6-7,8-9,9-10", + "1 Tim 6:11-16", + "Ps 138:1-2ab,2cde-3,4-5", + "Jn 1:47-51", + "Zech 8:20-23", + "Lk 9:51-56", + "Neh 2:1-8", + "Ps 137:1-2,3,4-5,6", + "Lk 9:57-62", + "Neh 8:1-4,5-6,7-12", + "Ps 19:8,9,10,11", + "Matt 18:1-5,10", + "Bar 1:15-22", + "Ps 79:1-2,3-5,8,9", + "Lk 10:13-16", + "Bar 4:5-12,27-29", + "Ps 69:33-35,36-37", + "Lk 10:17-24", + "Hab 1:2-3; 2:2-4", + "Ps 95:1-2,6-7,7-9", + "2 Tim 1:6-8,13-14", + "Lk 17:5-10", + "Jon 1:1-2:2,11", + "Jon 2:3,4,5,8", + "Ps 130:1-2,3-4ab,7-8", + "Jon 4:1-11", + "Ps 86:3-4,5-6,9-10", + "Lk 11:1-4", + "Mal 3:13-18; 4:1-2", + "Lk 11:5-13", + "Jl 1:13-15; 2:1-2", + "Ps 9:2-3,6+16,8-9", + "Lk 11:15-26", + "Jl 3:12-21", + "Ps 97:1-2,5-6,11-12", + "Lk 11:27-28", + "2 Kgs 5:14-17", + "Ps 98:1,2-3,3-4", + "2 Tim 2:8-13", + "Lk 17:11-19", + "Rom 1:1-7", + "Ps 98:1bcde,2-3ab,3cd-4", + "Rom 1:16-25", + "Lk 11:37-41", + "Rom 2:1-11", + "Ps 62:2-3,6-7,9", + "Lk 11:42-46", + "Rom 3:21-30", + "Ps 130:1-2,3-4,5-6ab", + "Lk 11:47-54", + "Rom 4:1-8", + "Ps 32:1-2,5,11", + "Lk 12:1-7", + "2 Tim 4:10-17", + "Ps 145:10-11,12-13,17-18", + "Lk 10:1-9", + "Ex 17:8-13", + "Ps 121:1-2,3-4,5-6,7-8", + "2 Tim 3:14-4:2", + "Lk 18:1-8", + "Rom 4:20-25", + "Rom 5:12,15,17-19,20-21", + "Lk 12:35-38", + "Rom 6:12-18", + "Lk 12:39-48", + "Rom 6:19-23", + "Rom 7:18-25", + "Ps 119:66,68,76,77,93,94", + "Lk 12:54-59", + "Rom 8:1-11", + "Sir 35:12-14,16-18", + "Ps 34:2-3,17-18,19+23", + "2 Tim 4:6-8,16-18", + "Rom 8:12-17", + "Ps 68:2+4,6-7ab,20-21", + "Lk 13:10-17", + "Rom 8:26-30", + "Ps 13:4-5,6", + "Rom 8:31-39", + "Ps 109:21-22,26-27,30-31", + "Lk 13:31-35", + "Rom 9:1-5", + "Lk 14:1-6", + "Rev 7:2-4,9-14", + "Ps 24:1bc-2,3-4ab,5-6", + "1 Jn 3:1-3", + "Matt 5:1-12", + "Jb 19:1,23-27", + "Ps 27:1bcde,4,7,8,9,13-14", + "Lk 23:44-46,50,52-53", + "Rom 11:29-36", + "Ps 69:30-31,33-34,36-37", + "Lk 14:12-14", + "Rom 12:5-16ab", + "Ps 131:1bcde,2,3", + "Lk 14:15-24", + "Rom 13:8-10", + "Ps 112:1-2,4-5,9", + "Rom 14:7-12", + "Ps 27:1bcde,4,13-14", + "Lk 15:1-10", + "Rom 15:14-21", + "Lk 16:1-8", + "Rom 16:3-9,16,22-27", + "Ps 145:2-3,4-5,10-11", + "Lk 16:9-15", + "Ezek 47:1-2,8-9,12", + "1 Cor 3:9-11,16-17", + "Jn 2:13-22", + "Wis 1:1-7", + "Ps 139:1-3,4-6,7-8,9-10", + "Lk 17:1-6", + "Wis 2:23-3:9", + "Ps 34:2-3,16-17,18-19", + "Lk 17:7-10", + "Wis 6:1-11", + "Ps 82:3-4,6-7", + "Wis 7:22-8:1", + "Ps 119:89,90,91,130,135,175", + "Lk 17:20-25", + "Wis 13:1-9", + "Ps 19:2-3,4-5ab", + "Lk 17:26-37", + "Wis 18:14-16; 19:6-9", + "Ps 105:2-3,36-37,42-43", + "Mal 4:1-2", + "Ps 98:5-6,7-8,9", + "2 Thess 3:7-12", + "Lk 21:5-19", + "1 Macc 1:10-15,41-43,54-57,62-63", + "Ps 119:53,61,134,150,155,158", + "Lk 18:35-43", + "2 Macc 6:18-31", + "Ps 3:2-3,4-5,6-7", + "Lk 19:1-10", + "2 Macc 7:1,20-31", + "Ps 17:1bcd,5-6,8+15", + "Lk 19:11-28", + "1 Macc 2:15-29", + "Ps 50:1-2,5-6,14-15", + "Lk 19:41-44", + "1 Macc 4:36-37,52-59", + "1 Chr 29:10bcd,11abc,11d-12,12bcd", + "Lk 19:45-48", + "1 Macc 6:1-13", + "Ps 9:2-3,4+6,16+19", + "Lk 20:27-40", + "2 Sam 5:1-3", + "Ps 122:1-2,3-4,4-5", + "Col 1:12-20", + "Lk 23:35-43", + "Dan 1:1-6,8-20", + "Lk 21:1-4", + "Dan 2:31-45", + "Dan 3:57,58,59,60,61", + "Lk 21:5-11", + "Dan 5:1-6,13-14,16-17,23-28", + "Dan 3:62,63,64,65,66,67", + "Lk 21:12-19", + "Dan 6:12-28", + "Dan 3:68,69,70,71,72,73,74", + "Lk 21:20-28", + "Dan 7:2-14", + "Dan 3:75,76,77,78,79,80,81", + "Lk 21:29-33", + "Dan 7:15-27", + "Dan 3:82,83,84,85,86,87", + "Lk 21:34-36", + "Isa 2:1-5", + "Ps 122:1-2,3-4,4-5,6-7,8-9", + "Rom 13:11-14", + "Matt 24:37-44", + "Ps 122:1-2,3-4,4cd-5,6-7,8-9", + "Matt 8:5-11", + "Isa 11:1-10", + "Ps 72:1-2,7-8,12-13,17", + "Lk 10:21-24", + "Isa 25:6-10", + "Matt 15:29-37", + "Isa 26:1-6", + "Ps 118:1+8-9,19-21,25-27", + "Matt 7:21,24-27", + "Isa 29:17-24", + "Matt 9:27-31", + "Isa 30:19-21,23-26", + "Ps 147:1-2,3-4,5-6", + "Matt 9:35-10:1,5,6-8", + "Rom 15:4-9", + "Matt 3:1-12", + "Eph 1:3-6,11-12", + "Isa 40:1-11", + "Ps 96:1-2,3+10ac,11-12,13", + "Matt 18:12-14", + "Isa 40:25-31", + "Ps 103:1-2,3-4,8+10", + "Isa 41:13-20", + "Ps 145:1+9,10-11,12-13ab", + "Matt 11:11-15", + "Isa 48:17-19", + "Matt 11:16-19", + "Sir 48:1-4,9-11", + "Ps 80:2ac+3,15-16,18-19", + "Matt 17:9,10-135", + "Isa 35:1-6,10", + "Jas 5:7-10", + "Matt 11:2-11", + "Num 24:2-7,15-17", + "Ps 25:4-5ab,6+7bc,8-9", + "Matt 21:23-27", + "Zeph 3:1-2,9-13", + "Ps 34:2-3,6-7,17-18,19+23", + "Matt 21:28-32", + "Gen 49:2,8-10", + "Ps 72:1-2,3-4ab,7-8,17", + "Matt 1:1-17", + "Jer 23:5-8", + "Ps 72:1-2,12-13,18-19", + "Matt 1:18-24", + "Judg 13:2-7,24-25", + "Ps 71:3-4,5-6ab,16-17", + "Lk 1:5-25", + "Isa 7:10-14", + "Ps 24:1-2,3-4,5-6", + "1 Sam 1:24-28", + "1 Sam 2:1,4-5,6-7,8abcd", + "Lk 1:46-56", + "Mal 3:1-4; 4:5-6", + "Ps 25:4-5ab,8-9,10+14", + "Lk 1:57-66", + "2 Sam 7:1-5,8-12,14,16", + "Lk 1:67-79", + "Ps 89:3-4,15-16,26,28", + "Mat 1:18-25", + "The Acts 6:8-10;7:54-59", + "Ps 31:3cd-4,6+8ab,16bc+17", + "Matt 10:17-22", + "1 Jn 1:1-4", + "Jn 20:1+2-8", + "Sir 3:3-7,14-17", + "Col 3:12-21", + "Matt 2:13-15,19-23", + "1 Jn 2:3-11", + "Ps 96:1-2,2-3,5-6", + "Lk 2:22-35", + "1 Jn 2:12-17", + "Ps 96:7-8,8-9,10", + "Lk 2:36-40", + "1 Jn 2:18-21", + "Ps 96:1-2,11-12,13", + "1 Jn 3:11-21", + "Jn 1:43-51", + "Isa 42:1-4,6-7", + "Ps 29:1-2,3ac+4,3+9-10", + "The Acts 10:34-38", + "Matt 3:13-17", + "1 Sam 1:1-8", + "Ps 116:12-13,14-17,18-19", + "Mk 1:14-22", + "1 Sam 1:9-22", + "1 Sam 3:1-10,19-22", + "Ps 40:2+5,7-8,8-9,10", + "1 Sam 4:1-11", + "Ps 44:10-11,14-15,24-25", + "1 Sam 8:4-7,10-22", + "Ps 89:16-17,18-19", + "1 Sam 9:1-4,17-19; 10:1", + "Isa 49:3,5-6", + "Ps 40:2+4,7-8,8-9,10", + "1 Cor 1:1-3", + "1 Sam 15:16-23", + "1 Sam 16:1-13", + "Ps 89:20,21-22,27-28", + "1 Sam 17:32-33,37,40-51", + "Ps 144:1,2,9-10", + "1 Sam 18:6-9; 19:1-7", + "Ps 56:2-3,9-10,10-11,12-13", + "1 Sam 24:3-21", + "Ps 57:2,3-4,6+11", + "2 Sam 1:1-4,11-12,19,23-27", + "Ps 80:2-3,5-7", + "Mk 3:20-21", + "Isa 8:23-9:3", + "1 Cor 1:10-13,17", + "Matt 4:12-23", + "2 Tim 1:1-8", + "Ps 96:1-2,2-3,7-8,10", + "2 Sam 6:12-15,17-19", + "2 Sam 7:4-17", + "Ps 89:4-5,27-28,29-30", + "Mk 4:1-22", + "2 Sam 7:18-19,24-29", + "Ps 132:1-2,3-5,11,12,13-14", + "2 Sam 11:1-4,5-10,13-17", + "Ps 51:3-4,5-6,6bcd-7,10-11", + "2 Sam 12:1-7,10-17", + "Ps 51:12-13,14-15,16-17", + "Zeph 2:3; 3:12-13", + "1 Cor 1:26-31", + "2 Sam 18:9-10,14,24-25,30-19:3", + "2 Sam 24:2,9-17", + "1 Kgs 2:1-4,10-12", + "1 Chr 29:10bcd,11ab,11d-12,12bcd", + "Sir 47:2-11", + "Ps 18:31,47+50,51", + "1 Kgs 3:4-13", + "Ps 119:9,10,11,12,13,14", + "Isa 58:7-10", + "Ps 112:4-5,6-7,8-9", + "1 Cor 2:1-5", + "1 Kgs 8:1-7,9-13", + "Ps 132:6-7,8-10", + "1 Kgs 8:22-23,27-30", + "Ps 84:3,4,5+10,11", + "1 Kgs 10:1-10", + "Ps 37:5-6,30-31,39-40", + "1 Kgs 11:4-13", + "Ps 106:3-4,35-36,37+40", + "1 Kgs 11:29-32; 12:19", + "Ps 81:10-11ab,12-13,14-15", + "1 Kgs 12:26-32; 13:33-34", + "Ps 106:6-7ab,19-22,21-22", + "Sir 15:16-21", + "Ps 119:1-2,4-5,17-18,33-34", + "1 Cor 2:6-10", + "Matt 5:17-37", + "Jas 1:1-11", + "Ps 119:67,68,71,72,75,76", + "Jas 1:12-18", + "Ps 94:12-13,14-15,18-19", + "Gen 2:7-9; 3:1-7", + "Ps 51:3-4,5-6,12-13,14+17", + "Rom 5:12-19", + "Matt 4:1-11", + "Gen 12:1-4", + "Ps 33:4-5,18-19,20+22", + "2 Tim 1:8-10", + "Jer 18:18-20", + "Ps 31:5-6,14,15-16", + "Matt 20:17-28", + "Ex 17:3-7", + "Rom 5:1-2,5-8", + "Jn 4:5-42", + "Dan 3:25,34-43", + "Matt 18:21-35", + "1 Sam 16:1,6-7,10-13", + "Eph 5:8-14", + "Jn 9:1-41", + "Ezek 37:12-14", + "Ps 130:1-2,3-4,5-6,7-8", + "Rom 8:8-11", + "Jn 11:1-45", + "Mat 27:11-54", + "The Acts 2:42-47", + "1 Pet 1:3-9", + "The Acts 6:1-7", + "Ps 33:1-2,4-5,18-19", + "Jn 6:16-21", + "The Acts 2:14,22-33", + "1 Pet 1:17-21", + "1 Pet 5:5-14", + "Ps 89:2-3,6-7,16-17", + "Mk 16:15-20", + "The Acts 2:14a,36-41", + "1 Pet 2:20-25", + "The Acts 12:24-13:5a", + "Jn 12:44-50", + "1 Pet 2:4-9", + "Jn 14:1-12", + "The Acts 8:5-8,14-17", + "1 Pet 3:15-18", + "Jn 14:15-21", + "Eph 1:17-23", + "Matt 28:16-20", + "The Acts 18:23-28", + "Ps 47:2-3,8-9,10", + "Jn 16:23-28", + "The Acts 1:12-14", + "Ps 27:1,4,7-8", + "1 Pet 4:13-16", + "1 Cor 12:3-7,12-13", + "Jn 20:19-23", + "1 Pet 1:10-16", + "1 Pet 1:18-25", + "Ps 147:12-13,14-15,19-22", + "Mk 10:32-45", + "1 Pet 2:2-5,9-12", + "Ps 100:2,3,4,5", + "Mk 10:46-52", + "1 Pet 4:7-13", + "Ps 96:10,11-12,13", + "Mk 11:11-26", + "Jude 17,20b-25", + "Ps 63:2,3-4,5-6", + "Mk 11:27-33", + "Ex 34:4-6,8-9", + "Dan 3:52,53,54,55", + "2 Cor 13:11-13", + "Jn 3:16-18", + "2 Pet 1:2-7", + "Ps 91:1-2,14-15ab,15-16", + "Mk 12:1-12", + "2 Pet 3:12-15,17-18", + "Ps 90:2,3-4,10,14+16", + "Mk 12:13-17", + "2 Tim 1:1-3,6-12", + "Ps 123:1-2ab,2cdef", + "Mk 12:18-27", + "Deut 8:2-3,14-16", + "1 Cor 10:16-17", + "Jn 6:51-58", + "2 Tim 3:10-17", + "Ps 119:157,160,161,165,166,168", + "Mk 12:35-37", + "2 Tim 4:1-8", + "Ps 71:8-9,14-15ab,16-17,22", + "Mk 12:38-44", + "Hos 6:3-6", + "Ps 50:1+8,12-13,14-15", + "Rom 4:18-25", + "1 Kgs 17:1-6", + "Ps 121:1bc-2,3-4,5-6,7-8", + "1 Kgs 17:7-16", + "Ps 4:2-3,4-5,7-8", + "1 Kgs 18:20-39", + "Ps 16:1-2ab,4,5ab+8,11", + "Deut 7:6-11", + "Ps 103:1-2,3-4,6-7,8+10", + "1 Jn 4:7-16", + "Matt 11:25-30", + "1 Kgs 19:19-21", + "Ps 16:1-2+5,7-8,9-10", + "Ex 19:2-6", + "Rom 5:6-11", + "Matt 9:36-10:8", + "1 Kgs 21:1-16", + "Ps 5:2-3ab,4-6,6-7", + "1 Kgs 21:17-29", + "Ps 51:3-4,5-6ab,11+16", + "2 Kgs 2:1,6-14", + "Ps 31:20,21,24", + "Sir 48:1-14", + "Ps 97:1-2,3-4,5-6,7", + "2 Kgs 11:1-4,9-18,20", + "Ps 132:11,12,13-14,17-18", + "2 Chr 24:17-25", + "Ps 89:4-5,29-30,31-32,33-34", + "Ps 69:8-10,14+17,33-35", + "Rom 5:12-15", + "Matt 10:26-33", + "2 Kgs 17:5-8,13-15,18", + "Ps 60:3,4-5,12-13", + "2 Kgs 19:9-11,14-21,31-35,36", + "Ps 48:2-3ab,3cd-4,10-11", + "Matt 7:6,12-14", + "2 Kgs 24:8-17", + "2 Kgs 25:1-12", + "Matt 8:1-4", + "Lam 2:2,10-14,18-19", + "Ps 74:1-2,3-5,6-7,20-21", + "2 Kgs 4:8-11,14-16", + "Ps 89:2-3,16-17,18-19", + "Rom 6:3-4,8-11", + "Matt 10:37-42", + "Am 3:1-8; 4:11-12", + "Ps 5:4-6,6-7,8", + "Am 5:14-15,21-24", + "Ps 50:7,8-9,10-11,12-13,16bc-17", + "Am 7:10-17", + "Matt 9:1-8", + "Am 9:11-15", + "Zech 9:9-10", + "Ps 145:1-2,8-9,10-11,13-14", + "Rom 8:9,11-13", + "Hos 2:16,17-18,21-22", + "Ps 145:2-3,4-5,6-7,8-9", + "Hos 8:4-7,11-13", + "Ps 115:3-4,5-6,7ab+8,9-10", + "Hos 10:1-3,7-8,12", + "Ps 105:2-3,4-5,6-7", + "Hos 11:1-4,8e-9", + "Ps 80:2ac+3,15-16", + "Ps 51:3-4,8-9,12-13,14+17", + "Isa 6:1-8", + "Ps 65:10,11,12-13,14", + "Rom 8:18-23", + "Matt 13:1-23", + "Isa 1:10-17", + "Isa 7:1-9", + "Ps 48:2-3,3-4,5-6,7-8", + "Isa 10:5-7,13-16", + "Ps 94:5-6,7-8,9-10,14-15", + "Isa 26:7-9,12,16-19", + "Ps 102:13-14ab+15,16-18,19-21", + "Isa 38:1-6,21-22,7-8", + "Isa 38:10,11,12abcd,16", + "Mic 2:1-5", + "Ps 10:1-2,3-4,7-8,14", + "Wis 12:13,16-19", + "Ps 86:5-6,9-10,15-16", + "Rom 8:26-27", + "Matt 13:24-43", + "Mic 6:1-4,6-8", + "Ps 50:5-6,8-9,16bc-17,21+23", + "Mic 7:14-15,18-22", + "Ps 85:2-4,5-6,7-8", + "Matt 12:46-50", + "Jer 1:1,4-10", + "Ps 71:1-2,3-4,5-6ab,15+17", + "Jer 2:1-3,7-8,12-13", + "Ps 36:6-7ab,8-9,10-11", + "Jer 3:14-17", + "Matt 13:18-23", + "1 Kgs 3:5,7-12", + "Ps 119:57+72,76-77,127-28,129-30", + "Rom 8:28-30", + "Matt 13:44-52", + "Jer 13:1-11", + "Deut 32:18-19,20,21", + "Jer 14:17-22", + "Ps 79:8,9,11+13", + "Matt 13:36-43", + "Jer 15:10,16-21", + "Ps 59:2-3,4,10-11,17,18", + "Jer 18:1-6", + "Ps 146:1-2,3-4,5-6ab", + "Jer 26:1-9", + "Ps 69:5,8-10,14", + "Jer 26:11-16,24", + "Ps 69:15-16,30-31,33-34", + "Isa 55:1-3", + "Ps 145:8-9,15-16,17-18", + "Rom 8:35,37-39", + "Jer 28:1-17", + "Ps 119:29,43,79,80,95,102", + "Jer 30:1-2,12-15,18-22", + "Jer 31:1-7", + "Matt 15:21-28", + "Nah 2:1,3; 3:1-3,6-7", + "Deut 32:35cd-36ab,39abcd,41", + "Hab 1:12-2:4", + "Ps 9:8-9,10-11,12-13", + "Matt 17:14-22", + "1 Kgs 19:9,11-13", + "Matt 14:22-33", + "2 Cor 9:6-10", + "Ps 112:1-2,5-6,7-8,9", + "Jn 12:24-26", + "Ezek 2:8-3:4", + "Ps 119:14,24,72,103,111,131", + "Ezek 9:1-7; 10:18-22", + "Ps 113:1-2,3-4,5-6", + "Matt 18:15-22", + "Ezek 12:1-12", + "Ps 78:56-57,58-59,61-62", + "Ezek 16:1-15,60,63", + "Matt 19:3-12", + "Isa 56:1,6-7", + "Rom 11:13-15,29-32", + "Ezek 24:15-23", + "Ezek 28:1-10", + "Deut 32:26-27ab,27cd-28,30,35cd-36ab", + "Ezek 34:1-11", + "Ezek 36:23-28", + "Ps 51:12-13,14-15,18-19", + "Ezek 37:1-14", + "Ps 107:2-3,4-5,6-7,8-9", + "Ezek 43:1-7ab", + "Isa 22:19-23", + "Ps 138:1-2,2-3,6+8", + "Rom 11:33-36", + "Matt 16:13-20", + "Rev 21:9-14", + "Jn 1:45-51", + "2 Thess 2:1-3,14-17", + "2 Thess 3:6-10,16-18", + "Ps 128:1-2,4-5", + "1 Cor 1:1-9", + "Ps 145:2-3,4-5,6-7", + "1 Cor 1:17-25", + "Ps 33:1-2,4-5,10-11", + "Matt 25:1-13", + "Ps 33:12-13,18-19,20-21", + "Jer 20:7-9", + "Rom 12:1-2", + "Matt 16:21-27", + "Ps 119:97,98,99,100,101,102", + "1 Cor 2:10-16", + "Ps 145:8-9,10-11,12-13ab,13cd-14", + "1 Cor 3:1-9", + "Ps 33:12-13,14-15,20-21", + "1 Cor 3:18-23", + "1 Cor 4:1-5", + "Ps 37:3-4,5-6,27-28,39-40", + "1 Cor 4:6-15", + "Ps 145:17-18,19-22,21", + "Ezek 33:7-9", + "1 Cor 5:1-8", + "Ps 5:5-6,7,12", + "Lk 6:6-11", + "1 Cor 7:25-31", + "Ps 45:11-12,14-15,16-17", + "1 Cor 8:1-7,11-13", + "Ps 139:1-3,13-14ab,23-24", + "1 Cor 9:16-19,22-27", + "Ps 84:3,4,5-6,12", + "1 Cor 10:14-22", + "Ps 116:12-13,17-18", + "Sir 27:30-28:7", + "Rom 14:7-9", + "1 Cor 12:12-14,27-31", + "1 Cor 12:31-13:13", + "Ps 33:2-3,4-5,12+22", + "Ps 118:1-2,16ab+17,28", + "1 Cor 15:12-22", + "Ps 17:1bcd,6-7,8+15", + "1 Cor 15:35-37,42-49", + "Ps 56:10-12,13-14", + "Isa 55:6-9", + "Ps 145:2-3,8-9,17-18", + "Phil 1:20-24,27", + "Eph 4:1-7,11-13", + "Prov 21:1-6,10-13", + "Ps 119:1,27,30,34,35,44", + "Prov 30:5-9", + "Ps 119:29,72,89,101,104,163", + "Eccl 1:2-11", + "Ps 90:3-4,5-6,12-13,14+17bc", + "Eccl 3:1-11", + "Ps 144:1+2abc,3-4", + "Eccl 11:9-12:8", + "Ezek 18:25-28", + "Ps 25:4-5,6-7,8-9", + "Phil 2:1-11", + "Jb 1:6-22", + "Ps 17:1bcd,2-3,6-7", + "Lk 9:46-50", + "Jb 9:1-12,14-16", + "Ps 88:10bc-11,12-13,14-15", + "Jb 19:21-27", + "Ps 27:7-8,8-9abc,13-14", + "Lk 10:1-12", + "Jb 38:1,12-21; 40:3-5", + "Ps 139:1-3,7-8,9-10,13-14ab", + "Jb 42:1-3,5-6,12-17", + "Ps 119:66,71,75,91,125,130", + "Isa 5:1-7", + "Ps 80:9+12,13-14,15-16,19-20", + "Phil 4:6-9", + "Matt 21:33-43", + "Gal 1:6-12", + "Ps 111:1-2,7-8,9+10", + "Gal 1:13-24", + "Gal 2:1-2,7-14", + "Gal 3:1-5", + "Gal 3:7-14", + "Gal 3:22-29", + "Phil 4:12-14,19-20", + "Gal 4:22-24,26-27,31-5:1", + "Gal 5:1-6", + "Ps 119:41,43,44,45,47,48", + "Gal 5:18-25", + "Eph 1:1-10", + "Eph 1:11-14", + "Ps 33:1-2,4-5,12-13", + "Eph 1:15-23", + "Ps 8:2-3ab,4-5,6-7", + "Lk 12:8-12", + "Isa 45:1,4-6", + "Ps 96:1+3,4-5,7-8,9-10", + "1 Thess 1:1-5", + "Matt 22:15-21", + "Eph 2:1-10", + "Ps 100:1-2,3,4ab,4-5", + "Eph 2:12-22", + "Eph 3:2-12", + "Eph 3:14-21", + "Ps 33:1-2,4-5,11-12,18-19", + "Eph 4:1-6", + "Eph 4:7-16", + "Ex 22:20-26", + "Ps 18:2-3,3-4,47+51", + "1 Thess 1:5-10", + "Eph 4:32-5:8", + "Eph 5:21-33", + "Lk 13:18-21", + "Eph 6:10-22", + "Phil 1:1-11", + "Phil 1:18-26", + "Ps 42:2,3,5cdef", + "Lk 14:1,7-11", + "Phil 2:5-11", + "Ps 22:26-27,28-30ab,30e,31-32", + "Phil 2:12-18", + "Phil 3:3-8", + "Phil 4:10-19", + "Ps 112:1-2,5-6,8+9", + "Wis 6:12-16", + "Ps 63:2,3-4,5-6,7-8", + "Ti 2:1-8,11-14", + "Ps 37:3-4,18+23,27+29", + "Ti 3:1-7", + "Ps 23:1-3,3bc-4,5,6", + "Philemon 7-22", + "Ps 146:7,8-9,9bc-10", + "2 John 4-9", + "Ps 119:1,2,10,11,17,18", + "3 John 5-8", + "Ps 112:1-2,3-4,5-6", + "Prov 31:10-13,19-20,30-31", + "1 Thess 5:1-6", + "Rev 1:1-4; 2:1-5", + "Rev 3:1-6,14-22", + "Ps 15:2-3,3bc-4ab,5", + "Rev 4:1-11", + "Rev 5:1-10", + "Rev 10:8-11", + "Rev 11:4-12", + "Ezek 34:11-12,15-17", + "Ps 23:1-2,2-3,5,6", + "1 Cor 15:20-26,28", + "Rev 14:1-3,4-5", + "Rev 14:14-19", + "Rev 15:1-4", + "Ps 98:1,2-3ab,7-8,9", + "Rev 18:1-2,21-23; 19:1-3,9", + "Rev 20:1-4,11-21:2", + "Ps 84:3,4,5-6+8", + "Rev 22:1-7", + "Ps 95:1-2,3-5,6-7ab", + "Isa 63:16-17,19; 64:2-7", + "Ps 80:2-3,15-16,18-19", + "1 Cor 1:3-9", + "Mk 13:33-37", + "Rom 10:9-18", + "Matt 4:18-22", + "2 Pet 3:8-14", + "Mk 1:1-8", + "Isa 35:1-10", + "Lk 5:17-26", + "Isa 61:1-2,10-11", + "Lk 1:46-48,49-50,53-54", + "1 Thess 5:16-24", + "Jn 1:6-8,19-28", + "Isa 45:6-8,18,21-25", + "Lk 7:18-23", + "Rom 16:25-27", + "Ps 33:2-3,11-12,20-21", + "Lk 1:39-45", + "Gen 15:1-6; 21:1-3", + "Ps 105:1-2,3-4,5-6,8-9", + "Heb 11:8,11-12,17-19", + "1 Jn 1:5-2:2", + "Ps 124:2-3,4-5,7-8", + "Matt 2:13-18", + "Isa 55:1-11", + "1 Jn 5:1-9", + "Mk 1:7-11", + "1 Sam 3:3-10,19", + "1 Cor 6:13-15,17-20", + "Heb 9:2-3,11-14", + "Jon 3:1-5,10", + "1 Cor 7:29-31", + "Deut 18:15-20", + "1 Cor 7:32-35", + "Jb 7:1-4,6-7", + "1 Cor 9:16-19,22-23", + "Gen 9:8-15", + "1 Pet 3:18-22", + "Mk 1:12-15", + "Gen 22:1-2,9,10-13,15-18", + "Ps 116:10+15,16-17,18-19", + "Rom 8:31-34", + "Mk 9:2-10", + "Ex 20:1-17", + "1 Cor 1:22-25", + "Jn 2:13-25", + "2 Chr 36:14-16,19-23", + "Eph 2:4-10", + "Jn 3:14-21", + "Jer 31:31-34", + "Ps 51:3-4,12-13,14-15", + "Heb 5:7-9", + "Jn 12:20-33", + "Mk 15:1-39", + "The Acts 4:32-35", + "1 Jn 5:1-6", + "The Acts 3:13-15,17-19", + "Ps 4:2,4,7-8,9", + "1 Jn 2:1-5", + "The Acts 4:8-12", + "Ps 118:1+8-9,21-23,26+21+29", + "1 Jn 3:1-2", + "Jn 10:11-18", + "The Acts 9:26-31", + "1 Jn 3:18-24", + "The Acts 10:25-26,34-35,44-48", + "Eph 4:1-13", + "The Acts 1:15-17,20a,20c-26", + "Ps 103:1-2,11-12,19-20", + "1 Jn 4:11-16", + "Gal 5:16-25", + "Jn 15:26-27; 16:12-15", + "Deut 4:32-34,39-40", + "Ps 33:4-5,6+9,18-19,20+22", + "Rom 8:14-17", + "Sir 36:1,4-5,10-17", + "Ex 24:3-8", + "Ps 116:12-13,15-16,17-18", + "Heb 9:11-15", + "Mk 14:12-16,22-26", + "Sir 44:1,9-13", + "Sir 51:12cd-20", + "Deut 5:12-15", + "Ps 81:3-4,5-6,7-8,10-11", + "2 Cor 4:6-11", + "Mk 2:23-3:6", + "Tob 2:9-14", + "Ps 112:1-2,7-8,9", + "Tob 3:1-11,16-17", + "Ps 25:2-3,4-5ab,6+7bc,8-9", + "Tob 6:10-11; 7:1bcde,9-17; 8:4-9", + "Hos 11:1,3-4,8-9", + "Eph 3:8-12,14-19", + "Jn 19:31-37", + "Tob 12:1,5-15,20", + "Tob 13:2,6,7,10", + "Gen 3:9-15", + "2 Cor 4:13-5:1", + "Mk 3:20-35", + "2 Cor 1:1-7", + "2 Cor 3:4-11", + "Ps 99:5,6,7,8,9", + "Ezek 17:22-24", + "2 Cor 5:6-10", + "2 Cor 11:1-11", + "Ps 111:1-2,3-4,7-8", + "Jb 38:1,8-11", + "Ps 107:23-24,25-26,28-29,30-31", + "2 Cor 5:14-17", + "Gen 13:2,5-18", + "Gen 17:1,9-10,15-22", + "Wis 1:13-15; 2:23-24", + "2 Cor 8:7,9,13-15", + "Gen 22:1-19", + "Ps 115:1-2,3-4,5-6,8-9", + "Ezek 2:2-5", + "Ps 123:1-2,2bc,3-4", + "2 Cor 12:7-10", + "Am 7:12-15", + "Eph 1:3-14", + "Jer 23:1-6", + "Eph 2:13-18", + "Matt 13:24-30", + "2 Kgs 4:42-44", + "Ps 145:10-11,15-16,17-18", + "Ex 16:2-4,12-15", + "Ps 78:3-4,23-24,25+54", + "Eph 4:17,20-24", + "Jn 6:24-35", + "Num 13:1-2,25-14:1,26-29,34-35", + "Ps 106:6-7ab,13-14,21-22,23", + "1 Kgs 19:4-8", + "Eph 4:30-5:2", + "Jn 6:41-51", + "Josh 24:1-13", + "Ps 136:1-3,16-18,21-22+24", + "Josh 24:1-2,15-17,18", + "Ps 34:2-3,16-17,18-19,20-21", + "Eph 5:21-32", + "Deut 4:1-2,6-8", + "Ps 15:2-3,3-4,4-5", + "Jas 1:17-18,21-22,27", + "Mk 7:1-8,14-15,21-23", + "Isa 35:4-7", + "Jas 2:1-5", + "Col 1:24-2:3", + "Ps 62:6-7,9", + "Ps 116:1-2,3-4,5-6,8-9", + "Jas 2:14-18", + "Mk 8:27-35", + "Lk 7:1-10", + "Wis 2:12,17-20", + "Ps 54:3-4,5,6-8", + "Jas 3:16-4:3", + "Num 11:25-29", + "Ps 19:8,10,12-13,14", + "Jas 5:1-6", + "Mk 9:38-43,45,47-48", + "Zech 8:1-8", + "Gen 2:18-24", + "Ps 128:1-2,3,4-5,6", + "Heb 2:9-11", + "Mk 10:2-16", + "Wis 7:7-11", + "Ps 90:12-13,14-15,16-17", + "Heb 4:12-13", + "Mk 10:17-30", + "Rom 4:13,16-18", + "Ps 105:6-7,8-9,42-43", + "Isa 53:10-11", + "Heb 4:14-16", + "Mk 10:35-45", + "Jer 31:7-9", + "Heb 5:1-6", + "Rom 8:18-25", + "Rom 11:1-2,11-12,25-29", + "Ps 94:12-13,14-15,17-18", + "Deut 6:2-6", + "Heb 7:23-28", + "1 Kgs 17:10-16", + "Heb 9:24-28", + "Dan 12:1-3", + "Ps 16:5+8,9-10,11", + "Heb 10:11-14,18", + "Mk 13:24-32", + "Dan 7:13-14", + "Ps 93:1,1-2,5", + "Rev 1:5-8", + "Jn 18:33-37", + "Jer 33:14-16", + "Ps 25:4-5,8-9,10+14", + "1 Thess 3:12-4:2", + "Lk 21:25-28,34-36", + "Bar 5:1-9", + "Phil 1:4-6,8-11", + "Lk 3:1-6", + "Phil 4:4-7", + "Lk 3:10-18", + "Isa 54:1-10", + "Lk 7:24-30", + "Heb 10:5-10", + "1 Sam 1:20-22,24-28", + "Ps 84:2-3,5-6,9-10", + "1 Jn 3:1-2,21-24", + "Lk 2:41-52", + "2 Sam 5:1-7,10", + "Ps 89:20,21-22,25-26", + "Jer 1:4-5,17-19", + "Ps 71:1-2,3-4,5-6,15+17", + "Lk 4:21-30", + "2 Sam 15:13-14,30; 16:5-13", + "Mk 5:1-22", + "Jas 1:19-27", + "Jas 2:1-9", + "Jas 2:14-24,26", + "Jas 3:1-10", + "Ps 12:2-3,4-5,7-8", + "Mk 9:2-13", + "Jas 3:13-18", + "Jas 4:13-17", + "Ps 49:2-3,6-7,8-10,11", + "Ps 49:14-15ab,15cd-16,17-18,19-22", + "Jas 5:9-12", + "Ps 103:1-2,3-4,8-9,11-12", + "Jas 5:13-22", + "Ps 141:1-2,3+8", + "Ps 111:1-2,5-6,9,+10", + "2 Tim 2:8-15", + "1 Kgs 19:9,11-16", + "2 Sam 12:7-10,13", + "Ps 32:1-2,5,7,11", + "Gal 2:16,19-21", + "Lk 7:36-8:3", + "2 Kgs 22:8-13; 23:1-3", + "Ps 119:33,34,35,36,37,40", + "Matt 7:15-22", + "1 Kgs 19:16,19-21", + "Gal 5:1,13-18", + "Lk 9:51-62", + "Am 8:4-6,9-12", + "Ps 119:2,10,20,30,40,131", + "Jer 7:1-11", + "Ezek 1:2-5,24-28", + "Ezek 18:1-10,13,30-32", + "2 Thess 1:1-5,11-12", + "Ps 96:1-2,2-3,4-5", + "1 Cor 6:1-11", + "Ex 32:7-11,13-14", + "Ps 51:3-4,12-13,17+19", + "1 Tim 1:12-17", + "Lk 15:1-32", + "1 Cor 11:17-26,33", + "Prov 3:27-34", + "Jb 3:1-3,11-17,20-23", + "Ps 88:2-3,4-5,6,7-8", + "Wis 11:22-12:2", + "2 Thess 1:11-2:2", + "Phil 2:1-4", + "2 Macc 7:1-2,9-14", + "Ps 17:1,5-6,8+15", + "2 Thess 2:16-3:5", + "Lk 20:27-38", + "Ti 1:1-9", + "Deut 11:18,26-28,32", + "Ps 31:2-3,3-4,17+25", + "Rom 3:21-25,28", + "Matt 7:21-27", + "Tob 1:3; 2:1-8", + "Isa 61:9-11", + "Lk 2:41-51", + "Mal 1:14-2:2,8-10", + "Ps 131:1,2,3", + "1 Thess 2:7-9,13", + "1 Jn 3:22-4:6", + "Ps 2:7bc-8,10-12", + "Matt 4:12-17,23-25", + "Lev 13:1-2,44-46", + "1 Cor 10:31-11:1", + "Isa 43:18-19,21-22,24-25", + "Ps 41:2-3,4-5,13-14", + "Jas 4:1-10", + "Ps 55:7-8,9-10,10-11,23", + "Hos 2:16,17,21-22", + "2 Cor 3:1-6", + "1 Kgs 18:41-46", + "Ps 65:10,11,12-13", + "Am 2:6-10,13-16", + "Ps 50:16bc-17,18-19,20-21,22-23", + "Prov 9:1-6", + "Eph 5:15-20", + "Eph 6:1-9", + "Ps 145:10-11,12-13ab,13cd-14", + "Tob 11:5-17", + "Ps 146:1-2,6-7,8-9,9bc-10", + "Heb 11:1-7", + "Isa 56:1-3,6-8", + "Jn 5:33-36", + "1 Kgs 17:17-24", + "Gal 1:11-19", + "Isa 49:14-15", + "Ps 62:2-3,6-7,8-9", + "Sir 42:15-25", + "Ps 33:2-3,4-5,6-7,8-9", + "Lev 19:1-2,17-18", + "1 Cor 3:16-23", + "Matt 5:38-48", + "1 Kgs 8:41-43", + "Ps 117:1-2", + "Gal 1:1-2,6-10", +}; + +static const char *const cites_la[] = { + "Num 6:22-27", + "Ps 67:2-3,5,6+8", + "Gal 4:4-7", + "Luc 2:16-21", + "1 Ioann 2:22-28", + "Ps 98:1,2-3ab,3cd-4", + "Ioann 1:19-28", + "1 Ioann 2:29-3:6", + "Ps 98:1,3cd-4,5-6", + "Ioann 1:29-34", + "1 Ioann 3:7-10", + "Ps 98:1,7-8,9", + "Ioann 1:35-42", + "Eccli 24:1-4,12-16", + "Ps 147:12-13,14-15,19-20", + "Eph 1:3-6,15-18", + "Ioann 1:1-18", + "Is 60:1-6", + "Ps 72:1-2,7-8,10-11,12-13", + "Eph 3:2-3,5-6", + "Matt 2:1-12", + "1 Ioann 4:7-10", + "Ps 72:1-2,3-4,7-8", + "Marc 6:34-44", + "1 Ioann 4:11-18", + "Ps 72:1-2,10,12-13", + "Marc 6:45-52", + "1 Ioann 4:19-5:4", + "Ps 72:1-2,14+15bc,17", + "Luc 4:14-22", + "1 Ioann 5:5-13", + "Luc 5:12-16", + "1 Ioann 5:14-21", + "Ps 149:1-2,3-4,5+6+9", + "Ioann 3:22-30", + "Is 40:1-5,9-11", + "Ps 104:1-2,3-4,24-25,27-28,29-30", + "Tit 2:11-14; 3:4-7", + "Luc 3:15-16,21-22", + "Hebr 1:1-6", + "Ps 97:1+2,6+7,9", + "Marc 1:14-20", + "Hebr 2:5-12", + "Ps 8:2ab+5,6-7,8-9", + "Marc 1:21-28", + "Hebr 2:14-18", + "Ps 105:1-2,3-4,6-7,8-9", + "Marc 1:29-39", + "Hebr 3:7-14", + "Ps 95:6-7,8-9,10-11", + "Marc 1:40-45", + "Hebr 4:1-5,11", + "Ps 78:3+4bc,6-7,8", + "Marc 2:1-12", + "Hebr 4:12-16", + "Ps 19:8,9,10,15", + "Marc 2:13-17", + "Is 62:1-5", + "Ps 96:1-2,2-3,7-8,9-10", + "1 Cor 12:4-11", + "Ioann 2:1-11", + "Hebr 5:1-10", + "Ps 110:1,2,3,4", + "Marc 2:18-22", + "Hebr 6:10-20", + "Ps 111:1-2,4-5,9+10", + "Marc 2:23-28", + "Hebr 7:1-3,15-17", + "Marc 3:1-6", + "Hebr 7:25-8:6", + "Ps 40:7-8,8-9,10,17", + "Marc 3:7-12", + "Hebr 8:6-13", + "Ps 85:8+10,11-12,13-14", + "Marc 3:13-19", + "The Acts 22:3-16", + "Ps 117:1bc,2", + "Marc 16:15-18", + "Neh 8:2-4,5-6,8-10", + "1 Cor 12:12-30", + "Luc 1:1-4; 4:14-21", + "Hebr 9:15,24-28", + "Ps 98:1,2-3ab,3cd-4,5-6", + "Marc 3:22-30", + "Hebr 10:1-10", + "Ps 40:2+4ab,7-8,10,11", + "Marc 3:31-35", + "Hebr 10:11-18", + "Marc 4:1-20", + "Hebr 10:19-25", + "Ps 24:1-2,3-4ab,5-6", + "Marc 4:21-25", + "Hebr 10:32-39", + "Ps 37:3-4,5-6,23-24,39-40", + "Marc 4:26-34", + "Hebr 11:1-2,8-19", + "Luc 1:69-70,71-72,73-75", + "Marc 4:35-41", + "Mal 3:1-4", + "Ps 24:7,8,9,10", + "Luc 2:22-40", + "Hebr 11:32-40", + "Ps 31:20,21,22,23,24", + "Marc 5:1-20", + "Hebr 12:1-4", + "Ps 22:26-27,28+30,31-32", + "Marc 5:21-43", + "Hebr 12:4-7,11-15", + "Ps 103:1-2,13-14,17-18", + "Marc 6:1-6", + "Hebr 12:18-19,21-24", + "Ps 48:2-3ab,3cd-4,9,10-11", + "Marc 6:7-13", + "Hebr 13:1-8", + "Ps 27:1,3,5,8-9abc", + "Marc 6:14-29", + "Hebr 13:15-17,20-21", + "Ps 23:1-3,3-4,5,6", + "Marc 6:30-34", + "Is 6:1-2,3-8", + "Ps 138:1-2,2-3,4-5,7-8", + "1 Cor 15:1-11", + "Luc 5:1-11", + "Gen 1:1-19", + "Ps 104:1-2,5-6,10+12,24+35", + "Marc 6:53-56", + "Gen 1:20-2:4", + "Ps 8:4-5,6-7,8-9", + "Marc 7:1-13", + "Gen 2:4-9,15-17", + "Ps 104:1-2,27-28,29bc-30", + "Marc 7:14-23", + "Gen 2:18-25", + "Ps 128:1-2,3,4-5", + "Marc 7:24-30", + "Gen 3:1-8", + "Ps 32:1-2,5,6,7", + "Marc 7:31-37", + "Gen 3:9-24", + "Ps 90:2,3-4abc,5-6,12-13", + "Marc 8:1-10", + "Ier 17:5-8", + "Ps 1:1-2,3,4+6", + "1 Cor 15:12,16-20", + "Luc 6:17,20-26", + "Gen 4:1-15,25", + "Ps 50:1+8,16bc-17,20-21", + "Marc 8:11-13", + "Gen 6:5-8; 7:1-5,10", + "Ps 29:1+2,3ac-4,3+9-10", + "Marc 8:14-21", + "Gen 8:6-13,20-22", + "Ps 116:12-13,14-15,18-19", + "Marc 8:22-26", + "Gen 9:1-13", + "Ps 102:16-18,19-21,29+22-23", + "Marc 8:27-33", + "Gen 11:1-9", + "Ps 33:10-11,12-13,14-15", + "Marc 8:34-9:1", + "1 Pet 5:1-4", + "Ps 23:1-3,4,5,6", + "Matt 16:13-19", + "1 Reg 26:2,7-9,12-13,22-23", + "Ps 103:1-2,3-4,8+10,12-13", + "1 Cor 15:45-49", + "Luc 6:27-38", + "Eccli 1:1-10", + "Ps 93:1ab,1cd-2,5", + "Marc 9:14-29", + "Eccli 2:1-11", + "Ps 37:3-4,18-19,27-28,39-40", + "Marc 9:30-37", + "Eccli 4:11-19", + "Ps 119:165,168,171,172,174,175", + "Marc 9:38-40", + "Eccli 5:1-8", + "Marc 9:41-50", + "Eccli 6:5-17", + "Ps 119:12,16,18,27,34,35", + "Marc 10:1-12", + "Eccli 17:1-15", + "Ps 103:13-14,15-16,17-18", + "Marc 10:13-16", + "Eccli 27:5-8", + "Ps 92:2-3,13-14,15-16", + "1 Cor 15:54-58", + "Luc 6:39-45", + "Eccli 17:20-24", + "Marc 10:17-27", + "Eccli 35:1-12", + "Ps 50:5-6,7-8,14+23", + "Marc 10:28-31", + "Ioel 2:12-18", + "Ps 51:3-4,5-6ab,12-13,14+17", + "Matt 6:1-6,16-18", + "Deut 30:15-20", + "Luc 9:22-25", + "Is 58:1-9", + "Ps 51:3-4,5-6ab,18-19", + "Matt 9:14-15", + "Is 58:9-14", + "Ps 86:1-2,3-4,5-6", + "Luc 5:27-32", + "Deut 26:4-10", + "Ps 91:1-2,10-11,12-13,14-15", + "Rom 10:8-13", + "Luc 4:1-13", + "Lev 19:1-2,11-18", + "Matt 25:31-46", + "Is 55:10-11", + "Ps 34:4-5,6-7,16-17,18-19", + "Matt 6:7-15", + "Ion 3:1-10", + "Ps 51:3-4,12-13,18-19", + "Luc 11:29-32", + "Esth 14:1-13", + "Ps 138:1-2ab,2cde-3,7-8", + "Matt 7:7-12", + "Ez 18:21-28", + "Ps 130:1-2,3-4,5-7,7bc-8", + "Matt 5:20-26", + "Deut 26:16-19", + "Ps 119:1-2,4-5,7-8", + "Matt 5:43-48", + "Gen 15:5-12,17-18", + "Ps 27:1,7-8,8-9,13-14", + "Phil 3:17-4:1", + "Luc 9:28-36", + "Dan 9:4-10", + "Ps 78:8,9,11+13", + "Luc 6:36-38", + "Is 1:10,16-20", + "Ps 50:8-9,16bc-17,21+23", + "Matt 23:1-12", + "2 Reg 7:4-5,12-14,16", + "Ps 89:2-3,4-5,27+29", + "Rom 4:13,16-18,22", + "Matt 1:16,18-21,24", + "Ier 17:5-10", + "Luc 16:19-31", + "Gen 37:3-4,12-13,17-28", + "Ps 105:16-17,18-19,20-21", + "Matt 21:33-43,45-46", + "Mich 7:14-15,18-20", + "Ps 103:1-2,3-4,9-10,11-12", + "Luc 15:1-3,11-32", + "Ex 3:1-8,13-15", + "Ps 103:1-2,3-4,6-7,8+11", + "1 Cor 10:1-6,10-12", + "Luc 13:1-9", + "4 Reg 5:1-15", + "Ps 42:2,3; 43:3,4", + "Luc 4:24-30", + "Is 7:10-14; 8:10", + "Ps 40:7-8,8-9,10,11", + "Hebr 10:4-10", + "Luc 1:26-38", + "Deut 4:1,5-9", + "Ps 147:12-13,15-16,19-20", + "Matt 5:17-19", + "Ier 7:23-28", + "Ps 95:1-2,6-7,8-9", + "Luc 11:14-23", + "Os 14:2-10", + "Ps 81:6-8,8bc-9,10-11ab,14+17", + "Marc 12:28-34", + "Os 6:1-6", + "Ps 51:3-4,18-19,20-21ab", + "Luc 18:9-14", + "Ios 5:9,10-12", + "Ps 34:2-3,4-5,6-7", + "2 Cor 5:17-21", + "Is 65:17-21", + "Ps 30:2+4,5-6,11-12+13", + "Ioann 4:43-54", + "Ez 47:1-9,12", + "Ps 46:2-3,5-6,8-9", + "Ioann 5:1-3,5-16", + "Is 49:8-15", + "Ps 145:8-9,13cd-14,17-18", + "Ioann 5:17-30", + "Ex 32:7-14", + "Ps 106:19-20,21-22,23", + "Ioann 5:31-47", + "Sap 2:1,12-22", + "Ps 34:17-18,19-20,21+23", + "Ioann 7:1-2,10,25-30", + "Ier 11:18-20", + "Ps 7:2-3,9bc-10,11-12", + "Ioann 7:40-53", + "Is 43:16-21", + "Ps 126:1-2,2-3,4-5,6", + "Phil 3:8-14", + "Ioann 8:1-11", + "Dan 13:1-9,15-17,19-30,33-62", + "Num 21:4-9", + "Ps 102:2-3,16-18,19-21", + "Ioann 8:21-30", + "Dan 3:14-20,91-92,95", + "Dan 3:52,53,54,55,56", + "Ioann 8:31-42", + "Gen 17:3-9", + "Ps 105:4-5,6-7,8-9", + "Ioann 8:51-59", + "Ier 20:10-13", + "Ps 18:2-3,3bc-4,5-6,7", + "Ioann 10:31-42", + "Ez 37:21-28", + "Ier 31:10,11-12abcd,13", + "Ioann 11:45-56", + "Is 50:4-7", + "Ps 22:8-9,17-18,19-20,23-24", + "Phil 2:6-11", + "Luc 23:1-49", + "Is 42:1-7", + "Ps 27:1bcde,2,3,13-14", + "Ioann 12:1-11", + "Is 49:1-6", + "Ps 71:1-2,3-4,5-6,15,17", + "Ioann 13:21-33,36-38", + "Is 50:4-9", + "Ps 69:7-9,20-21,30,32-33", + "Mat 26:14-25", + "Is 61:1-3,6,8-9", + "Ps 89:20-21,24,26", + "Luc 4:16-21", + "Is 52:13-53:12", + "Ps 31:1,5,11ab,12,14-15,16,24", + "Ioann 18:1-19:42", + "Gen 1:1-2:2", + "Ps 118:1-2,16-17,22-23", + "Gen 1:1,26-31", + "Mat 28:1-10", + "The Acts 10:34a,37-43", + "Col 3:1-4", + "Ioann 20:1-9", + "Act 2:14,22-32", + "Ps 16:1-2,5,7-8,9-10,11", + "Mat 28:8-15", + "Act 2:36-41", + "Ps 33:4-5,18-19,20,22", + "Ioann 20:11-18", + "Act 3:1-10", + "Luc 24:13-35", + "Act 3:11-26", + "Ps 8:1ab,4,5-6,7-8", + "Luc 24:35-48", + "Act 4:1-12", + "Ps 118:1-2,4,22-24,25-27", + "Ioann 21:1-14", + "Act 4:13-21", + "Ps 118:1bc,14-15,16-18,19-21", + "Marc 16:9-15", + "The Acts 5:12-16", + "Ps 118:2-4,13-15,22-24", + "Apoc 1:9-11,12-13,17-19", + "Ioann 20:19-31", + "The Acts 4:23-31", + "Ps 2:1-3,4-7,7-9", + "Ioann 3:1-8", + "The Acts 4:32-37", + "Ioann 3:7-15", + "The Acts 5:17-26", + "Ps 34:2-3,4-5,6-7,8-9", + "Ioann 3:16-21", + "The Acts 5:27-33", + "Ps 34:2+9,17-18,19-20", + "Ioann 3:31-36", + "The Acts 5:34-42", + "Ps 27:1,4,13-14", + "Ioann 6:1-15", + "1 Cor 15:1-8", + "Ps 19:2-3,4-5", + "Ioann 14:6-14", + "The Acts 5:27-32,40b-41", + "Apoc 5:11-14", + "Ioann 21:1-19", + "The Acts 6:8-15", + "Ps 119:23-24,26-27,29-30", + "Ioann 6:22-29", + "The Acts 7:51-8:1a", + "Ps 31:3cd-4,6+7+8,17+21ab", + "Ioann 6:30-35", + "The Acts 8:1b-8", + "Ps 66:1-3,4-5,6-7", + "Ioann 6:35-40", + "The Acts 8:26-40", + "Ps 66:8-9,16-17,20", + "Ioann 6:44-51", + "The Acts 9:1-20", + "Ps 117:1,2", + "Ioann 6:52-59", + "The Acts 9:31-42", + "Ps 116:12-13,14-15,16-17", + "Ioann 6:60-69", + "The Acts 13:14,43-52", + "Ps 100:1-2,3,5", + "Apoc 7:9,14-17", + "Ioann 10:27-30", + "The Acts 11:1-18", + "Ps 42:2-3,3,4", + "Ioann 10:1-10", + "The Acts 11:19-26", + "Ps 87:1-3,4-5,6-7", + "Ioann 10:22-30", + "The Acts 1:15-17,20-26", + "Ps 113:1-2,3-4,5-6,7-8", + "Ioann 15:9-17", + "The Acts 13:13-25", + "Ps 89:2-3,21-22,25+27", + "Ioann 13:16-20", + "The Acts 13:26-33", + "Ps 2:6-7,8-9,10-11ab", + "Ioann 14:1-6", + "The Acts 13:44-52", + "Ioann 14:7-14", + "The Acts 14:21-27", + "Ps 145:8-9,10-11,12-13", + "Apoc 21:1-5", + "Ioann 13:31-33,34-35", + "The Acts 14:5-18", + "Ps 115:1-2,3-4,15-16", + "Ioann 14:21-26", + "The Acts 14:19-28", + "Ps 145:10-11,12-13ab,21", + "Ioann 14:27-31", + "The Acts 15:1-6", + "Ps 122:1-2,3-4ab,4cd-5", + "Ioann 15:1-8", + "The Acts 15:7-21", + "Ps 96:1-2,2-3,10", + "Ioann 15:9-11", + "The Acts 15:22-31", + "Ps 57:8-9,10+12", + "Ioann 15:12-17", + "The Acts 16:1-10", + "Ioann 15:18-21", + "The Acts 15:1-2,22-29", + "Apoc 21:10-14,22-23", + "Ioann 14:23-29", + "The Acts 16:11-15", + "Ps 149:1-2,3-4,5-6+9", + "Ioann 15:26-16:4", + "The Acts 16:22-34", + "Ioann 16:5-11", + "The Acts 17:15,22-18:1", + "Ps 148:1-2,11-12,13,14", + "Ioann 16:12-15", + "The Acts 1:1-11", + "Ps 47:2-3,6-7,8-9", + "Hebr 9:24-28; 10:19-23", + "Luc 24:46-53", + "The Acts 18:9-18", + "Ps 47:2-3,4-5,6-7", + "Ioann 16:20-23", + "Soph 3:14-18", + "Is 12:2-3,4bcd,5-6", + "Luc 1:39-56", + "The Acts 7:55-60", + "Ps 97:1-2,6-7,9", + "Apoc 22:12-14,16-17,20", + "Ioann 17:20-26", + "The Acts 19:1-8", + "Ps 68:2-3ab,4-5acd,6-7ab", + "Ioann 16:29-33", + "The Acts 20:17-27", + "Ps 68:10-11,20-21", + "Ioann 17:1-11", + "The Acts 20:28-38", + "Ps 68:29-30,33-35,35bc-36ab", + "Ioann 17:11-19", + "The Acts 22:30;23:6-11", + "Ps 16:1-2+5,7-8,9-10,11", + "The Acts 25:13b-21", + "Ps 103:1-2,11-12,19-20ab", + "Ioann 21:15-19", + "The Acts 28:16-20,30-31", + "Ps 11:4,5+7", + "Ioann 21:20-25", + "The Acts 2:1-11", + "Ps 104:1+24,29-30,31+34", + "Rom 8:8-17", + "Ioann 14:15-16,23-26", + "Gen 3:9-15,20", + "Ps 87:1-2,3+5,6-7", + "Ioann 19:25-34", + "2 Cor 1:18-22", + "Ps 119:129,130,131,132,133,135", + "Matt 5:13-16", + "The Acts 11:21b-26;13:1-3", + "2 Cor 3:15-4:1,3-6", + "Ps 85:9ab+10,11-12,13-14", + "2 Cor 4:7-15", + "Ps 116:10-11,15-16,17-18", + "Matt 5:27-32", + "2 Cor 5:14-21", + "Matt 5:33-37", + "Prov 8:22-31", + "Rom 5:1-5", + "2 Cor 6:1-10", + "Matt 5:38-42", + "2 Cor 8:1-9", + "Ps 146:2,5-6ab,6-7,8-9", + "2 Cor 9:6-11", + "Ps 112:1bc-2,3-4,9", + "Gen 14:18-20", + "1 Cor 11:23-26", + "Luc 9:11-17", + "2 Cor 11:18,21-30", + "Matt 6:19-23", + "2 Cor 12:1-10", + "Ps 34:8-9,10-11,12-13", + "Matt 6:24-34", + "Zach 12:10-11; 13:1", + "Ps 63:2,3-4,5-6,8-9", + "Gal 3:26-29", + "Luc 9:18-24", + "Gen 12:1-9", + "Ps 33:12-13,18-19,20+22", + "Matt 7:1-5", + "Ps 139:1-3,13-14ab,14-15", + "The Acts 13:22-26", + "Luc 1:57-66,80", + "Gen 15:1-12,17-18", + "Matt 7:15-20", + "Gen 16:1-12,15-16", + "Ps 106:1-2,3-4,4-5", + "Matt 7:21-29", + "Ez 34:11-16", + "Rom 5:5-11", + "Luc 15:3-7", + "Gen 18:1-15", + "Luc 1:46-47,48-49,50+53,54-55", + "Matt 8:5-17", + "The Acts 12:1-11", + "2 Tim 4:6-8,17-18", + "Gen 18:16-33", + "Ps 103:1-2,3-4,8-9,10-11", + "Matt 8:18-22", + "Gen 19:15-29", + "Ps 26:2-3,9-10,11-12", + "Matt 8:23-27", + "Gen 21:5,8-20", + "Ps 34:7-8,10-11,12-13", + "Matt 8:28-34", + "Eph 2:19-22", + "Ioann 20:24-29", + "Gen 23:1-4,19; 24:1-8,62-67", + "Matt 9:9-13", + "Gen 27:1-5,15-29", + "Ps 135:1-2,3-4,5-6", + "Matt 9:14-17", + "Is 66:10-14", + "Ps 66:1-3,4-5,6-7,16+20", + "Gal 6:14-18", + "Luc 10:1-12,17-20", + "Gen 28:10-22", + "Ps 91:1-2,3-4,14-15ab", + "Matt 9:18-26", + "Gen 32:23-33", + "Ps 17:1,2-3,6-7ab,8+15", + "Matt 9:32-38", + "Gen 41:55-57; 42:5-7,17-24", + "Ps 33:2-3,10-11,18-19", + "Matt 10:1-7", + "Gen 44:18-21,23-29; 45:1-5", + "Matt 10:7-15", + "Gen 46:1-7,28-30", + "Matt 10:16-23", + "Gen 49:29-32; 50:15-26", + "Ps 105:1-2,3-4,6-7", + "Matt 10:24-33", + "Deut 30:10-14", + "Ps 69:14+17,30-31,33-34,36+37", + "Col 1:15-20", + "Luc 10:25-37", + "Ex 1:8-14,22", + "Ps 124:1-3,4-6,7-8", + "Matt 10:34-11:1", + "Ex 2:1-15", + "Ps 69:3,14,30-31,33-34", + "Matt 11:20-24", + "Ex 3:1-6,9-12", + "Ps 103:1-2,3-4,6-7", + "Matt 11:25-27", + "Ex 3:13-20", + "Ps 105:1+5,8-9,24-25,26-27", + "Matt 11:28-30", + "Ex 11:10-12:14", + "Ps 116:12-13,15+16bc,17-18", + "Matt 12:1-8", + "Ex 12:37-42", + "Ps 136:1+23-24,10-12,13-15", + "Matt 12:14-21", + "Gen 18:1-10", + "Ps 15:2-3,3-4,5", + "Col 1:24-28", + "Luc 10:38-42", + "Ex 14:5-18", + "Ex 15:1bc-2,3-4,5-6", + "Matt 12:38-42", + "Ex 14:21-15:1", + "Ex 15:8-9,10+12,17", + "Ioann 20:1-2,11-18", + "Ex 16:1-5,9-15", + "Ps 78:18-19,23-24,25-26,27-28", + "Matt 13:1-9", + "Ex 19:1-2,9-11,16-20", + "Matt 13:10-17", + "Ps 126:1bc-2ab,2cd-3,4-5,6", + "Matt 20:20-28", + "Eccli 44:1,10-15", + "Ps 132:11,13-14,17-18", + "Matt 13:16-17", + "Gen 18:20-32", + "Ps 138:1-2,2-3,6-7,7-8", + "Col 2:12-14", + "Luc 11:1-13", + "Ex 32:15-24,30-34", + "Matt 13:31-35", + "Ex 33:7-11; 34:5-9,28", + "Ps 103:6-7,8-9,10-11,12-13", + "Ioann 11:19-27", + "Ex 34:29-35", + "Ps 99:5,6,7,9", + "Matt 13:44-46", + "Ex 40:16-21,34-38", + "Ps 84:3,4,5-6+8,11", + "Matt 13:47-53", + "Lev 23:1,4-11,15-16,27,34-37", + "Ps 81:3-4,5-6ab,10-11ab", + "Matt 13:54-58", + "Lev 25:1,8-17", + "Ps 67:2-3,5,7-8", + "Matt 14:1-12", + "Eccle 1:2; 2:21-23", + "Ps 90:3-4,5-6,12-13,14+17", + "Col 3:1-5,9-11", + "Luc 12:13-21", + "Num 11:4-15", + "Ps 81:12-13,14-15,16-17", + "Matt 14:13-21", + "Num 12:1-13", + "Ps 51:3-4,5-6ab,6cd-7,12-13", + "Matt 14:22-36", + "Dan 7:9-10,13-14", + "Ps 97:1-2,5-6,9", + "2 Pet 1:16-19", + "Matt 17:1-9", + "Num 20:1-13", + "Matt 16:13-23", + "Deut 4:32-40", + "Ps 77:12-13,14-15,16+21", + "Matt 16:24-28", + "Deut 6:4-13", + "Ps 18:2-3,3bc-4,47+51", + "Matt 17:14-20", + "Sap 18:6-9", + "Ps 33:1+12,18-19,20-22", + "Luc 12:32-48", + "Deut 10:12-22", + "Matt 17:22-27", + "Deut 31:1-8", + "Deut 32:3-4ab,7,8,9+12", + "Matt 18:1-5,10,12-14", + "Deut 34:1-12", + "Ps 66:1-3,5+8,16-17", + "Matt 18:15-20", + "Ios 3:7-10,11,13-17", + "Ps 114:1-2,3-4,5-6", + "Matt 18:21-19:1", + "Apoc 11:19; 12:1-6,10ab", + "Ps 45:10,11,12,16", + "1 Cor 15:20-27", + "Ios 24:14-29", + "Ps 16:1-2+5,7-8,11", + "Matt 19:13-15", + "Ier 38:4-6,8-10", + "Ps 40:2,3,4,18", + "Luc 12:49-53", + "Idc 2:11-19", + "Ps 106:34-35,36-37,39-40,43ab+44", + "Matt 19:16-22", + "Idc 6:11-24", + "Ps 85:9,11-12,13-14", + "Matt 19:23-30", + "Idc 9:6-15", + "Ps 21:2-3,4-5,6-7", + "Matt 20:1-16", + "Idc 11:29-39", + "Ps 40:5,7-8,8-9,10", + "Matt 22:1-14", + "Ruth 1:1,3-6,14-16,22", + "Ps 146:5-6ab,6-7,8-9,9bc-10", + "Matt 22:34-40", + "Ruth 2:1-3,8-11; 4:13-17", + "Ps 128:1-2,3,4,5", + "Is 66:18-21", + "Hebr 12:5-7,11-13", + "Luc 13:22-30", + "1 Thess 1:1-5,8-10", + "Matt 23:13-22", + "1 Thess 2:1-8", + "Ps 139:1-3,4-6", + "Matt 23:23-26", + "1 Thess 2:9-13", + "Ps 139:7-8,9-10,11-12ab", + "Matt 23:27-32", + "1 Thess 3:7-13", + "Ps 90:3-4,12-13,14+17", + "Matt 24:42-51", + "1 Thess 4:1-8", + "Ps 97:1+2,5-6,10,11-12", + "Marc 6:17-29", + "1 Thess 4:9-11", + "Matt 25:14-30", + "Eccli 3:17-18,20,28-29", + "Ps 68:4-5,6-7,10-11", + "Hebr 12:18-19,22-24", + "Luc 14:1,7-14", + "1 Thess 4:13-18", + "Ps 96:1+3,4-5,11-12,13", + "Luc 4:16-30", + "1 Thess 5:1-6,9-11", + "Luc 4:31-37", + "Col 1:1-8", + "Ps 52:10,11", + "Luc 4:38-44", + "Col 1:9-14", + "Ps 98:2-3ab,3cd-4,5-6", + "Ps 100:1-2,3,4,5", + "Luc 5:33-39", + "Col 1:21-23", + "Ps 54:3-4,6+8", + "Luc 6:1-5", + "Sap 9:13-18", + "Philemon 9-10,12-17", + "Luc 14:25-33", + "Mich 5:1-4", + "Ps 13:6ab,6", + "Matt 1:1-16,18-23", + "Col 2:6-15", + "Ps 145:1-2,8-9,10-11", + "Luc 6:12-19", + "Col 3:1-11", + "Ps 145:2-3,10-11,12-13ab", + "Luc 6:20-26", + "Col 3:12-17", + "Ps 150:1-2,3-4,5-6", + "1 Tim 1:1-2,12-14", + "Luc 6:39-42", + "1 Tim 1:15-17", + "Ps 113:1-2,3-4,5+6-7", + "Luc 6:43-49", + "Ps 78:1bc-2,34-35,36-37,38", + "Ioann 3:13-17", + "1 Tim 2:1-8", + "Ps 28:2,7,8-9", + "Ioann 19:25-27", + "1 Tim 3:1-13", + "Ps 101:1-2ab,2cd-3ab,5,6", + "Luc 7:11-17", + "1 Tim 3:14-16", + "Ps 111:1-2,3-4,5-6", + "Luc 7:31-35", + "1 Tim 4:12-16", + "Ps 111:7-8,9,10", + "Luc 7:36-50", + "1 Tim 6:2-12", + "Ps 49:6-7,8-10,17-18,19-20", + "Luc 8:1-3", + "1 Tim 6:13-16", + "Luc 8:4-15", + "Am 8:4-7", + "Ps 113:1-2,4-6,7-8", + "Luc 16:1-13", + "Esd 1:1-6", + "Ps 126:1-2ab,2cd-3,4-5,6", + "Luc 8:16-18", + "Esd 6:7-8,12,14-20", + "Luc 8:19-21", + "Esd 9:5-9", + "Tob 13:2,3-4,6,7,10", + "Luc 9:1-6", + "Agg 1:1-8", + "Luc 9:7-9", + "Agg 2:1-9", + "Ps 43:1,2,3,4", + "Luc 9:18-22", + "Zach 2:1-5,10-11", + "Ier 31:10,11-12ab,13", + "Luc 9:43-45", + "Am 6:1,4-7", + "Ps 146:6-7,8-9,9-10", + "1 Tim 6:11-16", + "Ps 138:1-2ab,2cde-3,4-5", + "Ioann 1:47-51", + "Zach 8:20-23", + "Luc 9:51-56", + "Neh 2:1-8", + "Ps 137:1-2,3,4-5,6", + "Luc 9:57-62", + "Neh 8:1-4,5-6,7-12", + "Ps 19:8,9,10,11", + "Matt 18:1-5,10", + "Bar 1:15-22", + "Ps 79:1-2,3-5,8,9", + "Luc 10:13-16", + "Bar 4:5-12,27-29", + "Ps 69:33-35,36-37", + "Luc 10:17-24", + "Hab 1:2-3; 2:2-4", + "Ps 95:1-2,6-7,7-9", + "2 Tim 1:6-8,13-14", + "Luc 17:5-10", + "Ion 1:1-2:2,11", + "Ion 2:3,4,5,8", + "Ps 130:1-2,3-4ab,7-8", + "Ion 4:1-11", + "Ps 86:3-4,5-6,9-10", + "Luc 11:1-4", + "Mal 3:13-18; 4:1-2", + "Luc 11:5-13", + "Ioel 1:13-15; 2:1-2", + "Ps 9:2-3,6+16,8-9", + "Luc 11:15-26", + "Ioel 3:12-21", + "Ps 97:1-2,5-6,11-12", + "Luc 11:27-28", + "4 Reg 5:14-17", + "Ps 98:1,2-3,3-4", + "2 Tim 2:8-13", + "Luc 17:11-19", + "Rom 1:1-7", + "Ps 98:1bcde,2-3ab,3cd-4", + "Rom 1:16-25", + "Luc 11:37-41", + "Rom 2:1-11", + "Ps 62:2-3,6-7,9", + "Luc 11:42-46", + "Rom 3:21-30", + "Ps 130:1-2,3-4,5-6ab", + "Luc 11:47-54", + "Rom 4:1-8", + "Ps 32:1-2,5,11", + "Luc 12:1-7", + "2 Tim 4:10-17", + "Ps 145:10-11,12-13,17-18", + "Luc 10:1-9", + "Ex 17:8-13", + "Ps 121:1-2,3-4,5-6,7-8", + "2 Tim 3:14-4:2", + "Luc 18:1-8", + "Rom 4:20-25", + "Rom 5:12,15,17-19,20-21", + "Luc 12:35-38", + "Rom 6:12-18", + "Luc 12:39-48", + "Rom 6:19-23", + "Rom 7:18-25", + "Ps 119:66,68,76,77,93,94", + "Luc 12:54-59", + "Rom 8:1-11", + "Eccli 35:12-14,16-18", + "Ps 34:2-3,17-18,19+23", + "2 Tim 4:6-8,16-18", + "Rom 8:12-17", + "Ps 68:2+4,6-7ab,20-21", + "Luc 13:10-17", + "Rom 8:26-30", + "Ps 13:4-5,6", + "Rom 8:31-39", + "Ps 109:21-22,26-27,30-31", + "Luc 13:31-35", + "Rom 9:1-5", + "Luc 14:1-6", + "Apoc 7:2-4,9-14", + "Ps 24:1bc-2,3-4ab,5-6", + "1 Ioann 3:1-3", + "Matt 5:1-12", + "Iob 19:1,23-27", + "Ps 27:1bcde,4,7,8,9,13-14", + "Luc 23:44-46,50,52-53", + "Rom 11:29-36", + "Ps 69:30-31,33-34,36-37", + "Luc 14:12-14", + "Rom 12:5-16ab", + "Ps 131:1bcde,2,3", + "Luc 14:15-24", + "Rom 13:8-10", + "Ps 112:1-2,4-5,9", + "Rom 14:7-12", + "Ps 27:1bcde,4,13-14", + "Luc 15:1-10", + "Rom 15:14-21", + "Luc 16:1-8", + "Rom 16:3-9,16,22-27", + "Ps 145:2-3,4-5,10-11", + "Luc 16:9-15", + "Ez 47:1-2,8-9,12", + "1 Cor 3:9-11,16-17", + "Ioann 2:13-22", + "Sap 1:1-7", + "Ps 139:1-3,4-6,7-8,9-10", + "Luc 17:1-6", + "Sap 2:23-3:9", + "Ps 34:2-3,16-17,18-19", + "Luc 17:7-10", + "Sap 6:1-11", + "Ps 82:3-4,6-7", + "Sap 7:22-8:1", + "Ps 119:89,90,91,130,135,175", + "Luc 17:20-25", + "Sap 13:1-9", + "Ps 19:2-3,4-5ab", + "Luc 17:26-37", + "Sap 18:14-16; 19:6-9", + "Ps 105:2-3,36-37,42-43", + "Mal 4:1-2", + "Ps 98:5-6,7-8,9", + "2 Thess 3:7-12", + "Luc 21:5-19", + "1 Mac 1:10-15,41-43,54-57,62-63", + "Ps 119:53,61,134,150,155,158", + "Luc 18:35-43", + "2 Mac 6:18-31", + "Ps 3:2-3,4-5,6-7", + "Luc 19:1-10", + "2 Mac 7:1,20-31", + "Ps 17:1bcd,5-6,8+15", + "Luc 19:11-28", + "1 Mac 2:15-29", + "Ps 50:1-2,5-6,14-15", + "Luc 19:41-44", + "1 Mac 4:36-37,52-59", + "1 Par 29:10bcd,11abc,11d-12,12bcd", + "Luc 19:45-48", + "1 Mac 6:1-13", + "Ps 9:2-3,4+6,16+19", + "Luc 20:27-40", + "2 Reg 5:1-3", + "Ps 122:1-2,3-4,4-5", + "Col 1:12-20", + "Luc 23:35-43", + "Dan 1:1-6,8-20", + "Luc 21:1-4", + "Dan 2:31-45", + "Dan 3:57,58,59,60,61", + "Luc 21:5-11", + "Dan 5:1-6,13-14,16-17,23-28", + "Dan 3:62,63,64,65,66,67", + "Luc 21:12-19", + "Dan 6:12-28", + "Dan 3:68,69,70,71,72,73,74", + "Luc 21:20-28", + "Dan 7:2-14", + "Dan 3:75,76,77,78,79,80,81", + "Luc 21:29-33", + "Dan 7:15-27", + "Dan 3:82,83,84,85,86,87", + "Luc 21:34-36", + "Is 2:1-5", + "Ps 122:1-2,3-4,4-5,6-7,8-9", + "Rom 13:11-14", + "Matt 24:37-44", + "Ps 122:1-2,3-4,4cd-5,6-7,8-9", + "Matt 8:5-11", + "Is 11:1-10", + "Ps 72:1-2,7-8,12-13,17", + "Luc 10:21-24", + "Is 25:6-10", + "Matt 15:29-37", + "Is 26:1-6", + "Ps 118:1+8-9,19-21,25-27", + "Matt 7:21,24-27", + "Is 29:17-24", + "Matt 9:27-31", + "Is 30:19-21,23-26", + "Ps 147:1-2,3-4,5-6", + "Matt 9:35-10:1,5,6-8", + "Rom 15:4-9", + "Matt 3:1-12", + "Eph 1:3-6,11-12", + "Is 40:1-11", + "Ps 96:1-2,3+10ac,11-12,13", + "Matt 18:12-14", + "Is 40:25-31", + "Ps 103:1-2,3-4,8+10", + "Is 41:13-20", + "Ps 145:1+9,10-11,12-13ab", + "Matt 11:11-15", + "Is 48:17-19", + "Matt 11:16-19", + "Eccli 48:1-4,9-11", + "Ps 80:2ac+3,15-16,18-19", + "Matt 17:9,10-135", + "Is 35:1-6,10", + "Iac 5:7-10", + "Matt 11:2-11", + "Num 24:2-7,15-17", + "Ps 25:4-5ab,6+7bc,8-9", + "Matt 21:23-27", + "Soph 3:1-2,9-13", + "Ps 34:2-3,6-7,17-18,19+23", + "Matt 21:28-32", + "Gen 49:2,8-10", + "Ps 72:1-2,3-4ab,7-8,17", + "Matt 1:1-17", + "Ier 23:5-8", + "Ps 72:1-2,12-13,18-19", + "Matt 1:18-24", + "Idc 13:2-7,24-25", + "Ps 71:3-4,5-6ab,16-17", + "Luc 1:5-25", + "Is 7:10-14", + "Ps 24:1-2,3-4,5-6", + "1 Reg 1:24-28", + "1 Reg 2:1,4-5,6-7,8abcd", + "Luc 1:46-56", + "Mal 3:1-4; 4:5-6", + "Ps 25:4-5ab,8-9,10+14", + "Luc 1:57-66", + "2 Reg 7:1-5,8-12,14,16", + "Luc 1:67-79", + "Ps 89:3-4,15-16,26,28", + "Mat 1:18-25", + "The Acts 6:8-10;7:54-59", + "Ps 31:3cd-4,6+8ab,16bc+17", + "Matt 10:17-22", + "1 Ioann 1:1-4", + "Ioann 20:1+2-8", + "Eccli 3:3-7,14-17", + "Col 3:12-21", + "Matt 2:13-15,19-23", + "1 Ioann 2:3-11", + "Ps 96:1-2,2-3,5-6", + "Luc 2:22-35", + "1 Ioann 2:12-17", + "Ps 96:7-8,8-9,10", + "Luc 2:36-40", + "1 Ioann 2:18-21", + "Ps 96:1-2,11-12,13", + "1 Ioann 3:11-21", + "Ioann 1:43-51", + "Is 42:1-4,6-7", + "Ps 29:1-2,3ac+4,3+9-10", + "The Acts 10:34-38", + "Matt 3:13-17", + "1 Reg 1:1-8", + "Ps 116:12-13,14-17,18-19", + "Marc 1:14-22", + "1 Reg 1:9-22", + "1 Reg 3:1-10,19-22", + "Ps 40:2+5,7-8,8-9,10", + "1 Reg 4:1-11", + "Ps 44:10-11,14-15,24-25", + "1 Reg 8:4-7,10-22", + "Ps 89:16-17,18-19", + "1 Reg 9:1-4,17-19; 10:1", + "Is 49:3,5-6", + "Ps 40:2+4,7-8,8-9,10", + "1 Cor 1:1-3", + "1 Reg 15:16-23", + "1 Reg 16:1-13", + "Ps 89:20,21-22,27-28", + "1 Reg 17:32-33,37,40-51", + "Ps 144:1,2,9-10", + "1 Reg 18:6-9; 19:1-7", + "Ps 56:2-3,9-10,10-11,12-13", + "1 Reg 24:3-21", + "Ps 57:2,3-4,6+11", + "2 Reg 1:1-4,11-12,19,23-27", + "Ps 80:2-3,5-7", + "Marc 3:20-21", + "Is 8:23-9:3", + "1 Cor 1:10-13,17", + "Matt 4:12-23", + "2 Tim 1:1-8", + "Ps 96:1-2,2-3,7-8,10", + "2 Reg 6:12-15,17-19", + "2 Reg 7:4-17", + "Ps 89:4-5,27-28,29-30", + "Marc 4:1-22", + "2 Reg 7:18-19,24-29", + "Ps 132:1-2,3-5,11,12,13-14", + "2 Reg 11:1-4,5-10,13-17", + "Ps 51:3-4,5-6,6bcd-7,10-11", + "2 Reg 12:1-7,10-17", + "Ps 51:12-13,14-15,16-17", + "Soph 2:3; 3:12-13", + "1 Cor 1:26-31", + "2 Reg 18:9-10,14,24-25,30-19:3", + "2 Reg 24:2,9-17", + "3 Reg 2:1-4,10-12", + "1 Par 29:10bcd,11ab,11d-12,12bcd", + "Eccli 47:2-11", + "Ps 18:31,47+50,51", + "3 Reg 3:4-13", + "Ps 119:9,10,11,12,13,14", + "Is 58:7-10", + "Ps 112:4-5,6-7,8-9", + "1 Cor 2:1-5", + "3 Reg 8:1-7,9-13", + "Ps 132:6-7,8-10", + "3 Reg 8:22-23,27-30", + "Ps 84:3,4,5+10,11", + "3 Reg 10:1-10", + "Ps 37:5-6,30-31,39-40", + "3 Reg 11:4-13", + "Ps 106:3-4,35-36,37+40", + "3 Reg 11:29-32; 12:19", + "Ps 81:10-11ab,12-13,14-15", + "3 Reg 12:26-32; 13:33-34", + "Ps 106:6-7ab,19-22,21-22", + "Eccli 15:16-21", + "Ps 119:1-2,4-5,17-18,33-34", + "1 Cor 2:6-10", + "Matt 5:17-37", + "Iac 1:1-11", + "Ps 119:67,68,71,72,75,76", + "Iac 1:12-18", + "Ps 94:12-13,14-15,18-19", + "Gen 2:7-9; 3:1-7", + "Ps 51:3-4,5-6,12-13,14+17", + "Rom 5:12-19", + "Matt 4:1-11", + "Gen 12:1-4", + "Ps 33:4-5,18-19,20+22", + "2 Tim 1:8-10", + "Ier 18:18-20", + "Ps 31:5-6,14,15-16", + "Matt 20:17-28", + "Ex 17:3-7", + "Rom 5:1-2,5-8", + "Ioann 4:5-42", + "Dan 3:25,34-43", + "Matt 18:21-35", + "1 Reg 16:1,6-7,10-13", + "Eph 5:8-14", + "Ioann 9:1-41", + "Ez 37:12-14", + "Ps 130:1-2,3-4,5-6,7-8", + "Rom 8:8-11", + "Ioann 11:1-45", + "Mat 27:11-54", + "The Acts 2:42-47", + "1 Pet 1:3-9", + "The Acts 6:1-7", + "Ps 33:1-2,4-5,18-19", + "Ioann 6:16-21", + "The Acts 2:14,22-33", + "1 Pet 1:17-21", + "1 Pet 5:5-14", + "Ps 89:2-3,6-7,16-17", + "Marc 16:15-20", + "The Acts 2:14a,36-41", + "1 Pet 2:20-25", + "The Acts 12:24-13:5a", + "Ioann 12:44-50", + "1 Pet 2:4-9", + "Ioann 14:1-12", + "The Acts 8:5-8,14-17", + "1 Pet 3:15-18", + "Ioann 14:15-21", + "Eph 1:17-23", + "Matt 28:16-20", + "The Acts 18:23-28", + "Ps 47:2-3,8-9,10", + "Ioann 16:23-28", + "The Acts 1:12-14", + "Ps 27:1,4,7-8", + "1 Pet 4:13-16", + "1 Cor 12:3-7,12-13", + "Ioann 20:19-23", + "1 Pet 1:10-16", + "1 Pet 1:18-25", + "Ps 147:12-13,14-15,19-22", + "Marc 10:32-45", + "1 Pet 2:2-5,9-12", + "Ps 100:2,3,4,5", + "Marc 10:46-52", + "1 Pet 4:7-13", + "Ps 96:10,11-12,13", + "Marc 11:11-26", + "Jude 17,20b-25", + "Ps 63:2,3-4,5-6", + "Marc 11:27-33", + "Ex 34:4-6,8-9", + "Dan 3:52,53,54,55", + "2 Cor 13:11-13", + "Ioann 3:16-18", + "2 Pet 1:2-7", + "Ps 91:1-2,14-15ab,15-16", + "Marc 12:1-12", + "2 Pet 3:12-15,17-18", + "Ps 90:2,3-4,10,14+16", + "Marc 12:13-17", + "2 Tim 1:1-3,6-12", + "Ps 123:1-2ab,2cdef", + "Marc 12:18-27", + "Deut 8:2-3,14-16", + "1 Cor 10:16-17", + "Ioann 6:51-58", + "2 Tim 3:10-17", + "Ps 119:157,160,161,165,166,168", + "Marc 12:35-37", + "2 Tim 4:1-8", + "Ps 71:8-9,14-15ab,16-17,22", + "Marc 12:38-44", + "Os 6:3-6", + "Ps 50:1+8,12-13,14-15", + "Rom 4:18-25", + "3 Reg 17:1-6", + "Ps 121:1bc-2,3-4,5-6,7-8", + "3 Reg 17:7-16", + "Ps 4:2-3,4-5,7-8", + "3 Reg 18:20-39", + "Ps 16:1-2ab,4,5ab+8,11", + "Deut 7:6-11", + "Ps 103:1-2,3-4,6-7,8+10", + "1 Ioann 4:7-16", + "Matt 11:25-30", + "3 Reg 19:19-21", + "Ps 16:1-2+5,7-8,9-10", + "Ex 19:2-6", + "Rom 5:6-11", + "Matt 9:36-10:8", + "3 Reg 21:1-16", + "Ps 5:2-3ab,4-6,6-7", + "3 Reg 21:17-29", + "Ps 51:3-4,5-6ab,11+16", + "4 Reg 2:1,6-14", + "Ps 31:20,21,24", + "Eccli 48:1-14", + "Ps 97:1-2,3-4,5-6,7", + "4 Reg 11:1-4,9-18,20", + "Ps 132:11,12,13-14,17-18", + "2 Par 24:17-25", + "Ps 89:4-5,29-30,31-32,33-34", + "Ps 69:8-10,14+17,33-35", + "Rom 5:12-15", + "Matt 10:26-33", + "4 Reg 17:5-8,13-15,18", + "Ps 60:3,4-5,12-13", + "4 Reg 19:9-11,14-21,31-35,36", + "Ps 48:2-3ab,3cd-4,10-11", + "Matt 7:6,12-14", + "4 Reg 24:8-17", + "4 Reg 25:1-12", + "Matt 8:1-4", + "Lam 2:2,10-14,18-19", + "Ps 74:1-2,3-5,6-7,20-21", + "4 Reg 4:8-11,14-16", + "Ps 89:2-3,16-17,18-19", + "Rom 6:3-4,8-11", + "Matt 10:37-42", + "Am 3:1-8; 4:11-12", + "Ps 5:4-6,6-7,8", + "Am 5:14-15,21-24", + "Ps 50:7,8-9,10-11,12-13,16bc-17", + "Am 7:10-17", + "Matt 9:1-8", + "Am 9:11-15", + "Zach 9:9-10", + "Ps 145:1-2,8-9,10-11,13-14", + "Rom 8:9,11-13", + "Os 2:16,17-18,21-22", + "Ps 145:2-3,4-5,6-7,8-9", + "Os 8:4-7,11-13", + "Ps 115:3-4,5-6,7ab+8,9-10", + "Os 10:1-3,7-8,12", + "Ps 105:2-3,4-5,6-7", + "Os 11:1-4,8e-9", + "Ps 80:2ac+3,15-16", + "Ps 51:3-4,8-9,12-13,14+17", + "Is 6:1-8", + "Ps 65:10,11,12-13,14", + "Rom 8:18-23", + "Matt 13:1-23", + "Is 1:10-17", + "Is 7:1-9", + "Ps 48:2-3,3-4,5-6,7-8", + "Is 10:5-7,13-16", + "Ps 94:5-6,7-8,9-10,14-15", + "Is 26:7-9,12,16-19", + "Ps 102:13-14ab+15,16-18,19-21", + "Is 38:1-6,21-22,7-8", + "Is 38:10,11,12abcd,16", + "Mich 2:1-5", + "Ps 10:1-2,3-4,7-8,14", + "Sap 12:13,16-19", + "Ps 86:5-6,9-10,15-16", + "Rom 8:26-27", + "Matt 13:24-43", + "Mich 6:1-4,6-8", + "Ps 50:5-6,8-9,16bc-17,21+23", + "Mich 7:14-15,18-22", + "Ps 85:2-4,5-6,7-8", + "Matt 12:46-50", + "Ier 1:1,4-10", + "Ps 71:1-2,3-4,5-6ab,15+17", + "Ier 2:1-3,7-8,12-13", + "Ps 36:6-7ab,8-9,10-11", + "Ier 3:14-17", + "Matt 13:18-23", + "3 Reg 3:5,7-12", + "Ps 119:57+72,76-77,127-28,129-30", + "Rom 8:28-30", + "Matt 13:44-52", + "Ier 13:1-11", + "Deut 32:18-19,20,21", + "Ier 14:17-22", + "Ps 79:8,9,11+13", + "Matt 13:36-43", + "Ier 15:10,16-21", + "Ps 59:2-3,4,10-11,17,18", + "Ier 18:1-6", + "Ps 146:1-2,3-4,5-6ab", + "Ier 26:1-9", + "Ps 69:5,8-10,14", + "Ier 26:11-16,24", + "Ps 69:15-16,30-31,33-34", + "Is 55:1-3", + "Ps 145:8-9,15-16,17-18", + "Rom 8:35,37-39", + "Ier 28:1-17", + "Ps 119:29,43,79,80,95,102", + "Ier 30:1-2,12-15,18-22", + "Ier 31:1-7", + "Matt 15:21-28", + "Nah 2:1,3; 3:1-3,6-7", + "Deut 32:35cd-36ab,39abcd,41", + "Hab 1:12-2:4", + "Ps 9:8-9,10-11,12-13", + "Matt 17:14-22", + "3 Reg 19:9,11-13", + "Matt 14:22-33", + "2 Cor 9:6-10", + "Ps 112:1-2,5-6,7-8,9", + "Ioann 12:24-26", + "Ez 2:8-3:4", + "Ps 119:14,24,72,103,111,131", + "Ez 9:1-7; 10:18-22", + "Ps 113:1-2,3-4,5-6", + "Matt 18:15-22", + "Ez 12:1-12", + "Ps 78:56-57,58-59,61-62", + "Ez 16:1-15,60,63", + "Matt 19:3-12", + "Is 56:1,6-7", + "Rom 11:13-15,29-32", + "Ez 24:15-23", + "Ez 28:1-10", + "Deut 32:26-27ab,27cd-28,30,35cd-36ab", + "Ez 34:1-11", + "Ez 36:23-28", + "Ps 51:12-13,14-15,18-19", + "Ez 37:1-14", + "Ps 107:2-3,4-5,6-7,8-9", + "Ez 43:1-7ab", + "Is 22:19-23", + "Ps 138:1-2,2-3,6+8", + "Rom 11:33-36", + "Matt 16:13-20", + "Apoc 21:9-14", + "Ioann 1:45-51", + "2 Thess 2:1-3,14-17", + "2 Thess 3:6-10,16-18", + "Ps 128:1-2,4-5", + "1 Cor 1:1-9", + "Ps 145:2-3,4-5,6-7", + "1 Cor 1:17-25", + "Ps 33:1-2,4-5,10-11", + "Matt 25:1-13", + "Ps 33:12-13,18-19,20-21", + "Ier 20:7-9", + "Rom 12:1-2", + "Matt 16:21-27", + "Ps 119:97,98,99,100,101,102", + "1 Cor 2:10-16", + "Ps 145:8-9,10-11,12-13ab,13cd-14", + "1 Cor 3:1-9", + "Ps 33:12-13,14-15,20-21", + "1 Cor 3:18-23", + "1 Cor 4:1-5", + "Ps 37:3-4,5-6,27-28,39-40", + "1 Cor 4:6-15", + "Ps 145:17-18,19-22,21", + "Ez 33:7-9", + "1 Cor 5:1-8", + "Ps 5:5-6,7,12", + "Luc 6:6-11", + "1 Cor 7:25-31", + "Ps 45:11-12,14-15,16-17", + "1 Cor 8:1-7,11-13", + "Ps 139:1-3,13-14ab,23-24", + "1 Cor 9:16-19,22-27", + "Ps 84:3,4,5-6,12", + "1 Cor 10:14-22", + "Ps 116:12-13,17-18", + "Eccli 27:30-28:7", + "Rom 14:7-9", + "1 Cor 12:12-14,27-31", + "1 Cor 12:31-13:13", + "Ps 33:2-3,4-5,12+22", + "Ps 118:1-2,16ab+17,28", + "1 Cor 15:12-22", + "Ps 17:1bcd,6-7,8+15", + "1 Cor 15:35-37,42-49", + "Ps 56:10-12,13-14", + "Is 55:6-9", + "Ps 145:2-3,8-9,17-18", + "Phil 1:20-24,27", + "Eph 4:1-7,11-13", + "Prov 21:1-6,10-13", + "Ps 119:1,27,30,34,35,44", + "Prov 30:5-9", + "Ps 119:29,72,89,101,104,163", + "Eccle 1:2-11", + "Ps 90:3-4,5-6,12-13,14+17bc", + "Eccle 3:1-11", + "Ps 144:1+2abc,3-4", + "Eccle 11:9-12:8", + "Ez 18:25-28", + "Ps 25:4-5,6-7,8-9", + "Phil 2:1-11", + "Iob 1:6-22", + "Ps 17:1bcd,2-3,6-7", + "Luc 9:46-50", + "Iob 9:1-12,14-16", + "Ps 88:10bc-11,12-13,14-15", + "Iob 19:21-27", + "Ps 27:7-8,8-9abc,13-14", + "Luc 10:1-12", + "Iob 38:1,12-21; 40:3-5", + "Ps 139:1-3,7-8,9-10,13-14ab", + "Iob 42:1-3,5-6,12-17", + "Ps 119:66,71,75,91,125,130", + "Is 5:1-7", + "Ps 80:9+12,13-14,15-16,19-20", + "Phil 4:6-9", + "Matt 21:33-43", + "Gal 1:6-12", + "Ps 111:1-2,7-8,9+10", + "Gal 1:13-24", + "Gal 2:1-2,7-14", + "Gal 3:1-5", + "Gal 3:7-14", + "Gal 3:22-29", + "Phil 4:12-14,19-20", + "Gal 4:22-24,26-27,31-5:1", + "Gal 5:1-6", + "Ps 119:41,43,44,45,47,48", + "Gal 5:18-25", + "Eph 1:1-10", + "Eph 1:11-14", + "Ps 33:1-2,4-5,12-13", + "Eph 1:15-23", + "Ps 8:2-3ab,4-5,6-7", + "Luc 12:8-12", + "Is 45:1,4-6", + "Ps 96:1+3,4-5,7-8,9-10", + "1 Thess 1:1-5", + "Matt 22:15-21", + "Eph 2:1-10", + "Ps 100:1-2,3,4ab,4-5", + "Eph 2:12-22", + "Eph 3:2-12", + "Eph 3:14-21", + "Ps 33:1-2,4-5,11-12,18-19", + "Eph 4:1-6", + "Eph 4:7-16", + "Ex 22:20-26", + "Ps 18:2-3,3-4,47+51", + "1 Thess 1:5-10", + "Eph 4:32-5:8", + "Eph 5:21-33", + "Luc 13:18-21", + "Eph 6:10-22", + "Phil 1:1-11", + "Phil 1:18-26", + "Ps 42:2,3,5cdef", + "Luc 14:1,7-11", + "Phil 2:5-11", + "Ps 22:26-27,28-30ab,30e,31-32", + "Phil 2:12-18", + "Phil 3:3-8", + "Phil 4:10-19", + "Ps 112:1-2,5-6,8+9", + "Sap 6:12-16", + "Ps 63:2,3-4,5-6,7-8", + "Tit 2:1-8,11-14", + "Ps 37:3-4,18+23,27+29", + "Tit 3:1-7", + "Ps 23:1-3,3bc-4,5,6", + "Philemon 7-22", + "Ps 146:7,8-9,9bc-10", + "2 John 4-9", + "Ps 119:1,2,10,11,17,18", + "3 John 5-8", + "Ps 112:1-2,3-4,5-6", + "Prov 31:10-13,19-20,30-31", + "1 Thess 5:1-6", + "Apoc 1:1-4; 2:1-5", + "Apoc 3:1-6,14-22", + "Ps 15:2-3,3bc-4ab,5", + "Apoc 4:1-11", + "Apoc 5:1-10", + "Apoc 10:8-11", + "Apoc 11:4-12", + "Ez 34:11-12,15-17", + "Ps 23:1-2,2-3,5,6", + "1 Cor 15:20-26,28", + "Apoc 14:1-3,4-5", + "Apoc 14:14-19", + "Apoc 15:1-4", + "Ps 98:1,2-3ab,7-8,9", + "Apoc 18:1-2,21-23; 19:1-3,9", + "Apoc 20:1-4,11-21:2", + "Ps 84:3,4,5-6+8", + "Apoc 22:1-7", + "Ps 95:1-2,3-5,6-7ab", + "Is 63:16-17,19; 64:2-7", + "Ps 80:2-3,15-16,18-19", + "1 Cor 1:3-9", + "Marc 13:33-37", + "Rom 10:9-18", + "Matt 4:18-22", + "2 Pet 3:8-14", + "Marc 1:1-8", + "Is 35:1-10", + "Luc 5:17-26", + "Is 61:1-2,10-11", + "Luc 1:46-48,49-50,53-54", + "1 Thess 5:16-24", + "Ioann 1:6-8,19-28", + "Is 45:6-8,18,21-25", + "Luc 7:18-23", + "Rom 16:25-27", + "Ps 33:2-3,11-12,20-21", + "Luc 1:39-45", + "Gen 15:1-6; 21:1-3", + "Ps 105:1-2,3-4,5-6,8-9", + "Hebr 11:8,11-12,17-19", + "1 Ioann 1:5-2:2", + "Ps 124:2-3,4-5,7-8", + "Matt 2:13-18", + "Is 55:1-11", + "1 Ioann 5:1-9", + "Marc 1:7-11", + "1 Reg 3:3-10,19", + "1 Cor 6:13-15,17-20", + "Hebr 9:2-3,11-14", + "Ion 3:1-5,10", + "1 Cor 7:29-31", + "Deut 18:15-20", + "1 Cor 7:32-35", + "Iob 7:1-4,6-7", + "1 Cor 9:16-19,22-23", + "Gen 9:8-15", + "1 Pet 3:18-22", + "Marc 1:12-15", + "Gen 22:1-2,9,10-13,15-18", + "Ps 116:10+15,16-17,18-19", + "Rom 8:31-34", + "Marc 9:2-10", + "Ex 20:1-17", + "1 Cor 1:22-25", + "Ioann 2:13-25", + "2 Par 36:14-16,19-23", + "Eph 2:4-10", + "Ioann 3:14-21", + "Ier 31:31-34", + "Ps 51:3-4,12-13,14-15", + "Hebr 5:7-9", + "Ioann 12:20-33", + "Marc 15:1-39", + "The Acts 4:32-35", + "1 Ioann 5:1-6", + "The Acts 3:13-15,17-19", + "Ps 4:2,4,7-8,9", + "1 Ioann 2:1-5", + "The Acts 4:8-12", + "Ps 118:1+8-9,21-23,26+21+29", + "1 Ioann 3:1-2", + "Ioann 10:11-18", + "The Acts 9:26-31", + "1 Ioann 3:18-24", + "The Acts 10:25-26,34-35,44-48", + "Eph 4:1-13", + "The Acts 1:15-17,20a,20c-26", + "Ps 103:1-2,11-12,19-20", + "1 Ioann 4:11-16", + "Gal 5:16-25", + "Ioann 15:26-27; 16:12-15", + "Deut 4:32-34,39-40", + "Ps 33:4-5,6+9,18-19,20+22", + "Rom 8:14-17", + "Eccli 36:1,4-5,10-17", + "Ex 24:3-8", + "Ps 116:12-13,15-16,17-18", + "Hebr 9:11-15", + "Marc 14:12-16,22-26", + "Eccli 44:1,9-13", + "Eccli 51:12cd-20", + "Deut 5:12-15", + "Ps 81:3-4,5-6,7-8,10-11", + "2 Cor 4:6-11", + "Marc 2:23-3:6", + "Tob 2:9-14", + "Ps 112:1-2,7-8,9", + "Tob 3:1-11,16-17", + "Ps 25:2-3,4-5ab,6+7bc,8-9", + "Tob 6:10-11; 7:1bcde,9-17; 8:4-9", + "Os 11:1,3-4,8-9", + "Eph 3:8-12,14-19", + "Ioann 19:31-37", + "Tob 12:1,5-15,20", + "Tob 13:2,6,7,10", + "Gen 3:9-15", + "2 Cor 4:13-5:1", + "Marc 3:20-35", + "2 Cor 1:1-7", + "2 Cor 3:4-11", + "Ps 99:5,6,7,8,9", + "Ez 17:22-24", + "2 Cor 5:6-10", + "2 Cor 11:1-11", + "Ps 111:1-2,3-4,7-8", + "Iob 38:1,8-11", + "Ps 107:23-24,25-26,28-29,30-31", + "2 Cor 5:14-17", + "Gen 13:2,5-18", + "Gen 17:1,9-10,15-22", + "Sap 1:13-15; 2:23-24", + "2 Cor 8:7,9,13-15", + "Gen 22:1-19", + "Ps 115:1-2,3-4,5-6,8-9", + "Ez 2:2-5", + "Ps 123:1-2,2bc,3-4", + "2 Cor 12:7-10", + "Am 7:12-15", + "Eph 1:3-14", + "Ier 23:1-6", + "Eph 2:13-18", + "Matt 13:24-30", + "4 Reg 4:42-44", + "Ps 145:10-11,15-16,17-18", + "Ex 16:2-4,12-15", + "Ps 78:3-4,23-24,25+54", + "Eph 4:17,20-24", + "Ioann 6:24-35", + "Num 13:1-2,25-14:1,26-29,34-35", + "Ps 106:6-7ab,13-14,21-22,23", + "3 Reg 19:4-8", + "Eph 4:30-5:2", + "Ioann 6:41-51", + "Ios 24:1-13", + "Ps 136:1-3,16-18,21-22+24", + "Ios 24:1-2,15-17,18", + "Ps 34:2-3,16-17,18-19,20-21", + "Eph 5:21-32", + "Deut 4:1-2,6-8", + "Ps 15:2-3,3-4,4-5", + "Iac 1:17-18,21-22,27", + "Marc 7:1-8,14-15,21-23", + "Is 35:4-7", + "Iac 2:1-5", + "Col 1:24-2:3", + "Ps 62:6-7,9", + "Ps 116:1-2,3-4,5-6,8-9", + "Iac 2:14-18", + "Marc 8:27-35", + "Luc 7:1-10", + "Sap 2:12,17-20", + "Ps 54:3-4,5,6-8", + "Iac 3:16-4:3", + "Num 11:25-29", + "Ps 19:8,10,12-13,14", + "Iac 5:1-6", + "Marc 9:38-43,45,47-48", + "Zach 8:1-8", + "Gen 2:18-24", + "Ps 128:1-2,3,4-5,6", + "Hebr 2:9-11", + "Marc 10:2-16", + "Sap 7:7-11", + "Ps 90:12-13,14-15,16-17", + "Hebr 4:12-13", + "Marc 10:17-30", + "Rom 4:13,16-18", + "Ps 105:6-7,8-9,42-43", + "Is 53:10-11", + "Hebr 4:14-16", + "Marc 10:35-45", + "Ier 31:7-9", + "Hebr 5:1-6", + "Rom 8:18-25", + "Rom 11:1-2,11-12,25-29", + "Ps 94:12-13,14-15,17-18", + "Deut 6:2-6", + "Hebr 7:23-28", + "3 Reg 17:10-16", + "Hebr 9:24-28", + "Dan 12:1-3", + "Ps 16:5+8,9-10,11", + "Hebr 10:11-14,18", + "Marc 13:24-32", + "Dan 7:13-14", + "Ps 93:1,1-2,5", + "Apoc 1:5-8", + "Ioann 18:33-37", + "Ier 33:14-16", + "Ps 25:4-5,8-9,10+14", + "1 Thess 3:12-4:2", + "Luc 21:25-28,34-36", + "Bar 5:1-9", + "Phil 1:4-6,8-11", + "Luc 3:1-6", + "Phil 4:4-7", + "Luc 3:10-18", + "Is 54:1-10", + "Luc 7:24-30", + "Hebr 10:5-10", + "1 Reg 1:20-22,24-28", + "Ps 84:2-3,5-6,9-10", + "1 Ioann 3:1-2,21-24", + "Luc 2:41-52", + "2 Reg 5:1-7,10", + "Ps 89:20,21-22,25-26", + "Ier 1:4-5,17-19", + "Ps 71:1-2,3-4,5-6,15+17", + "Luc 4:21-30", + "2 Reg 15:13-14,30; 16:5-13", + "Marc 5:1-22", + "Iac 1:19-27", + "Iac 2:1-9", + "Iac 2:14-24,26", + "Iac 3:1-10", + "Ps 12:2-3,4-5,7-8", + "Marc 9:2-13", + "Iac 3:13-18", + "Iac 4:13-17", + "Ps 49:2-3,6-7,8-10,11", + "Ps 49:14-15ab,15cd-16,17-18,19-22", + "Iac 5:9-12", + "Ps 103:1-2,3-4,8-9,11-12", + "Iac 5:13-22", + "Ps 141:1-2,3+8", + "Ps 111:1-2,5-6,9,+10", + "2 Tim 2:8-15", + "3 Reg 19:9,11-16", + "2 Reg 12:7-10,13", + "Ps 32:1-2,5,7,11", + "Gal 2:16,19-21", + "Luc 7:36-8:3", + "4 Reg 22:8-13; 23:1-3", + "Ps 119:33,34,35,36,37,40", + "Matt 7:15-22", + "3 Reg 19:16,19-21", + "Gal 5:1,13-18", + "Luc 9:51-62", + "Am 8:4-6,9-12", + "Ps 119:2,10,20,30,40,131", + "Ier 7:1-11", + "Ez 1:2-5,24-28", + "Ez 18:1-10,13,30-32", + "2 Thess 1:1-5,11-12", + "Ps 96:1-2,2-3,4-5", + "1 Cor 6:1-11", + "Ex 32:7-11,13-14", + "Ps 51:3-4,12-13,17+19", + "1 Tim 1:12-17", + "Luc 15:1-32", + "1 Cor 11:17-26,33", + "Prov 3:27-34", + "Iob 3:1-3,11-17,20-23", + "Ps 88:2-3,4-5,6,7-8", + "Sap 11:22-12:2", + "2 Thess 1:11-2:2", + "Phil 2:1-4", + "2 Mac 7:1-2,9-14", + "Ps 17:1,5-6,8+15", + "2 Thess 2:16-3:5", + "Luc 20:27-38", + "Tit 1:1-9", + "Deut 11:18,26-28,32", + "Ps 31:2-3,3-4,17+25", + "Rom 3:21-25,28", + "Matt 7:21-27", + "Tob 1:3; 2:1-8", + "Is 61:9-11", + "Luc 2:41-51", + "Mal 1:14-2:2,8-10", + "Ps 131:1,2,3", + "1 Thess 2:7-9,13", + "1 Ioann 3:22-4:6", + "Ps 2:7bc-8,10-12", + "Matt 4:12-17,23-25", + "Lev 13:1-2,44-46", + "1 Cor 10:31-11:1", + "Is 43:18-19,21-22,24-25", + "Ps 41:2-3,4-5,13-14", + "Iac 4:1-10", + "Ps 55:7-8,9-10,10-11,23", + "Os 2:16,17,21-22", + "2 Cor 3:1-6", + "3 Reg 18:41-46", + "Ps 65:10,11,12-13", + "Am 2:6-10,13-16", + "Ps 50:16bc-17,18-19,20-21,22-23", + "Prov 9:1-6", + "Eph 5:15-20", + "Eph 6:1-9", + "Ps 145:10-11,12-13ab,13cd-14", + "Tob 11:5-17", + "Ps 146:1-2,6-7,8-9,9bc-10", + "Hebr 11:1-7", + "Is 56:1-3,6-8", + "Ioann 5:33-36", + "3 Reg 17:17-24", + "Gal 1:11-19", + "Is 49:14-15", + "Ps 62:2-3,6-7,8-9", + "Eccli 42:15-25", + "Ps 33:2-3,4-5,6-7,8-9", + "Lev 19:1-2,17-18", + "1 Cor 3:16-23", + "Matt 5:38-48", + "3 Reg 8:41-43", + "Ps 117:1-2", + "Gal 1:1-2,6-10", +}; + +static const unsigned short vpool[] = { + 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,30, + 31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46, + 47,48,28,30,31,49,50,51,52,53,54,55,56,57,58,59, + 60,28,61,62,63,64,65,66,67,68,69,70,71,72,73,74, + 75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90, + 91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106, + 107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122, + 123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138, + 139,140,141,142,143,144,145,146,119,120,147,148,121,122,149,150, + 151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166, + 167,119,120,123,125,126,168,169,170,171,172,173,174,175,176,177, + 178,179,180,181,182,119,120,183,184,185,186,187,188,189,190,191, + 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207, + 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223, + 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, + 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255, + 256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271, + 272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287, + 288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303, + 304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319, + 320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335, + 336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351, + 352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367, + 368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383, + 384,385,386,387,388,389,390,390,391,392,393,394,395,396,397,398, + 399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414, + 415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430, + 431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446, + 447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462, + 463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478, + 479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494, + 495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510, + 511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526, + 527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542, + 543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558, + 559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574, + 575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590, + 591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606, + 607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622, + 623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638, + 639,640,641,642,643,644,645,646,647,648,648,649,650,651,652,653, + 654,655,656,657,478,479,480,481,482,483,484,485,658,659,660,661, + 662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677, + 678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693, + 694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709, + 710,711,712,713,714,715,716,717,718,719,720,721,186,187,188,189, + 190,191,192,193,500,509,510,511,512,513,28,29,30,30,31,49, + 50,722,723,724,725,726,727,728,729,730,514,515,516,517,518,519, + 520,521,522,523,731,732,647,648,650,733,734,735,736,737,738,524, + 525,526,527,528,529,530,531,739,740,741,742,743,744,745,746,747, + 748,749,750,751,752,753,754,755,756,757,758,532,533,534,535,536, + 537,538,759,760,761,762,763,764,765,766,767,768,769,545,546,547, + 548,549,550,551,552,770,771,772,773,774,775,776,777,778,779,780, + 781,782,783,784,785,786,553,554,560,561,562,563,564,565,566,567, + 568,569,570,571,787,788,789,790,791,792,793,794,795,796,797,798, + 799,800,801,802,803,804,805,806,807,303,304,305,306,307,808,809, + 810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825, + 826,584,585,586,587,588,589,590,591,592,827,828,829,830,831,832, + 833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848, + 849,850,851,593,594,595,596,852,853,854,855,856,857,858,859,860, + 861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876, + 877,878,879,880,596,597,598,599,603,604,605,606,607,881,882,883, + 884,885,886,887,888,889,890,891,892,610,611,613,614,615,616,893, + 894,894,895,896,897,898,899,900,901,902,903,904,905,622,623,624, + 625,626,627,628,629,906,907,908,909,910,911,912,913,914,915,916, + 917,918,919,920,921,922,923,924,925,926,636,637,638,641,642,927, + 928,929,929,930,931,932,933,934,935,936,149,937,938,939,940,941, + 942,943,944,945,946,946,947,948,949,950,951,952,953,954,955,956, + 957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972, + 973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988, + 989,990,991,992,241,242,993,994,995,996,245,997,998,999,1000,1001, + 1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017, + 1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033, + 1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049, + 1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065, + 1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081, + 1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097, + 1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113, + 1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129, + 1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145, + 1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161, + 1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177, + 1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193, + 1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209, + 1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225, + 1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241, + 1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257, + 1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273, + 1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289, + 1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305, + 1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321, + 1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337, + 1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353, + 1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369, + 1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385, + 1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401, + 1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417, + 1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433, + 1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449, + 1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465, + 1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481, + 1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497, + 1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513, + 1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529, + 1530,1531,1532,1533,1534,290,291,292,293,294,1535,1536,1537,1538,1539,1540, + 1541,1542,1543,1544,1545,1546,1547,1017,1018,1019,1020,1021,1022,1028,1029,1030, + 241,242,247,248,249,250,1548,1549,1550,1551,1552,1553,1554,1555,1556,1557, + 1031,1032,1033,1034,1035,1036,1037,1038,1558,1559,1560,1561,1562,1563,1564,1565, + 1566,1567,1568,1569,1039,1040,1041,1042,1043,1044,1045,1046,1570,1571,1572,1573, + 1574,1575,1576,1577,1578,1579,1580,1581,1047,1048,1049,1050,1051,1052,1053,1054, + 1055,1056,1057,1058,1059,1060,1061,1062,1582,1583,1584,1585,1586,1587,1588,1589, + 1590,1591,1592,1593,1594,1595,1596,1597,1598,1599,1600,1601,1602,1603,1604,1605, + 1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,1619,1620,1621, + 1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1087, + 1622,1623,1624,1625,1626,1627,1628,1629,1630,1124,1125,1126,1127,1142,1143,1144, + 1145,1146,1151,1631,1632,1633,1634,1633,1635,1636,1637,1638,1639,1640,1641,1642, + 1643,1644,1171,1172,1173,1174,1175,1176,1177,1178,1185,1186,1187,1645,1646,1647, + 1648,1649,1650,1651,1652,1653,1654,1655,1188,1189,1190,1191,1192,1193,1194,1195, + 1196,1197,1198,1199,1200,1656,1657,1658,1659,1660,1661,1662,1663,1664,1665,1666, + 1667,1668,1669,1670,1671,1249,1250,1251,1252,1253,1254,1255,1256,1257,1672,1673, + 1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,1684,1685,1686,1687,1688,1689, + 1690,1691,1692,1693,1694,1695,1696,1697,1698,1699,1700,1701,1702,1703,1704,1705, + 1706,1707,1708,1709,1710,1711,1712,1713,1714,1715,1716,1717,1718,1719,1720,1721, + 1722,1723,1724,1725,1726,1727,1728,1729,1730,1731,1732,1733,1734,1735,1736,1737, + 1738,1739,1740,1741,1742,1743,1744,1745,1746,1747,1748,1749,1750,1751,1752,1753, + 1754,1755,1756,1757,1758,1759,1760,1761,1762,1763,1764,1765,1766,1767,1768,1769, + 1770,1771,1772,1773,1774,1775,1776,1777,1778,1779,1780,1781,1782,1783,1784,1785, + 1786,1787,1788,1789,1790,1791,1792,1793,1794,1795,1796,1797,1798,1799,1800,1801, + 1802,1803,1804,1805,1806,1807,1808,1809,1810,1811,1812,1813,1814,1815,1816,1817, + 1818,1819,1820,1821,1822,1823,1824,1825,1826,1827,1828,1829,1830,1831,1832,1833, + 1834,1835,1836,1837,1838,1839,1840,1841,1842,1843,1844,1845,1846,1847,1848,1849, + 1850,1851,1852,1853,1854,1855,1856,1857,1858,1859,1860,1861,1862,1863,1864,1865, + 1866,1867,1868,1869,1870,1871,1872,1873,1874,1875,1876,1877,1878,1879,1880,1881, + 1882,1883,1884,1885,1886,1887,1888,1889,1890,1891,1892,1893,1894,1895,1896,1897, + 1898,1899,1900,1901,1902,1903,1904,1905,1906,1907,1908,1909,1910,1911,1912,1913, + 1914,1915,1916,1917,1918,1919,1920,1921,1922,1923,1924,1925,1926,1927,1928,1929, + 1930,1931,1932,1933,1934,1935,1936,1937,1938,1939,1940,1941,1942,1943,1944,1945, + 1946,1947,1948,1949,1950,1951,1952,1953,1954,1955,1956,1957,1958,1959,1960,1961, + 1962,1963,1964,1965,1966,1967,1968,1969,1970,1971,1972,1973,1974,1975,1976,1977, + 1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993, + 1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009, + 2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025, + 2026,2027,2028,2029,2030,2031,687,688,689,690,2032,2033,2034,2035,2036,2037, + 927,928,929,930,931,932,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047, + 2048,2049,2050,2051,2052,881,882,2053,2054,2055,2056,2057,883,2058,2059,2060, + 2061,2062,2063,2064,2065,2066,2067,2068,2069,2070,2071,2072,2073,2074,2075,2076, + 2077,2078,2079,2080,2081,2082,2083,2084,2085,2085,2086,2087,1697,1698,1699,1700, + 1701,1702,1703,1704,1705,1706,1707,1708,1709,1710,1711,1712,2088,2089,2090,2091, + 2092,2093,2094,2095,2096,2097,2098,770,771,2099,2100,2101,2102,776,777,1713, + 1714,1715,1716,1717,1718,1719,1720,2103,2104,2105,2106,2107,2108,2109,2110,2111, + 2112,2113,2114,2115,2116,2117,1721,1722,1723,2118,2119,2120,2121,2122,2123,2124, + 2125,1724,1725,1726,1727,1728,1729,1730,1731,1732,2126,2127,2128,2129,2130,2131, + 2132,2133,2134,2135,2136,2137,2138,2139,2140,2141,2142,2143,2144,1733,1734,1735, + 1736,1737,1738,1739,1740,1741,1742,1743,1744,2145,2146,2147,2148,2149,2150,2151, + 2152,2153,2154,2155,2156,2157,2158,2159,883,884,2160,2161,885,886,1745,1746, + 1747,1748,2162,2163,2164,2165,2166,2167,2168,2169,2170,2171,2172,2173,2174,2175, + 2176,2177,2178,2179,2180,2181,2182,2183,2184,2185,2186,2187,2188,1749,1750,1751, + 1752,1753,1754,1755,1756,1757,1758,1759,2189,2190,2191,2192,2193,2194,2195,2196, + 2197,2198,2199,2200,2201,2202,2203,1623,2204,2205,1760,1761,1762,1763,2206,2207, + 2208,2209,2210,2211,2212,2213,2214,2215,2216,2217,2218,2219,2220,2221,2222,2223, + 2224,2225,2226,2227,2228,2229,2230,2231,2232,2233,2234,2235,2236,2237,2238,2239, + 2240,2241,2242,2243,2244,2245,2246,2247,2248,2213,2214,2215,2216,2249,2250,2251, + 2252,2248,2253,2254,2255,2256,2257,2258,2259,2260,2261,2262,2263,2264,2265,2266, + 2267,2268,2269,2270,2271,2272,2273,2274,2275,2276,2277,2278,2279,2280,2281,2282, + 2283,2284,2285,2286,2287,2288,2289,2290,2291,2292,2293,2294,2295,2296,2297,2298, + 2299,2300,2301,2302,2303,2304,2305,2306,2307,2308,2309,2310,2311,2312,2313,2314, + 2315,2316,2317,2318,2319,2320,2321,2322,2323,2324,2325,2326,2327,2328,2329,2330, + 2331,2332,2333,2334,2335,2336,2337,2338,2339,2340,2341,2342,2343,2344,2345,2346, + 2347,2348,2349,2350,2351,2352,2353,2354,2355,2356,2357,2358,2213,2214,2217,2218, + 2249,2250,2359,2360,2361,2362,2363,2364,2365,2366,2367,2368,2369,2370,2371,2372, + 2373,2374,2375,945,946,946,947,950,951,2376,2377,2378,2379,2380,2381,2382, + 2383,2384,2385,2386,2387,2388,2389,2390,2391,2392,2393,2394,2395,2396,2396,2397, + 2398,2399,2400,2401,2402,2403,2404,2405,2406,2407,2408,2409,2410,2411,2412,2413, + 2414,2415,2416,2417,2418,2419,2420,1347,1348,1349,1350,1351,1352,1353,1354,1359, + 1360,906,2421,909,909,910,2422,2423,2424,2425,2426,2427,2428,2429,2430,2431, + 2432,2433,2434,2435,2436,2437,2438,2439,2440,2441,2442,2443,2444,2445,357,2446, + 2447,2448,2072,2073,2074,2449,2450,2451,2452,2453,2454,1623,2455,1624,1625,1627, + 2205,2456,2457,2458,2459,2460,2461,2462,2463,2464,2465,2466,2467,2468,2469,2470, + 2471,2472,2473,2474,2475,2476,2477,2478,2479,2480,2481,2482,2483,2484,2485,2486, + 2487,2488,2489,2490,1599,1600,1601,1602,2491,2492,2493,2494,2495,2496,2497,2498, + 2499,2500,2501,2502,2503,2504,2505,2506,2507,2508,2509,2510,2511,2512,2513,2514, + 2515,2516,2517,2518,2519,2520,2521,2522,2523,2524,2525,2526,2527,2528,2529,2530, + 2531,2532,2533,2534,2535,2536,2537,2538,2539,2540,2541,2542,2543,2544,2545,881, + 882,2053,2054,2546,2056,2547,2057,2548,2549,2550,2551,2552,2553,2554,2555,2556, + 2557,2558,2559,2560,2561,2562,2563,2564,2565,2566,2567,2568,2569,2570,2571,2572, + 2573,2574,2575,2576,2577,2578,2579,2580,2581,2582,2583,881,882,2053,2054,2584, + 2585,2055,2547,2586,2587,2588,2589,2590,2591,2592,2593,2594,2595,2596,2597,2598, + 2599,2600,2601,2602,2603,2604,2605,2606,2607,2608,2609,2610,2611,2612,2613,2614, + 2615,2616,2617,2618,2619,2620,2621,2622,2623,2624,2625,2626,2627,2628,2629,2630, + 2631,2632,2633,2634,2635,647,648,648,649,650,733,517,518,519,520,521, + 522,523,2636,2637,2638,2639,2640,2641,2642,2643,2644,2645,2646,2647,2648,2649, + 2650,2651,2652,2653,2654,81,82,84,2655,85,86,2656,2657,2658,2659,2660, + 2661,2662,2663,2664,2665,2666,335,336,337,338,2667,2668,2669,2670,2671,2672, + 2673,2674,2675,2676,2677,2678,2679,2680,2681,2682,2683,2684,2685,2686,2687,2688, + 2688,2689,2690,2691,2692,2693,1845,1846,1847,1848,1849,1850,1851,2694,2695,2696, + 2697,2698,2699,2213,2214,2249,2250,2700,2701,2702,2703,2704,2705,2706,2707,2708, + 2709,2710,2711,2712,2713,2332,2333,2334,2335,2714,2715,2716,2717,2718,2719,2720, + 2721,2722,2723,2724,2725,2726,2727,2728,2729,2730,2731,2732,2733,2734,2735,2736, + 2737,2738,2739,2740,2741,2742,2743,2744,2745,2746,2747,2748,2749,2750,2751,2752, + 2753,2754,2755,2756,2757,2758,2759,2760,2761,2762,2763,2764,2765,2766,2767,2768, + 2769,2770,2771,2772,2773,2774,2775,2776,2777,2778,2779,2780,2781,2782,2783,2784, + 2785,2786,2787,2788,2789,2790,2791,2792,2793,2794,2795,2796,2797,2798,2799,2800, + 2801,2802,2803,2804,2805,2806,2807,2808,2809,2810,2811,2812,2813,2814,2815,2816, + 2817,2818,2819,2820,2821,2822,2823,2824,2825,2826,2827,2828,2829,2830,2831,2832, + 2833,2834,2835,2836,2837,2838,2839,2840,2841,2842,2843,2337,2338,2339,2844,2845, + 2846,2847,2848,2849,2850,2851,2852,2853,2854,2855,2856,2857,2858,2859,2860,2861, + 2862,2863,2864,2865,2866,2867,2868,2869,2870,2871,2872,2873,2874,2875,2876,2877, + 2878,2879,2880,2881,2882,2883,2884,2885,2886,2886,2887,2888,2889,2890,2891,2892, + 2893,2894,2895,2896,2897,2898,2899,2900,2901,2902,2903,2904,2905,2906,2907,2908, + 2909,2910,2911,2912,2913,2914,2915,2916,2917,2918,2919,2920,2921,2922,2923,2924, + 2925,2926,2927,2928,2929,2930,2931,2932,2933,2934,2935,2936,2937,2938,2939,2940, + 2941,2942,2943,2944,2945,2946,2947,2948,2949,2950,2951,2952,2953,2954,2955,2956, + 2957,2958,2959,2960,2961,2962,2963,2964,2965,2966,2967,2968,2969,2970,1656,1657, + 1658,1659,1660,1661,2971,2972,2973,2974,2975,2976,2977,2978,2979,2980,2981,2982, + 2983,2984,2985,2986,2987,2988,2989,2990,2991,2992,2993,2994,2995,2996,2997,2998, + 2999,3000,3001,3002,3003,3004,3005,3006,3007,1382,1383,1384,1385,1386,1387,1388, + 311,3008,312,313,314,315,3009,3010,3011,3012,3013,3014,3015,3016,3017,3018, + 3019,3020,3021,3022,3023,3023,3024,3025,3026,3027,3028,3029,3030,3031,3032,3033, + 3034,3035,3036,3037,3038,3039,3040,3041,3042,3043,3044,3045,3046,3047,3048,3049, + 3050,3051,3052,3053,3054,3055,3056,3057,3058,3059,3060,3061,3062,3063,3064,3065, + 3066,3067,3068,3069,3070,3071,3072,3073,3074,3075,3076,3077,3078,3079,3080,3081, + 3082,3083,3084,3085,3086,3087,3088,3089,3090,3091,3092,3093,3094,3095,3096,3097, + 3098,3099,3100,3101,3102,3103,3104,3105,3106,3107,3108,3109,3110,3111,3112,3113, + 3114,3115,3116,3117,3118,3119,3120,3121,3122,3123,3124,3125,3126,3127,3128,3129, + 3130,3131,3132,3133,3134,3135,3136,3137,906,3138,907,2422,2423,3139,3140,3141, + 3142,3143,3144,3145,3146,3147,3148,3149,3150,3151,3152,3153,3154,3155,3156,3157, + 3158,3159,3160,3161,3162,3163,3164,3165,3166,3167,3168,3169,3170,3171,3172,3173, + 3174,3175,3176,3177,3178,3179,3064,3065,3066,3067,3180,3181,3182,3183,3184,3185, + 3186,3187,3188,3189,3190,3191,3192,3193,3194,3195,3196,3197,3198,3199,3200,3201, + 3202,3203,3204,3205,3206,3207,3208,3209,3210,3211,188,189,190,191,192,193, + 3212,3213,3214,3215,3216,3217,3218,3219,3220,3221,3222,3223,3224,3225,3226,3227, + 3228,3229,3230,3231,3232,3233,831,3234,3235,3236,3237,3238,3239,3240,3241,3242, + 3243,3244,3245,3246,3247,3248,3249,3250,3251,3252,3253,3254,3255,3256,3257,3258, + 3259,3260,3261,3262,3263,3264,3265,3266,3267,3268,3269,3270,3271,3272,3273,3274, + 3275,3276,3277,3278,3279,3280,3281,3282,3283,3284,3285,3286,3287,3288,3289,3290, + 3291,3292,3293,3294,3295,3296,3297,3298,3299,3300,3301,3302,3303,3304,3305,3306, + 3307,3308,3309,3310,3311,3312,3313,3314,3315,974,975,976,977,978,979,980, + 981,982,983,984,985,986,987,988,989,990,991,992,1002,1003,1004,1005, + 1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,3316,3317,3318,3319,3320,3321, + 974,1008,1009,1010,1011,1012,1013,3322,3323,3324,3325,3326,3327,3328,3329,3330, + 3331,3332,3333,3334,3335,3336,3337,3338,3339,3340,3341,3342,3343,3344,3345,3346, + 3347,3348,3349,3350,3351,3352,3353,3354,3355,3356,3357,3358,3359,3360,3361,3362, + 3363,3364,3365,3366,3367,3368,3369,3370,3371,3372,3329,3330,3331,3373,3374,3375, + 3376,3377,3378,3379,3380,3381,3382,3383,3384,3385,3386,3387,3388,3389,3390,3391, + 3392,3393,3394,3395,3396,3397,3398,3399,3400,3401,3402,3403,3404,3405,3406,3407, + 3408,3409,3410,3411,3412,3413,3414,3415,3416,3417,3418,3419,3420,3421,3422,3423, + 3424,3425,3426,3427,3428,3429,3430,3431,3432,3433,3434,3435,3436,3437,3438,3439, + 3440,3441,3442,3443,3444,3445,3446,3447,1534,290,291,292,293,3430,3448,3449, + 3450,3451,3452,3453,3454,3455,3456,3457,3458,3459,3460,3461,3462,3463,3464,3465, + 3466,3467,3468,3469,3470,3471,3472,3316,3317,3473,3320,3321,3474,3475,3476,3477, + 3478,3479,3480,3481,3482,3483,3484,3485,3486,3487,3488,3489,3490,3491,3492,3493, + 3494,3495,3496,3497,3498,3499,3500,3316,3501,3502,3318,3319,3503,3504,3505,3506, + 2026,2027,2028,2029,2030,2031,687,3507,3508,3509,3510,3511,3317,3512,3473,3513, + 3501,3502,3320,3321,3474,3514,3515,3516,3517,3518,3519,3520,3521,3522,3523,3524, + 3525,3526,3527,3528,3529,3530,3531,3532,3533,3534,3535,3536,3537,3538,3539,3540, + 3541,3542,3543,3544,3545,3546,3547,3548,3549,3550,3550,3551,3552,3553,3554,3555, + 3556,3557,3558,3559,3560,3561,3562,3563,3564,3565,3566,3559,3560,3567,3568,3569, + 3570,3571,3572,3573,3574,3575,3576,3577,3578,3579,3580,3581,3582,3583,2712,2713, + 2332,2333,2334,2335,3584,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595, + 3596,3597,3598,2712,3585,2337,2338,2339,2844,3599,3600,3601,3602,3603,3604,3605, + 3606,3607,3608,3609,3610,3611,3612,3613,906,3614,2422,2423,3615,3616,3617,3618, + 3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,952,953,954,955,956, + 957,958,959,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642, + 3592,3593,3594,3595,3596,3597,3611,3612,3643,3644,3645,3646,3478,3479,3480,3481, + 3482,3483,3484,3485,3486,3487,3488,3489,3490,3491,3647,3648,3649,3650,3651,3652, + 3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,2142,3663,3664,3665,3666,3667, + 3668,3669,3670,3671,3672,3673,3674,3675,3676,3677,3678,3679,3680,3681,3682,3683, + 3684,3685,3686,3687,3688,3689,3690,3691,3692,3693,3694,3695,3696,3697,3698,3699, + 3700,3701,3702,3703,3704,3705,3706,3707,3708,3709,3710,3711,3712,3713,3714,3715, + 3716,3717,3718,3719,3720,3721,3722,3723,3724,3725,3726,3727,3728,3729,3730,3731, + 3732,3733,3734,3735,3736,3737,3738,3739,3740,3741,3742,3743,3744,3745,3746,3747, + 3748,3749,3750,3751,3752,3753,3754,3755,3756,3757,3758,3759,3760,3761,3762,3763, + 3764,3765,3766,3767,3768,3769,3770,3771,3772,3773,3774,3775,3776,3777,3778,3779, + 3780,3781,3782,3783,3784,3785,3786,3787,3788,3789,3790,3791,3792,3793,3794,3795, + 3796,3797,3332,3798,3799,3333,3334,3335,3336,3337,3338,3339,3800,3801,3802,3803, + 3804,3805,3806,3807,3808,3809,3810,3811,3812,3813,3814,3815,3816,3817,3818,3819, + 3820,3821,3822,3823,3824,3825,3826,3827,3828,3829,3830,3831,3832,3833,3834,3835, + 3836,3837,3838,3839,3840,3841,3842,3843,3844,3845,3846,3847,3848,3849,3850,3851, + 3852,3853,3854,3855,3856,3857,3858,3859,3860,3861,3862,3863,3864,3865,3866,3867, + 3868,3869,3870,3871,3872,3873,3874,3875,3876,3877,3878,3879,3880,3881,3882,3883, + 3884,3885,3886,3887,3888,3889,3890,3891,3892,3893,3894,3895,3896,3897,3898,3899, + 3900,3901,3902,3903,3904,3905,3906,3907,3908,3909,3910,3911,3912,3913,3914,3915, + 3916,3917,3918,3919,3920,3921,3922,3923,3924,3925,3926,3927,3928,3929,3930,3931, + 3932,3933,3934,3935,3936,3937,3938,3939,3940,3941,3942,3943,3944,3945,3946,3947, + 3948,3949,3950,3951,3952,3953,3954,3955,3956,3957,3958,3959,3960,3961,3962,3963, + 3964,3965,3966,3967,3968,3969,3970,3971,3972,3973,3974,3975,3976,3977,3978,3979, + 3980,3981,3982,3983,3984,3985,3986,3987,3988,3989,3990,3991,3992,3993,3994,3995, + 3996,3997,3998,3999,4000,4001,4002,4003,4004,4005,4006,4007,4008,4009,4010,4011, + 4012,4013,4014,4015,4016,4017,4018,4019,4020,4021,4022,4023,4024,4025,4026,4027, + 4028,4029,4030,4031,4032,4033,4034,4035,4036,4037,4038,4039,4040,4041,4042,4043, + 4044,4045,4046,4047,4048,4049,4050,4051,4052,4053,4054,4055,4056,4057,4058,4059, + 4060,4061,4062,4063,4064,4065,4066,4067,4068,4069,4070,4071,4072,4073,4074,4075, + 4076,4077,4078,4079,4080,4081,4082,4083,4084,4085,4086,4087,4088,4089,4090,4091, + 4092,4093,4094,4095,4096,4097,4098,4099,4100,4101,4102,4103,4104,4105,4106,4107, + 4108,4109,4110,4111,4112,4113,4114,4115,4116,4117,4118,4119,4120,4121,4122,4123, + 4124,4125,4126,4127,4128,4129,4130,4131,4132,4133,4134,4135,4136,4137,4138,4139, + 4140,4141,4142,4143,4144,4145,4146,4147,4148,4149,4150,4151,4152,4153,4154,4155, + 4156,4157,4158,4159,4160,4161,4162,4163,4164,4165,4166,4167,4168,4169,4170,4171, + 4172,4173,4174,4175,4176,4177,4178,4179,4180,4181,4182,4183,4184,4185,4186,4187, + 4188,4189,4190,4191,4192,4193,4194,4195,4196,4197,4198,4199,4200,4201,671,672, + 673,674,675,676,677,678,679,680,681,682,683,684,4202,4203,4204,4205, + 4206,4207,4208,4209,4210,4211,4212,4213,4214,4215,4216,4217,4218,4219,4220,4221, + 4222,4223,4224,4225,4226,4227,4228,4229,4230,4231,4232,4233,4234,4235,4236,4237, + 4238,4239,4240,4241,4242,4243,4244,4245,4246,4247,4248,4249,4250,4251,4252,4253, + 4254,4255,4256,4257,4258,4259,4260,4261,4262,4263,4264,4265,4266,4267,4268,4269, + 4270,4271,4272,4273,4274,4275,4276,4277,4278,4279,4280,4281,4282,4283,4284,4285, + 4286,4287,4288,4289,4290,4291,4292,4293,4294,4295,4296,4297,4298,4299,4300,4301, + 4302,4303,4304,4305,4306,4307,4308,4309,4310,4311,4312,4313,4314,4315,4316,4317, + 4318,4319,4320,4321,4322,4323,4324,4325,4326,4327,4328,4329,4330,4331,4332,4333, + 4334,4335,4336,4337,4338,4339,4340,4341,4342,4343,4344,4345,4346,4347,4348,4349, + 4350,4351,4352,4353,4354,4355,4356,4357,4358,4359,4360,4361,4362,4363,4364,4365, + 4366,4367,4368,4369,4370,4371,4372,4373,4374,4375,4376,4377,4378,4379,4380,4381, + 4382,4383,4384,4385,4386,4387,4388,4389,4390,4391,4392,4393,4394,4395,4396,4397, + 4398,4399,4400,4401,4402,4403,4404,4405,4406,4407,4408,4409,4410,4411,4412,4413, + 4414,4415,4416,4417,828,4418,4419,4420,4421,4422,4423,3682,3683,3684,3685,3686, + 3687,3688,3689,4424,4425,4426,4427,4428,4429,4430,4423,4431,4432,4433,4434,4435, + 3707,3708,3709,3710,3711,3712,3713,3714,3715,3716,3717,3718,3719,3720,3721,4436, + 4437,4438,4439,4440,4441,4442,4443,4444,4445,4446,4447,4448,3722,3723,3724,3725, + 3726,3727,3728,3729,3730,3731,3732,3733,3734,3735,3736,3737,3738,3739,3740,3741, + 685,686,4449,4450,4451,4452,4453,4454,4455,4456,3752,3753,3754,3755,3756,3757, + 3758,3759,3760,3761,3762,3763,1645,1646,1647,1648,4457,4458,4459,4460,4461,4462, + 4463,4464,4465,4466,4467,4468,3873,3902,3903,3904,3905,3906,3907,3908,3909,3910, + 3911,4469,4470,4471,4472,4473,4474,4475,4476,4477,4478,4479,4480,4481,3805,3806, + 3807,3808,3809,3810,3811,3812,3813,3814,3815,3816,3817,3818,3819,3820,3821,3822, + 2619,2620,4482,4483,4484,4485,4486,4487,4488,4489,4490,4491,4492,4493,3823,3824, + 3825,3826,3827,3828,3829,3830,4494,4495,4496,4497,4498,4499,4500,4501,4502,4503, + 4504,4505,4478,4479,4480,4481,4506,4507,4508,4509,4510,4511,4512,4513,4514,4515, + 4516,4517,4518,4519,4520,4521,4522,4523,4524,4525,4526,4527,4528,4529,4530,4531, + 4532,3872,3873,3874,3875,3876,3877,3878,3879,3880,3881,3882,3883,3884,2474,2475, + 3209,4533,4534,2478,4535,4536,4537,4538,4539,3885,3886,3887,3888,3889,3890,3891, + 3892,3549,3550,3551,3552,4540,4541,4542,4543,4544,4545,4546,3634,3903,3904,3905, + 3906,3907,3908,3909,3910,3911,3635,3636,3637,3638,3639,3640,3641,3642,3932,3933, + 3934,3935,3936,3937,3938,2782,2783,4547,4548,4549,2784,4550,4551,4552,4553,4554, + 3174,3175,3176,4555,4556,3916,3917,3918,3919,3920,3921,3922,3923,3924,3925,3926, + 3927,3928,3929,4557,4558,4559,4560,4561,4562,4563,4564,4565,4566,4567,4568,3930, + 3931,3932,3933,3934,3935,3936,3937,3938,4547,4548,4549,2784,4569,4570,4571,4572, + 4573,4574,3939,3940,3941,3942,3943,3944,4575,4576,4577,4578,4578,4579,4580,4581, + 4582,4583,4584,4585,4586,4587,3945,3946,3947,3948,3949,3950,3951,3952,3953,3954, + 3955,3956,3957,3958,3959,389,390,390,391,395,4524,4525,4526,3960,3961,3962, + 3963,3964,3965,3966,3967,3968,3969,4588,4589,4590,4591,4527,4528,4529,4530,4531, + 4532,3980,3981,3982,3983,3984,3985,3986,3987,3988,3989,4592,4593,4594,4595,3939, + 3940,3960,3961,3962,3963,3964,3965,3966,3967,4596,4597,4598,4599,4600,4601,4602, + 4565,4566,4567,4568,4570,4571,4572,3990,3991,3992,3993,3994,217,218,219,220, + 221,222,223,4603,4604,4605,4606,4607,4608,4001,4002,4003,4004,4005,4006,4007, + 4008,4009,4010,4011,4012,4013,4609,4610,4611,4612,4613,4614,4615,4034,4041,4042, + 4043,4044,4045,4046,4047,4048,4049,4050,4051,4052,4053,4054,4616,4617,4618,4619, + 4620,4621,4622,4623,4624,4625,4626,4627,4628,4629,4630,4631,4632,4633,4634,4635, + 4636,4637,4638,4639,4640,4641,4642,509,510,511,512,513,532,533,534,535, + 536,3458,3459,3460,4643,4644,4645,4646,4647,4062,4063,4064,4065,4066,4067,4068, + 4069,4070,4071,4637,4638,4648,4649,4639,4640,4650,4651,4652,4653,4654,4655,4656, + 4657,4658,4659,4660,4661,4662,4663,4664,4665,4666,4667,4668,4669,4670,4671,4672, + 4673,4674,4675,4676,4677,4678,4679,4680,4681,3677,3678,3679,3680,3681,269,270, + 271,272,273,4682,4683,4684,4685,4686,4687,4688,4689,4690,4691,4692,4693,4694, + 4082,4083,4084,4085,4086,4087,4088,4089,4695,4696,4697,4698,4699,4700,4701,4702, + 4703,4704,4705,4138,4139,4140,4141,4142,4143,4144,4145,4146,4147,4148,4706,4707, + 4708,4709,4710,4711,4712,4713,4714,4715,4716,4717,4718,4719,4720,4149,4150,4151, + 4152,4153,4154,4155,4156,4157,4158,4159,4721,4722,4723,4724,4725,4725,4726,4720, + 4727,4728,4729,4730,4731,4732,4733,4734,4215,4221,4222,4223,4224,4225,4226,3365, + 3366,3367,3368,3369,3370,3371,3372,4290,4291,4292,4293,4294,4295,4296,4297,4298, + 881,882,2547,2057,4735,4736,3647,3648,3649,3650,3651,4396,4397,4398,4399,4400, + 4410,4411,4737,4738,4739,4740,4741,4742,4743,4744,4745,4746,4747,4748,4749,4750, + 4751,4752,4753,4754,4755,4756,241,245,249,250,4757,4758,4759,4760,4761,4762, + 4763,4764,4765,4766,4767,4768,4769,4770,4565,4566,4567,4568,1047,1048,1049,1050, + 1051,1052,1053,1058,4494,4495,4496,4498,4499,4500,3298,3299,3300,3301,3302,3303, + 3304,3305,3306,3307,4771,4772,4773,4774,4775,4776,4777,4778,4779,4780,4781,4782, + 4783,4784,4785,3825,3826,3827,3828,3829,3830,3860,3861,3862,4786,4787,4788,4789, + 4790,4791,4792,4793,4794,4795,659,660,661,662,663,4796,4797,4798,4799,4800, + 4801,4802,4803,4804,4805,4806,1648,4457,4458,1649,4807,4808,4809,4810,4811,4812, + 4813,4814,4815,2714,2715,2716,2717,2718,4816,4817,4818,4819,4820,4821,4822,4823, + 4824,4825,4826,4827,4828,4829,4830,4831,4832,4833,4834,4835,4836,4837,4838,4839, + 4840,4841,4842,4843,4844,4845,4846,4847,4848,4849,4850,4851,4852,4853,4854,4855, + 4856,4857,4858,4859,4860,4861,4862,4862,4863,4864,4865,4866,4867,4868,4869,4870, + 4871,4872,4873,4874,4875,4876,1336,1337,1338,4877,4878,4879,4880,4881,4882,4883, + 4884,4885,4886,4887,4888,4889,4890,4891,4892,4893,4894,4895,4896,4897,4898,4899, + 4900,4901,4902,4903,4904,4905,4906,4907,4908,4909,4910,4911,4912,4913,3584,3585, + 4914,4915,4916,4917,4918,4919,4920,4921,4922,4923,4924,4925,4926,4927,4928,4929, + 4930,4931,4932,4933,4934,4935,4936,4937,4938,4939,4940,4941,4942,4943,4944,4945, + 4946,2236,2237,2238,1281,1282,1283,1284,1285,1286,1287,1288,1289,1674,1675,3386, + 3387,3388,3389,4947,4948,4949,4950,4951,4952,4953,4954,4955,4956,4956,4957,3881, + 3882,3883,3884,3885,4958,4959,4960,4961,4962,4963,4964,4965,4966,4967,4968,1343, + 1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1359,1360,4969,4970,4971, + 4972,4973,4974,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1378, + 1379,4975,4976,4977,4978,4978,4979,4980,4981,4982,4983,4984,4985,4986,4987,4988, + 4989,4990,4991,4992,4993,4994,4835,4995,4996,4997,4998,4999,5000,2550,5001,5002, + 5003,5004,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420, + 1421,4671,4672,4673,4674,4675,4678,4679,4680,5005,5006,5007,5008,5009,5010,5011, + 5012,5013,5014,5015,5016,5017,3835,3836,3837,3838,3839,3840,3841,3842,3843,3844, + 3845,5018,5019,5020,5021,5022,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431, + 1432,1433,1434,1435,1436,1437,1438,1439,881,882,2053,2054,2055,2546,2056,2547, + 5023,5024,5025,5026,5027,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464, + 1465,1466,1467,1468,5028,5029,5030,5031,5032,5033,5034,5035,5036,5037,5038,1500, + 1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,2335,3584,4914, + 4915,4916,4917,5039,5040,5041,5042,5043,5044,5045,5046,5047,5048,5049,3527,3528, + 3529,3530,3531,3532,5050,5051,5052,5053,5054,5055,5056,5057,5058,5059,5060,5061, + 5062,5063,5064,5065,5066,5067,5068,5069,5070,5071,5072,5073,5074,5075,5076,5077, + 5078,5079,5080,5081,5082,5083,5084,5085,5086,5087,5088,5089,5090,5091,5092,5093, + 5094,5095,5096,5097,5098,5099,2251,2252,5100,5101,5102,5103,5104,5105,5106,4424, + 4425,4426,4427,4428,4429,4430,4438,4440,5107,5108,5109,5110,5111,5112,5113,5114, + 5115,5116,5117,5118,5119,5120,5121,5122,5123,5124,5125,5126,5127,5128,5129,5130, + 5131,5132,5133,5134,5135,5136,5137,5138,5139,5140,2277,2278,5141,5142,2283,2284, + 5143,5144,5145,5146,5147,5148,5149,5150,5151,5152,5153,5154,5155,5156,5157,5158, + 5159,5160,5161,5162,5163,5164,5165,5166,5167,5168,5169,5170,5171,5172,5173,5174, + 5175,5176,5177,5178,5179,5180,5181,5182,5183,5184,5185,5186,5187,5188,5189,5190, + 5191,1672,1673,3386,3387,5192,5193,5194,5195,5196,5197,5198,5199,5200,5201,5202, + 5203,5204,5205,5206,5207,5208,5209,5210,5211,5212,5213,5214,5198,5215,5216,5217, + 5218,5219,5220,5221,5222,5223,5224,5225,5226,5227,5228,5229,5230,5231,5232,5233, + 5234,5235,5236,5237,5238,5239,5240,5241,5242,5243,5244,5245,5246,5247,5248,5249, + 5250,5251,5252,5253,5254,5255,308,309,310,311,312,313,5256,5257,5258,5259, + 5260,5261,5262,5263,5264,5265,5266,5267,5268,5269,5270,5271,5272,3187,5273,3189, + 5274,5275,5276,5277,5278,5279,5280,5281,5282,5283,5284,5285,5286,5287,5288,5289, + 5290,5291,5292,5293,5294,5295,5296,5297,5298,5299,5300,5301,5302,5303,5304,5305, + 5306,5307,5308,5309,5310,5311,5312,5313,5314,5315,5316,5317,5318,5319,5320,5321, + 5322,5323,5324,5325,5326,5327,5328,5329,5330,5331,5332,5333,5334,5335,5336,5337, + 5271,3187,5273,3189,5274,5338,5339,5340,5341,5342,2573,2574,2575,2576,2577,2578, + 5343,5344,5345,5346,881,882,2053,2054,2584,2585,5347,5348,5349,2581,2582,2583, + 5350,5351,5352,5353,5354,308,3008,314,315,5355,5356,5357,5358,5359,5360,5361, + 5362,5363,5364,5365,5366,5367,5368,5369,5370,5371,5372,5373,5374,5375,5376,1645, + 1646,1648,4457,4458,1649,5377,5378,5379,5380,5381,5382,5383,5384,5385,5386,5387, + 5388,5389,5390,5391,5392,5393,5394,5395,5396,5397,5398,5399,5400,5401,5402,5403, + 5404,5405,5406,5407,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,5408,5409, + 5409,5410,5411,5412,5413,5414,5415,5416,5417,5418,5419,5420,5421,5422,5423,5424, + 5425,5426,5427,5428,5429,5430,5431,5432,5433,5434,5435,5436,5437,5438,5439,5440, + 5441,5442,5443,5444,5445,5446,5447,5448,5449,5450,5451,5452,5453,5454,5455,5456, + 5457,5436,5458,5459,5460,5461,5462,3344,3345,3390,3391,3392,3393,3394,3395,3396, + 3397,5463,5464,5465,5466,5467,5468,5469,5470,5471,5472,5473,5474,5475,5476,5477, + 5478,5479,5480,5481,5482,5483,5484,5485,5486,5487,5488,5489,5490,5491,5492,5493, + 5494,5495,5496,5497,5498,5499,5500,5501,5502,5503,5504,5505,5506,5507,5508,5509, + 2885,2886,2886,2887,2888,2889,2890,5510,5511,5512,5513,5514,5515,5516,5517,5518, + 5519,5520,5521,5522,5523,5524,5525,5526,5527,5528,5529,5530,5508,5509,1426,1427, + 1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,945,946,946,947,5531, + 950,950,951,5532,5533,5534,5535,5536,5537,5538,5539,5540,5541,5542,5543,5544, + 5545,5546,5547,5548,5549,5550,5551,5552,5553,5554,5555,5556,5557,5558,5559,5560, + 5561,5562,5563,5564,5565,5566,5567,5568,5569,5570,5571,5572,5573,5574,5575,5576, + 5577,5578,2584,2585,2055,2546,2056,2547,2057,883,5579,5580,5581,5582,5583,5584, + 5585,5586,5587,5588,5589,5590,5591,5592,5593,5594,5595,5596,5597,5598,5599,5600, + 5601,5602,5603,5604,5605,5606,5607,5608,5609,5610,5611,5612,5613,5614,5615,5616, + 5617,5618,5619,5620,5621,5622,5623,5624,5625,5626,5627,5628,5629,5630,5631,5632, + 5633,5634,5635,5636,5637,5638,5639,5640,5641,5642,2686,2690,2691,5643,5644,5645, + 5646,5647,5648,5649,5650,5651,5652,5653,5654,5655,5656,5657,5658,6,7,8, + 5659,10,5660,5661,5662,5663,5664,5665,5666,5667,5668,5669,5670,5671,5672,5673, + 5674,5675,1583,1584,1585,1586,1587,1588,5676,5677,3340,3341,3342,3343,5678,5679, + 5680,5681,5682,5683,5684,5685,5686,5687,5688,5689,5690,5691,5692,5693,5694,5695, + 5696,5697,5698,5699,5700,5701,5702,5703,5704,2692,5705,5706,2693,5707,5708,5709, + 5710,5711,5712,5713,5714,5715,5716,5717,5718,5719,5720,5721,5722,5723,5724,5725, + 5726,5727,5728,2213,2214,2215,2216,2216,5729,2217,2218,5730,5731,5732,5733,5734, + 5735,5736,5737,5738,5739,5740,5741,5742,5743,5744,5745,5746,5747,5748,269,270, + 5749,271,273,5750,5751,5752,5753,5754,5755,5756,5757,5758,5759,5760,5761,5762, + 5763,5764,5765,5766,5767,5768,5769,5770,5771,5772,5773,5774,5775,2038,2039,2040, + 2041,2042,2043,2044,5776,5777,5778,5779,5780,5781,5782,5783,5784,5785,5786,5787, + 5788,5789,5790,5791,5792,5793,5794,5795,5796,5797,5798,5799,5800,5801,5802,5803, + 5804,5805,5806,5807,5808,5809,3022,3023,3023,3024,5810,5811,5812,5813,5814,5815, + 5816,5817,5818,5819,5820,5821,5822,5823,1674,3386,3387,3388,5824,3389,553,554, + 560,561,562,563,564,565,566,567,568,569,570,571,5825,5826,5827,5828, + 5829,5830,5831,5832,5833,5834,5835,5836,5837,5838,5839,5840,5841,5842,5843,5844, + 5845,5846,5847,5848,5849,5850,5851,5852,5853,5854,5855,5856,5857,5858,5859,5860, + 5861,5862,5863,5864,5865,5866,5867,5868,5869,5870,5871,5872,5873,5874,5875,5876, + 5877,5878,5879,5880,5881,5882,5883,5884,5885,5886,5887,5888,5889,5890,5891,5892, + 4424,4425,4426,4428,4436,4438,4439,5893,5894,5895,5896,5897,5898,5899,5900,5901, + 5902,5903,5904,5905,5906,5907,5908,5909,5910,5911,5912,5913,5914,5915,5916,5917, + 5918,5919,5920,5921,5922,5923,5924,5925,5926,5927,5928,5929,5930,5931,5932,5933, + 5934,5935,5936,5937,5938,5939,5940,5941,5942,1613,5943,5944,5945,5946,5947,5948, + 5949,5950,5951,5952,5953,5954,5955,5956,5957,5958,5959,5960,5961,5962,5963,5964, + 5965,3365,3366,3367,3368,3369,3372,5966,5967,5968,5969,5970,5971,5972,5973,5974, + 731,5975,732,5976,593,594,595,596,5977,5978,5979,5980,5981,5982,5983,5984, + 5985,5986,5987,5988,5989,5990,5991,5992,5993,5994,5995,5996,5997,5998,5999,6000, + 6001,6002,6003,6004,6005,6006,6007,6008,6009,6010,6011,6012,6013,6014,6015,6016, + 6017,6018,6019,4795,660,661,662,663,6020,6021,6022,6023,6024,6025,6026,6027, + 6028,6029,6030,6031,6032,6033,6034,6035,6036,6037,6038,6039,6040,6041,6042,6043, + 6044,6045,6046,6047,6048,6049,6050,6051,6052,6053,6054,6055,6056,6057,6058,6059, + 6060,6061,6062,6063,6064,6065,6066,6067,6068,6069,6070,6071,647,648,648,649, + 650,6072,6073,6074,6075,6076,6077,6078,6079,6080,6081,6082,6083,6084,6085,6086, + 6087,6088,6089,6090,6091,6092,6093,6094,4861,4862,4862,4863,4864,4865,4865,6095, + 6096,6097,6098,6099,6100,6101,6102,6103,6104,6105,6106,6107,6108,6109,6110,6111, + 6112,6113,6114,1558,1559,1560,1561,1562,6115,6116,6117,6118,597,598,599,603, + 604,605,6119,6120,6121,6122,6123,6124,6125,6126,6127,6128,6129,6130,6131,6132, + 6133,6134,6135,6136,6137,6138,6139,6140,6141,6142,6143,6144,6145,6146,6147,6148, + 6149,6150,6151,6152,6153,4952,4953,4954,6154,6155,6156,6157,6158,6159,6160,6161, + 6162,6163,6164,6165,6166,6167,6168,6169,6170,6171,6172,6173,6174,6175,6176,6177, + 6178,6179,6180,6181,6182,6183,6184,1583,1584,1587,1588,5676,5677,6185,6186,6187, + 6188,6189,6190,6191,6192,6193,6194,6195,6196,6197,6198,6199,6200,6201,6202,269, + 270,5749,271,6203,6204,6205,914,915,916,917,918,919,920,921,922,923, + 924,925,926,6206,6207,6208,6209,6210,6211,6212,6213,6214,6215,6216,6217,6218, + 6219,6220,6221,6222,6223,6224,6225,6226,6227,6228,6229,6230,4697,4698,4699,4700, + 4706,4707,610,611,614,615,616,6231,6232,6233,6234,6235,6236,6237,6238,6239, + 6240,6241,6242,6243,6244,6245,389,391,6246,6247,6248,6249,6250,188,189,190, + 191,192,193,194,6251,2623,2624,2625,2626,2627,2628,2629,6252,6253,6254,6255, + 6256,6257,6258,6259,6260,6261,6262,6263,6264,6265,6266,6267,6268,6269,6270,6271, + 6272,6273,6274,6275,6276,6277,6278,6279,6280,6281,6282,6283,6284,6285,6286,6287, + 6288,6289,6290,29,30,30,31,49,50,5277,5278,5279,5280,5281,5282,4469, + 4470,4471,6291,4472,6292,6293,6294,6295,6296,6297,6298,6299,6300,6301,6302,6303, + 6304,6305,6306,6307,6308,6309,6310,6311,6312,6313,6314,6315,6316,6317,6318,6319, + 6320,6321,6322,6323,6324,6325,6326,6327,6328,6329,6330,6331,6332,6333,6334,6335, + 6336,6337,6338,6338,6339,6340,6341,6342,6343,6344,6345,6346,6347,6348,6349,6350, + 6351,6352,6353,2485,2486,2487,2488,2489,6354,6355,6356,6357,6358,6359,6360,6361, + 5532,5533,5534,6362,6363,6364,2782,2783,4547,4548,6365,6366,6367,6368,6369,1614, + 6370,6371,3340,3341,3342,3343,5678,6372,6373,6374,5679,5680,5681,6364,6375,4547, + 4548,4549,2784,1615,1616,1617,1618,1619,1620,1621,6376,6377,6378,6379,6380,6381, + 6382,6383,6384,6385,6386,6387,6388,6389,6390,6391,6392,2177,2178,2179,2180,6393, + 6394,6395,4516,4517,4518,4519,4520,4521,4522,2181,2182,2183,6396,6397,6398,6399, + 6400,6401,6402,6403,6404,6405,6406,3571,3572,3573,3586,3587,6407,6408,6409,6410, + 6411,6412,6413,6414,6415,6416,6417,6418,3298,3299,3300,6419,6420,6421,6422,6423, + 6424,6425,6426,6427,6428,6429,6430,6431,6432,6433,6433,6434,6435,6436,6437,6438, + 6439,6440,6441,6442,6443,6444,6445,6446,445,446,6447,447,448,6448,6449,6450, + 6451,6452,6453,6454,6455,6456,6457,6458,6459,6460,449,450,6461,6462,6463,6464, + 6465,6466,6467,6468,6469,6470,6471,6472,6473,6474,6475,6476,6477,6478,6479,6480, + 6481,6482,6483,6484,6485,6486,6487,6488,6489,6490,6491,6492,6493,6494,6495,6496, + 6497,6498,6499,6500,6501,6502,6503,6504,6505,6506,6507,6508,6509,6510,6511,6512, + 6513,6514,6515,6516,6517,6518,4516,4517,4519,4520,4521,4522,4523,6407,6408,6409, + 6410,6411,6412,6413,6414,6519,6520,6521,6522,6523,6524,6525,6526,6527,6528,6529, + 6530,6531,6532,6533,6534,6535,6536,6537,2885,2886,2886,2887,2888,2889,2890,6538, + 6539,6540,6541,6542,6543,6544,6545,6546,6547,6548,6549,6550,6551,6552,6553,6554, + 6555,6556,6557,6558,6559,6560,6561,6562,6563,6564,6565,6566,6567,6568,6569,6570, + 6571,6572,6573,6574,6575,6576,6577,6578,6579,6580,6581,6582,6583,6584,6585,6586, + 6587,6588,6589,6590,6591,6592,4482,4483,4943,4944,4945,4946,2236,6593,6594,6595, + 6596,6597,6598,6599,3048,3049,3050,3051,6600,6601,6602,6603,6604,6605,6606,6607, + 4862,4863,4864,4865,4865,6095,6485,6486,6499,6500,6501,6502,945,946,946,947, + 948,949,6608,6609,6610,6611,6612,6613,6614,6615,6616,6617,6618,6619,6620,6621, + 6622,6623,6624,6625,6626,6627,6628,6629,6630,6631,6632,6633,6634,6635,6636,6637, + 6638,6639,6640,6641,6642,6643,691,692,693,694,695,6644,696,697,698,6645, + 6646,375,376,377,6647,5872,5873,5874,5875,5876,5877,6648,6649,6650,6651,6652, + 6653,6654,6655,6656,6657,6658,6659,6660,6661,6662,6663,6664,6665,6666,6667,6668, + 6669,6670,6671,6672,6673,6674,6675,6676,6677,3189,5274,6678,5275,5276,5124,5125, + 5126,5127,6679,6680,6681,6682,6683,6684,6685,6686,6687,2665,2666,335,336,336, + 337,338,6688,6689,6690,6691,6692,6693,6694,6695,6696,6697,6698,6699,6700,6701, + 6702,6703,6704,6705,6706,6707,6708,6709,6710,6711,6712,6713,6714,6715,6716,6717, + 6718,6719,6720,6721,2390,2391,2392,2393,2396,2397,6722,6723,6724,6725,6726,6727, + 6728,6729,6730,6731,6732,2260,2261,2262,2263,6733,6734,5535,5536,5537,5538,6735, + 6736,6737,6738,6739,6740,6741,6742,5539,5540,5541,5542,5543,5544,5545,5546,5547, + 6743,6744,6745,6746,6747,6748,6749,6750,6751,6752,6753,2668,2669,2670,2671,2672, + 2673,2674,2675,2676,6754,6755,6756,6757,6758,6759,6760,6761,6762,6763,6764,6765, + 6766,269,270,5749,271,6204,6205,6767,6768,2617,2618,6769,6770,28,29,30, + 30,31,6771,6772,6773,6774,6775,6776,6777,6778,6779,6780,6781,6782,6783,6784, + 6785,6786,6787,6788,6789,6790,6791,6792,28,29,30,30,31,6793,6794,6795, + 6796,6797,6798,6799,6800,6801,6802,6803,6804,6805,6806,6807,6808,6809,6810,6811, + 6812,6813,6814,6815,6816,6817,6818,6819,6820,6821,6822,6823,6824,6825,6826,6827, + 6828,6829,6830,6831,6832,6833,6834,6835,6836,6837,6838,2390,2391,2392,2393,2394, + 2395,6839,6840,6841,6842,6843,6844,6845,6846,6847,6848,6849,6850,6851,6852,6853, + 6854,1570,1571,1572,6855,6856,6857,6858,6859,6860,6861,6862,6863,6864,6865,6866, + 6867,6868,6869,5021,4547,4548,4549,2784,2786,2787,5112,5113,5114,5115,5116,5117, + 5118,5119,5120,6870,6871,6872,6873,6874,6875,6876,6877,6878,6879,6880,6881,6882, + 6883,6884,6885,6886,6887,6888,6889,6890,6891,6892,6893,6894,6895,6896,6897,6898, + 6899,2484,6900,6901,6902,6903,6904,6905,6906,6907,6908,6909,5828,5829,5830,5831, + 6910,6911,6912,6913,6914,6915,6916,5832,5833,5834,5835,5836,5837,5838,5839,5840, + 5841,6917,6918,6919,6920,6921,6922,6923,6924,6925,6926,6927,6928,6929,6930,6931, + 6932,6933,6934,6935,6936,6937,6938,6939,6940,6941,6942,6943,6944,6945,6946,6947, + 6948,4759,4760,4761,4762,2200,6949,6950,6951,6952,6953,2712,2713,2337,2338,2339, + 2846,5018,5019,5020,6869,5021,5022,4763,4764,4765,4766,4767,4768,4695,4697,4699, + 4700,4708,4709,6954,6955,6956,6957,6958,6959,6960,6961,6962,6963,6964,6965,6966, + 6967,6968,6338,6969,6970,6971,6972,6973,6974,6975,6976,6977,6978,6979,6980,6981, + 6982,6983,6984,6985,6986,6987,6988,6989,6990,6991,6992,6993,6231,6994,6995,6996, + 6997,6998,6999,7000,7001,4473,7002,7003,7004,7005,4474,759,760,761,762,763, + 764,43,44,45,7006,7007,7008,7009,7010,7011,7012,7013,7014,7015,7016,7017, + 7018,7019,7020,7021,7022,7023,906,3614,2421,909,910,2422,2423,3125,3126,3127, + 7024,7025,7026,7027,7028,7029,7030,7031,7032,7033,7034,3187,5273,3189,5274,5275, + 5276,6237,6238,6239,7035,7036,7037,7038,7039,7040,7041,7042,7043,7044,7045,7046, + 7047,7048,7049,7050,7051,7052,7053,7054,7055,7056,7057,7058,7059,7060,7061,7062, + 4872,4873,4875,7063,4876,7064,7065,7066,7067,7068,7069,906,3614,2422,2423,2548, + 2549,2550,5001,5002,5003,5004,7070,7071,7072,7073,7074,7075,7076,7077,7078,7079, + 7080,6519,6520,6521,6522,6523,6524,6525,6526,7081,7082,7083,7084,7085,7086,7087, + 7088,7089,7090,7091,7092,7093,7094,6364,6375,7095,7096,4547,4548,6527,6528,6529, + 6530,6531,7097,7098,2743,2744,2750,2751,2752,7099,7100,7101,7102,7103,7104,7105, + 7106,7107,7108,7109,7110,7111,7112,7113,7114,7115,7116,7117,7118,7119,7120,4952, + 4953,4954,6154,6155,6156,6166,6167,6168,6169,7121,7122,7123,7124,6693,6694,7125, + 7126,7127,7128,7129,7130,7131,7132,7133,7134,7135,7136,2712,2713,2336,2337,2338, + 2339,6695,6696,6697,6698,7137,7138,7139,7140,7141,7142,7143,7144,7145,7146,7147, + 7148,7149,7150,7151,7152,7153,7154,7155,7156,7157,7158,7159,7160,7161,7162,7163, + 7164,7165,7166,7167,7168,7169,7170,7171,7172,7173,7174,7175,7176,7177,7178,7179, + 7180,7181,7182,7183,7184,7185,7186,7187,7188,7189,7190,7191,7192,7193,6311,6312, + 6313,6314,6315,6316,7194,7195,7196,7197,7198,7199,7200,7201,7202,7203,7204,7205, + 7206,7207,7208,7209,7210,7211,7212,7213,7214,7215,7216,7217,7218,7219,7220,7221, + 7222,7223,7224,7225,7226,7227,7228,7229,7230,7231,7232,7233,7234,7235,7236,7237, + 7238,7239,7240,7241,7242,7243,7244,7245,7246,7247,7248,7249,7250,7251,7252,7253, + 7254,7255,7256,7257,7258,7259,7260,7261,7262,7263,7264,7265,7266,7267,7268,7269, + 7270,7271,7272,7273,7274,7275,7276,7277,7278,7279,7280,7281,7282,7283,7284,7285, + 7286,7287,7288,7289,7290,7291,7292,7293,7294,7295,7296,7297,7298,7299,7300,7301, + 7302,7303,7304,7305,7306,7307,7308,7309,7310,7311,7312,7313,7314,7315,7316,7317, + 7318,7319,7320,7321,7322,7323,7324,7325,7326,7327,7328,7329,7330,7331,7332,7333, + 7334,7335,7336,7337,7338,7339,7340,7341,7342,7343,7344,7345,7346,7347,7348,7349, + 7350,7351,7352,7353,7354,7355,7356,7357,7358,7359,7360,7361,7362,7363,7364,7365, + 7366,7367,7368,7369,7370,7371,7372,7373,7374,7375,7376,7377,7378,7379,7380,7381, + 7382,7383,7384,7385,7386,7387,7388,7389,7390,7391,7392,5819,5820,5821,5822,7393, + 7394,7395,7396,7397,7398,7399,7400,7401,7402,7403,7404,7405,7406,7407,7408,7409, + 7410,7411,7412,7413,7414,7415,7416,7417,7418,7419,7420,7421,7422,7423,7424,7425, + 7426,7427,7428,7429,7430,7431,4777,4781,2117,7432,7433,7434,7435,7436,7437,7270, + 7271,7272,7273,7274,7275,7276,7277,7278,3630,3631,3632,3633,7438,7439,7440,7441, + 7442,7443,7444,7445,7446,7447,7448,7449,7397,7398,7399,7414,7415,7416,7417,309, + 310,7450,7451,7452,7453,6741,6742,49,50,61,62,63,7454,7455,7456,7457, + 7458,7459,7460,7461,7462,7463,7464,7465,7466,7467,7468,7469,7470,7471,7472,7473, + 7474,7475,7476,7477,7478,7479,7480,7481,7482,7483,7484,7485,7486,7487,7488,7489, + 7490,7491,7492,7493,7494,7495,7496,7497,7498,7499,7500,7501,7502,7503,7504,7505, + 7506,7507,7508,7509,7510,7511,7512,7513,7514,7515,7516,7517,7518,7519,7520,7521, + 7522,7523,7524,7525,7526,7527,7528,7529,7530,7531,7532,7533,7534,7535,7536,7537, + 7538,7539,7540,7541,7542,7543,7544,7545,7546,7547,5162,7548,5165,5167,5168,7549, + 7550,7551,7552,7553,7554,7555,7556,7557,7558,7559,7560,7561,7562,7563,7564,7565, + 7566,7567,7568,7569,7570,7571,7572,7573,7574,7575,7576,7577,7578,7579,7580,7581, + 1622,7582,2201,2202,2204,7583,7584,7585,7586,7587,7588,7589,7590,7591,7592,7593, + 7594,7595,7596,7597,7598,7599,7599,7600,7600,7601,7602,7603,7604,7605,7606,7607, + 7608,7609,7610,7611,7612,7613,7614,7615,7616,7617,6748,6749,7618,6750,6751,7619, + 7620,7621,7622,7623,7624,7625,7626,7627,7628,7629,7630,7631,7632,7633,7634,7635, + 7636,4575,4576,4577,4578,4578,4579,6288,6289,6290,5277,5278,5279,5280,5281,5282, + 3116,3117,3118,3119,3120,3121,3122,3123,3124,7637,7638,7639,7640,7641,7642,7643, + 7644,7645,7646,7647,7648,7649,7650,7651,7652,7653,7654,7655,7656,7657,7658,7659, + 7660,7661,7662,7663,7664,7665,7666,7667,7668,7669,7670,7671,7672,7673,7674,7675, + 7676,7677,7678,7679,7460,7461,7462,7463,7464,7465,7466,7680,7681,7682,7683,7684, + 7685,7686,7687,7688,7689,7690,7691,7692,7693,7694,7695,7696,7697,7698,7699,7700, + 7701,7467,7468,7469,7470,7471,7472,7473,7474,7702,7703,7704,7705,7706,7707,7708, + 7709,7710,7711,7712,7713,7714,7715,7716,7717,7718,7719,7720,7721,7722,7723,7724, + 7725,7726,7727,7728,7729,7730,7731,7732,7733,7734,7735,7736,7737,7738,7739,7740, + 7741,5745,5746,7742,7743,5747,5748,7744,7745,7746,7747,7748,7749,7750,7751,7752, + 7753,7754,7755,7756,7757,7758,7759,7760,7761,7762,7763,7764,7765,7766,7767,7768, + 7769,7770,7771,7772,7773,7774,7775,7776,7777,7778,7779,7780,7781,7782,4575,4576, + 4577,4578,4578,4579,7783,7784,7785,7786,7787,7788,7789,7790,7791,7792,7793,7794, + 7795,6185,6186,6187,4575,4576,4577,4578,4578,4579,7783,7784,7785,7786,5005,5006, + 5007,5008,5009,5010,5011,7796,7797,7798,7799,7800,7801,7802,7803,7804,7805,119, + 120,121,122,125,126,185,6679,6680,6681,6682,7806,7807,7808,7809,7810,7811, + 7812,7813,7814,7815,7816,7817,7818,7819,7820,7821,7822,7823,7824,7825,3316,7826, + 7827,3504,3505,3506,3475,3476,3477,4980,4983,4984,4985,4986,7828,7829,7830,7831, + 7832,7833,7834,7835,7836,7837,7838,7839,7840,7841,7842,7843,7844,7845,7846,7847, + 7848,7849,7850,7851,7852,7853,5172,5173,5174,5175,5192,5196,5197,5198,5215,7854, + 7855,7856,7857,7858,7859,7860,7861,7862,7863,7864,7865,7866,7867,7868,7869,7870, + 7871,87,88,89,90,7872,7873,233,234,235,236,237,7874,7875,7876,238, + 239,240,389,390,391,395,6248,6249,6250,5878,5879,5880,7877,7878,7879,7880, + 7881,7882,7883,881,882,2053,2054,2055,2056,7884,7885,7886,7887,7888,7889,7890, + 7891,6363,2783,4547,4548,4549,2784,7892,7893,7894,7895,7896,7897,7898,7899,7900, + 7901,7902,7903,7904,7905,7906,7907,7908,7909,7910,7911,7912,7913,7914,7915,7916, + 5762,7917,7918,7919,7920,5812,5813,5814,5815,5816,5817,5818,7921,5853,5854,5855, + 5856,5857,7922,7923,7924,7925,7926,7927,7928,7929,7930,7931,7932,7933,7934,7935, + 7936,7937,7938,7939,7940,7941,7892,7942,7943,7944,7945,7946,7947,7948,7949,7950, + 7951,7952,7953,7954,7955,7956,7957,7958,7959,7960,7961,7962,7963,7964,7965,7966, + 7967,7968,2712,2713,2334,2335,2337,2338,2339,2846,7969,7970,7971,7972,7973,7974, + 7975,7976,7977,119,120,147,148,121,122,185,6339,6340,6341,6342,6343,6344, + 6345,6346,6347,6348,6349,6350,6351,6352,6353,2485,7978,7979,7980,7981,7982,119, + 120,125,126,7983,7984,2486,2487,2488,2489,6354,6355,2490,7985,7986,7987,7988, + 7989,7990,7991,7992,3158,3159,3160,3161,7993,3163,7994,7995,7996,7997,7998,7999, + 8000,8001,8002,8003,8004,8005,8006,8007,8008,8009,8010,8011,8012,8013,8014,2630, + 2631,2632,2633,2634,759,760,761,762,763,764,6786,6787,6788,6789,6790,6791, + 6792,8015,8016,8017,8018,8019,8020,8021,8022,8023,8024,8025,4671,4672,4673,4674, + 4675,4676,4677,4678,4679,4680,4681,800,801,802,803,8026,8027,7951,7952,7955, + 7956,8028,8029,4958,4959,4960,4961,4962,4963,4964,4965,4966,4967,8030,8031,8032, + 2468,2469,8033,8034,8035,8036,2470,2472,2473,8037,8038,787,788,789,790,791, + 792,793,8039,8040,8041,8042,2475,2476,8043,8044,3211,8045,2486,2487,2488,2489, + 6354,6355,2490,8046,3652,3653,3654,3676,3677,3678,3679,3680,3681,4412,4413,4414, + 4416,3233,4417,5234,5235,5236,5237,5238,5239,8047,8048,8049,8050,3344,3345,3346, + 3347,3348,3349,3350,3351,8051,8052,8053,8054,8055,8056,8057,8058,6226,6376,6377, + 6378,6379,6380,6381,8059,8060,8061,8062,8063,8064,8065,8066,8067,8068,8069,8070, + 8071,8072,8073,8074,8075,8076,8077,8078,8079,389,390,390,391,6247,8080,808, + 809,810,811,812,813,814,815,816,817,818,819,820,821,8081,8082,8083, + 8084,8085,8086,392,393,393,394,395,822,823,824,825,826,8087,8088,8089, + 8090,389,390,6248,6249,6250,8091,8092,8093,8094,8095,8096,8097,8098,8099,8100, + 8101,8102,8103,8104,8105,6608,6609,6610,6611,6612,3131,3132,3133,3134,3136,3137, + 1631,1632,1633,1634,1633,1635,1636,3332,3798,3799,3333,3334,8106,8107,8108,8109, + 8110,8111,8112,8113,8114,8115,8116,8117,8118,1645,1646,1647,1648,4457,4458,1649, + 1650,274,275,276,277,278,279,280,295,296,8119,8120,8121,8122,8123,8124, + 8125,8126,8127,8128,8129,8130,8131,8132,8133,8134,8135,8136,8137,8138,8139,8140, + 8141,8142,8143,8144,8145,731,6071,647,648,648,649,650,8146,8147,8148,8149, + 8150,8151,8152,8153,8154,8155,8156,8157,8158,8159,8160,8161,8162,8163,8164,8165, + 8166,8167,8168,8169,8170,8171,8172,8173,8174,8175,8176,8177,8178,8179,8044,8180, + 8181,8182,8183,8184,8185,8186,8187,8188,8189,8190,3152,3154,3155,731,732,647, + 648,648,649,650,8191,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202, + 8203,8204,8205,8206,8207,8208,8209,8210,8211,8212,8213,8214,3208,3209,4533,2478, + 8045,8215,8216,8217,8218,8219,8220,8221,8222,8223,8224,8225,8226,8227,8228,8229, + 8230,8231,8232,8233,8234,8235,8236,8237,8238,8239,8240,8241,8242,8243,8244,8245, + 8246,8247,8248,8248,8249,8250,8251,8252,8253,8254,8255,8256,8257,8258,8259,8260, + 8261,8262,8263,8264,8265,8266,8267,8268,8269,8270,8271,8272,8273,8274,8275,8276, + 8277,8278,8279,8280,8281,8282,8283,8284,8285,8286,8287,7911,7912,8288,8289,8290, + 8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,8304,8305,8306, + 8307,8308,8309,8310,8311,8312,8313,8314,8315,8316,8317,8318,8319,8320,8321,8322, + 8323,8324,8325,8326,8327,8328,8329,8330,8331,8332,8333,8334,8335,8336,8337,8338, + 8339,8340,8341,8342,8343,8344,8345,8346,8347,7796,7797,7798,7799,7800,7801,7802, + 7803,7804,7805,8348,8349,8350,8351,8352,8353,8354,4659,4660,4661,4662,4663,8355, + 8356,8357,8358,8359,8360,8361,8362,8363,8364,8365,8366,8367,8368,8369,8370,8371, + 8372,8373,8374,8375,8376,8377,8378,8379,8380,8381,8382,8383,8384,8385,8386,8387, + 8388,8389,8390,8391,8392,8393,8394,8395,8396,8397,8398,8399,8400,8401,8402,8403, + 8404,8405,8406,8407,8408,8409,8410,8411,8412,8413,8414,8415,8416,8417,8418,8419, + 8420,8421,8422,8423,8424,8425,8426,8427,8428,8429,8430,8431,8432,8433,8434,8435, + 8436,8437,8438,8439,8440,8441,8442,8443,8444,8445,8446,8447,8448,8449,8450,8451, + 8452,8453,8454,8455,8456,8457,8458,8459,8460,8461,8462,8463,8464,8465,8466,8467, + 8468,8469,8470,8471,8472,8473,8474,8475,8476,8477,8478,8479,8480,8481,8482,8483, + 8484,8485,8486,8487,8488,8489,8490,8491,8492,8493,8494,8495,8496,8497,8498,8499, + 8500,8501,8502,8503,8504,8505,8506,8507,8508,8509,8510,8511,8512,8513,8514,8515, + 8516,8517,8518,8519,8520,8521,8522,8523,8524,8525,8526,8527,8528,8529,8530,8531, + 8532,8533,8534,8535,8536,8537,8538,8539,8540,8541,8542,8543,8544,8545,8546,8547, + 8548,8549,8550,8551,8552,8553,8554,8555,8556,8557,8558,8559,8560,8561,8562,8563, + 8564,8565,8566,8567,8568,8569,8570,8571,7806,7807,7808,7809,7810,8572,8573,7820, + 7821,7822,7823,7824,7825,8574,8575,8576,8577,8578,8579,8580,8581,8582,8583,8584, + 8585,8586,8587,8588,8589,8590,8591,8592,8593,8594,8595,8596,8597,8598,8599,8600, + 8601,8602,8603,8604,8605,8606,8607,8608,8609,8610,8611,8612,8613,8614,8615,8616, + 8617,8618,8619,8620,8621,8622,8623,8624,8625,8626,8627,8628,8629,8630,8631,8632, + 8633,8634,8635,8636,8637,8638,8639,8640,8641,8642,8643,8644,8645,8646,8647,8648, + 8649,8650,8651,8652,8653,8654,8655,6688,6689,6690,389,390,390,391,392,393, + 395,8656,8657,8658,8659,8660,8661,8662,2468,2469,8663,8664,8033,8034,8035,8036, + 2470,2471,2472,8665,2473,8666,2476,2477,2478,8045,2479,8667,739,740,741,742, + 743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758, + 765,766,8668,8669,8670,8671,8672,8673,8674,8675,8676,8677,8678,8679,8680,5526, + 8681,5527,5528,8682,8683,8684,8685,8686,8687,8688,8689,8690,8691,8692,8693,8694, + 8695,8696,2213,2214,2215,2216,2216,5729,8697,8698,8699,8700,8701,8702,8703,8704, + 8705,8706,8707,8708,8709,8710,8711,8712,8713,2217,2218,2219,8714,8715,2220,8716, + 7967,7968,8717,8718,8719,8720,8721,8722,8723,8724,8725,8726,8727,8728,8729,8730, + 8731,8732,8733,8734,8735,8736,8737,8738,8739,8740,8741,8742,8743,8744,8745,8746, + 8747,8748,8749,8750,8751,7598,7599,7599,7600,7600,8752,8753,8754,8755,8756,8757, + 8758,8759,8760,8761,8762,5810,8763,5811,8764,8765,8766,8767,8768,8769,8770,8771, + 8772,8773,8774,8775,8776,2139,8777,8778,2246,2247,2248,2253,4875,7063,8779,8780, + 8781,4876,8782,8783,8784,8785,8786,8787,8788,8789,8790,8791,8792,8793,8794,8795, + 8796,8797,8798,8799,8800,8801,8802,8803,8804,8805,8806,8807,8808,8809,5611,5612, + 5613,8810,5616,8811,8812,8813,8814,8815,8816,8817,8818,8819,8820,772,773,8821, + 8822,776,777,8823,8824,8825,8826,8827,8828,8829,8830,8831,8832,4977,4978,5992, + 5993,5994,5996,8833,8834,8835,8836,8837,2690,2691,5703,5704,2692,5705,8838,8839, + 8840,8841,8842,8843,8844,8845,8846,8847,8848,2810,2811,2812,2813,2812,2813,8849, + 8850,8851,8852,8853,8854,2409,2410,2411,2412,8855,2141,8856,2143,8857,8858,8859, + 8860,8861,2656,2657,2658,2398,2399,2400,2401,2402,2403,2404,4807,4808,4809,4810, + 4811,4812,4816,4817,4818,4819,4820,8862,8863,8864,8865,8866,8867,8868,8869,8870, + 8871,8872,8873,6931,8874,8875,8876,6932,8877,8878,8879,8880,8881,8882,8883,8884, + 8885,8886,8887,8888,8889,1020,1021,1022,1039,1040,1041,1042,1043,1044,1045,2213, + 2214,2215,2216,2217,2218,2219,2220,6903,8890,8891,6904,8892,6905,6906,6907,8893, + 8894,8895,8896,8897,8898,8899,8900,8901,8902,8903,1281,1282,1283,1284,3384,3385, + 3386,3387,3388,3389,6690,8904,8905,8906,8907,8908,3228,4414,3231,3232,3233,8909, + 8910,8911,5510,5511,5512,5513,5514,5515,5516,5517,5518,8912,8913,8914,8915,8916, + 4831,4832,4835,4995,4996,4997,8917,8918,8919,8920,8921,8922,8923,8924,8925,8926, + 8927,8928,8929,8930,8931,8932,8933,8934,8935,8936,8937,8938,8939,8940,8941,8942, + 8943,8944,8945,8946,8947,8948,8949,8950,8951,8952,8953,8954,8955,8956,8957,8958, + 8959,8960,8961,8962,8963,8964,8965,5915,5916,5917,5918,5919,5920,5921,5922,5923, + 5924,5925,5926,5927,5928,5929,8202,8207,8208,8211,8212,8213,8214,8966,8967,8968, + 8969,8970,8971,8972,8973,8974,8975,8976,8977,8978,8979,8980,8981,8982,8983,8984, + 8985,8986,8987,8988,8989,8990,8991,8992,8993,8994,8995,8996,8997,8998,8999,9000, + 9001,9002,9003,9004,9005,9006,9007,9008,9009,9010,9011,9012,9013,9014,9015,9016, + 2390,2391,2392,2393,2394,2395,2396,2397,4759,4760,4761,4762,9017,9018,9019,9020, + 9021,9022,9023,9024,9025,9026,9027,9028,9029,9030,9031,9032,9033,9034,5579,5580, + 5581,5582,5583,5584,5585,5586,5587,9035,9036,9037,9038,9039,9040,9041,9042,9043, + 9044,9045,9046,9047,9048,9049,9050,9051,3052,9052,9053,9054,9055,9056,9057,9058, + 9059,9060,9061,9062,9063,9064,9065,9066,9067,9068,9069,9070,9071,9072,9073,9074, + 9075,9076,9077,9078,9079,9080,9081,9082,9083,9084,9085,9086,9087,9088,9089,9090, + 9091,9092,9093,9094,9095,9096,9097,9098,9099,9100,9101,9102,9103,9104,9105,9106, + 9107,9108,9109,9110,9111,9112,9113,9114,9115,5823,5190,3384,3385,3386,3387,9116, + 9117,9118,9119,9120,9121,3353,3354,3355,3356,3357,3358,3359,3360,3361,3362,3363, + 3364,9122,9123,9124,9125,9126,9127,9128,9129,9130,9131,9132,9133,9134,9135,9136, + 9137,2474,2475,9138,9139,8044,8180,687,688,689,690,2032,2033,3353,3378,3379, + 3380,3381,3382,3383,9140,9141,9142,9143,9144,9145,3858,3859,3860,3861,3862,3863, + 3864,9146,9147,9148,9149,9150,9151,9152,9153,9154,9155,9156,9157,9158,4542,4543, + 4544,4545,4546,3634,3635,3636,3637,3638,3639,3640,3686,3687,3688,3689,3695,3696, + 3697,3698,9159,9160,9161,9162,4769,4770,9163,9164,9165,9166,4563,93,94,9167, + 9168,9169,9170,9171,9172,9173,9174,9175,9176,4076,4077,4078,4079,4080,4081,4637, + 4638,4641,4642,9177,4653,9178,9179,9180,9181,9182,9183,9184,9185,906,3614,2421, + 909,9186,9187,9188,9189,9190,396,397,398,399,699,700,3522,3523,3524,3525, + 3526,9191,9192,9193,9194,9195,9196,9197,9124,9125,9126,9127,9198,9199,9200,9201, + 81,82,83,84,85,86,1764,1765,1766,1767,1768,1769,1770,1771,1772,1773, + 1774,1775,1776,1777,9202,9203,9153,9154,9158,9204,9205,9206,4470,4471,6291,4472, + 1778,1779,1780,1781,1782,1783,1784,9207,9208,9209,9210,9211,9212,9186,395,6248, + 6249,6250,1795,1796,1797,1798,1799,1800,1801,1802,1803,1804,1805,1806,1807,1808, + 1809,1810,9213,9214,9215,9216,9217,9218,9219,4932,4933,4934,4935,4936,1811,1812, + 1813,1814,1815,1816,1817,9220,5573,5574,5576,5577,2991,2992,2993,2994,9221,9222, + 9223,3586,3587,3588,9224,9225,9226,9227,9228,9229,2277,2278,2283,2284,2284,9230, + 1818,1819,1820,1821,1822,1823,1824,1825,1826,1827,1828,1829,9231,9232,9233,9234, + 9235,9236,1582,1583,1584,9237,5676,9238,1830,1831,1832,1833,1834,8651,8652,8653, + 6688,6689,6690,8904,8905,9239,9240,9241,9242,9242,1835,1836,1837,1838,1839,1840, + 1841,1842,1843,1844,9243,9244,9245,9246,9247,9248,9249,4448,4449,4450,4451,4452, + 4453,4454,4455,9250,9251,9252,9253,6884,6885,6886,6887,9254,9255,9256,2112,9257, + 2113,1852,1853,1854,6888,6889,9258,9259,9260,5018,5019,5020,9261,9262,9263,3162, + 7993,3163,9264,1855,1856,1857,1858,1859,1860,1861,2696,2697,2698,2699,1622,1623, + 9265,9266,2204,7583,2483,9267,6898,6899,2484,6900,6901,6902,9268,9269,9270,9271, + 9272,9273,6876,6877,6878,6879,6880,6881,6882,6883,9274,9275,9276,9277,9278,9279, + 9280,9281,9282,9283,9284,9285,9286,9287,9288,9289,9290,9291,9292,9293,9294,9295, + 9296,9297,9298,9299,9300,9301,9302,9303,9304,9305,9306,9307,9308,9309,3365,3366, + 9310,3367,3369,3372,9311,9312,9313,9314,9315,9316,881,882,2053,2054,2584,2585, + 2055,2056,143,144,145,146,160,161,162,163,164,165,5347,5348,5349,5359, + 5360,5361,9317,9318,9319,3365,3366,3367,3368,3369,3370,3371,5493,9320,9321,9322, + 9323,4995,4996,4997,4998,4999,5000,5173,5174,5175,5192,5193,5194,5195,5196,5197, + 5198,5215,9324,9325,9326,9327,9328,9329,9330,9331,9332,9333,9334,9335,9336,9337, + 9338,9339,9340,9341,9342,9343,9344,9344,9345,9346,9347,9348,9349,9350,9351,9352, + 9353,9354,9355,9356,9357,9358,2213,2214,2215,2216,8698,8715,9359,9360,9361,9362, + 9363,9364,9365,9366,9367,9368,827,828,831,7904,7905,7906,7907,9369,9370,9371, + 9372,7908,7909,7910,9373,9374,9375,269,270,9376,9377,5749,271,272,9378,9379, + 9380,9381,9382,9383,9384,9385,9386,9387,9388,9389,9390,9391,9392,5526,8681,5527, + 5528,5529,5530,9393,9394,9395,9396,9397,9398,9399,9400,9401,2476,2477,2479,8667, + 9402,9403,9404,9405,3183,3184,9406,5271,5272,3189,5274,6678,6903,8890,8891,6904, + 5258,5259,5260,5261,5262,5263,5264,5265,9407,9408,9409,9410,9411,9412,9413,9414, + 9415,9416,9417,9418,9419,9420,9421,9422,9423,9424,9425,9426,9427,9428,9429,9430, + 9431,9432,9433,9434,9435,9436,893,894,894,895,897,898,9437,2381,9438,9439, + 9440,9441,9442,9443,9444,9445,9446,9447,9448,9449,9450,9451,9452,9453,9454,9455, + 9456,9457,9458,9459,9460,9461,9462,9463,9464,9465,9466,9467,9468,9469,9470,9471, + 9472,9473,9474,9475,9476,9477,9478,9479,9480,9481,9482,9483,9484,9485,9486,9487, + 9488,9489,2474,2475,8044,8180,8181,8182,9490,9491,9492,9493,9494,9495,5315,5316, + 5317,5318,5319,5320,9496,9497,9498,9499,9500,9501,9502,9503,9504,9505,9342,9343, + 9344,9344,9345,9506,9507,9508,9509,9510,9511,9512,2203,1623,2455,9513,9514,9265, + 9266,1624,1625,9515,9516,9517,9518,9519,9520,9521,9522,9523,9524,9525,9526,9527, + 9528,9529,9530,9531,9532,9533,9534,9535,9536,9537,6363,6364,2782,2783,4547,4548, + 2784,2785,4760,4762,4763,4764,9538,9539,9540,9541,9542,6364,6375,7095,7096,9543, + 9544,2782,2783,9545,9546,9547,9548,9549,9550,9551,4559,4560,9552,9553,9554,9555, + 9556,9557,9558,9559,9560,9561,9562,9563,309,310,311,3008,312,313,9564,9565, + 9566,9567,9568,9569,7911,7912,7913,7914,2213,2214,9570,9571,2217,2218,2219,2220, + 937,938,939,940,941,942,943,944,9572,9573,9574,9575,9576,9577,9578,9579, + 9580,9581,9582,5483,5484,5485,5486,5487,5488,5489,5490,5491,5502,5503,5504,5505, + 5506,5507,5508,5509,9583,9584,9585,9586,9587,9588,2449,9589,9590,9591,9592,9593, + 2450,2451,9594,9595,9596,9597,9598,9599,9600,9601,9602,893,894,894,895,9603, + 9604,9605,9606,8318,8319,8320,8326,8327,8328,8329,9607,9608,9609,9610,9611,9612, + 8886,8887,8574,8575,8576,8579,8583,8584,8585,8586,9613,9614,9615,1656,1657,1658, + 1659,1660,1661,9616,9617,9618,9619,9620,9621,9622,9623,9624,9625,9626,9627,9628, + 9629,9630,9631,9632,9633,9634,9635,9636,9637,9638,9639,9640,9641,7255,7258,7259, + 7260,7261,2262,2263,6733,6734,9642,9643,6962,6963,9644,9645,9646,9647,9648,9649, + 9650,5563,5564,5565,5566,5567,9651,9652,9653,9654,9655,9656,9657,9658,9659,9660, + 9661,9662,9663,9664,9665,2201,2202,1623,2455,1624,1625,1627,2205,2541,2542,2543, + 2544,2545,9666,9667,9668,9669,9670,9671,658,9672,9673,9674,9675,9676,9677,9678, + 9679,9680,9681,9682,9683,9684,3156,3157,3158,3159,3160,3161,3162,3163,9685,9686, + 9687,9688,9689,9690,9691,9692,9693,9694,9695,9696,9697,9698,9699,9700,9701,9583, + 9584,9585,9586,9587,9588,8765,8767,8768,8769,8770,8771,8772,9702,8875,6932,6933, + 9703,9704,4776,4777,6964,6965,6966,5599,5600,5601,5617,5618,5619,5620,5621,5622, + 9705,9706,9707,9708,9709,9710,9711,9712,9713,9714,9715,9716,9717,9718,9719,9720, + 9721,9722,9723,9724,9725,6661,6662,9726,9727,9651,9652,9653,9654,9655,9656,9657, + 9658,9728,9729,9730,9731,9732,9733,9734,9735,9736,9737,9738,9739,9740,9741,9742, + 9743,9744,9745,9746,9747,9748,4860,9749,9750,4861,4862,9751,9752,9753,9754,9755, + 9756,9757,9758,9759,9760,3183,3184,9406,5271,9761,9762,9763,9764,9765,9766,9767, + 9768,9769,3187,5273,3189,5274,9770,9771,9772,2782,2783,9773,9774,2786,2787,6973, + 6975,6976,6977,9775,9776,9777,9778,9779,9780,9781,9782,9783,9784,9785,9786,9787, + 9788,9789,9790,9791,3663,9792,9793,9794,9795,9796,9797,9798,9799,9800,9801,9802, + 9803,9804,9805,9806,9807,9808,9809,9810,9811,9812,9813,9814,9815,9816,9817,9818, + 9819,9820,9821,9822,9823,9824,9825,9826,9827,9828,9829,9830,9831,9832,9833,9834, + 9835,9836,9837,9838,9839,9840,6685,6686,6687,6752,6753,9841,9842,9843,9844,5812, + 5813,5814,5815,5816,5817,5818,7921,5853,9845,9846,9847,9848,6989,6990,6991,6992, + 6993,5730,5731,5732,5733,5734,5735,5736,5737,5738,5739,5740,5741,4866,4867,4868, + 4869,4870,4872,4873,7063,8779,8780,8781,4876,9849,9850,9851,9852,9853,9854,9855, + 9856,9857,8778,3661,8875,9858,9859,4778,9860,9861,9862,9863,9864,9865,9866,9867, + 9868,9869,9870,9871,4516,4517,4518,4519,4520,4521,5893,5894,5895,5896,5897,5898, + 5915,5916,9872,9873,9874,9875,9876,9877,9878,9879,9880,9881,9882,9883,9884,9885, + 9886,9887,9888,9889,9890,9891,9892,9893,9894,9895,9896,9897,9898,9899,9900,9901, + 9902,9903,9904,9905,9906,9907,9908,9909,9910,9911,9912,9913,9914,9915,9916,9917, + 9918,9919,9920,9921,9922,7027,7028,7029,7030,9923,9924,9925,9926,9927,9928,9929, + 9930,9931,9932,9933,9934,9935,9936,9937,9938,9939,9940,9941,9942,9943,9943,9944, + 9945,9830,9831,9946,9947,9948,9949,9950,9951,9952,9953,9954,9955,4989,9956,9957, + 9958,9959,9960,9961,2217,2218,2219,8714,2249,2250,9962,9963,9964,9965,9966,9967, + 9968,9969,9970,9971,9972,9014,9015,9016,9973,9974,9975,9976,9977,9978,9979,9980, + 9981,9982,9983,9984,9985,9986,9987,8519,8520,8521,8522,8523,945,946,946,947, + 5531,951,7031,7032,7033,7034,2038,2039,2040,2041,2042,2043,2044,5776,9988,4596, + 4597,4598,4599,4600,8104,8105,6608,6609,6610,6611,6612,9989,9990,9991,9992,9993, + 9994,9995,9996,7454,7455,7456,7457,9997,9998,9999,1558,1559,1561,1562,8191,8192, + 8193,10000,10001,10002,10003,10004,10005,6364,6375,7095,7096,9543,9544,8638,10006,10007, + 10008,10009,10010,10011,10012,10013,5823,5190,3384,3385,1672,1673,10014,10015,10016,10017, + 10018,10019,10020,10021,10022,10023,10024,10025,10026,8717,8718,8719,8720,8721,8722,1674, + 1675,3386,3387,3388,5824,10027,10028,10029,10030,10031,5777,5778,5779,5795,5796,5797, + 5798,8782,8783,8784,8785,8786,10032,10033,10034,10035,10036,9796,8861,10037,10038,10039, + 10040,10041,10042,2782,2783,4547,4548,4549,2784,2784,2785,10043,10044,10045,10046,10047, + 10048,10049,10050,7099,1674,1675,1676,1677,3388,5824,10051,10052,10053,10054,10055,10056, + 10057,10058,10059,10060,10061,770,771,772,773,2101,2102,776,777,10062,10063,10064, + 10065,10066,10067,10068,10069,10070,10071,2786,2787,10072,10073,4569,4569,10074,10075,10076, + 7060,7061,7062,10077,10078,10079,10080,10081,10082,10083,10084,9343,9344,9345,10085,10086, + 10087,10088,10089,10090,10091,10092,10093,10094,10095,10096,10097,10098,5940,5941,10099,10100, + 5942,10101,10102,10103,10104,10105,10106,10107,10108,10109,10110,10111,4952,4953,4954,4955, + 4956,10112,10113,10114,10115,10116,10117,10118,10119,10120,10121,10122,10123,5611,5612,5613, + 5614,10124,10125,10126,9248,9249,10127,10128,10129,10130,10131,1645,1646,4458,1649,10132, + 10133,10134,10135,10136,10137,10138,10139,10140,10141,10142,7064,7065,7066,699,700,701, + 714,715,716,717,10143,10143,10144,10145,10146,10147,10148,10149,10150,10151,10152,10153, + 10154,10155,10156,5190,5191,3384,3385,1674,3389,952,953,954,955,956,957,958, + 959,960,961,962,3316,3317,3318,3319,10157,1608,10158,10159,10160,1609,1610,1611, + 1612,1613,5943,5944,5162,5165,5166,5167,5168,10161,10162,10163,10164,10165,10166,2058, + 2059,2060,2061,2062,8248,8249,8250,8251,10167,10168,10169,10170,6364,6375,2782,2783, + 2786,2787,10171,10172,10173,10174,10175,10176,10177,10178,10179,10180,10181,10182,10183,10184, + 10185,10186,10187,10188,10189,10190,10191,10192,10193,10194,10195,10196,2409,2142,3664,2143, + 2144,10197,10198,10199,10200,10201,10202,3663,8875,7429,10036,10203,10204,5672,10205,10206, + 10207,10208,10209,10210,10211,10212,10213,1583,1584,1585,1586,1587,1588,5676,5677,10214, + 10215,10216,10217,10218,10219,10220,10221,10222,10223,10224,8230,8231,10225,10226,10227,10228, + 10229,10230,10231,10232,10233,10234,10235,10236,2386,2387,2388,2389,7951,7952,7953,7954, + 7955,7956,10237,10238,10239,10240,10241,3076,3077,3078,3079,3080,3081,10242,10243,10244, + 10245,10246,10247,10248,10249,10250,10251,10252,10253,10254,10255,10256,10257,10258,5162,5163, + 5164,5165,5166,10259,10260,10261,10262,10263,10264,10265,10266,10267,10268,10269,10270,10271, + 10272,10273,10274,10275,10276,10277,10278,10279,10280,10281,10282,10283,10284,10285,10286,7019, + 7020,7021,7022,7023,2421,909,909,910,2422,2423,5112,5113,5114,5115,5116,5117, + 5118,5119,5120,5121,5122,5123,10287,10288,10289,10290,10291,10292,10293,10294,10295,10296, + 10297,10298,10299,10300,4952,4953,4954,6166,6167,6168,6169,4955,4956,10301,10302,10303, + 10304,10305,10306,10307,10308,10309,10310,6930,8874,8876,7431,10311,4777,10312,10313,10314, + 10315,10316,10317,10318,10319,10320,10321,10322,7913,7914,7916,10323,10324,10325,10326,10327, + 2528,2529,2530,2531,2532,2533,2534,2535,2536,2537,2538,10328,10329,10330,10331,10332, + 10333,10334,445,446,6459,6460,449,450,10335,10336,10337,10338,10339,10340,10341,10342, + 10343,10344,10345,10346,10347,10348,10349,10350,10351,10352,10353,10354,10355,10356,10357,10358, + 10359,10360,10361,10362,10363,10364,10365,10366,10367,10368,10369,10370,10371,10372,10373,4939, + 4940,4941,4942,10374,10375,10376,10377,10378,10379,10380,10381,10382,10383,10384,10385,10386, + 10387,10388,10389,10390,10391,10392,10393,10394,10395,10396,10397,10398,10399,10400,10401,10402, + 10403,10404,10405,10406,10407,10408,10409,10410,10411,10412,10413,10414,10415,10416,10417,10418, + 10419,10420,10421,10422,10423,5107,5108,5109,5110,5111,10385,10386,10387,10388,10389,10390, + 10424,9792,10197,10425,10426,10427,10402,10403,10404,10405,10406,10407,10408,10409,10428,10429, + 87,88,89,90,10430,10431,10432,10433,7872,7873,10434,10435,5823,5190,3384,3385, + 1674,1675,91,92,93,94,9167,9168,9169,9170,9171,289,10436,1534,290,291, + 292,10437,10438,10439,10440,10441,10442,10443,10444,10445,389,391,6246,6247,392,393, + 394,395,6128,6129,6130,6131,6132,10446,10447,10448,10449,10450,10451,10452,10453,10454, + 10455,10456,10457,10458,10459,10460,10461,10462,4469,4470,4471,6291,6291,4472,10463,10464, + 10465,10466,10467,10468,10469,5046,5047,5048,5049,127,128,10470,129,130,10471,10472, + 10473,10474,10475,10476,10477,10478,10479,10480,10481,10482,10483,10484,5823,5190,3384,3385, + 1673,1674,3386,3387,10177,10178,10179,10180,10181,10182,10183,10485,10486,10487,10184,10185, + 10186,10488,10489,10490,10491,10492,10493,10494,10495,10496,10497,3022,3023,3023,3024,5810, + 5811,6132,10498,10499,6133,6134,6135,10500,10501,10502,10503,10504,10505,10506,10507,8966, + 8967,8968,8969,8970,8971,8972,10508,10509,10510,10511,10512,10513,10514,10515,10516,10517, + 10518,10519,10520,10521,10522,10523,10524,10525,10526,10527,10528,10529,10530,10531,10532,10533, + 10534,10535,10536,10537,10538,10539,10540,10541,10542,10543,10544,10545,10546,10547,10548,10549, + 10550,10514,10515,10516,10517,10518,10519,10520,10521,10522,10523,10524,10525,10526,10551,10552, + 10553,10554,10536,10537,10538,10539,10540,10541,10542,10543,10544,10545,10546,10547,10548,10555, + 10556,10557,10558,10559,10560,10561,10562,10563,10564,10565,10566,10567,10171,10172,10173,10174, + 10175,10568,10569,2619,2620,10570,6231,6232,6233,6234,6235,6236,10241,3076,3077,3078, + 3079,3080,3081,852,853,854,10571,855,855,856,857,10572,10573,10574,10575,10576, + 10577,10578,10579,10580,10581,10582,10583,2891,2424,2425,2426,2427,2428,2429,10584,10585, + 10374,10375,10376,10586,10587,10588,10589,10377,4872,4873,7063,8779,8781,4876,10590,10591, + 10592,10593,10594,4932,4933,4934,4935,4936,10595,4937,6240,6241,6242,6243,6244,6245, + 10596,10597,10598,10599,10600,10601,10602,10603,251,252,253,254,770,771,2099,774, + 2101,10604,10605,10606,10607,255,256,257,258,927,928,929,929,930,931,932, + 10608,10609,6317,6318,10610,6319,6320,6321,6322,6323,6324,10611,10612,10613,10614,10615, + 4863,4864,4865,4865,6095,10616,10617,10618,10619,10620,10621,2409,2410,8775,8776,8855, + 2141,10622,10623,10624,10625,4872,4873,4874,4875,7063,8779,10626,10627,10628,10629,10630, + 10631,10632,10633,6252,6253,6254,6255,6256,6257,10634,10635,10636,10637,10638,10639,10640, + 10641,10642,10643,10644,10645,10646,10647,10648,10649,10650,10651,10652,10653,10654,10655,10656, + 10657,5408,5409,5409,5410,5411,10658,10659,10660,10661,10662,10663,10664,10665,10666,10667, + 10668,10669,10670,10671,10672,10673,10674,10675,10676,10677,10678,10679,10680,10681,10682,10683, + 10684,10685,10686,10687,10688,10689,10690,10691,4989,4990,4993,4994,10692,927,928,928, + 929,931,932,1613,5943,5944,5945,5946,5947,5948,10693,10694,10695,10696,10697,10698, + 10699,10700,10701,10702,10703,10704,10705,10706,10707,10708,28,29,30,61,62,63, + 10709,10710,10711,10712,10713,10714,10715,10716,10717,10718,10719,10720,10721,10722,10723,10724, + 10725,10726,4550,4551,5611,5612,5613,5614,5615,10727,10728,10729,10730,10731,10732,10733, + 2665,2666,10734,10735,10736,335,336,10737,10738,10739,10740,10741,10742,10743,10744,10745, + 7911,7912,7913,7914,7915,7916,8193,10000,10001,10002,10003,10004,10005,1894,1895,1896, + 1897,1898,2286,2287,2288,2289,2290,10746,10747,10748,10749,10750,8645,8646,8647,8648, + 8649,10751,10752,10753,10754,9231,9232,9233,10755,10756,10757,10758,10759,10760,10761,10762, + 7922,7923,7924,7925,7926,7927,10763,10764,10765,7928,10766,10767,10768,10769,10770,10771, + 10772,10773,10774,10775,3202,3203,10776,10777,4671,4672,4673,4674,4675,4678,4679,10778, + 10779,10780,10781,10782,10783,10784,10785,10786,100,101,102,32,33,34,35,36, + 37,38,39,40,41,10445,10787,10788,10789,10790,10791,10792,10793,10794,10795,10796, + 10797,10798,10799,10800,7092,7093,7094,5190,5191,1673,1674,3388,5824,4664,4665,4666, + 4667,4668,4669,4670,1343,1344,1345,1346,1347,1348,1496,1497,1498,308,309,310, + 311,3008,312,314,315,560,563,564,569,570,571,10801,10802,10803,10804,10805, + 10806,10807,10808,5305,5306,5307,5308,5310,5311,8063,8064,8065,10809,10810,10811,9770, + 9771,9772,10812,10813,10167,10168,10169,10170,2330,2331,179,180,181,182,195,196, + 197,198,199,10761,10762,10814,10815,10816,8135,8136,8137,8138,8139,8140,8141,8142, + 8143,10817,10818,10819,10820,10821,10822,10823,487,488,496,497,498,499,2349,2350, + 2351,2352,2353,2358,10096,10097,10098,10824,10825,10826,10827,10828,10829,10830,10831,10832, + 10833,10834,10835,10836,10837,10838,10839,10114,10115,10116,10117,10118,10119,1195,1196,1197, + 1198,1199,1200,1201,1202,9162,10840,10841,10842,10843,10844,10845,274,275,1530,1531, + 10846,10847,10848,10849,10850,10851,10852,10853,10854,4805,1648,4457,4458,1649,1650,6969, + 6970,6971,6972,1685,1686,1687,1688,1689,1690,1691,1692,1693,10855,10856,10857,10858, + 10859,10860,10861,10862,10863,10864,10865,10866,10867,10868,10869,10870,10871,10010,10011,10012, + 10013,7104,7105,7106,7107,7108,7109,7110,7111,7112,7113,10872,10873,10874,10875,10876, + 10877,10878,10879,10880,10881,10882,10456,10457,10458,10459,10460,10461,10462,3572,3573,3586, + 3587,3588,3589,3590,3591,10883,10884,10885,10886,2213,2214,2217,2218,2219,8714,421, + 422,423,10887,10888,10889,10890,9849,9850,9851,10891,10892,10893,10894,10895,10896,10897, + 1971,1972,1973,1974,1975,1976,1977,1978,1979,1980,1981,1982,1983,1984,1985,1986, + 1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002, + 2003,2004,2005,2006,2007,2008,2009,3561,3562,3563,3564,179,180,181,182,195, + 196,3433,3434,3435,3437,3438,3439,9284,9286,9288,9289,10898,10807,10808,8071,8072, + 8073,3468,3469,3470,3471,3472,3316,7826,7827,3506,3320,3321,3476,3506,10899,43, + 44,10900,10901,10902,10903,10904,10905,10906,10907,3747,3748,3749,3750,3751,3752,8098, + 8099,8100,8101,10908,10909,10910,3789,3790,3332,3798,3800,3801,3802,3803,3804,143, + 144,145,146,10177,10178,10179,10180,10181,10182,10183,10485,10486,10487,10184,10185,10186, + 4506,4507,4508,4509,4509,4510,4511,4512,4513,4514,4515,881,882,2547,2057,4735, + 4736,160,161,162,163,164,165,10400,10401,10402,10403,10404,10405,10406,10407,10408, + 10409,4603,4604,4622,4623,4624,4625,5780,5781,5782,5787,5788,3384,3385,10911,10912, + 3386,3387,3388,3389,4765,4766,4767,4768,10913,10914,10915,10916,10917,10918,10919,10920, + 10921,10922,10923,10924,10925,10926,10927,10928,10929,1645,1646,1648,4457,4458,1649,496, + 497,498,499,500,1910,1911,1912,1913,1914,1920,1921,1922,1923,1924,5519,10930, + 5520,5521,5522,5523,10931,10932,10933,10934,10935,10936,10937,10938,10939,10940,10941,10942, + 10943,5640,5641,5642,2686,2687,2688,2690,2691,4794,4796,4797,4798,4799,4800,451, + 452,453,454,455,456,463,464,465,466,467,468,10944,10945,10946,10947,10948, + 10949,4872,4873,8780,8781,4876,10950,10951,10952,10953,10954,10955,10956,10957,10958,10959, + 10960,10961,10962,10963,10964,7951,7952,7953,7954,7955,7956,10965,10966,10967,10968,10969, + 10970,10971,10972,10973,10974,10975,10976,10977,10978,10979,10980,10981,10982,9564,9566,9567, + 9568,9569,10472,10473,10474,10475,10476,10477,10478,10479,10480,10481,10482,3304,3305,3306, + 3307,3308,3309,3310,10983,10984,10985,10986,10987,10988,10989,10990,10991,10992,10993,10994, + 10995,6559,6562,6563,6564,1047,1048,1049,1050,1051,1052,1053,4802,4803,4804,10996, + 10997,10998,10999,11000,11001,11002,11003,11004,11005,11006,11007,11008,11009,11010,11011,4813, + 4814,4815,2714,2715,2716,2717,2718,4836,4837,4838,4839,4840,4841,4842,4843,4844, + 4845,11012,11013,11014,11015,11016,11017,11018,11019,11020,11021,11022,11023,11024,11025,11026, + 11027,11028,11029,11030,11031,11032,11033,11034,11035,4851,4852,4853,4854,4855,4856,4857, + 4858,4859,11036,11037,11038,11039,11040,11041,11042,11043,11044,11045,11046,11047,11048,11049, + 11050,11051,11052,11053,11054,11055,4866,4867,4868,4869,4870,4871,11056,11057,11058,11059, + 11060,11061,11062,11063,11064,11065,11066,11067,11068,11069,11070,11071,11072,11073,11074,11075, + 11076,11077,11078,11079,11080,11081,11082,11083,11084,11085,11086,11087,11088,11089,11090,11091, + 11092,11093,11094,4888,11095,11096,4889,4890,4891,4892,4893,4894,4895,4896,4897,4898, + 11097,11098,11099,4904,4905,4906,4907,4908,4909,4910,4911,4912,4913,11100,11101,11102, + 11103,11104,11105,11106,11107,11108,11109,11110,11111,11112,11113,11114,11115,11116,11117,11118, + 11119,11120,9221,9222,9223,8291,8292,722,723,724,725,726,727,728,729,730, + 734,735,736,737,738,11121,11122,11123,11124,11125,11126,11127,11128,11129,11130,11131, + 11132,11133,11134,11135,5595,5596,5597,11136,5598,11137,11138,11139,11004,11005,11006,11007, + 11008,11078,11079,11080,11081,11082,11083,11084,11085,11086,11087,11088,445,446,6447,447, + 6459,6460,10287,11140,11141,11142,11143,11144,11145,11146,11147,11148,11149,11150,11151,4813, + 4814,4815,2714,1302,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316, + 1317,1318,1380,1388,1389,1394,1395,1396,1397,1398,1399,1400,1401,11152,11153,11154, + 7125,7126,4857,4859,11039,11040,11041,1530,1531,1532,1533,11155,11156,11157,11158,10846, + 10847,10848,10849,10850,11159,10851,10852,10853,10854,11160,4557,4558,4559,4560,9552,9553, + 9555,9556,11161,11162,11163,11164,9241,9242,9242,11165,11166,4910,4911,4912,4913,9517, + 9518,9519,9520,87,88,89,90,10430,10431,10432,10433,7872,7873,10434,10435,11167, + 11168,11169,11170,7979,7980,10464,10465,10466,10467,10468,10469,9644,9645,9646,9647,9648, + 9649,9650,11171,11172,11173,4547,4548,9773,9774,2786,2787,10177,10178,10179,10180,10181, + 10182,5464,5465,5466,5471,5472,5473,5474,353,354,5477,5478,5479,11174,11175,11176, + 11177,11178,11179,11180,3667,3668,3669,3670,3671,3672,4418,4419,4420,4421,4422,4423, + 11181,11182,11183,11184,11185,11186,11187,11188,11189,11190,11191,11192,11193,11194,11195,11196, + 11197,11198,11199,8847,8848,11200,11201,2812,2813,2814,11202,11203,11204,11205,11206,11207, + 11208,10500,10501,10502,10503,10504,10505,10506,10507,8966,8967,8968,8969,8970,8971,8972, + 10508,10509,10510,10511,10512,10513,10514,10515,10516,10517,10518,10519,10520,10521,10522,10523, + 10524,10525,10526,10527,10528,10529,10530,10531,10532,10533,10534,10535,10536,10537,10538,10539, + 10540,10541,10542,10543,10544,10545,10546,10547,10548,10549,10550,11209,11210,11211,4441,4442, + 4443,4444,4445,4446,4447,4448,11212,11213,11214,11215,11216,11217,11218,11219,11220,11221, + 11222,11223,11224,5391,11225,11226,11227,11228,11229,11230,11231,5393,11212,11213,5951,5952, + 5953,5954,2712,2713,2336,2337,2338,2339,2844,2845,10514,10515,10516,10517,10518,10519, + 10520,10521,10522,10523,10524,10525,2649,11232,2651,2652,2653,5408,5409,5409,5410,5410, + 5411,8882,8883,11233,11234,11235,1535,1536,1537,1538,1539,1540,1541,1542,1548,1549, + 1555,1556,1557,7925,7926,7927,10763,11236,11237,11238,11239,11240,5412,5413,5414,5415, + 5416,11241,11242,11243,11244,6821,6822,6823,11245,11246,11247,11248,11249,11250,11251,11252, + 11253,11254,11255,11256,11257,1665,1666,1667,1668,1669,1670,1671,1678,1679,11258,11259, + 11260,11261,11262,11263,11264,11265,11266,11267,2833,2838,2839,2840,2841,6302,6303,11268, + 6304,11269,6305,11270,11271,11272,11273,11274,11275,11276,11277,11278,11279,11280,375,377, + 11281,11282,11283,11284,11285,11286,11287,11288,11289,1721,1722,1723,1724,1725,1726,1728, + 1730,1731,11290,11291,11292,11293,11294,11295,11296,11297,1031,1032,1033,1034,1035,1036, + 1037,1558,1559,1560,1561,1562,11298,285,286,287,1734,1735,1736,1737,1738,1739, + 1740,1741,1742,1743,1744,1745,1746,1747,1748,11299,11300,11301,11302,11303,1587,1588, + 5676,11304,9238,5677,370,371,1749,1750,1751,1752,1753,1754,1755,1756,1757,1758, + 1759,1760,1761,1762,2480,2481,2482,2483,312,313,314,315,7452,7453,3224,3225, + 372,373,374,1767,1768,1769,1770,1771,1772,1773,1774,1775,1776,1777,9814,11305, + 11306,415,416,417,418,419,420,9577,9578,9579,9580,9581,9582,11307,11308,11309, + 11310,11311,11312,11313,11314,11315,11316,7027,8884,8885,8886,8887,11317,8888,11318,11319, + 5800,5801,5802,11320,11321,469,470,471,472,9277,9278,9279,9280,9281,9282,9283, + 509,510,511,512,513,11322,11323,11324,3367,3369,3370,3371,3372,524,525,526, + 527,531,1885,1886,1887,1888,1889,1890,1891,1892,1893,5747,5748,2085,2085,2086, + 2087,11325,11326,11327,11328,3266,3267,3268,3269,3270,11329,11330,11331,7951,7952,7955, + 7956,8028,8029,6183,6184,6195,6196,6197,6198,6199,6200,6201,6202,6206,6207,6208, + 11332,6240,6241,6242,6243,6244,6245,6252,6253,6254,6255,6256,6257,11333,11334,6258, + 6259,6260,11335,11336,11337,11338,10778,10779,10780,10781,10782,10783,10784,10785,10786,11339, + 11340,11341,11342,7731,7732,7733,7734,7775,7776,7777,11343,11344,11345,11346,11347,11348, + 11349,11350,11351,10558,10559,10560,10562,10563,10564,10565,11352,11353,11354,11355,11356,11357, + 11358,11359,10324,10325,11360,11361,11362,11363,11364,259,260,11365,11366,11367,11368,11369, + 11370,11371,11372,11373,11374,11375,11376,11377,11378,11379,11380,11381,11382,11383,518,519, + 520,521,522,523,8130,8131,8132,8015,8016,8017,8018,8019,11384,5611,5613,5614, + 11385,8810,43,44,8101,10908,10909,10910,11386,11387,11388,11389,11390,11391,11392,11393, + 11394,11395,11396,11397,7634,7635,7636,11398,11399,11400,11401,11402,3208,3209,4533,4534, + 3211,9678,9679,11403,11404,11405,3156,3157,3158,3159,3160,3161,3162,3163,10143,10144, + 10145,10146,10147,10148,10149,10150,10151,10152,10153,10154,10155,10156,193,194,6251,2623, + 2624,2625,2626,2627,2628,2629,11406,11407,11408,11409,11410,11411,11412,11413,11414,11415, + 11416,11417,832,833,834,835,836,837,838,839,840,841,842,843,844,845, + 846,847,848,849,850,851,858,859,11418,11419,11233,11234,11420,11421,11422,11423, + 11235,11236,11237,11238,11239,11240,11424,11425,11426,11427,11253,11254,11255,11256,11257,11428, + 11429,11430,11431,11432,11433,11434,11435,11436,11437,11438,11439,11440,11441,11442,11443,11444, + 11445,11446,11447,11448,11449,11450,1685,1686,1687,1688,1689,1690,1691,1692,1693,1694, + 1695,1696,11451,11452,11453,11270,11271,11272,11454,11455,11456,11457,11458,11459,11460,6487, + 6488,6489,6490,6491,11461,11284,11285,11286,11287,11288,11289,11462,11463,11463,11464,6492, + 6493,6494,6495,11465,7931,7932,11466,11467,881,882,2053,2054,2055,2546,2547,2057, + 11468,11469,11470,11471,11472,11473,11474,11475,11476,11477,11478,11479,9102,9103,9104,9105, + 9106,9107,9108,445,446,448,6448,449,450,6771,6772,6773,6774,6775,6776,11480, + 11481,9845,9846,9847,9848,11482,11483,11484,8705,11485,11486,8706,8709,1570,1571,1572, + 1574,6855,11487,11488,11489,11490,6461,6462,6463,6464,6465,6466,6467,6468,6469,6470, + 6471,6472,6473,6474,6475,6496,6497,6498,6503,6504,6505,6506,6507,6508,6509,6510, + 6511,6512,6513,6514,6538,6539,6540,6551,6552,6553,11491,11492,11493,11494,11495,11496, + 11497,11498,11499,11500,11501,11502,11503,11504,11505,11506,11507,11508,11509,11510,11511,11512, + 11513,11514,11515,11516,11517,11518,11519,11520,11521,11522,11523,11524,11525,6565,6566,6567, + 6568,6569,6570,6579,6580,6581,11526,4881,4882,4883,4884,4885,4886,4887,4943,4944, + 4945,4946,2236,2237,2238,2239,11527,11528,2430,2431,2432,2433,2434,2435,2436,2437, + 2438,11529,11530,11531,11532,11533,11534,6600,6601,6602,10259,10260,10261,10262,10263,6617, + 6618,6619,6620,6621,6622,6637,6638,6639,6640,6641,6642,5112,5113,5114,5115,5116, + 5117,5118,5119,5120,5121,5122,5123,6663,6664,6665,6666,5124,5125,5126,5127,6679, + 6680,6681,6682,5283,5284,5285,5286,5287,5288,5289,5290,5291,5292,5293,5294,5295, + 5417,5418,5419,5420,5421,5535,5536,5537,5538,5539,5540,5541,5542,5543,5544,5545, + 5546,5547,2667,2668,2669,2670,2671,2672,2673,2674,2675,2676,6754,6755,6756,6767, + 6768,2359,2360,2361,2362,11535,11536,11537,11538,6803,6804,6805,6806,6807,6824,6825, + 6826,6827,6828,6839,6840,6841,6842,6843,6844,6845,6846,6856,6857,6858,6859,6860, + 6861,6862,10437,10438,10439,10440,10441,5682,5683,5684,5685,5686,5687,5688,5689,5690, + 11539,11540,11541,11542,11543,11544,11545,11546,11547,11548,5825,5826,5827,5828,5829,5830, + 5831,5832,5833,5834,5835,5836,5837,5838,5839,5840,5841,5977,5978,5979,5980,5981, + 6936,6937,6938,6939,6940,6941,2595,2596,2597,2598,2599,2600,2601,2602,2603,6954, + 6955,6956,6957,6958,6959,6960,6961,10551,10552,10553,10554,6119,6120,6121,6122,6123, + 6124,6125,6126,6127,6984,6985,6986,6987,6988,6231,6994,6995,6996,6997,6998,6232, + 6233,6234,6235,6236,6237,6238,6239,7050,7051,7052,7053,7054,7055,7056,7057,7058, + 7059,6325,6326,6327,6328,6329,6330,6331,6332,6333,11549,11550,2548,2549,2550,5001, + 5002,5003,5004,7070,7071,7072,2551,2552,2553,2554,2555,2556,2557,2558,2559,2560, + 2561,2562,2563,2564,2565,2566,2567,2568,2569,2570,2571,2572,6519,6520,6521,6522, + 6523,6524,6525,6526,6527,6528,6529,6530,6531,7097,7098,11551,11552,11553,2493,2494, + 2495,2496,2497,2498,2499,2500,2501,2502,2503,2504,2505,7121,7122,7123,7124,6693, + 6694,6695,6696,6697,6698,6777,6778,6779,6780,6781,6782,6783,6784,6785,7432,7433, + 7434,7435,7436,7437,7438,7439,7440,7441,7442,7443,7444,7445,7446,7447,7448,7449, + 6890,6891,6892,6893,6894,6895,6896,6897,2702,2703,2704,2705,2706,2707,11554,11555, + 11556,11557,11558,11559,11560,11561,11562,11563,11564,11565,11566,11567,11568,11569,11570,11571, + 11572,11573,7496,7497,7498,7499,7500,7501,7502,7503,7504,7525,7526,7527,7528,7529, + 7530,7531,7532,7533,7534,7549,7550,7551,7552,7553,7554,7555,7556,7557,7558,7559, + 7560,7561,7562,7563,7564,7565,7566,11574,11575,11576,11577,11578,11579,11580,11581,11582, + 11583,11584,11585,7584,7585,7586,7587,7601,7602,7603,7604,11586,11587,11588,11589,11590, + 11591,11592,11593,11594,11595,11596,11597,11598,11599,11600,11601,11602,11603,11604,11605,11606, + 11607,11608,11609,11610,11611,7620,7621,7622,7623,7624,7625,7626,7627,7628,7629,7630, + 7631,7632,7633,11612,11613,11614,11615,11616,11617,11618,7656,7657,7658,7659,7460,7461, + 7462,7463,7464,7465,7466,7467,7468,7469,7470,7471,7472,7473,7474,7726,7727,7728, + 7729,7730,7731,7732,7733,7734,7751,7752,7753,7754,7755,7775,7776,7777,11619,11620, + 11621,11622,11623,11624,11625,11626,11627,11628,11629,11630,11631,11632,11633,11634,11635,11636, + 11637,11638,11639,11640,11641,11642,11643,11644,11645,11646,11647,11648,11649,11650,11651,11652, + 11653,11654,11655,11656,11657,11658,11659,11660,11661,11662,11663,11664,11665,11666,11667,11668, + 11669,11670,11671,11672,11673,11674,11675,11676,11677,11678,11679,11680,11681,11682,11683,11684, + 11685,11686,11687,11688,11689,11690,11691,3082,3083,3084,3085,3086,3087,3088,3089,3090, + 3091,3092,3093,3094,3095,3096,3097,3098,3099,3100,3101,3102,3103,3104,3105,3106, + 3107,3108,3109,3110,3111,3112,3113,3114,3115,3116,3117,3118,3119,3120,3121,3122, + 3123,3124,3125,3126,3127,3128,3129,3130,7024,11692,7025,7026,11693,11694,11695,11696, + 11697,11698,11699,11700,11701,11702,11703,11704,11705,11706,11707,3408,3409,3410,3411,3412, + 3413,3414,3415,3416,3417,3418,3419,3420,3421,3422,3423,3424,3425,3426,3427,3428, + 3429,3430,3448,3449,3450,3451,3452,3453,3454,3455,3456,3457,3458,3459,3460,4643, + 4644,4645,4646,4647,11708,11709,11710,11711,11712,11713,11714,11715,11716,8856,2143,2144, + 11717,11718,11719,4969,4970,4971,4972,4973,4974,4980,4981,11484,9317,9318,9319,10385, + 10397,10398,10399,10400,10401,10402,6617,6618,6619,6620,6621,6622,6637,6638,6639,6640, + 6641,6642,6515,6516,6517,11720,11721,11722,11723,2410,8775,11724,3664,11719,4778,11725, + 11726,11727,11728,11729,11730,11731,11732,11733,11734,11735,11736,11737,11738,11739,11740,11741, + 11742,11743,11744,11745,11746,11747,11748,11749,11750,11751,11752,11753,11754,11755,11756,11757, + 11758,11759,11760,11761,11762,11763,11764,11765,389,390,390,391,6246,6247,11766,11767, + 11768,11769,11770,11771,11772,11773,11774,11775,11776,2802,2803,2804,2805,2806,2808,2809, + 2213,2214,2217,2218,2220,2250,6390,6391,6392,6393,6394,6395,2548,2549,2550,5001, + 5002,5003,5004,7070,7071,7072,2551,2552,2553,2554,2555,2556,2557,2558,2559,2560, + 2561,2562,2563,2564,2565,2566,2567,2568,2569,2570,2571,2572,11777,11778,11779,11780, + 11781,11782,4877,4878,4879,4880,11783,11784,11785,11786,11787,11788,11789,11790,11791,11792, + 11793,11794,11795,11796,11797,11798,11799,11800,11801,11802,11803,11804,11805,11806,11807,11808, + 11809,11810,11811,11812,7237,7238,7239,7240,7241,7242,7243,7244,11764,11765,9989,9990, + 9991,11813,11814,11815,11816,11817,11818,11819,11820,11821,11822,9992,9993,9994,9995,11823, + 11824,11825,11826,11827,9996,7454,7455,7456,7457,7458,7459,11828,11829,11830,9997,9998, + 9999,10237,10238,10239,10240,7535,11831,11832,11833,11834,11835,11836,11837,5162,7548,5165, + 5167,5168,9994,9995,11823,11824,11825,11826,11827,7620,7621,7622,7623,7624,7625,7626, + 7627,7628,7629,7630,7631,11838,11839,11840,11841,11842,11843,11844,11845,11846,11847,11848, + 11849,11850,11851,11852,4412,4412,4413,4417,11853,6829,6830,6831,6832,6833,6836,4980, + 4981,4982,4983,4984,4985,4986,11854,11855,11856,11857,11858,11859,11860,11861,11862,3207, + 10776,10777,11386,11387,11388,11389,11390,11391,11392,11393,11394,11395,11396,11863,11864,11865, + 11866,11867,11868,7047,7048,7049,6152,6153,6161,6165,10908,10909,10910,11869,11870,11871, + 11872,11873,11874,143,144,145,146,160,161,162,163,164,165,166,167,176, + 177,178,179,180,181,182,195,196,197,198,199,200,201,202,203,209, + 210,211,212,213,214,215,216,3550,3551,4540,4541,11875,8639,8640,8641,8642, + 8643,8644,8650,11876,11877,11878,11879,11880,11881,11882,11883,11884,11885,11886,2881,2882, + 2884,11887,11888,11889,11890,11891,11892,11893,11894,11895,4771,4772,4773,4774,4775,11273, + 11274,11275,11896,11897,11898,11899,11900,11901,11902,11903,11904,11905,11906,11906,11907,11908, + 9538,9539,9541,9542,11909,11910,11911,11128,11129,11130,11912,11913,11914,11915,11916,11917, + 9572,9573,9574,9575,11918,11919,11920,11921,11922,11923,11924,11925,11926,1624,1625,11927, + 11928,1626,1627,11929,2205,11930,11931,11932,11933,11934,11935,10508,10509,10510,10511,10512, + 10513,10527,10528,10529,10530,10531,10532,10533,10534,10535,4547,4548,4549,2784,2784,2785, + 11936,11937,11938,11939,11940,11941,11942,11943,11944,11945,11946,11947,11948,9748,4860,4862, + 4863,4864,4865,4865,6095,553,554,555,556,557,558,559,9917,11949,11950,9918, + 9919,11951,2817,2818,2819,2820,11952,11953,11954,11955,11956,11957,11958,11959,10333,10334, + 10335,10336,10337,10338,10339,10340,10341,2780,2781,6819,6820,6821,6822,11960,6823,10057, + 10058,10059,10060,10061,11961,11962,11963,11964,11965,11966,11967,11968,11969,11970,11971,5190, + 5191,3384,3385,10911,11972,11973,10912,2304,2305,2312,2313,7102,7103,10051,10052,10053, + 10054,10055,10056,4846,4847,4848,4849,4850,2415,2416,2417,2418,2419,2420,11974,11975, + 11976,685,686,11977,11978,10328,10329,10330,10331,10332, +}; + +typedef struct { unsigned short part, cite, voff, vlen; } Reading; +static const Reading readings[] = { + {0,0,0,6}, + {1,1,6,5}, + {2,2,11,4}, + {3,3,15,6}, + {0,4,21,7}, + {1,5,28,5}, + {3,6,33,10}, + {0,7,43,7}, + {1,8,50,5}, + {3,9,55,6}, + {0,10,61,4}, + {1,11,65,4}, + {3,12,69,8}, + {0,13,77,9}, + {1,14,86,6}, + {2,15,92,8}, + {3,16,100,18}, + {0,17,118,6}, + {1,18,124,8}, + {2,19,132,4}, + {3,20,136,12}, + {0,21,148,4}, + {1,22,152,6}, + {3,23,158,11}, + {0,24,169,8}, + {1,25,177,5}, + {3,26,182,8}, + {0,27,190,7}, + {1,28,197,5}, + {3,29,202,9}, + {0,30,211,9}, + {3,31,220,5}, + {0,32,225,8}, + {1,33,233,7}, + {3,34,240,9}, + {0,35,249,8}, + {1,36,257,10}, + {2,37,267,8}, + {3,38,275,4}, + {0,39,279,6}, + {1,40,285,5}, + {3,41,290,7}, + {0,42,297,8}, + {1,43,305,6}, + {3,44,311,8}, + {0,45,319,5}, + {1,46,324,8}, + {3,47,332,11}, + {0,48,343,8}, + {1,49,351,6}, + {3,50,357,6}, + {0,51,363,6}, + {1,52,369,5}, + {3,53,374,12}, + {0,54,386,5}, + {1,55,391,4}, + {3,56,395,5}, + {0,57,400,5}, + {1,58,405,8}, + {2,59,413,8}, + {3,60,421,11}, + {0,61,432,10}, + {1,62,442,4}, + {3,63,446,5}, + {0,64,451,11}, + {1,65,462,6}, + {3,66,468,6}, + {0,67,474,6}, + {3,68,480,6}, + {0,69,486,178}, + {1,70,664,6}, + {3,71,670,6}, + {0,72,676,8}, + {1,73,684,6}, + {3,74,690,7}, + {0,75,697,14}, + {1,76,711,2}, + {3,77,713,4}, + {0,78,717,8}, + {2,79,725,19}, + {3,80,744,12}, + {0,81,756,6}, + {1,82,762,7}, + {3,83,769,9}, + {0,84,778,10}, + {1,85,788,6}, + {3,86,794,5}, + {0,87,799,8}, + {3,88,807,20}, + {0,89,827,7}, + {1,90,834,6}, + {3,91,840,5}, + {0,92,845,8}, + {1,93,853,8}, + {3,94,861,9}, + {0,95,870,14}, + {1,96,884,7}, + {3,97,891,6}, + {0,98,897,4}, + {1,99,901,4}, + {2,45,905,5}, + {3,100,910,19}, + {0,101,929,9}, + {1,102,938,5}, + {3,103,943,20}, + {0,104,963,4}, + {1,105,967,6}, + {3,106,973,23}, + {0,107,996,9}, + {1,108,1005,6}, + {3,109,1011,6}, + {0,110,1017,6}, + {1,111,1023,7}, + {3,112,1030,7}, + {0,113,1037,8}, + {1,114,1045,5}, + {3,115,1050,16}, + {0,116,1066,5}, + {1,117,1071,7}, + {3,118,1078,5}, + {0,119,1083,8}, + {1,120,1091,8}, + {2,121,1099,11}, + {3,122,1110,11}, + {0,123,1121,19}, + {1,124,1140,8}, + {3,125,1148,4}, + {0,126,1152,532}, + {1,127,1684,6}, + {3,128,1690,13}, + {0,129,1703,9}, + {1,130,1712,6}, + {3,131,1718,10}, + {0,132,1728,8}, + {1,133,1736,5}, + {3,134,1741,7}, + {0,135,1748,8}, + {1,136,1756,5}, + {3,137,1761,7}, + {0,138,1768,16}, + {1,139,1784,7}, + {3,140,1791,10}, + {0,141,1801,4}, + {1,142,1805,5}, + {2,143,1810,6}, + {3,144,1816,8}, + {0,145,1824,16}, + {1,146,1840,6}, + {3,147,1846,3}, + {0,148,1849,10}, + {1,149,1859,7}, + {3,150,1866,8}, + {0,151,1874,11}, + {1,152,1885,6}, + {3,153,1891,5}, + {0,154,1896,13}, + {1,155,1909,9}, + {3,156,1918,7}, + {0,157,1925,9}, + {1,158,1934,6}, + {3,159,1940,360}, + {0,160,2300,4}, + {1,161,2304,6}, + {3,162,2310,7}, + {0,163,2317,8}, + {1,164,2325,8}, + {2,165,2333,5}, + {3,166,2338,12}, + {0,167,2350,10}, + {1,168,2360,4}, + {3,169,2364,16}, + {0,170,2380,11}, + {1,171,2391,8}, + {3,172,2399,8}, + {0,173,2407,9}, + {1,174,2416,6}, + {3,175,2422,3}, + {0,176,2425,8}, + {3,177,2433,9}, + {0,178,2442,13}, + {1,179,2455,6}, + {3,180,2461,12}, + {0,181,2473,15}, + {1,182,2488,6}, + {3,183,2494,4}, + {0,184,2498,4}, + {1,185,2502,6}, + {2,186,2508,5}, + {3,187,2513,7}, + {0,188,2520,5}, + {3,189,2525,11}, + {0,190,2536,12}, + {1,191,2548,6}, + {3,192,2554,4}, + {0,193,2558,7}, + {1,194,2565,8}, + {3,195,2573,9}, + {0,196,2582,6}, + {3,197,2588,4}, + {0,198,2592,9}, + {1,199,2601,6}, + {3,200,2607,2}, + {0,201,2609,6}, + {1,202,2615,6}, + {3,203,2621,6}, + {0,204,2627,7}, + {1,205,2634,8}, + {2,206,2642,6}, + {3,207,2648,13}, + {0,208,2661,10}, + {3,209,2671,16}, + {0,210,2687,2}, + {1,211,2689,8}, + {3,212,2697,9}, + {0,213,2706,10}, + {1,214,2716,6}, + {3,215,2722,4}, + {0,216,2726,13}, + {1,217,2739,6}, + {3,218,2745,6}, + {0,219,2751,8}, + {1,220,2759,9}, + {3,221,2768,7}, + {0,222,2775,4}, + {1,223,2779,6}, + {3,224,2785,6}, + {0,225,2791,10}, + {1,226,2801,7}, + {2,227,2808,6}, + {3,228,2814,9}, + {0,229,2823,7}, + {1,230,2830,4}, + {3,231,2834,3}, + {0,232,2837,6}, + {1,233,2843,6}, + {3,234,2849,12}, + {0,235,2861,6}, + {1,236,2867,6}, + {2,237,2873,5}, + {3,238,2878,6}, + {0,239,2884,6}, + {3,240,2890,13}, + {0,241,2903,16}, + {1,242,2919,6}, + {3,243,2925,13}, + {0,244,2938,5}, + {1,245,2943,8}, + {3,246,2951,25}, + {0,247,2976,11}, + {1,248,2987,8}, + {2,249,2995,9}, + {3,250,3004,9}, + {0,251,3013,15}, + {1,252,3028,4}, + {3,253,3032,7}, + {0,254,3039,6}, + {1,255,3045,6}, + {2,256,3051,7}, + {3,257,3058,13}, + {0,258,3071,6}, + {1,259,3077,6}, + {3,260,3083,3}, + {0,261,3086,6}, + {1,262,3092,6}, + {3,263,3098,10}, + {0,264,3108,9}, + {1,265,3117,9}, + {3,266,3126,7}, + {0,267,3133,6}, + {1,268,3139,6}, + {3,269,3145,6}, + {0,270,3151,4}, + {1,271,3155,6}, + {2,272,3161,5}, + {0,273,3166,5}, + {1,274,3171,7}, + {3,275,3178,12}, + {0,276,3190,10}, + {1,277,3200,6}, + {3,278,3206,15}, + {0,279,3221,8}, + {1,280,3229,6}, + {3,281,3235,14}, + {0,282,3249,8}, + {1,283,3257,5}, + {3,284,3262,17}, + {0,285,3279,12}, + {1,286,3291,6}, + {3,287,3297,9}, + {0,288,3306,3}, + {1,289,3309,6}, + {3,290,3315,14}, + {0,291,3329,6}, + {1,292,3335,7}, + {2,293,3342,7}, + {3,294,3349,11}, + {0,295,3360,54}, + {0,296,3414,6}, + {1,297,3420,8}, + {3,298,3428,10}, + {0,299,3438,10}, + {1,300,3448,5}, + {3,301,3453,12}, + {0,302,3465,7}, + {1,303,3472,6}, + {3,304,3478,9}, + {0,305,3487,4}, + {1,306,3491,7}, + {3,307,3498,12}, + {0,308,3510,8}, + {1,309,3518,4}, + {3,310,3522,12}, + {0,311,3534,4}, + {1,312,3538,8}, + {2,313,3546,6}, + {3,314,3552,49}, + {0,315,3601,7}, + {1,316,3608,5}, + {3,317,3613,11}, + {0,318,3624,6}, + {1,319,3630,8}, + {3,320,3638,16}, + {0,321,3654,6}, + {1,322,3660,8}, + {3,323,3668,12}, + {0,324,3680,6}, + {1,325,3686,4}, + {3,326,3690,6}, + {0,327,3696,15}, + {1,328,3711,8}, + {3,329,3719,82}, + {0,330,3801,33}, + {1,331,3834,6}, + {2,332,3840,7}, + {3,333,3847,10}, + {0,334,3857,8}, + {2,335,3865,4}, + {3,336,3869,9}, + {0,337,3878,12}, + {1,338,3890,8}, + {3,339,3898,8}, + {0,340,3906,6}, + {1,341,3912,6}, + {3,342,3918,8}, + {0,343,3926,10}, + {3,344,3936,23}, + {0,345,3959,16}, + {1,346,3975,6}, + {3,347,3981,14}, + {0,348,3995,12}, + {1,349,4007,9}, + {3,350,4016,14}, + {0,351,4030,9}, + {1,352,4039,9}, + {3,353,4048,7}, + {0,354,4055,5}, + {1,355,4060,9}, + {2,356,4069,8}, + {3,357,4077,13}, + {0,358,4090,9}, + {1,359,4099,10}, + {3,360,4109,8}, + {0,361,4117,6}, + {3,362,4123,9}, + {0,363,4132,10}, + {1,364,4142,8}, + {3,365,4150,6}, + {0,366,4156,7}, + {1,367,4163,6}, + {3,368,4169,6}, + {0,369,4175,9}, + {1,370,4184,4}, + {3,371,4188,15}, + {0,372,4203,8}, + {1,373,4211,4}, + {3,374,4215,9}, + {0,375,4224,8}, + {2,376,4232,4}, + {3,377,4236,19}, + {0,378,4255,8}, + {1,379,4263,6}, + {3,380,4269,8}, + {0,381,4277,761}, + {1,382,5038,7}, + {3,383,5045,6}, + {0,384,5051,8}, + {1,385,5059,7}, + {3,386,5066,6}, + {0,387,5072,15}, + {1,388,5087,5}, + {3,389,5092,8}, + {0,390,5100,20}, + {1,391,5120,2}, + {3,392,5122,8}, + {0,393,5130,12}, + {1,394,5142,6}, + {3,395,5148,10}, + {0,396,5158,11}, + {1,397,5169,4}, + {2,398,5173,5}, + {3,399,5178,4}, + {0,400,5182,18}, + {1,401,5200,4}, + {3,402,5204,10}, + {0,403,5214,8}, + {1,404,5222,7}, + {3,405,5229,9}, + {0,406,5238,10}, + {1,407,5248,8}, + {3,408,5256,9}, + {0,409,5265,13}, + {1,410,5278,6}, + {3,411,5284,5}, + {0,412,5289,8}, + {1,413,5297,6}, + {3,414,5303,6}, + {0,415,5309,9}, + {3,416,5318,8}, + {0,417,5326,7}, + {1,418,5333,6}, + {2,419,5339,5}, + {3,420,5344,5}, + {0,421,5349,14}, + {1,422,5363,6}, + {3,423,5369,6}, + {0,424,5375,9}, + {1,425,5384,5}, + {3,426,5389,5}, + {0,427,5394,6}, + {1,428,5400,6}, + {3,429,5406,8}, + {0,430,5414,15}, + {1,431,5429,5}, + {3,432,5434,3}, + {0,433,5437,10}, + {1,434,5447,4}, + {3,435,5451,6}, + {0,436,5457,10}, + {3,437,5467,4}, + {0,438,5471,10}, + {2,439,5481,7}, + {3,440,5488,7}, + {0,441,5495,5}, + {1,442,5500,7}, + {3,443,5507,6}, + {0,444,5513,13}, + {3,445,5526,7}, + {0,446,5533,15}, + {1,447,5548,6}, + {3,448,5554,4}, + {0,449,5558,11}, + {1,450,5569,6}, + {2,451,5575,10}, + {3,452,5585,8}, + {0,453,5593,10}, + {1,454,5603,6}, + {3,455,5609,4}, + {0,456,5613,5}, + {1,457,5618,5}, + {3,458,5623,18}, + {0,459,5641,5}, + {1,460,5646,5}, + {2,461,5651,6}, + {3,462,5657,7}, + {0,463,5664,8}, + {1,464,5672,6}, + {3,465,5678,5}, + {0,466,5683,11}, + {1,467,5694,4}, + {3,468,5698,11}, + {0,469,5709,11}, + {1,470,5720,7}, + {3,471,5727,9}, + {0,472,5736,7}, + {1,473,5743,8}, + {0,474,5751,9}, + {1,475,5760,6}, + {3,476,5766,5}, + {0,477,5771,7}, + {1,478,5778,3}, + {3,479,5781,6}, + {0,480,5787,11}, + {1,481,5798,6}, + {2,482,5804,10}, + {3,483,5814,6}, + {0,484,5820,8}, + {1,485,5828,6}, + {3,486,5834,10}, + {0,487,5844,5}, + {1,488,5849,6}, + {3,489,5855,4}, + {0,490,5859,9}, + {0,491,5868,9}, + {1,492,5877,6}, + {0,493,5883,9}, + {1,494,5892,6}, + {3,495,5898,6}, + {0,496,5904,8}, + {3,497,5912,5}, + {0,498,5917,10}, + {2,499,5927,5}, + {0,500,5932,10}, + {3,501,5942,5}, + {0,502,5947,9}, + {1,503,5956,7}, + {0,504,5963,6}, + {1,505,5969,5}, + {0,506,5974,3}, + {2,507,5977,4}, + {3,508,5981,7}, + {0,509,5988,11}, + {3,510,5999,5}, + {0,511,6004,10}, + {1,512,6014,6}, + {3,513,6020,11}, + {0,514,6031,3}, + {1,515,6034,7}, + {2,516,6041,4}, + {3,517,6045,7}, + {0,518,6052,9}, + {1,519,6061,6}, + {3,520,6067,5}, + {1,521,6072,7}, + {2,522,6079,5}, + {3,523,6084,11}, + {0,524,6095,14}, + {3,525,6109,6}, + {0,526,6115,14}, + {1,527,6129,6}, + {3,528,6135,9}, + {0,529,6144,6}, + {2,530,6150,7}, + {3,531,6157,5}, + {0,532,6162,15}, + {1,533,6177,8}, + {3,534,6185,13}, + {0,535,6198,11}, + {2,536,6209,5}, + {0,537,6214,18}, + {1,538,6232,8}, + {3,539,6240,5}, + {0,540,6245,15}, + {1,541,6260,6}, + {3,542,6266,5}, + {0,543,6271,14}, + {1,544,6285,6}, + {3,545,6291,7}, + {0,546,6298,4}, + {3,547,6302,6}, + {0,548,6308,19}, + {3,549,6327,5}, + {0,550,6332,20}, + {1,551,6352,6}, + {3,552,6358,4}, + {0,553,6362,5}, + {1,554,6367,9}, + {2,555,6376,5}, + {3,556,6381,16}, + {0,557,6397,13}, + {1,558,6410,6}, + {3,559,6416,9}, + {0,560,6425,10}, + {1,561,6435,7}, + {3,562,6442,7}, + {0,563,6449,14}, + {1,564,6463,6}, + {3,565,6469,7}, + {0,566,6476,16}, + {3,567,6492,9}, + {0,568,6501,10}, + {3,569,6511,8}, + {0,570,6519,15}, + {1,571,6534,6}, + {3,572,6540,10}, + {0,573,6550,5}, + {1,574,6555,8}, + {2,575,6563,6}, + {3,576,6569,13}, + {0,577,6582,8}, + {1,578,6590,8}, + {3,579,6598,10}, + {0,580,6608,15}, + {1,581,6623,6}, + {3,582,6629,5}, + {0,583,6634,10}, + {1,584,6644,6}, + {3,585,6650,3}, + {0,586,6653,8}, + {1,587,6661,8}, + {3,588,6669,3}, + {0,589,6672,15}, + {1,590,6687,6}, + {3,591,6693,8}, + {0,592,6701,6}, + {1,593,6707,9}, + {3,594,6716,8}, + {0,595,6724,10}, + {1,596,6734,5}, + {2,597,6739,5}, + {3,598,6744,5}, + {0,599,6749,14}, + {1,600,6763,6}, + {3,601,6769,5}, + {0,602,6774,12}, + {1,603,6786,5}, + {3,604,6791,10}, + {0,605,6801,12}, + {1,606,6813,8}, + {3,607,6821,9}, + {0,608,6830,10}, + {3,609,6840,8}, + {1,610,6848,7}, + {3,611,6855,9}, + {0,612,6864,7}, + {1,613,6871,5}, + {3,614,6876,2}, + {0,615,6878,13}, + {1,616,6891,8}, + {2,617,6899,3}, + {3,618,6902,13}, + {0,619,6915,15}, + {3,620,6930,5}, + {0,621,6935,11}, + {1,622,6946,8}, + {3,623,6954,9}, + {0,624,6963,7}, + {1,625,6970,4}, + {3,626,6974,3}, + {0,627,6977,9}, + {1,628,6986,6}, + {3,629,6992,7}, + {0,630,6999,16}, + {1,631,7015,6}, + {3,632,7021,5}, + {0,633,7026,11}, + {1,634,7037,5}, + {3,635,7042,12}, + {0,636,7054,4}, + {1,637,7058,8}, + {2,638,7066,8}, + {3,639,7074,9}, + {0,640,7083,12}, + {1,641,7095,6}, + {3,642,7101,9}, + {0,643,7110,13}, + {1,644,7123,8}, + {3,645,7131,15}, + {0,646,7146,4}, + {1,647,7150,5}, + {2,648,7155,4}, + {3,649,7159,9}, + {0,650,7168,13}, + {3,651,7181,11}, + {0,652,7192,9}, + {1,653,7201,6}, + {3,654,7207,5}, + {0,655,7212,10}, + {1,656,7222,6}, + {3,657,7228,7}, + {0,658,7235,4}, + {1,659,7239,7}, + {2,95,7246,14}, + {3,660,7260,17}, + {0,661,7277,11}, + {3,662,7288,5}, + {0,663,7293,8}, + {1,664,7301,6}, + {3,665,7307,9}, + {0,666,7316,12}, + {1,667,7328,7}, + {3,668,7335,6}, + {0,669,7341,10}, + {1,670,7351,6}, + {3,671,7357,16}, + {0,672,7373,8}, + {1,673,7381,4}, + {2,674,7385,8}, + {0,675,7393,16}, + {1,676,7409,6}, + {3,677,7415,3}, + {0,678,7418,6}, + {1,679,7424,4}, + {2,104,7428,4}, + {3,680,7432,5}, + {0,681,7437,9}, + {1,682,7446,8}, + {3,683,7454,7}, + {0,684,7461,14}, + {1,685,7475,5}, + {3,686,7480,8}, + {0,687,7488,10}, + {1,688,7498,6}, + {3,689,7504,16}, + {0,690,7520,11}, + {1,691,7531,6}, + {3,692,7537,14}, + {0,693,7551,9}, + {1,694,7560,8}, + {3,695,7568,7}, + {0,696,7575,12}, + {1,697,7587,5}, + {0,698,7592,4}, + {2,699,7596,6}, + {3,700,7602,9}, + {0,701,7611,8}, + {3,702,7619,10}, + {0,703,7629,8}, + {1,704,7637,6}, + {3,705,7643,4}, + {0,706,7647,5}, + {1,707,7652,6}, + {3,708,7658,6}, + {0,709,7664,7}, + {1,710,7671,6}, + {3,711,7677,10}, + {0,712,7687,8}, + {1,713,7695,7}, + {3,714,7702,13}, + {0,715,7715,3}, + {3,716,7718,17}, + {0,717,7735,5}, + {1,718,7740,6}, + {2,719,7746,5}, + {3,720,7751,9}, + {0,721,7760,6}, + {1,722,7766,7}, + {3,723,7773,15}, + {0,724,7788,9}, + {3,725,7797,7}, + {0,726,7804,8}, + {1,727,7812,2}, + {3,728,7814,7}, + {0,729,7821,6}, + {1,730,7827,6}, + {0,575,7833,6}, + {1,731,7839,5}, + {3,732,7844,7}, + {0,733,7851,3}, + {1,734,7854,4}, + {3,735,7858,5}, + {0,736,7863,6}, + {2,737,7869,8}, + {3,738,7877,9}, + {0,739,7886,4}, + {1,740,7890,2}, + {3,741,7892,22}, + {0,742,7914,10}, + {1,743,7924,6}, + {3,744,7930,8}, + {0,745,7938,11}, + {1,746,7949,6}, + {3,747,7955,7}, + {0,748,7962,6}, + {1,749,7968,6}, + {0,750,7974,5}, + {3,751,7979,4}, + {0,752,7983,3}, + {1,753,7986,7}, + {3,754,7993,7}, + {1,755,8000,7}, + {3,756,8007,5}, + {0,757,8012,8}, + {1,758,8020,4}, + {3,759,8024,3}, + {0,760,8027,13}, + {1,761,8040,6}, + {3,762,8046,7}, + {0,763,8053,3}, + {1,764,8056,6}, + {3,765,8062,5}, + {0,766,8067,5}, + {1,767,8072,4}, + {3,768,8076,15}, + {0,769,8091,11}, + {1,770,8102,9}, + {3,771,8111,3}, + {0,772,8114,4}, + {3,773,8118,12}, + {0,774,8130,4}, + {1,775,8134,7}, + {2,757,8141,8}, + {3,776,8149,13}, + {0,777,8162,6}, + {1,778,8168,7}, + {3,779,8175,3}, + {0,780,8178,10}, + {3,781,8188,3}, + {0,782,8191,5}, + {1,783,8196,6}, + {3,784,8202,6}, + {0,785,8208,8}, + {3,786,8216,3}, + {0,787,8219,9}, + {1,788,8228,4}, + {3,789,8232,5}, + {0,790,8237,7}, + {1,791,8244,4}, + {3,792,8248,3}, + {0,793,8251,5}, + {1,794,8256,6}, + {2,795,8262,6}, + {1,796,8268,6}, + {3,797,8274,5}, + {0,798,8279,4}, + {3,799,8283,6}, + {0,800,8289,8}, + {1,801,8297,6}, + {3,802,8303,6}, + {0,803,8309,12}, + {1,804,8321,4}, + {3,805,8325,6}, + {0,806,8331,8}, + {1,807,8339,7}, + {3,808,8346,4}, + {0,809,8350,11}, + {1,810,8361,5}, + {3,811,8366,8}, + {0,812,8374,5}, + {1,813,8379,7}, + {2,814,8386,5}, + {3,815,8391,6}, + {0,816,8397,19}, + {1,817,8416,4}, + {1,818,8420,6}, + {0,819,8426,11}, + {1,820,8437,6}, + {3,821,8443,4}, + {0,822,8447,8}, + {3,823,8455,9}, + {0,824,8464,5}, + {1,825,8469,6}, + {3,826,8475,12}, + {0,827,8487,10}, + {1,828,8497,6}, + {3,829,8503,2}, + {0,830,8505,4}, + {1,831,8509,5}, + {2,832,8514,6}, + {3,833,8520,9}, + {0,834,8529,7}, + {1,835,8536,5}, + {0,836,8541,10}, + {3,837,8551,5}, + {0,838,8556,11}, + {1,839,8567,5}, + {3,840,8572,5}, + {0,841,8577,10}, + {1,842,8587,6}, + {3,843,8593,8}, + {0,844,8601,8}, + {1,845,8609,4}, + {3,846,8613,7}, + {0,847,8620,8}, + {1,848,8628,6}, + {3,849,8634,9}, + {0,850,8643,6}, + {1,851,8649,8}, + {2,852,8657,6}, + {3,853,8663,8}, + {0,854,8671,6}, + {0,855,8677,7}, + {3,856,8684,4}, + {0,857,8688,7}, + {3,858,8695,10}, + {0,859,8705,5}, + {0,860,8710,8}, + {1,861,8718,6}, + {3,862,8724,6}, + {0,863,8730,11}, + {0,864,8741,6}, + {1,865,8747,6}, + {2,866,8753,6}, + {0,867,8759,6}, + {1,868,8765,6}, + {3,869,8771,8}, + {0,870,8779,5}, + {1,871,8784,3}, + {0,872,8787,9}, + {1,873,8796,6}, + {3,874,8802,5}, + {0,875,8807,5}, + {3,876,8812,6}, + {0,877,8818,9}, + {1,878,8827,6}, + {2,879,8833,3}, + {3,880,8836,12}, + {0,881,8848,6}, + {1,882,8854,7}, + {3,883,8861,6}, + {0,884,8867,8}, + {1,885,8875,6}, + {3,886,8881,3}, + {0,887,8884,12}, + {1,888,8896,3}, + {3,889,8899,10}, + {0,890,8909,3}, + {1,891,8912,5}, + {0,892,8917,6}, + {1,893,8923,4}, + {3,894,8927,10}, + {0,895,8937,8}, + {3,896,8945,8}, + {0,897,8953,14}, + {1,898,8967,6}, + {3,899,8973,7}, + {0,900,8980,5}, + {2,901,8985,5}, + {3,902,8990,10}, + {0,903,9000,7}, + {1,904,9007,10}, + {3,905,9017,6}, + {0,906,9023,12}, + {1,907,9035,6}, + {3,908,9041,4}, + {0,909,9045,11}, + {1,910,9056,4}, + {0,911,9060,287}, + {1,912,9347,6}, + {3,913,9353,6}, + {0,914,9359,9}, + {1,915,9368,4}, + {3,916,9372,12}, + {0,917,9384,7}, + {1,918,9391,6}, + {0,919,9397,2}, + {1,920,9399,5}, + {2,921,9404,6}, + {3,922,9410,15}, + {0,923,9425,15}, + {1,924,9440,6}, + {3,925,9446,9}, + {0,926,9455,14}, + {1,927,9469,6}, + {3,928,9475,10}, + {0,929,9485,13}, + {1,930,9498,5}, + {3,931,9503,18}, + {0,932,9521,15}, + {1,933,9536,6}, + {3,934,9542,4}, + {0,935,9546,10}, + {1,936,9556,5}, + {3,937,9561,4}, + {0,938,9565,13}, + {1,939,9578,6}, + {3,940,9584,14}, + {0,941,9598,3}, + {1,942,9601,6}, + {2,943,9607,9}, + {3,944,9616,9}, + {0,945,9625,19}, + {3,946,9644,4}, + {0,947,9648,15}, + {1,948,9663,5}, + {3,949,9668,7}, + {0,950,9675,16}, + {1,951,9691,6}, + {3,952,9697,8}, + {0,953,9705,17}, + {1,954,9722,7}, + {3,955,9729,9}, + {0,956,9738,13}, + {1,957,9751,7}, + {3,958,9758,5}, + {0,959,9763,13}, + {1,960,9776,6}, + {3,961,9782,3}, + {0,962,9785,5}, + {1,963,9790,10}, + {2,964,9800,4}, + {3,965,9804,8}, + {1,966,9812,10}, + {3,967,9822,7}, + {0,968,9829,10}, + {1,969,9839,7}, + {3,970,9846,4}, + {0,971,9850,5}, + {3,972,9855,9}, + {0,973,9864,6}, + {1,974,9870,9}, + {3,975,9879,5}, + {0,976,9884,8}, + {3,977,9892,5}, + {0,978,9897,7}, + {1,979,9904,6}, + {3,980,9910,9}, + {2,981,9919,6}, + {3,982,9925,12}, + {2,983,9937,6}, + {0,984,9943,11}, + {1,985,9954,7}, + {3,986,9961,3}, + {0,987,9964,7}, + {1,988,9971,6}, + {0,989,9977,8}, + {1,990,9985,6}, + {3,991,9991,5}, + {0,992,9996,3}, + {3,993,9999,4}, + {0,994,10003,7}, + {1,995,10010,6}, + {3,996,10016,18}, + {0,997,10034,7}, + {2,998,10041,4}, + {3,999,10045,10}, + {0,1000,10055,9}, + {1,1001,10064,6}, + {3,1002,10070,5}, + {0,1003,10075,7}, + {1,1004,10082,8}, + {3,1005,10090,5}, + {0,1006,10095,4}, + {1,1007,10099,7}, + {3,1008,10106,17}, + {0,1009,10123,4}, + {1,1010,10127,6}, + {3,1011,10133,7}, + {0,1012,10140,8}, + {1,1013,10148,6}, + {3,1014,10154,21}, + {0,1015,10175,5}, + {1,1016,10180,6}, + {2,834,10186,7}, + {0,1017,10193,5}, + {1,1018,10198,6}, + {3,1019,10204,11}, + {0,1020,10215,6}, + {1,1021,10221,6}, + {3,1022,10227,10}, + {0,1023,10237,12}, + {3,1024,10249,13}, + {1,1025,10262,6}, + {3,1026,10268,8}, + {0,1027,10276,9}, + {1,1028,10285,6}, + {3,1029,10291,6}, + {0,1030,10297,4}, + {3,1031,10301,8}, + {0,1032,10309,9}, + {2,1033,10318,10}, + {3,1034,10328,8}, + {0,1035,10336,9}, + {1,1036,10345,6}, + {3,1037,10351,14}, + {0,1038,10365,6}, + {1,1039,10371,5}, + {3,1040,10376,5}, + {0,1041,10381,4}, + {1,1042,10385,5}, + {0,1043,10390,11}, + {3,1044,10401,9}, + {0,1045,10410,6}, + {1,1046,10416,7}, + {2,1047,10423,5}, + {3,1048,10428,5}, + {0,1049,10433,8}, + {1,1050,10441,8}, + {3,1051,10449,9}, + {0,1052,10458,14}, + {0,1053,10472,13}, + {1,1054,10485,7}, + {0,1055,10492,11}, + {1,1056,10503,6}, + {0,1057,10509,17}, + {1,1058,10526,4}, + {0,1059,10530,8}, + {0,1060,10538,3}, + {1,1061,10541,7}, + {2,1062,10548,3}, + {0,1063,10551,8}, + {0,1064,10559,13}, + {1,1065,10572,5}, + {0,1066,10577,15}, + {1,1067,10592,4}, + {0,1068,10596,11}, + {1,1069,10607,8}, + {0,1070,10615,19}, + {1,1071,10634,5}, + {0,1072,10639,12}, + {1,1073,10651,5}, + {3,1074,10656,2}, + {0,1075,10658,367}, + {2,1076,11025,5}, + {3,1077,11030,12}, + {0,1078,11042,8}, + {1,1079,11050,7}, + {0,1080,11057,7}, + {0,1081,11064,14}, + {1,1082,11078,6}, + {3,1083,11084,22}, + {0,1084,11106,8}, + {1,1085,11114,9}, + {0,1086,11123,15}, + {1,1087,11138,8}, + {0,1088,11146,15}, + {1,1089,11161,6}, + {0,1090,11167,3}, + {2,1091,11170,6}, + {0,1092,11176,12}, + {0,1093,11188,10}, + {0,1094,11198,7}, + {1,1095,11205,5}, + {0,1096,11210,10}, + {1,1097,11220,4}, + {0,1098,11224,10}, + {1,1099,11234,6}, + {0,1100,11240,4}, + {1,1101,11244,6}, + {2,1102,11250,5}, + {0,1103,11255,12}, + {1,1104,11267,5}, + {0,1105,11272,6}, + {1,1106,11278,5}, + {0,1107,11283,10}, + {1,1108,11293,6}, + {0,1109,11299,10}, + {1,1110,11309,6}, + {0,1111,11315,5}, + {1,1112,11320,6}, + {0,1113,11326,9}, + {1,1114,11335,8}, + {0,1115,11343,6}, + {1,1116,11349,8}, + {2,1117,11357,5}, + {3,1118,11362,21}, + {0,1119,11383,11}, + {1,1120,11394,6}, + {0,1121,11400,7}, + {1,1122,11407,6}, + {0,1123,11413,10}, + {1,1124,11423,8}, + {2,1125,11431,8}, + {3,1126,11439,11}, + {0,1127,11450,4}, + {1,1128,11454,6}, + {2,1129,11460,3}, + {0,1130,11463,3}, + {1,1131,11466,5}, + {3,1132,11471,12}, + {0,1133,11483,5}, + {2,1134,11488,6}, + {3,1135,11494,38}, + {0,1136,11532,11}, + {3,1137,11543,15}, + {0,1138,11558,7}, + {2,1139,11565,7}, + {3,1140,11572,41}, + {0,1141,11613,3}, + {1,1142,11616,8}, + {2,1143,11624,4}, + {3,1144,11628,45}, + {3,1145,11673,44}, + {0,1146,11717,6}, + {2,1147,11723,7}, + {0,1148,11730,7}, + {1,1149,11737,6}, + {3,1150,11743,6}, + {0,1151,11749,13}, + {2,1152,11762,5}, + {0,1153,11767,10}, + {1,1154,11777,6}, + {3,1155,11783,6}, + {0,1156,11789,7}, + {2,1157,11796,6}, + {0,1158,11802,7}, + {3,1159,11809,7}, + {2,1160,11816,6}, + {3,1161,11822,12}, + {0,1162,11834,8}, + {2,1163,11842,4}, + {3,1164,11846,7}, + {2,1165,11853,7}, + {3,1166,11860,5}, + {0,1167,11865,6}, + {1,1168,11871,5}, + {3,1169,11876,6}, + {0,1170,11882,3}, + {1,1171,11885,4}, + {2,1172,11889,4}, + {2,1173,11893,7}, + {3,1174,11900,5}, + {0,1175,11905,7}, + {0,1176,11912,8}, + {1,1177,11920,6}, + {3,1178,11926,14}, + {0,1179,11940,8}, + {1,1180,11948,4}, + {3,1181,11952,7}, + {0,1182,11959,7}, + {1,1183,11966,4}, + {3,1184,11970,16}, + {0,1185,11986,7}, + {1,1186,11993,5}, + {3,1187,11998,7}, + {0,1188,12005,5}, + {1,1189,12010,4}, + {2,1190,12014,3}, + {3,1191,12017,3}, + {0,1192,12020,6}, + {1,1193,12026,6}, + {3,1194,12032,12}, + {0,1195,12044,6}, + {1,1196,12050,6}, + {3,1197,12056,5}, + {0,1198,12061,10}, + {1,1199,12071,3}, + {3,1200,12074,10}, + {0,1201,12084,5}, + {2,1202,12089,2}, + {3,1203,12091,8}, + {0,1204,12099,8}, + {1,1205,12107,6}, + {3,1206,12113,3}, + {0,1207,12116,8}, + {1,1208,12124,7}, + {3,1209,12131,7}, + {0,1210,12138,4}, + {1,1211,12142,6}, + {2,1212,12148,8}, + {0,1213,12156,6}, + {1,1214,12162,8}, + {0,1215,12170,10}, + {1,1216,12180,6}, + {0,1217,12186,20}, + {1,1218,12206,6}, + {0,1219,12212,6}, + {1,1220,12218,8}, + {2,1221,12226,10}, + {3,1222,12236,6}, + {0,1223,12242,3}, + {1,1224,12245,7}, + {0,1225,12252,5}, + {2,1226,12257,6}, + {3,1227,12263,11}, + {0,1228,12274,16}, + {1,1229,12290,7}, + {0,1230,12297,13}, + {1,1231,12310,6}, + {0,1232,12316,10}, + {1,1233,12326,3}, + {0,1234,12329,14}, + {1,1235,12343,7}, + {0,1236,12350,15}, + {1,1237,12365,6}, + {0,1238,12371,9}, + {1,1239,12380,8}, + {1,1240,12388,8}, + {2,1241,12396,4}, + {3,1242,12400,8}, + {0,1243,12408,8}, + {1,1244,12416,5}, + {0,1245,12421,17}, + {1,1246,12438,6}, + {3,1247,12444,4}, + {0,1248,12448,10}, + {0,1249,12458,12}, + {3,1250,12470,4}, + {0,1251,12474,8}, + {1,1252,12482,9}, + {0,1253,12491,7}, + {1,1254,12498,6}, + {2,1255,12504,6}, + {3,1256,12510,6}, + {0,1257,12516,10}, + {1,1258,12526,6}, + {0,1259,12532,6}, + {1,1260,12538,9}, + {0,1261,12547,8}, + {3,1262,12555,8}, + {0,1263,12563,5}, + {0,1264,12568,2}, + {1,1265,12570,8}, + {2,1266,12578,4}, + {0,1267,12582,5}, + {1,1268,12587,8}, + {0,1269,12595,7}, + {1,1270,12602,8}, + {0,1271,12610,6}, + {1,1272,12616,6}, + {0,1273,12622,6}, + {1,1274,12628,4}, + {1,1275,12632,8}, + {0,1276,12640,8}, + {1,1277,12648,5}, + {2,1278,12653,6}, + {3,1279,12659,23}, + {0,1280,12682,8}, + {0,1281,12690,9}, + {1,1282,12699,8}, + {0,1283,12707,7}, + {1,1284,12714,8}, + {0,1285,12722,8}, + {1,1286,12730,9}, + {0,1287,12739,10}, + {1,1288,12749,4}, + {0,1289,12753,5}, + {1,1290,12758,7}, + {0,1291,12765,5}, + {1,1292,12770,6}, + {2,1293,12776,2}, + {3,1294,12778,20}, + {0,1295,12798,7}, + {1,1296,12805,8}, + {0,1297,12813,5}, + {1,1298,12818,7}, + {3,1299,12825,5}, + {0,1300,12830,8}, + {1,1301,12838,8}, + {0,1302,12846,7}, + {1,1303,12853,6}, + {0,1304,12859,4}, + {3,1305,12863,6}, + {0,1306,12869,7}, + {1,1307,12876,8}, + {2,1308,12884,3}, + {3,1309,12887,9}, + {0,1310,12896,11}, + {1,1311,12907,4}, + {0,1312,12911,6}, + {1,1313,12917,4}, + {3,1314,12921,8}, + {0,1315,12929,7}, + {1,1316,12936,7}, + {0,1317,12943,6}, + {1,1318,12949,6}, + {0,1319,12955,9}, + {1,1320,12964,5}, + {0,1321,12969,7}, + {1,1322,12976,6}, + {0,1323,12982,3}, + {1,1324,12985,6}, + {2,1325,12991,4}, + {0,1326,12995,17}, + {1,1327,13012,6}, + {0,1328,13018,11}, + {0,1329,13029,7}, + {3,1330,13036,8}, + {0,1331,13044,7}, + {1,1332,13051,4}, + {0,1333,13055,10}, + {1,1334,13065,6}, + {3,1335,13071,9}, + {0,1336,13080,4}, + {2,875,13084,5}, + {3,1337,13089,12}, + {0,1338,13101,5}, + {1,1339,13106,7}, + {3,1340,13113,3}, + {0,1341,13116,6}, + {1,1342,13122,6}, + {0,1343,13128,12}, + {1,1344,13140,6}, + {3,1345,13146,8}, + {0,1346,13154,12}, + {1,1347,13166,6}, + {0,1348,13172,17}, + {3,1349,13189,10}, + {0,1350,13199,3}, + {2,1351,13202,7}, + {0,1352,13209,9}, + {0,1353,13218,10}, + {1,1354,13228,7}, + {0,1355,13235,11}, + {0,1356,13246,6}, + {1,1357,13252,6}, + {0,1358,13258,14}, + {1,1359,13272,8}, + {0,1360,13280,7}, + {0,1361,13287,5}, + {1,1362,13292,6}, + {2,1363,13298,4}, + {3,1364,13302,8}, + {0,1365,13310,6}, + {3,1366,13316,7}, + {0,1367,13323,7}, + {0,1368,13330,8}, + {1,1369,13338,4}, + {0,1370,13342,9}, + {1,1371,13351,6}, + {0,1372,13357,9}, + {1,1373,13366,6}, + {3,1374,13372,13}, + {0,1091,13385,6}, + {1,1375,13391,6}, + {0,1376,13397,3}, + {2,1377,13400,2}, + {3,1378,13402,7}, + {0,1102,13409,5}, + {1,1379,13414,6}, + {0,1380,13420,7}, + {1,1381,13427,8}, + {0,1382,13435,9}, + {1,1383,13444,6}, + {0,1384,13450,6}, + {0,1385,13456,5}, + {1,1386,13461,8}, + {0,1387,13469,10}, + {1,1388,13479,6}, + {0,1389,13485,3}, + {2,890,13488,3}, + {0,1390,13491,8}, + {1,1391,13499,4}, + {3,1392,13503,6}, + {0,1393,13509,7}, + {1,1394,13516,6}, + {0,1395,13522,10}, + {1,1396,13532,7}, + {0,1397,13539,10}, + {1,1398,13549,5}, + {0,1399,13554,9}, + {1,1400,13563,4}, + {0,1401,13567,11}, + {2,1402,13578,3}, + {0,1403,13581,8}, + {0,1404,13589,14}, + {1,1405,13603,6}, + {0,121,13609,11}, + {1,1406,13620,5}, + {0,1407,13625,11}, + {1,1408,13636,5}, + {0,1409,13641,11}, + {1,1410,13652,4}, + {0,1411,13656,4}, + {1,1412,13660,6}, + {2,1413,13666,6}, + {0,1414,13672,10}, + {0,1415,13682,10}, + {1,1416,13692,6}, + {0,1417,13698,5}, + {1,1418,13703,6}, + {0,1419,13709,10}, + {1,1420,13719,8}, + {0,1421,13727,11}, + {1,1422,13738,4}, + {0,1423,13742,10}, + {0,1424,13752,4}, + {1,1425,13756,6}, + {2,1426,13762,11}, + {0,1427,13773,17}, + {1,1428,13790,5}, + {3,1429,13795,5}, + {0,1430,13800,15}, + {1,1431,13815,6}, + {0,1432,13821,7}, + {1,1433,13828,6}, + {3,1434,13834,12}, + {0,1435,13846,14}, + {1,1436,13860,9}, + {0,1437,13869,10}, + {1,1438,13879,6}, + {0,1439,13885,7}, + {1,1440,13892,8}, + {2,1441,13900,4}, + {3,1442,13904,11}, + {0,1443,13915,7}, + {1,1444,13922,6}, + {0,1445,13928,12}, + {0,1446,13940,10}, + {0,1447,13950,5}, + {0,1448,13955,8}, + {0,1449,13963,8}, + {2,1450,13971,5}, + {0,1451,13976,50}, + {0,1452,14026,6}, + {1,1453,14032,6}, + {0,1454,14038,8}, + {0,1455,14046,10}, + {0,1456,14056,4}, + {1,1457,14060,6}, + {0,1458,14066,9}, + {1,1459,14075,6}, + {3,1460,14081,5}, + {0,1461,14086,4}, + {1,1462,14090,8}, + {2,1463,14098,5}, + {3,1464,14103,7}, + {0,1465,14110,10}, + {1,1466,14120,6}, + {0,1467,14126,11}, + {0,1468,14137,11}, + {0,1469,14148,8}, + {1,1470,14156,8}, + {0,1471,14164,6}, + {0,1472,14170,10}, + {0,1473,14180,7}, + {1,1474,14187,6}, + {2,1475,14193,6}, + {0,1476,14199,58}, + {0,1477,14257,13}, + {3,1478,14270,4}, + {0,1479,14274,13}, + {0,1480,14287,11}, + {0,1481,14298,9}, + {1,1482,14307,3}, + {3,1483,14310,6}, + {0,1484,14316,7}, + {1,1485,14323,8}, + {0,1486,14331,7}, + {0,1487,14338,6}, + {0,227,14344,6}, + {0,1488,14350,10}, + {1,1489,14360,6}, + {0,1490,14366,5}, + {1,1491,14371,7}, + {2,721,14378,6}, + {0,1492,14384,12}, + {1,1493,14396,6}, + {0,1494,14402,7}, + {1,1495,14409,7}, + {0,1496,14416,16}, + {1,1497,14432,5}, + {0,1498,14437,6}, + {1,1499,14443,6}, + {0,1500,14449,4}, + {1,1501,14453,6}, + {0,1502,14459,8}, + {2,1503,14467,6}, + {0,1504,14473,9}, + {0,1505,14482,15}, + {1,1506,14497,5}, + {0,1507,14502,11}, + {0,1508,14513,10}, + {0,1509,14523,4}, + {0,1510,14527,9}, + {0,1511,14536,5}, + {1,1512,14541,6}, + {2,1513,14547,8}, + {0,1514,14555,5}, + {0,1515,14560,6}, + {0,1516,14566,4}, + {1,1517,14570,6}, + {0,1518,14576,9}, + {0,1519,14585,11}, + {1,1520,14596,5}, + {0,1521,14601,7}, + {1,1522,14608,7}, + {0,1523,14615,9}, + {1,1524,14624,6}, + {2,1525,14630,7}, + {3,1526,14637,5}, + {0,1527,14642,10}, + {3,1528,14652,5}, + {2,1529,14657,7}, + {3,1530,14664,8}, + {0,1531,14672,10}, + {3,1532,14682,10}, + {0,1533,14692,4}, + {1,1534,14696,7}, + {2,1535,14703,9}, + {3,1536,14712,13}, + {0,1537,14725,9}, + {3,1538,14734,6}, + {2,1539,14740,3}, + {1,1540,14743,6}, + {3,1541,14749,7}, + {0,1542,14756,9}, + {1,1543,14765,8}, + {2,1544,14773,6}, + {0,1545,14779,8}, + {1,1546,14787,6}, + {3,1547,14793,6}, + {0,1548,14799,11}, + {2,1549,14810,9}, + {3,1550,14819,5}, + {0,1551,14824,9}, + {2,1552,14833,7}, + {0,1553,14840,6}, + {0,1554,14846,6}, + {2,1555,14852,3}, + {0,1556,14855,6}, + {2,1557,14861,4}, + {0,1558,14865,6}, + {2,1559,14871,6}, + {0,1560,14877,8}, + {2,1561,14885,5}, + {3,1562,14890,4}, + {0,1563,14894,11}, + {1,1564,14905,6}, + {2,1565,14911,4}, + {3,1566,14915,9}, + {0,1567,14924,17}, + {2,1568,14941,4}, + {3,1569,14945,13}, + {0,1570,14958,8}, + {2,1571,14966,7}, + {3,1572,14973,8}, + {0,1573,14981,4}, + {1,1574,14985,6}, + {2,1575,14991,3}, + {3,1576,14994,14}, + {3,1577,15008,39}, + {0,1578,15047,4}, + {2,1579,15051,6}, + {0,1580,15057,6}, + {1,1581,15063,5}, + {2,1582,15068,5}, + {0,1583,15073,5}, + {1,1584,15078,9}, + {2,1585,15087,2}, + {3,1586,15089,8}, + {0,1587,15097,6}, + {2,1588,15103,7}, + {0,1589,15110,9}, + {2,21,15119,4}, + {2,1590,15123,13}, + {0,1591,15136,11}, + {1,1592,15147,6}, + {2,1593,15153,6}, + {2,1594,15159,10}, + {3,1595,15169,6}, + {0,1596,15175,5}, + {1,1597,15180,8}, + {2,1598,15188,4}, + {0,1599,15192,11}, + {0,1600,15203,6}, + {1,1601,15209,6}, + {2,1602,15215,5}, + {3,1603,15220,10}, + {0,1604,15230,6}, + {0,1605,15236,9}, + {0,1606,15245,4}, + {1,1607,15249,8}, + {2,1608,15257,6}, + {3,1609,15263,12}, + {0,1610,15275,6}, + {1,1611,15281,5}, + {0,1612,15286,13}, + {1,1613,15299,8}, + {0,1614,15307,18}, + {0,1615,15325,5}, + {2,1616,15330,11}, + {3,1617,15341,7}, + {0,1618,15348,13}, + {1,1619,15361,4}, + {0,1620,15365,7}, + {2,1621,15372,185}, + {3,1622,15557,16}, + {0,1623,15573,7}, + {0,1624,15580,8}, + {1,1625,15588,5}, + {0,1626,15593,3}, + {2,1627,15596,5}, + {0,1628,15601,11}, + {1,1629,15612,6}, + {0,1630,15618,5}, + {1,1631,15623,8}, + {2,1632,15631,4}, + {0,1633,15635,15}, + {0,1634,15650,11}, + {0,1635,15661,5}, + {2,1636,15666,5}, + {0,1637,15671,19}, + {1,1638,15690,8}, + {0,1639,15698,4}, + {1,1640,15702,5}, + {2,1641,15707,4}, + {0,1642,15711,4}, + {2,1643,15715,12}, + {0,1644,15727,6}, + {2,1645,15733,6}, + {3,1646,15739,7}, + {0,1647,15746,3}, + {1,1648,15749,6}, + {2,1471,15755,6}, + {0,1649,15761,7}, + {1,1650,15768,6}, + {2,1651,15774,6}, + {3,1652,15780,12}, + {0,1653,15792,19}, + {1,1654,15811,7}, + {0,1655,15818,5}, + {2,1656,15823,60}, + {3,1657,15883,11}, + {0,1658,15894,13}, + {1,1659,15907,9}, + {0,1660,15916,6}, + {1,1661,15922,8}, + {2,1662,15930,12}, + {0,1663,15942,5}, + {1,1664,15947,6}, + {2,1665,15953,5}, + {3,1666,15958,13}, + {0,1667,15971,4}, + {2,1668,15975,5}, + {0,1669,15980,9}, + {1,1670,15989,3}, + {1,1671,15992,8}, + {2,1672,16000,5}, + {3,1673,16005,9}, + {3,1674,16014,10}, + {0,1675,16024,5}, + {1,1676,16029,6}, + {2,1677,16035,6}, + {0,1678,16041,5}, + {1,1679,16046,5}, + {2,1680,16051,6}, + {3,1681,16057,9}, + {0,1682,16066,8}, + {0,1683,16074,7}, + {1,1684,16081,6}, + {2,1685,16087,3}, + {3,1686,16090,15}, + {0,1687,16105,5}, + {1,1688,16110,6}, + {2,1689,16116,2}, + {3,1690,16118,14}, + {0,1691,16132,4}, + {1,1692,16136,6}, + {0,1693,16142,2}, + {2,1694,16144,3}, + {3,1695,16147,11}, + {0,1696,16158,3}, + {2,1697,16161,6}, + {0,1698,16167,8}, + {0,1699,16175,9}, + {1,1700,16184,6}, + {0,1701,16190,5}, + {2,1702,16195,6}, + {0,1703,16201,7}, + {2,1704,16208,5}, + {0,1705,16213,3}, + {1,1706,16216,5}, + {2,1707,16221,5}, + {3,1708,16226,9}, + {0,1709,16235,2}, + {1,1710,16237,4}, + {2,1711,16241,4}, + {3,1712,16245,5}, + {0,1713,16250,3}, + {1,1714,16253,6}, + {2,1715,16259,48}, + {3,1716,16307,7}, + {0,1717,16314,9}, + {2,1718,16323,7}, + {3,1719,16330,6}, + {2,1720,16336,4}, + {3,1721,16340,9}, + {0,1722,16349,10}, + {3,1723,16359,7}, + {2,1724,16366,6}, + {0,1725,16372,8}, + {1,1726,16380,6}, + {2,1727,16386,6}, + {3,1728,16392,12}, + {0,1729,16404,8}, + {1,1730,16412,5}, + {0,1731,16417,5}, + {1,1732,16422,8}, + {2,1404,16430,14}, + {3,1733,16444,10}, + {0,1734,16454,12}, + {3,1735,16466,22}, + {0,1736,16488,9}, + {0,1737,16497,9}, + {0,1738,16506,12}, + {0,1739,16518,10}, + {1,1740,16528,6}, + {3,1741,16534,12}, + {0,1742,16546,6}, + {0,1743,16552,5}, + {1,1744,16557,8}, + {0,1680,16565,6}, + {1,1745,16571,9}, + {0,1746,16580,4}, + {1,1747,16584,8}, + {0,1748,16592,8}, + {1,1749,16600,4}, + {0,1147,16604,7}, + {1,1750,16611,6}, + {0,1751,16617,8}, + {0,1752,16625,7}, + {0,1753,16632,5}, + {1,1754,16637,5}, + {2,1755,16642,4}, + {3,1756,16646,814}, + {0,1757,17460,9}, + {1,1758,17469,6}, + {3,1759,17475,8}, + {0,1760,17483,4}, + {2,1761,17487,7}, + {3,1762,17494,12}, + {0,1763,17506,7}, + {1,1764,17513,6}, + {0,1765,17519,11}, + {0,1766,17530,9}, + {0,1767,17539,14}, + {0,1768,17553,7}, + {1,1769,17560,6}, + {0,1770,17566,11}, + {0,1771,17577,7}, + {1,1772,17584,6}, + {2,1773,17590,6}, + {3,1774,17596,32}, + {0,1775,17628,11}, + {0,1776,17639,8}, + {0,1777,17647,14}, + {1,1778,17661,7}, + {0,1779,17668,8}, + {2,1780,17676,37}, + {0,1781,17713,4}, + {0,1782,17717,8}, + {1,1783,17725,5}, + {2,1784,17730,7}, + {3,1785,17737,12}, + {0,1786,17749,9}, + {0,1787,17758,5}, + {1,1788,17763,6}, + {2,1789,17769,6}, + {3,1790,17775,7}, + {0,1791,17782,9}, + {0,1792,17791,3}, + {3,1793,17794,11}, + {0,1794,17805,6}, + {1,1795,17811,3}, + {2,1796,17814,4}, + {0,1797,17818,45}, + {1,1798,17863,5}, + {3,1799,17868,9}, + {0,1800,17877,5}, + {2,1801,17882,4}, + {0,1802,17886,6}, + {1,1803,17892,6}, + {2,487,17898,5}, + {0,1804,17903,10}, + {1,1805,17913,7}, + {0,1806,17920,4}, + {2,1807,17924,6}, + {0,1808,17930,6}, + {1,1809,17936,4}, + {0,1810,17940,9}, + {1,1811,17949,8}, + {0,1812,17957,6}, + {2,1813,17963,6}, + {0,1814,17969,9}, + {1,1815,17978,6}, + {0,1816,17984,13}, + {1,1817,17997,8}, + {0,1818,18005,7}, + {0,1819,18012,6}, + {3,1820,18018,4}, + {0,1821,18022,8}, + {2,1822,18030,9}, + {0,1823,18039,2}, + {1,1824,18041,6}, + {2,1385,18047,5}, + {0,1825,18052,11}, + {1,1826,18063,8}, + {0,1827,18071,4}, + {2,1828,18075,8}, + {3,1829,18083,11}, + {0,1830,18094,3}, + {1,1831,18097,2}, + {2,1832,18099,7}, +}; + +static const unsigned short readings_cite_la[] = { + 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, + 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, + 64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79, + 80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95, + 96,97,98,99,45,100,101,102,103,104,105,106,107,108,109,110, + 111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126, + 127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142, + 143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158, + 159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174, + 175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190, + 191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, + 207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, + 223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, + 239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254, + 255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270, + 271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286, + 287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302, + 303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318, + 319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334, + 335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350, + 351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366, + 367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382, + 383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398, + 399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414, + 415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430, + 431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446, + 447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462, + 463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478, + 479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494, + 495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510, + 511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526, + 527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542, + 543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558, + 559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574, + 575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590, + 591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606, + 607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622, + 623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638, + 639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654, + 655,656,657,658,659,95,660,661,662,663,664,665,666,667,668,669, + 670,671,672,673,674,675,676,677,678,679,104,680,681,682,683,684, + 685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700, + 701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716, + 717,718,719,720,721,722,723,724,725,726,727,728,729,730,575,731, + 732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747, + 748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763, + 764,765,766,767,768,769,770,771,772,773,774,775,757,776,777,778, + 779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794, + 795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810, + 811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826, + 827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842, + 843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858, + 859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874, + 875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890, + 891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906, + 907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922, + 923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938, + 939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954, + 955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970, + 971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986, + 987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002, + 1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,834,1017, + 1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033, + 1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049, + 1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065, + 1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081, + 1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097, + 1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113, + 1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129, + 1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145, + 1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161, + 1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177, + 1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193, + 1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209, + 1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225, + 1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241, + 1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257, + 1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273, + 1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289, + 1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305, + 1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321, + 1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,875, + 1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352, + 1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368, + 1369,1370,1371,1372,1373,1374,1091,1375,1376,1377,1378,1102,1379,1380,1381,1382, + 1383,1384,1385,1386,1387,1388,1389,890,1390,1391,1392,1393,1394,1395,1396,1397, + 1398,1399,1400,1401,1402,1403,1404,1405,121,1406,1407,1408,1409,1410,1411,1412, + 1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428, + 1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444, + 1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460, + 1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476, + 1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,227,1488,1489,1490,1491, + 721,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506, + 1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522, + 1523,1524,1525,1526,1527,1528,1529,1530,1531,1532,1533,1534,1535,1536,1537,1538, + 1539,1540,1541,1542,1543,1544,1545,1546,1547,1548,1549,1550,1551,1552,1553,1554, + 1555,1556,1557,1558,1559,1560,1561,1562,1563,1564,1565,1566,1567,1568,1569,1570, + 1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586, + 1587,1588,1589,21,1590,1591,1592,1593,1594,1595,1596,1597,1598,1599,1600,1601, + 1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617, + 1618,1619,1620,1621,1622,1623,1624,1625,1626,1627,1628,1629,1630,1631,1632,1633, + 1634,1635,1636,1637,1638,1639,1640,1641,1642,1643,1644,1645,1646,1647,1648,1471, + 1649,1650,1651,1652,1653,1654,1655,1656,1657,1658,1659,1660,1661,1662,1663,1664, + 1665,1666,1667,1668,1669,1670,1671,1672,1673,1674,1675,1676,1677,1678,1679,1680, + 1681,1682,1683,1684,1685,1686,1687,1688,1689,1690,1691,1692,1693,1694,1695,1696, + 1697,1698,1699,1700,1701,1702,1703,1704,1705,1706,1707,1708,1709,1710,1711,1712, + 1713,1714,1715,1716,1717,1718,1719,1720,1721,1722,1723,1724,1725,1726,1727,1728, + 1729,1730,1731,1732,1404,1733,1734,1735,1736,1737,1738,1739,1740,1741,1742,1743, + 1744,1680,1745,1746,1747,1748,1749,1147,1750,1751,1752,1753,1754,1755,1756,1757, + 1758,1759,1760,1761,1762,1763,1764,1765,1766,1767,1768,1769,1770,1771,1772,1773, + 1774,1775,1776,1777,1778,1779,1780,1781,1782,1783,1784,1785,1786,1787,1788,1789, + 1790,1791,1792,1793,1794,1795,1796,1797,1798,1799,1800,1801,1802,1803,487,1804, + 1805,1806,1807,1808,1809,1810,1811,1812,1813,1814,1815,1816,1817,1818,1819,1820, + 1821,1822,1823,1824,1385,1825,1826,1827,1828,1829,1830,1831,1832, +}; + +static const unsigned short rpool[] = { + 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,14, + 31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46, + 47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62, + 63,64,65,66,67,62,68,69,70,71,72,73,74,75,76,77, + 78,55,79,80,81,82,83,84,85,86,87,62,88,89,90,91, + 92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107, + 108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123, + 124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139, + 140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155, + 156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171, + 172,173,174,175,176,177,143,178,179,180,181,182,183,184,185,186, + 187,188,189,137,190,191,192,193,194,195,196,197,143,198,199,200, + 201,202,203,204,205,206,207,208,209,55,210,211,212,213,214,215, + 216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231, + 232,233,234,235,236,237,238,239,240,143,241,242,243,244,245,246, + 247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262, + 263,264,265,266,267,268,269,270,271,272,273,247,274,275,276,277, + 278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293, + 294,295,296,118,295,297,298,299,300,301,302,303,304,305,306,307, + 308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323, + 324,325,326,327,328,329,330,331,332,333,334,335,332,336,337,338, + 339,340,341,342,343,344,46,345,346,347,348,349,350,351,352,353, + 354,355,356,357,358,359,360,361,362,169,363,364,365,366,367,368, + 369,370,371,372,373,374,375,376,275,377,378,379,380,381,382,383, + 384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399, + 400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415, + 416,5,417,418,419,420,421,422,423,424,425,426,427,428,429,430, + 431,432,433,434,435,436,437,398,438,439,1,440,441,442,443,444, + 445,218,446,447,448,449,450,451,452,453,454,455,456,457,458,459, + 460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,463, + 475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490, + 491,82,261,492,493,222,494,495,496,497,246,498,499,128,500,449, + 501,5,502,503,504,225,505,506,196,507,62,508,509,510,272,511, + 512,513,514,515,516,517,518,519,520,521,319,522,523,524,525,46, + 526,527,528,529,530,118,531,532,533,534,535,536,365,537,163,538, + 539,540,541,542,543,544,545,546,547,76,548,549,528,550,551,552, + 553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,243, + 568,569,172,570,571,572,573,574,575,576,577,578,579,580,581,582, + 583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598, + 599,600,601,602,603,604,605,606,607,608,609,301,610,494,611,612, + 613,614,615,616,617,618,619,620,284,621,622,623,624,625,626,627, + 628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643, + 644,645,646,647,648,649,650,651,263,652,653,654,655,656,657,658, + 659,660,661,662,663,14,664,665,666,667,668,669,670,671,672,673, + 674,675,676,459,677,678,679,680,681,682,683,684,685,686,687,688, + 689,690,691,692,693,694,695,696,697,698,699,700,235,701,392,702, + 703,704,443,705,706,707,708,709,710,711,712,713,714,715,716,717, + 718,11,719,720,721,722,723,724,725,726,727,371,728,729,730,731, + 732,733,123,734,735,736,737,738,739,740,638,741,742,743,744,745, + 746,747,748,749,750,751,752,753,167,754,678,755,756,757,758,297, + 759,314,760,761,762,763,764,765,766,767,768,769,770,771,772,773, + 774,775,776,735,777,778,779,780,781,782,783,784,785,429,786,787, + 788,789,790,443,791,792,793,794,795,796,797,798,799,800,241,647, + 801,802,803,405,804,805,806,807,808,809,810,811,812,813,814,815, + 816,817,818,819,820,821,822,577,214,823,599,824,825,826,827,143, + 828,829,830,831,832,833,834,835,836,837,838,839,840,216,841,374, + 842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857, + 858,859,96,640,860,70,861,862,579,863,864,143,683,865,866,867, + 868,90,251,869,870,871,270,872,873,874,547,374,748,875,876,703, + 877,878,879,880,14,881,882,883,884,885,886,887,888,889,890,891, + 892,893,894,895,896,742,897,898,899,900,5,901,902,903,904,905, + 278,906,907,908,909,910,911,912,913,914,915,838,916,917,918,919, + 920,921,922,923,858,924,925,926,927,928,929,930,931,932,933,934, + 935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950, + 301,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965, + 966,967,968,969,970,967,971,972,973,974,975,976,118,977,978,979, + 980,981,371,982,983,984,985,973,974,986,987,485,5,988,258,989, + 990,991,992,993,589,994,995,996,997,143,998,999,1000,1001,1002,799, + 1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018, + 1019,1020,90,258,1020,1021,1022,1016,1023,1024,1025,1026,1027,1028,1029,237, + 1030,57,1031,1032,1033,1034,1035,1036,833,1037,1038,134,1039,1040,1041,1042, + 1043,1044,1045,1046,1047,1048,16,1049,735,1050,1051,1052,1053,1054,1055,1056, + 1057,1058,1024,44,1059,1060,47,1061,1062,50,1063,1064,53,1065,691,56, + 1066,1067,1068,9,1069,234,63,1070,1071,66,1072,1073,68,1074,1075,71, + 1076,1077,74,1078,1079,1080,1081,371,1082,1083,1084,1085,854,1086,99,86, + 1087,1088,1089,1090,1091,91,1092,1093,94,1094,1095,97,1096,799,1097,885, + 1098,203,107,1099,137,110,1100,1101,113,1102,1103,116,1104,1105,119,1106, + 1107,1108,490,1109,1110,126,1111,1112,129,1113,1114,132,1115,1116,135,1117, + 1118,138,1119,1120,141,1121,1122,1123,1124,1125,1126,148,1127,1128,151,1129, + 1130,1131,1132,1133,1134,1135,650,1136,1137,1138,1139,818,1140,1141,1142,1006, + 1143,1144,118,1145,1146,1147,1148,1149,1150,312,313,314,1151,1152,356,1153, + 358,362,169,363,370,371,372,1154,1155,1156,1157,474,1158,345,1159,1160, + 1161,1162,118,1163,403,1164,1,1165,416,5,417,1154,1155,1166,1167,1168, + 555,1169,1170,442,443,444,450,451,1171,1172,1173,1174,1175,1176,1177,1178, + 469,467,468,469,473,474,463,481,482,1179,1180,1181,5,193,1182,1183, + 1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199, + 1200,1201,1202,1203,1204,1205,1206,1207,14,1208,1209,1210,1211,1212,1213,1214, + 1215,1216,1217,1218,550,1219,1220,885,1221,1222,490,1223,1224,261,491,82, + 222,1225,1226,1227,1228,1229,1230,498,1231,398,1232,1233,1234,1235,502,1236, + 1237,225,1238,1239,196,1240,1241,213,1242,1243,511,1244,1245,514,306,1246, + 1247,1248,1249,1250,521,1251,1252,1253,1254,812,529,1255,806,1256,1257,1258, + 535,1259,1260,1261,1262,1263,1264,543,1265,1266,546,1267,809,1268,1269,493, + 553,1270,1271,1272,1228,1273,1274,560,1275,1276,563,1277,1278,566,1279,1280, + 568,265,1281,570,1282,169,573,211,1283,1284,1285,1286,234,580,1287,1288, + 583,1289,1290,586,1291,1292,589,1293,1294,592,1295,1296,595,1297,1298,1299, + 1300,1301,1302,602,1303,1304,1305,1306,1307,605,1308,1309,610,1310,310,1311, + 1312,1313,1314,1315,1316,1317,621,1318,1319,1320,1321,1322,624,1323,1324,630, + 1325,1326,633,1327,1328,636,1329,1330,1331,643,1332,1333,643,1334,156,646, + 1335,796,1336,1337,1338,655,1339,1340,1341,1342,493,1343,1344,1345,1346,1347, + 1348,1349,667,1350,1351,1352,1353,1354,673,1355,458,1356,1357,1,1358,1336, + 1359,1317,686,1360,1361,689,1362,118,692,1363,1364,695,1365,1366,698,1367, + 493,235,1368,1369,1370,1371,1372,853,1373,1374,1189,708,1375,1376,711,1377, + 1378,714,1379,1380,1381,1382,1383,717,1384,516,1385,1386,1387,1388,726,1389, + 1390,728,1391,1392,731,1393,883,123,1394,1395,736,1396,1397,739,1398,818, + 1399,670,1400,1401,1402,1403,1404,751,1405,1406,167,1407,1408,755,1409,1410, + 758,1411,246,1412,1143,1413,735,763,1414,1415,769,1416,1417,772,1418,1419, + 775,1420,1421,777,1422,1423,1424,692,1425,374,550,1426,1427,786,1428,1429, + 789,1430,1431,791,1432,1433,794,1434,638,797,1435,1436,1437,1010,1438,1439, + 1440,1441,1442,807,1443,1444,1445,1446,1447,810,1448,1449,816,1450,1451,1452, + 1453,1454,1455,577,1456,522,599,1457,76,826,1458,96,828,1459,768,831, + 1460,1278,834,976,118,1461,695,1462,757,216,1463,1464,842,1465,143,845, + 1466,82,848,1467,1468,851,1469,1470,1471,1472,1473,1474,1475,1476,1477,640, + 1478,493,861,1479,458,863,1480,1481,683,1482,90,867,1483,429,251,1484, + 1485,1486,698,1487,143,874,1488,134,1489,1490,1073,879,1491,768,881,1492, + 1493,1494,1495,1496,894,1497,371,742,1498,1278,899,1499,429,901,1500,1501, + 904,1502,1503,1504,1381,1505,1506,913,1507,1508,838,1509,1510,918,1511,1512, + 921,1513,1514,858,1515,134,1516,719,1517,143,930,1518,1519,933,1520,753, + 936,1521,443,939,1522,1349,942,1523,1073,945,1524,1525,1526,210,1527,883, + 951,1528,1189,954,1529,1530,957,1531,735,960,1532,1533,963,1534,1535,966, + 1536,1537,1538,1539,1540,809,1541,976,118,977,978,979,980,35,493,1542, + 1543,1544,493,1545,999,1000,1001,1546,1547,1548,1549,1005,1006,1007,1550,493, + 1551,1029,237,1552,258,1553,1554,1555,1556,1557,101,1558,1559,1560,1561,458, + 1562,1563,51,52,53,1564,1067,1565,12,64,65,66,69,70,71,72, + 73,74,1566,451,1080,1567,1436,1568,41,89,90,91,92,93,94,1569, + 818,1570,44,108,109,110,111,112,113,114,115,116,117,118,119,1571, + 984,1572,47,124,125,126,1573,1436,1574,1575,1576,1577,1578,1579,1580,809, + 1581,1582,1583,806,1584,1585,1586,1587,1588,1589,312,313,314,1590,1591,356, + 1592,358,364,365,366,1593,1594,1595,348,1596,1597,1598,1599,1164,1,1165, + 1600,106,1601,430,431,432,433,1602,836,1603,409,450,451,1604,1161,1605, + 1606,1607,472,481,482,1608,1609,1610,1611,1612,1172,1613,1319,1184,1614,1615, + 1616,1617,1618,443,1190,1619,809,1193,1620,1621,1622,1623,1624,1625,1203,1626, + 1627,1206,1628,134,267,1629,458,1630,1631,1632,1633,1215,1634,1148,1635,1636, + 1637,365,885,1638,1639,261,491,82,496,1640,186,1641,94,1642,1643,213, + 512,513,514,1644,1645,1646,97,519,520,521,1647,1519,1253,1648,134,1256, + 1649,275,1650,107,538,539,540,1651,1652,1268,1653,1654,1655,110,569,172, + 570,1656,493,1657,113,581,582,583,587,588,589,1658,118,1659,119,603, + 604,1305,609,301,605,1580,809,1311,1614,938,1660,1661,1662,1663,372,622, + 623,1320,628,629,624,631,632,633,634,635,636,1664,1665,1666,1667,641, + 642,643,1668,1669,1336,1670,365,1671,1672,663,14,664,668,669,670,671, + 672,673,1673,1674,1356,677,678,679,690,691,692,693,694,695,696,697, + 698,699,700,235,1675,1676,1677,396,709,710,711,712,713,714,715,716, + 1381,718,11,719,1678,1679,1680,1681,729,730,731,734,735,736,1682,799, + 1683,138,1684,1685,1402,756,757,758,322,1686,1687,1688,761,762,1689,767, + 768,763,770,771,772,776,735,777,1690,1691,1692,173,782,783,784,790, + 443,791,795,796,797,1693,1694,1695,1696,1697,156,1440,803,405,804,808, + 809,1445,811,812,813,814,815,810,1698,1699,1700,1701,821,822,577,214, + 823,599,827,143,828,1702,1703,1704,1705,843,844,845,849,850,851,1706, + 1707,1471,1708,1134,1709,1710,1711,293,1712,1187,1713,783,1489,1714,1715,1494, + 1716,1485,1717,267,897,898,899,1718,799,1719,1215,908,909,910,914,915, + 838,916,917,918,919,920,921,1720,1721,1722,1723,928,929,930,934,935, + 936,940,941,942,943,944,945,1724,1725,1726,1727,950,301,951,955,956, + 957,1728,1729,1730,1731,981,371,982,1732,293,1733,1734,1544,493,1545,989, + 990,991,457,458,1735,1736,1005,1006,1007,1008,1009,1010,1737,275,1738,743, + 1537,1739,1554,1740,1741,1742,1743,1065,691,56,1069,234,63,1072,1073,68, + 1076,1077,74,1078,1079,1080,1744,1745,83,1092,1093,94,1094,1095,97,1746, + 1747,1748,1749,1750,932,1751,1100,1101,113,1102,1103,116,1104,1105,119,1111, + 1112,129,1115,1116,135,1119,1120,141,1125,1126,148,1752,1519,154,1753,272, + 157,1754,1514,160,1755,1756,1757,1758,55,170,1759,1760,176,1761,1762,178, + 1763,1764,181,1765,1766,184,1767,1768,190,1181,5,193,1154,1155,1156,382, + 383,384,454,455,456,473,474,463,478,479,480,1204,1205,1206,1769,1027, + 267,1210,1211,1212,1221,1222,490,1770,1444,496,1771,1772,1773,1774,1238,1239, + 196,1775,1776,1777,1778,474,1779,1780,1781,1782,550,1275,1276,563,1282,169, + 573,1289,1290,586,1295,1296,605,1783,629,624,1316,1317,621,1318,1319,1320, + 1321,1322,627,1325,1326,633,1327,1328,636,1334,156,646,1337,1338,655,1339, + 1340,1341,1784,448,664,1355,458,1356,1785,1364,679,1359,1317,686,1360,1361, + 689,1365,1366,698,1367,493,235,1786,1787,705,1374,1189,717,1377,1378,714, + 1379,1380,1381,1382,1383,719,1393,883,123,1788,443,748,1403,1404,751,1407, + 1408,763,1409,1410,758,1789,1790,1791,1792,1793,70,1689,1413,735,766,1414, + 1415,769,1420,1421,777,1794,1519,784,1428,1429,789,1434,638,797,1438,1439, + 810,1795,1796,804,1441,1442,807,1443,1444,1445,1446,1447,813,1448,1449,816, + 1457,76,826,1463,1464,842,1466,82,848,1469,1470,1471,1492,1493,1494,1797, + 1271,1798,933,1799,893,891,1497,371,742,1499,429,901,1500,1501,904,1800, + 1801,1802,1803,1804,90,910,1505,1506,913,1507,1508,838,1509,1510,918,1511, + 1512,921,1518,1519,933,1520,753,936,1522,1349,942,1523,1073,945,1528,1189, + 954,978,979,980,992,993,589,994,995,996,67,62,68,84,85,86, + 87,62,88,108,109,110,124,125,126,127,128,129,136,137,138,139, + 140,141,364,365,366,428,429,430,182,183,184,1613,1319,1184,1618,443, + 1190,1805,1806,1807,1808,1809,1514,1200,1624,1625,1203,1628,134,267,1810,1024, + 1811,491,82,885,1638,1639,261,494,495,496,1642,1643,213,527,528,529, + 564,565,566,622,623,1320,625,626,627,628,629,630,634,635,636,1668, + 1669,1336,656,657,658,665,666,667,684,685,686,687,688,689,690,691, + 692,704,443,705,706,707,708,709,710,717,715,716,1381,724,725,726, + 752,753,167,756,757,763,761,762,1689,764,765,766,770,771,772,785, + 429,786,790,443,791,1697,156,1440,803,405,810,805,806,807,808,809, + 1445,814,815,816,839,840,216,843,844,845,849,850,851,1812,1813,1814, + 235,892,893,894,902,903,904,908,909,910,911,912,913,914,915,838, + 922,923,858,934,935,936,937,938,939,943,944,945,950,301,951,967, + 971,972,981,371,982,994,995,996,997,143,998,1815,1816,1817,1061,1062, + 50,1069,234,63,1074,1075,71,1744,1745,83,1087,1088,1089,1090,1091,91, + 1750,932,1751,1098,203,107,1099,137,110,1115,1116,135,1818,850,1819,50, + 1755,1756,1757,1820,1821,1822,53,1823,1824,173,1759,1760,176,1825,165,1826, + 63,359,360,361,367,368,369,1173,1174,1175,464,465,466,470,471,472, + 491,82,490,1827,1828,222,1242,1243,511,1775,1776,1777,1829,1830,540,1279, + 1280,568,1282,169,573,1286,234,580,1301,1302,605,1306,1307,608,1783,629, + 1660,1316,1317,624,1321,1322,627,1323,1324,630,1325,1326,633,1586,1364,652, + 1784,448,664,1348,1349,667,1350,1351,1352,1831,272,1832,1209,1360,1361,689, + 1362,118,692,1363,1364,695,1786,1787,705,1374,1189,708,1375,1376,711,1377, + 1378,717,1389,1390,728,1407,1408,755,1793,70,1689,1414,1415,769,1418,1419, + 775,1794,1519,784,1428,1429,789,1432,1433,794,1438,1439,1440,1795,1796,804, + 1441,1442,810,1446,1447,813,1454,1455,577,1463,1464,842,1466,82,848,1833, + 1834,703,1799,893,891,1804,90,910,1505,1506,913,1518,1519,933,1521,443, + 939,1522,1349,942,973,974,975,983,984,985,997,143,998,999,1000,1001, + 382,383,384,391,392,393,464,465,466,1624,1625,1203,1628,134,267,1835, + 1836,1212,533,534,535,1182,1183,1184,1201,1202,1203,1769,1027,267,1827,1828, + 222,1249,1250,521,1829,1830,540,1291,1292,589,1308,1309,605,1323,1324,624, + 1327,1328,636,1334,156,646,1335,796,1336,1586,1364,652,1350,1351,1352,1785, + 1364,679,1363,1364,695,1365,1366,698,1367,493,235,1379,1380,1381,1382,1383, + 719,1394,1395,736,1793,70,1689,1414,1415,763,1416,1417,772,1794,1519,784, + 1430,1431,791,1438,1439,1440,1443,1444,1445,1446,1447,813,1448,1449,810,1454, + 1455,577,1458,96,828,1467,1468,851,1498,1278,899,1507,1508,838,1509,1510, + 918,1511,1512,921,1520,753,936,1527,883,951,1529,1530,957,61,62,63, + 72,73,74,81,82,83,92,93,94,102,103,104,117,118,119,133, + 134,135,146,147,148,1837,903,1757,174,175,176,370,371,372,379,380, + 381,470,471,472,475,476,477,491,82,498,501,5,502,1647,1519,1253, + 541,542,543,578,579,580,590,591,592,1580,809,605,631,632,624,641, + 642,643,1668,1669,1336,651,263,652,653,654,655,663,14,664,671,672, + 673,696,697,698,699,700,235,704,443,705,718,11,719,724,725,717, + 737,738,739,764,765,766,770,771,763,773,774,775,785,429,786,792, + 793,794,1697,156,1440,803,405,804,811,812,813,814,815,816,214,823, + 599,829,830,831,1706,1707,1471,859,96,640,900,5,901,916,917,918, + 919,920,921,922,923,858,937,938,939,950,301,951,952,953,954,958, + 959,960,983,984,985,992,993,589,1008,1009,1010,1550,493,1551,1838,635, + 1839,1070,1071,66,1078,1079,1080,1744,1745,83,1086,99,86,1094,1095,97, + 1098,203,107,1109,1110,126,1117,1118,138,1127,1128,151,394,395,396,404, + 405,406,475,476,477,1185,1186,1187,1191,1192,1193,1198,1199,1200,1840,275, + 1841,766,1154,1155,1156,385,386,387,447,448,449,1842,1843,1844,514,1201, + 1202,1203,1769,1027,267,1770,1444,496,1257,1258,535,265,1281,570,1287,1288, + 583,1303,1304,605,1318,1319,624,1323,1324,630,1325,1326,633,1332,1333,643, + 1337,1338,655,1784,448,664,1353,1354,673,1362,118,692,1363,1364,695,1365, + 1366,698,1375,1376,711,1377,1378,714,1379,1380,717,1391,1392,731,1409,1410, + 758,1793,70,763,1413,735,766,1420,1421,777,1426,1427,786,1434,638,797, + 1795,1796,804,1441,1442,807,1443,1444,810,1448,1449,816,1456,522,599,1465, + 143,845,1467,1468,851,1495,1496,894,1804,90,910,1505,1506,913,1507,1508, + 838,1517,143,930,1522,1349,942,1523,1073,945,1527,883,951,54,55,56, + 67,62,68,1566,451,1080,87,62,88,95,96,97,111,112,113,114, + 115,116,127,128,129,139,140,141,191,192,193,1845,1846,1187,1809,1514, + 1200,1624,1625,1203,1626,1627,1206,1835,1836,1212,571,572,573,584,585,586, + 606,607,605,625,626,624,631,632,633,634,635,636,644,645,646,656, + 657,658,665,666,667,1673,1674,1356,693,694,695,696,697,698,699,700, + 235,712,713,714,715,716,1381,718,11,717,732,733,123,764,765,763, + 767,768,769,787,788,789,805,806,807,808,809,1445,811,812,810,824, + 825,826,846,847,848,1706,1707,1471,895,896,742,911,912,913,914,915, + 838,916,917,918,931,932,933,943,944,945,952,953,954,1074,1075,71, + 1090,1091,91,1102,1103,116,1104,1105,119,1113,1114,132,1847,165,1848,1849, + 1823,1824,173,1198,1199,1200,428,429,430,445,218,446,1173,1174,1175,491, + 82,477,391,392,393,401,402,403,473,474,463,1626,1627,1206,1835,1836, + 1212,1765,1766,184,1188,1189,1190,1850,1851,1852,1689,1201,1202,1203,1223,1224, + 261,1240,1241,213,1254,812,529,1277,1278,566,1318,1319,1320,1321,1322,627, + 1327,1328,636,1335,796,1336,1339,1340,1341,1348,1349,667,1359,1317,686,1360, + 1361,689,1362,118,692,1786,1787,705,1374,1189,708,1375,1376,717,1387,1388, + 726,1405,1406,167,1409,1410,763,1416,1417,772,1430,1431,791,1438,1439,1440, + 1795,1796,810,1441,1442,807,1443,1444,1445,1462,757,216,1465,143,845,1500, + 1501,904,1804,90,910,1513,1514,858,1520,753,936,1521,443,939,1523,1073, + 945,48,49,50,61,62,63,69,70,71,81,82,83,89,90,91, + 105,106,107,108,109,110,133,134,135,1837,903,1757,492,493,222,510, + 272,511,567,243,568,578,579,580,600,601,605,620,284,624,625,626, + 627,628,629,630,651,263,652,668,669,670,687,688,689,690,691,692, + 693,694,695,706,707,708,709,710,711,712,713,717,727,371,728,754, + 678,755,761,762,1689,773,774,775,782,783,784,792,793,794,1697,156, + 1440,803,405,804,805,806,810,808,809,1445,811,812,813,821,822,577, + 841,374,842,846,847,848,889,890,891,908,909,910,911,912,913,937, + 938,939,940,941,942,1063,1064,53,1070,1071,66,1076,1077,74,1086,99, + 86,1092,1093,94,1099,137,110,1100,1101,113,1109,1110,126,1117,1118,138, + 404,405,406,413,414,415,1244,1245,514,362,169,363,1154,1155,1156,428, + 429,430,437,398,438,497,246,498,1234,1235,502,1251,1252,1253,1263,1264, + 543,1286,234,580,1293,1294,592,1310,310,605,1325,1326,624,1332,1333,643, + 1586,1364,652,1784,448,664,1353,1354,673,1367,493,235,1786,1787,705,1382, + 1383,719,1387,1388,717,1396,1397,739,1413,735,766,1416,1417,763,1418,1419, + 775,1426,1427,786,1432,1433,794,1795,1796,804,1446,1447,813,1448,1449,816, + 1456,522,599,1459,768,831,1469,1470,1471,1476,1477,640,1499,429,901,1509, + 1510,918,1511,1512,921,1513,1514,858,1521,443,939,1527,883,951,1528,1189, + 954,1531,735,960,64,65,66,1566,451,1080,84,85,86,95,96,97, + 105,106,107,124,125,126,136,137,138,149,150,151,1845,1846,1187,1619, + 809,1193,1809,1514,1200,488,489,490,505,506,196,525,46,526,561,562, + 563,571,572,573,593,594,605,1614,938,624,620,284,621,622,623,1320, + 631,632,633,644,645,646,653,654,655,663,14,664,684,685,686,687, + 688,689,704,443,705,706,707,717,749,750,751,754,678,763,756,757, + 758,767,768,769,776,735,777,787,788,789,795,796,797,1697,156,810, + 805,806,807,814,815,816,841,374,842,1714,1715,1494,900,5,901,902, + 903,904,919,920,921,931,932,933,934,935,936,940,941,942,1072,1073, + 68,1087,1088,1089,1099,137,110,1109,1110,126,1111,1112,129,379,380,381, + 388,389,390,478,479,480,1626,1627,1206,1648,134,1256,130,131,132,171, + 172,173,367,368,369,447,448,449,467,468,469,473,474,463,478,479, + 480,1204,1205,1206,1210,1211,1212,362,169,363,416,5,417,425,426,427, + 179,180,181,1119,1120,141,1752,1519,154,1763,1764,181,1229,1230,498, +}; + +typedef struct { unsigned short name; unsigned char colour; unsigned short roff, rlen; } Day; +static const Day days[] = { + {0,1,0,4}, + {1,1,4,3}, + {2,1,7,3}, + {3,1,10,3}, + {4,1,13,4}, + {5,1,17,4}, + {6,1,21,3}, + {7,1,24,3}, + {8,1,27,3}, + {9,1,30,3}, + {10,1,33,3}, + {11,1,36,4}, + {12,0,40,3}, + {13,0,43,3}, + {14,0,46,3}, + {15,0,49,3}, + {16,1,52,3}, + {17,0,55,3}, + {18,0,58,4}, + {19,0,62,3}, + {20,2,65,3}, + {21,0,68,3}, + {22,0,71,3}, + {23,1,74,3}, + {24,1,77,3}, + {25,0,80,4}, + {26,0,84,3}, + {27,1,87,3}, + {28,0,90,3}, + {29,0,93,3}, + {30,1,96,3}, + {31,0,99,3}, + {32,1,102,4}, + {33,0,106,3}, + {34,0,109,3}, + {35,2,112,3}, + {36,2,115,3}, + {37,0,118,3}, + {38,0,121,3}, + {39,0,124,4}, + {40,1,128,3}, + {41,0,131,3}, + {42,0,134,3}, + {43,0,137,3}, + {44,1,140,3}, + {45,0,143,3}, + {46,0,146,4}, + {47,0,150,3}, + {48,0,153,3}, + {49,0,156,3}, + {50,0,159,3}, + {51,0,162,3}, + {52,1,165,3}, + {53,0,168,4}, + {54,0,172,3}, + {55,0,175,3}, + {56,0,178,3}, + {57,0,181,3}, + {58,0,184,3}, + {59,0,187,3}, + {60,0,190,4}, + {61,0,194,3}, + {62,0,197,3}, + {63,3,200,3}, + {64,3,203,3}, + {65,3,206,3}, + {66,3,209,3}, + {67,3,212,4}, + {68,3,216,3}, + {69,3,219,3}, + {70,3,222,3}, + {71,3,225,3}, + {72,3,228,3}, + {73,3,231,3}, + {74,3,234,4}, + {75,3,238,3}, + {76,3,241,3}, + {77,1,244,4}, + {78,3,248,3}, + {79,3,251,3}, + {80,3,254,3}, + {81,3,257,4}, + {82,3,261,3}, + {83,1,264,4}, + {84,3,268,3}, + {85,3,271,3}, + {86,3,274,3}, + {87,3,277,3}, + {88,4,280,4}, + {89,3,284,3}, + {90,3,287,3}, + {91,3,290,3}, + {92,3,293,3}, + {93,3,296,3}, + {94,3,299,3}, + {95,3,302,4}, + {96,3,306,3}, + {97,3,309,3}, + {98,3,312,3}, + {99,3,315,3}, + {100,3,318,3}, + {101,3,321,3}, + {102,2,324,4}, + {103,3,328,3}, + {104,3,331,3}, + {105,3,334,3}, + {106,1,337,3}, + {107,2,340,3}, + {108,3,343,4}, + {109,1,347,4}, + {110,1,351,3}, + {111,1,354,3}, + {112,1,357,3}, + {113,1,360,3}, + {114,1,363,3}, + {115,1,366,3}, + {116,1,369,4}, + {117,1,373,3}, + {118,1,376,3}, + {119,1,379,3}, + {120,1,382,3}, + {121,1,385,3}, + {122,2,388,3}, + {123,1,391,4}, + {124,1,395,3}, + {125,1,398,3}, + {126,1,401,3}, + {127,1,404,3}, + {128,1,407,3}, + {129,1,410,3}, + {130,1,413,4}, + {131,1,417,3}, + {132,1,420,3}, + {133,2,423,3}, + {134,1,426,3}, + {135,1,429,3}, + {136,1,432,3}, + {137,1,435,4}, + {138,1,439,3}, + {139,1,442,3}, + {140,1,445,3}, + {141,1,448,3}, + {142,1,451,3}, + {143,1,454,3}, + {144,1,457,4}, + {145,1,461,3}, + {146,1,464,3}, + {147,1,467,3}, + {148,1,470,4}, + {149,1,474,3}, + {150,1,477,3}, + {151,1,480,4}, + {152,1,484,3}, + {153,2,487,3}, + {154,1,490,3}, + {155,2,493,3}, + {156,1,496,3}, + {157,1,499,3}, + {158,2,502,4}, + {159,1,506,3}, + {160,0,509,3}, + {161,2,512,3}, + {162,0,515,3}, + {163,1,518,3}, + {164,0,521,3}, + {165,1,524,4}, + {166,0,528,3}, + {167,0,531,3}, + {168,0,534,3}, + {169,1,537,4}, + {170,0,541,3}, + {171,1,544,3}, + {172,0,547,4}, + {173,0,551,3}, + {174,1,554,4}, + {175,0,558,3}, + {176,0,561,3}, + {177,1,564,4}, + {178,0,568,3}, + {179,2,571,4}, + {180,0,575,3}, + {181,0,578,3}, + {182,0,581,3}, + {183,2,584,3}, + {184,0,587,3}, + {185,0,590,3}, + {186,0,593,4}, + {187,0,597,3}, + {188,0,600,3}, + {189,0,603,3}, + {190,0,606,3}, + {191,1,609,3}, + {192,0,612,3}, + {193,0,615,4}, + {194,0,619,3}, + {195,1,622,3}, + {196,0,625,3}, + {197,0,628,3}, + {198,0,631,3}, + {199,0,634,3}, + {200,0,637,4}, + {201,0,641,3}, + {202,1,644,3}, + {203,0,647,3}, + {204,0,650,3}, + {205,2,653,3}, + {206,1,656,3}, + {207,0,659,4}, + {208,0,663,3}, + {209,2,666,3}, + {210,0,669,3}, + {211,1,672,3}, + {212,1,675,3}, + {213,0,678,3}, + {214,0,681,4}, + {215,1,685,3}, + {216,0,688,3}, + {217,1,691,4}, + {218,0,695,3}, + {219,1,698,3}, + {220,0,701,3}, + {221,0,704,4}, + {222,1,708,3}, + {223,0,711,3}, + {224,0,714,3}, + {225,2,717,3}, + {226,1,720,4}, + {227,0,724,3}, + {228,0,727,4}, + {229,0,731,3}, + {230,0,734,3}, + {231,1,737,3}, + {232,1,740,3}, + {233,1,743,3}, + {234,0,746,3}, + {235,0,749,4}, + {236,0,753,3}, + {237,0,756,3}, + {238,1,759,3}, + {239,1,762,3}, + {240,2,765,3}, + {241,0,768,3}, + {242,0,771,4}, + {243,0,775,3}, + {244,0,778,3}, + {245,1,781,3}, + {246,0,784,3}, + {247,0,787,3}, + {248,0,790,3}, + {249,0,793,4}, + {250,1,797,3}, + {251,0,800,3}, + {252,0,803,3}, + {253,0,806,3}, + {254,0,809,3}, + {255,1,812,3}, + {256,2,815,4}, + {257,1,819,3}, + {258,2,822,3}, + {259,0,825,3}, + {260,0,828,3}, + {261,0,831,3}, + {262,2,834,3}, + {263,0,837,4}, + {264,0,841,3}, + {265,1,844,3}, + {266,0,847,3}, + {267,0,850,3}, + {268,0,853,3}, + {269,1,856,3}, + {270,0,859,4}, + {271,1,863,3}, + {272,1,866,3}, + {273,1,869,3}, + {274,1,872,3}, + {275,0,875,3}, + {276,1,878,3}, + {277,0,881,4}, + {278,0,885,3}, + {279,1,888,3}, + {280,0,891,3}, + {281,0,894,3}, + {282,0,897,3}, + {283,0,900,3}, + {284,0,903,4}, + {285,0,907,3}, + {286,0,910,3}, + {287,1,913,3}, + {288,0,916,3}, + {289,2,919,3}, + {290,2,922,3}, + {291,0,925,4}, + {292,0,929,3}, + {293,0,932,3}, + {294,0,935,3}, + {295,0,938,3}, + {296,0,941,3}, + {297,0,944,3}, + {298,0,947,4}, + {299,0,951,3}, + {300,2,954,3}, + {301,0,957,3}, + {302,0,960,3}, + {303,0,963,3}, + {304,1,966,4}, + {305,1,970,3}, + {306,0,973,3}, + {307,1,976,3}, + {308,0,979,3}, + {309,0,982,3}, + {310,0,985,3}, + {311,0,988,3}, + {312,1,991,4}, + {313,1,995,3}, + {314,2,998,3}, + {315,2,1001,3}, + {316,0,1004,3}, + {317,0,1007,3}, + {318,0,1010,3}, + {319,0,1013,4}, + {320,1,1017,3}, + {321,0,1020,3}, + {322,0,1023,3}, + {323,0,1026,3}, + {324,1,1029,3}, + {325,2,1032,3}, + {326,1,1035,4}, + {327,2,1039,3}, + {328,0,1042,3}, + {329,0,1045,3}, + {330,0,1048,3}, + {331,0,1051,3}, + {332,0,1054,3}, + {333,3,1057,4}, + {334,3,1061,3}, + {335,3,1064,3}, + {336,1,1067,3}, + {337,3,1070,3}, + {338,3,1073,3}, + {339,3,1076,3}, + {340,3,1079,4}, + {341,1,1083,4}, + {342,3,1087,3}, + {343,3,1090,3}, + {344,3,1093,3}, + {345,3,1096,3}, + {346,2,1099,3}, + {347,4,1102,4}, + {348,3,1106,3}, + {349,3,1109,3}, + {350,3,1112,3}, + {351,3,1115,3}, + {352,3,1118,3}, + {353,3,1121,3}, + {354,3,1124,4}, + {355,3,1128,3}, + {356,3,1131,3}, + {357,3,1134,3}, + {358,1,1137,3}, + {359,2,1140,3}, + {360,1,1143,3}, + {361,1,1146,4}, + {362,1,1150,3}, + {363,1,1153,3}, + {364,1,1156,3}, + {365,1,1159,3}, + {11,1,1162,4}, + {12,0,1166,3}, + {13,0,1169,3}, + {14,0,1172,3}, + {15,0,1175,3}, + {366,0,1178,3}, + {16,1,1181,3}, + {18,0,1184,4}, + {19,0,1188,3}, + {367,0,1191,3}, + {20,2,1194,3}, + {22,0,1197,3}, + {368,0,1200,3}, + {23,1,1203,3}, + {25,0,1206,4}, + {369,1,1210,3}, + {370,0,1213,3}, + {27,1,1216,3}, + {29,0,1219,3}, + {371,0,1222,3}, + {30,1,1225,3}, + {372,0,1228,4}, + {34,0,1232,3}, + {373,0,1235,3}, + {35,2,1238,3}, + {36,2,1241,3}, + {38,0,1244,3}, + {39,0,1247,4}, + {374,0,1251,3}, + {40,1,1254,3}, + {42,0,1257,3}, + {43,0,1260,3}, + {375,0,1263,3}, + {44,1,1266,3}, + {46,0,1269,4}, + {47,0,1273,3}, + {48,0,1276,3}, + {67,3,1279,4}, + {74,3,1283,4}, + {376,3,1287,3}, + {81,3,1290,4}, + {377,3,1294,3}, + {88,4,1297,4}, + {95,3,1301,4}, + {102,2,1305,4}, + {116,1,1309,4}, + {378,1,1313,3}, + {379,1,1316,3}, + {380,1,1319,3}, + {123,1,1322,4}, + {381,2,1326,3}, + {130,1,1329,4}, + {118,1,1333,3}, + {121,1,1336,3}, + {137,1,1339,4}, + {144,1,1343,4}, + {382,1,1347,3}, + {148,1,1350,4}, + {383,1,1354,3}, + {151,1,1357,4}, + {384,1,1361,3}, + {385,1,1364,3}, + {158,2,1367,4}, + {145,1,1371,3}, + {386,0,1374,3}, + {387,0,1377,3}, + {388,0,1380,3}, + {389,0,1383,3}, + {165,1,1386,4}, + {390,2,1390,3}, + {391,0,1393,3}, + {153,2,1396,3}, + {169,1,1399,4}, + {155,2,1403,3}, + {392,0,1406,3}, + {393,0,1409,4}, + {394,0,1413,3}, + {160,0,1416,3}, + {395,0,1419,3}, + {161,2,1422,3}, + {177,1,1425,4}, + {164,0,1429,3}, + {396,0,1432,4}, + {166,0,1436,3}, + {167,0,1439,3}, + {168,0,1442,3}, + {397,0,1445,3}, + {170,0,1448,3}, + {398,0,1451,3}, + {172,0,1454,4}, + {173,0,1458,3}, + {399,0,1461,3}, + {176,0,1464,3}, + {400,0,1467,3}, + {178,0,1470,3}, + {401,0,1473,4}, + {181,0,1477,3}, + {182,0,1480,3}, + {402,0,1483,3}, + {185,0,1486,3}, + {186,0,1489,4}, + {187,0,1493,3}, + {188,0,1496,3}, + {189,0,1499,3}, + {190,0,1502,3}, + {403,0,1505,3}, + {191,1,1508,3}, + {193,0,1511,4}, + {194,0,1515,3}, + {404,0,1518,3}, + {195,1,1521,3}, + {197,0,1524,3}, + {198,0,1527,3}, + {199,0,1530,3}, + {200,0,1533,4}, + {201,0,1537,3}, + {405,0,1540,3}, + {202,1,1543,3}, + {204,0,1546,3}, + {406,0,1549,3}, + {207,0,1552,4}, + {208,0,1556,3}, + {407,0,1559,3}, + {209,2,1562,3}, + {408,0,1565,3}, + {211,1,1568,3}, + {212,1,1571,3}, + {214,0,1574,4}, + {409,0,1578,3}, + {215,1,1581,3}, + {410,0,1584,3}, + {411,0,1587,3}, + {219,1,1590,3}, + {221,0,1593,4}, + {412,2,1597,3}, + {222,1,1600,3}, + {224,0,1603,3}, + {413,0,1606,3}, + {225,2,1609,3}, + {228,0,1612,4}, + {229,0,1616,3}, + {230,0,1619,3}, + {414,0,1622,3}, + {231,1,1625,3}, + {232,1,1628,3}, + {233,1,1631,3}, + {235,0,1634,4}, + {415,2,1638,3}, + {237,0,1641,3}, + {416,0,1644,3}, + {238,1,1647,3}, + {239,1,1650,3}, + {240,2,1653,3}, + {242,0,1656,4}, + {243,0,1660,3}, + {244,0,1663,3}, + {417,0,1666,3}, + {245,1,1669,3}, + {247,0,1672,3}, + {248,0,1675,3}, + {249,0,1678,4}, + {418,0,1682,3}, + {252,0,1685,3}, + {253,0,1688,3}, + {254,0,1691,3}, + {419,0,1694,3}, + {420,0,1697,4}, + {257,1,1701,3}, + {258,2,1704,3}, + {260,0,1707,3}, + {261,0,1710,3}, + {421,0,1713,3}, + {263,0,1716,4}, + {422,2,1720,3}, + {423,0,1723,3}, + {265,1,1726,3}, + {267,0,1729,3}, + {268,0,1732,3}, + {424,0,1735,3}, + {270,0,1738,4}, + {425,0,1742,3}, + {272,1,1745,3}, + {273,1,1748,3}, + {274,1,1751,3}, + {426,0,1754,3}, + {277,0,1757,4}, + {278,0,1761,3}, + {427,0,1764,3}, + {279,1,1767,3}, + {281,0,1770,3}, + {282,0,1773,3}, + {283,0,1776,3}, + {284,0,1779,4}, + {285,0,1783,3}, + {286,0,1786,3}, + {428,0,1789,3}, + {287,1,1792,3}, + {429,0,1795,3}, + {289,2,1798,3}, + {291,0,1801,4}, + {292,0,1805,3}, + {293,0,1808,3}, + {294,0,1811,3}, + {295,0,1814,3}, + {296,0,1817,3}, + {297,0,1820,3}, + {298,0,1823,4}, + {299,0,1827,3}, + {430,0,1830,3}, + {302,0,1833,3}, + {303,0,1836,3}, + {431,0,1839,3}, + {432,0,1842,3}, + {307,1,1845,3}, + {309,0,1848,3}, + {310,0,1851,3}, + {311,0,1854,3}, + {433,0,1857,4}, + {313,1,1861,3}, + {314,2,1864,3}, + {315,2,1867,3}, + {317,0,1870,3}, + {318,0,1873,3}, + {319,0,1876,4}, + {434,0,1880,3}, + {320,1,1883,3}, + {322,0,1886,3}, + {323,0,1889,3}, + {435,0,1892,3}, + {324,1,1895,3}, + {326,1,1898,4}, + {436,0,1902,3}, + {327,2,1905,3}, + {329,0,1908,3}, + {330,0,1911,3}, + {331,0,1914,3}, + {332,0,1917,3}, + {333,3,1920,4}, + {437,2,1924,3}, + {438,3,1927,3}, + {336,1,1930,3}, + {340,3,1933,4}, + {439,1,1937,3}, + {440,3,1940,3}, + {347,4,1943,4}, + {441,1,1947,3}, + {442,3,1950,3}, + {354,3,1953,4}, + {443,3,1957,2}, + {361,1,1959,4}, + {444,2,1963,3}, + {11,1,1966,4}, + {366,0,1970,3}, + {18,0,1973,4}, + {367,0,1977,3}, + {20,2,1980,3}, + {368,0,1983,3}, + {445,0,1986,3}, + {25,0,1989,4}, + {27,1,1993,3}, + {371,0,1996,3}, + {372,0,1999,4}, + {373,0,2003,3}, + {446,0,2006,3}, + {35,2,2009,3}, + {36,2,2012,3}, + {39,0,2015,4}, + {374,0,2019,3}, + {67,3,2022,4}, + {74,3,2026,4}, + {81,3,2030,4}, + {88,4,2034,4}, + {95,3,2038,4}, + {102,2,2042,4}, + {116,1,2046,4}, + {447,1,2050,3}, + {123,1,2053,4}, + {130,1,2057,4}, + {448,1,2061,3}, + {137,1,2064,4}, + {118,1,2068,3}, + {144,1,2071,4}, + {148,1,2075,4}, + {151,1,2079,4}, + {158,2,2083,4}, + {165,1,2087,4}, + {145,1,2091,3}, + {169,1,2094,4}, + {388,0,2098,3}, + {389,0,2101,3}, + {449,0,2104,4}, + {390,2,2108,3}, + {450,0,2111,3}, + {153,2,2114,3}, + {177,1,2117,4}, + {392,0,2121,3}, + {393,0,2124,4}, + {394,0,2128,3}, + {395,0,2131,3}, + {161,2,2134,3}, + {396,0,2137,4}, + {397,0,2141,3}, + {398,0,2144,3}, + {172,0,2147,4}, + {171,1,2151,3}, + {399,0,2154,3}, + {400,0,2157,3}, + {401,0,2160,4}, + {451,2,2164,3}, + {402,0,2167,3}, + {186,0,2170,4}, + {403,0,2174,3}, + {193,0,2177,4}, + {404,0,2181,3}, + {195,1,2184,3}, + {200,0,2187,4}, + {405,0,2191,3}, + {202,1,2194,3}, + {406,0,2197,3}, + {452,0,2200,3}, + {207,0,2203,4}, + {407,0,2207,3}, + {209,2,2210,3}, + {453,0,2213,3}, + {211,1,2216,3}, + {214,0,2219,4}, + {409,0,2223,3}, + {215,1,2226,3}, + {221,0,2229,4}, + {454,0,2233,3}, + {222,1,2236,3}, + {413,0,2239,3}, + {455,0,2242,3}, + {225,2,2245,3}, + {414,0,2248,3}, + {456,0,2251,3}, + {231,1,2254,3}, + {232,1,2257,3}, + {235,0,2260,4}, + {416,0,2264,3}, + {457,0,2267,3}, + {238,1,2270,3}, + {239,1,2273,3}, + {242,0,2276,4}, + {417,0,2280,3}, + {245,1,2283,3}, + {249,0,2286,4}, + {418,0,2290,3}, + {419,0,2293,3}, + {420,0,2296,4}, + {255,1,2300,3}, + {257,1,2303,3}, + {258,2,2306,3}, + {421,0,2309,3}, + {263,0,2312,4}, + {262,2,2316,3}, + {265,1,2319,3}, + {424,0,2322,3}, + {270,0,2325,4}, + {269,1,2329,3}, + {458,0,2332,3}, + {272,1,2335,3}, + {273,1,2338,3}, + {274,1,2341,3}, + {277,0,2344,4}, + {276,1,2348,3}, + {427,0,2351,3}, + {279,1,2354,3}, + {284,0,2357,4}, + {428,0,2361,3}, + {287,1,2364,3}, + {459,0,2367,3}, + {291,0,2370,4}, + {298,0,2374,4}, + {430,0,2378,3}, + {431,0,2381,3}, + {460,0,2384,4}, + {307,1,2388,3}, + {433,0,2391,4}, + {461,0,2395,3}, + {313,1,2398,3}, + {314,2,2401,3}, + {315,2,2404,3}, + {319,0,2407,4}, + {434,0,2411,3}, + {320,1,2414,3}, + {435,0,2417,3}, + {462,0,2420,3}, + {326,1,2423,4}, + {325,2,2427,3}, + {327,2,2430,3}, + {333,3,2433,4}, + {336,1,2437,3}, + {340,3,2440,4}, + {463,3,2444,3}, + {439,1,2447,3}, + {347,4,2450,4}, + {346,2,2454,3}, + {441,1,2457,3}, + {464,3,2460,3}, + {354,3,2463,4}, + {361,1,2467,4}, + {17,0,2471,3}, + {16,1,2474,3}, + {21,0,2477,3}, + {20,2,2480,3}, + {445,0,2483,3}, + {23,1,2486,3}, + {27,1,2489,3}, + {31,0,2492,3}, + {372,0,2495,4}, + {30,1,2499,3}, + {446,0,2502,3}, + {37,0,2505,3}, + {35,2,2508,3}, + {41,0,2511,3}, + {40,1,2514,3}, + {45,0,2517,3}, + {44,1,2520,3}, + {49,0,2523,3}, + {50,0,2526,3}, + {51,0,2529,3}, + {465,0,2532,3}, + {54,0,2535,3}, + {466,2,2538,3}, + {57,0,2541,3}, + {58,0,2544,3}, + {59,0,2547,3}, + {61,0,2550,3}, + {62,0,2553,3}, + {118,1,2556,3}, + {121,1,2559,3}, + {145,1,2562,3}, + {390,2,2565,3}, + {153,2,2568,3}, + {450,0,2571,3}, + {467,0,2574,3}, + {468,0,2577,3}, + {163,1,2580,3}, + {469,0,2583,3}, + {396,0,2586,4}, + {171,1,2590,3}, + {451,2,2593,3}, + {401,0,2596,4}, + {184,0,2600,3}, + {191,1,2603,3}, + {195,1,2606,3}, + {196,0,2609,3}, + {202,1,2612,3}, + {209,2,2615,3}, + {211,1,2618,3}, + {212,1,2621,3}, + {210,0,2624,3}, + {215,1,2627,3}, + {213,0,2630,3}, + {219,1,2633,3}, + {222,1,2636,3}, + {220,0,2639,3}, + {225,2,2642,3}, + {455,0,2645,3}, + {227,0,2648,3}, + {232,1,2651,3}, + {233,1,2654,3}, + {470,0,2657,3}, + {234,0,2660,3}, + {239,1,2663,3}, + {240,2,2666,3}, + {457,0,2669,3}, + {471,0,2672,3}, + {241,0,2675,3}, + {246,0,2678,3}, + {251,0,2681,3}, + {255,1,2684,3}, + {257,1,2687,3}, + {258,2,2690,3}, + {420,0,2693,4}, + {472,0,2697,3}, + {473,0,2700,3}, + {262,2,2703,3}, + {265,1,2706,3}, + {264,0,2709,3}, + {269,1,2712,3}, + {272,1,2715,3}, + {274,1,2718,3}, + {458,0,2721,3}, + {276,1,2724,3}, + {474,0,2727,3}, + {275,0,2730,3}, + {279,1,2733,3}, + {280,0,2736,3}, + {289,2,2739,3}, + {288,0,2742,3}, + {459,0,2745,3}, + {307,1,2748,3}, + {460,0,2751,4}, + {306,0,2755,3}, + {308,0,2758,3}, + {313,1,2761,3}, + {314,2,2764,3}, + {433,0,2767,4}, + {461,0,2771,3}, + {475,0,2774,3}, + {476,0,2777,3}, + {316,0,2780,3}, + {320,1,2783,3}, + {324,1,2786,3}, + {325,2,2789,3}, + {327,2,2792,3}, + {462,0,2795,3}, + {328,0,2798,3}, + {439,1,2801,3}, + {346,2,2804,3}, + {441,1,2807,3}, + {16,1,2810,3}, + {370,0,2813,3}, + {23,1,2816,3}, + {30,1,2819,3}, + {35,2,2822,3}, + {36,2,2825,3}, + {375,0,2828,3}, + {40,1,2831,3}, + {477,2,2834,3}, + {121,1,2837,3}, + {145,1,2840,3}, + {386,0,2843,3}, + {390,2,2846,3}, + {449,0,2849,4}, + {478,0,2853,3}, + {155,2,2856,3}, + {467,0,2859,3}, + {479,1,2862,3}, + {161,2,2865,3}, + {163,1,2868,3}, + {469,0,2871,3}, + {171,1,2874,3}, + {451,2,2877,3}, + {191,1,2880,3}, + {211,1,2883,3}, + {212,1,2886,3}, + {408,0,2889,3}, + {215,1,2892,3}, + {219,1,2895,3}, + {222,1,2898,3}, + {225,2,2901,3}, + {231,1,2904,3}, + {232,1,2907,3}, + {233,1,2910,3}, + {238,1,2913,3}, + {239,1,2916,3}, + {240,2,2919,3}, + {471,0,2922,3}, + {245,1,2925,3}, + {255,1,2928,3}, + {257,1,2931,3}, + {472,0,2934,3}, + {473,0,2937,3}, + {262,2,2940,3}, + {423,0,2943,3}, + {269,1,2946,3}, + {273,1,2949,3}, + {274,1,2952,3}, + {480,0,2955,3}, + {276,1,2958,3}, + {426,0,2961,3}, + {287,1,2964,3}, + {289,2,2967,3}, + {429,0,2970,3}, + {460,0,2973,4}, + {432,0,2977,3}, + {313,1,2980,3}, + {315,2,2983,3}, + {475,0,2986,3}, + {476,0,2989,3}, + {320,1,2992,3}, + {324,1,2995,3}, + {325,2,2998,3}, + {327,2,3001,3}, + {436,0,3004,3}, + {336,1,3007,3}, + {439,1,3010,3}, + {346,2,3013,3}, + {441,1,3016,3}, + {481,1,3019,3}, + {16,1,3022,3}, + {20,2,3025,3}, + {23,1,3028,3}, + {27,1,3031,3}, + {28,0,3034,3}, + {30,1,3037,3}, + {33,0,3040,3}, + {35,2,3043,3}, + {36,2,3046,3}, + {44,1,3049,3}, + {46,0,3052,4}, + {466,2,3056,3}, + {53,0,3059,4}, + {55,0,3063,3}, + {56,0,3066,3}, + {60,0,3069,4}, + {118,1,3073,3}, + {121,1,3076,3}, + {390,2,3079,3}, + {153,2,3082,3}, + {155,2,3085,3}, + {161,2,3088,3}, + {163,1,3091,3}, + {171,1,3094,3}, + {175,0,3097,3}, + {180,0,3100,3}, + {191,1,3103,3}, + {192,0,3106,3}, + {195,1,3109,3}, + {202,1,3112,3}, + {203,0,3115,3}, + {452,0,3118,3}, + {209,2,3121,3}, + {211,1,3124,3}, + {212,1,3127,3}, + {453,0,3130,3}, + {219,1,3133,3}, + {454,0,3136,3}, + {223,0,3139,3}, + {225,2,3142,3}, + {228,0,3145,4}, + {231,1,3149,3}, + {232,1,3152,3}, + {233,1,3155,3}, + {236,0,3158,3}, + {238,1,3161,3}, + {239,1,3164,3}, + {240,2,3167,3}, + {245,1,3170,3}, + {255,1,3173,3}, + {258,2,3176,3}, + {259,0,3179,3}, + {262,2,3182,3}, + {265,1,3185,3}, + {266,0,3188,3}, + {269,1,3191,3}, + {272,1,3194,3}, + {273,1,3197,3}, + {274,1,3200,3}, + {276,1,3203,3}, + {279,1,3206,3}, + {287,1,3209,3}, + {289,2,3212,3}, + {301,0,3215,3}, + {307,1,3218,3}, + {314,2,3221,3}, + {315,2,3224,3}, + {321,0,3227,3}, + {324,1,3230,3}, + {325,2,3233,3}, + {336,1,3236,3}, + {439,1,3239,3}, + {346,2,3242,3}, + {441,1,3245,3}, + {118,1,3248,3}, + {121,1,3251,3}, + {145,1,3254,3}, + {153,2,3257,3}, + {155,2,3260,3}, + {468,0,3263,3}, + {451,2,3266,3}, + {145,1,3269,3}, + {390,2,3272,3}, + {153,2,3275,3}, + {162,0,3278,3}, + {171,1,3281,3}, + {451,2,3284,3}, + {195,1,3287,3}, + {202,1,3290,3}, + {209,2,3293,3}, + {211,1,3296,3}, + {216,0,3299,3}, + {215,1,3302,3}, + {218,0,3305,3}, + {222,1,3308,3}, + {225,2,3311,3}, + {456,0,3314,3}, + {231,1,3317,3}, + {232,1,3320,3}, + {238,1,3323,3}, + {239,1,3326,3}, + {245,1,3329,3}, + {255,1,3332,3}, + {257,1,3335,3}, + {258,2,3338,3}, + {262,2,3341,3}, + {265,1,3344,3}, + {269,1,3347,3}, + {272,1,3350,3}, + {273,1,3353,3}, + {274,1,3356,3}, + {276,1,3359,3}, + {279,1,3362,3}, + {287,1,3365,3}, + {307,1,3368,3}, + {313,1,3371,3}, + {314,2,3374,3}, + {315,2,3377,3}, + {320,1,3380,3}, + {325,2,3383,3}, + {327,2,3386,3}, + {16,1,3389,3}, + {20,2,3392,3}, + {23,1,3395,3}, + {27,1,3398,3}, + {30,1,3401,3}, + {35,2,3404,3}, + {40,1,3407,3}, + {44,1,3410,3}, + {465,0,3413,3}, + {466,2,3416,3}, + {118,1,3419,3}, + {121,1,3422,3}, + {390,2,3425,3}, + {153,2,3428,3}, + {161,2,3431,3}, + {163,1,3434,3}, + {171,1,3437,3}, + {451,2,3440,3}, + {191,1,3443,3}, + {195,1,3446,3}, + {202,1,3449,3}, + {209,2,3452,3}, + {212,1,3455,3}, + {410,0,3458,3}, + {215,1,3461,3}, + {411,0,3464,3}, + {219,1,3467,3}, + {222,1,3470,3}, + {470,0,3473,3}, + {231,1,3476,3}, + {233,1,3479,3}, + {238,1,3482,3}, + {240,2,3485,3}, + {245,1,3488,3}, + {255,1,3491,3}, + {257,1,3494,3}, + {258,2,3497,3}, + {262,2,3500,3}, + {265,1,3503,3}, + {425,0,3506,3}, + {269,1,3509,3}, + {272,1,3512,3}, + {273,1,3515,3}, + {276,1,3518,3}, + {279,1,3521,3}, + {287,1,3524,3}, + {289,2,3527,3}, + {307,1,3530,3}, + {313,1,3533,3}, + {314,2,3536,3}, + {315,2,3539,3}, + {320,1,3542,3}, + {324,1,3545,3}, + {325,2,3548,3}, + {327,2,3551,3}, + {336,1,3554,3}, + {439,1,3557,3}, + {346,2,3560,3}, + {441,1,3563,3}, + {482,3,3566,3}, + {16,1,3569,3}, + {20,2,3572,3}, + {26,0,3575,3}, + {23,1,3578,3}, + {27,1,3581,3}, + {30,1,3584,3}, + {36,2,3587,3}, + {40,1,3590,3}, + {44,1,3593,3}, + {118,1,3596,3}, + {121,1,3599,3}, + {145,1,3602,3}, + {390,2,3605,3}, + {153,2,3608,3}, + {155,2,3611,3}, + {393,0,3614,4}, + {447,1,3618,3}, + {477,2,3621,3}, + {121,1,3624,3}, + {60,0,3627,4}, + {153,2,3631,3}, + {155,2,3634,3}, + {163,1,3637,3}, + {451,2,3640,3}, + {191,1,3643,3}, + {195,1,3646,3}, + {202,1,3649,3}, + {209,2,3652,3}, + {211,1,3655,3}, + {212,1,3658,3}, + {215,1,3661,3}, + {219,1,3664,3}, + {222,1,3667,3}, + {225,2,3670,3}, + {231,1,3673,3}, + {232,1,3676,3}, + {233,1,3679,3}, + {238,1,3682,3}, + {239,1,3685,3}, + {240,2,3688,3}, + {245,1,3691,3}, + {255,1,3694,3}, + {257,1,3697,3}, + {258,2,3700,3}, + {262,2,3703,3}, + {265,1,3706,3}, + {269,1,3709,3}, + {272,1,3712,3}, + {273,1,3715,3}, + {274,1,3718,3}, + {276,1,3721,3}, + {279,1,3724,3}, + {287,1,3727,3}, + {289,2,3730,3}, + {307,1,3733,3}, + {313,1,3736,3}, + {314,2,3739,3}, + {315,2,3742,3}, + {320,1,3745,3}, + {324,1,3748,3}, + {325,2,3751,3}, + {327,2,3754,3}, + {16,1,3757,3}, + {20,2,3760,3}, + {23,1,3763,3}, + {27,1,3766,3}, + {30,1,3769,3}, + {35,2,3772,3}, + {36,2,3775,3}, + {40,1,3778,3}, + {44,1,3781,3}, + {145,1,3784,3}, + {387,0,3787,3}, + {390,2,3790,3}, + {391,0,3793,3}, + {153,2,3796,3}, + {155,2,3799,3}, + {191,1,3802,3}, + {195,1,3805,3}, + {202,1,3808,3}, + {209,2,3811,3}, + {211,1,3814,3}, + {212,1,3817,3}, + {215,1,3820,3}, + {219,1,3823,3}, + {222,1,3826,3}, + {225,2,3829,3}, + {231,1,3832,3}, + {232,1,3835,3}, + {233,1,3838,3}, + {238,1,3841,3}, + {239,1,3844,3}, + {240,2,3847,3}, + {245,1,3850,3}, + {257,1,3853,3}, + {258,2,3856,3}, + {265,1,3859,3}, + {272,1,3862,3}, + {273,1,3865,3}, + {274,1,3868,3}, + {279,1,3871,3}, + {287,1,3874,3}, + {289,2,3877,3}, + {307,1,3880,3}, + {313,1,3883,3}, + {314,2,3886,3}, + {315,2,3889,3}, + {320,1,3892,3}, + {324,1,3895,3}, + {327,2,3898,3}, + {20,2,3901,3}, + {27,1,3904,3}, + {35,2,3907,3}, + {36,2,3910,3}, + {40,1,3913,3}, + {53,0,3916,4}, + {466,2,3920,3}, + {478,0,3923,3}, + {145,1,3926,3}, + {390,2,3929,3}, + {155,2,3932,3}, + {161,2,3935,3}, + {118,1,3938,3}, + {121,1,3941,3}, + {145,1,3944,3}, + {390,2,3947,3}, + {153,2,3950,3}, + {145,1,3953,3}, + {390,2,3956,3}, + {449,0,3959,4}, + {155,2,3963,3}, + {163,1,3966,3}, + {171,1,3969,3}, + {451,2,3972,3}, + {191,1,3975,3}, + {211,1,3978,3}, + {212,1,3981,3}, + {215,1,3984,3}, + {219,1,3987,3}, + {222,1,3990,3}, + {225,2,3993,3}, + {231,1,3996,3}, + {232,1,3999,3}, + {233,1,4002,3}, + {238,1,4005,3}, + {239,1,4008,3}, + {240,2,4011,3}, + {245,1,4014,3}, + {255,1,4017,3}, + {257,1,4020,3}, + {262,2,4023,3}, + {269,1,4026,3}, + {273,1,4029,3}, + {274,1,4032,3}, + {480,0,4035,3}, + {276,1,4038,3}, + {287,1,4041,3}, + {289,2,4044,3}, + {313,1,4047,3}, + {315,2,4050,3}, + {320,1,4053,3}, + {324,1,4056,3}, + {325,2,4059,3}, + {327,2,4062,3}, + {16,1,4065,3}, + {20,2,4068,3}, + {23,1,4071,3}, + {27,1,4074,3}, + {30,1,4077,3}, + {35,2,4080,3}, + {36,2,4083,3}, + {44,1,4086,3}, + {466,2,4089,3}, + {163,1,4092,3}, + {171,1,4095,3}, + {191,1,4098,3}, + {195,1,4101,3}, + {202,1,4104,3}, + {209,2,4107,3}, + {211,1,4110,3}, + {212,1,4113,3}, + {219,1,4116,3}, + {225,2,4119,3}, + {231,1,4122,3}, + {232,1,4125,3}, + {233,1,4128,3}, + {238,1,4131,3}, + {239,1,4134,3}, + {240,2,4137,3}, + {245,1,4140,3}, + {255,1,4143,3}, + {258,2,4146,3}, + {262,2,4149,3}, + {265,1,4152,3}, + {269,1,4155,3}, + {272,1,4158,3}, + {273,1,4161,3}, + {274,1,4164,3}, + {474,0,4167,3}, + {276,1,4170,3}, + {279,1,4173,3}, + {287,1,4176,3}, + {289,2,4179,3}, + {307,1,4182,3}, + {314,2,4185,3}, + {315,2,4188,3}, + {324,1,4191,3}, + {325,2,4194,3}, + {16,1,4197,3}, + {20,2,4200,3}, + {23,1,4203,3}, + {27,1,4206,3}, + {30,1,4209,3}, + {35,2,4212,3}, + {36,2,4215,3}, + {40,1,4218,3}, + {44,1,4221,3}, + {118,1,4224,3}, + {121,1,4227,3}, + {171,1,4230,3}, + {447,1,4233,3}, + {477,2,4236,3}, + {118,1,4239,3}, + {121,1,4242,3}, + {163,1,4245,3}, + {163,1,4248,3}, + {171,1,4251,3}, + {451,2,4254,3}, + {191,1,4257,3}, + {195,1,4260,3}, + {202,1,4263,3}, + {209,2,4266,3}, + {212,1,4269,3}, + {215,1,4272,3}, + {219,1,4275,3}, + {222,1,4278,3}, + {231,1,4281,3}, + {233,1,4284,3}, + {238,1,4287,3}, + {240,2,4290,3}, + {245,1,4293,3}, + {255,1,4296,3}, + {257,1,4299,3}, + {258,2,4302,3}, + {262,2,4305,3}, + {265,1,4308,3}, + {269,1,4311,3}, + {272,1,4314,3}, + {273,1,4317,3}, + {276,1,4320,3}, + {279,1,4323,3}, + {287,1,4326,3}, + {289,2,4329,3}, + {307,1,4332,3}, + {313,1,4335,3}, + {314,2,4338,3}, + {315,2,4341,3}, + {320,1,4344,3}, + {324,1,4347,3}, + {325,2,4350,3}, + {327,2,4353,3}, + {16,1,4356,3}, + {20,2,4359,3}, + {23,1,4362,3}, + {27,1,4365,3}, + {30,1,4368,3}, + {36,2,4371,3}, + {40,1,4374,3}, + {44,1,4377,3}, + {390,2,4380,3}, + {153,2,4383,3}, + {155,2,4386,3}, + {163,1,4389,3}, + {171,1,4392,3}, + {451,2,4395,3}, + {191,1,4398,3}, + {195,1,4401,3}, + {202,1,4404,3}, + {209,2,4407,3}, + {211,1,4410,3}, + {212,1,4413,3}, + {215,1,4416,3}, + {219,1,4419,3}, + {222,1,4422,3}, + {225,2,4425,3}, + {232,1,4428,3}, + {233,1,4431,3}, + {239,1,4434,3}, + {240,2,4437,3}, + {255,1,4440,3}, + {257,1,4443,3}, + {258,2,4446,3}, + {262,2,4449,3}, + {265,1,4452,3}, + {269,1,4455,3}, + {272,1,4458,3}, + {274,1,4461,3}, + {276,1,4464,3}, + {279,1,4467,3}, + {289,2,4470,3}, + {307,1,4473,3}, + {313,1,4476,3}, + {314,2,4479,3}, + {320,1,4482,3}, + {324,1,4485,3}, + {325,2,4488,3}, + {327,2,4491,3}, + {16,1,4494,3}, + {23,1,4497,3}, + {30,1,4500,3}, + {35,2,4503,3}, + {36,2,4506,3}, + {118,1,4509,3}, + {121,1,4512,3}, + {390,2,4515,3}, + {155,2,4518,3}, + {451,2,4521,3}, + {40,1,4524,3}, + {466,2,4527,3}, + {118,1,4530,3}, + {145,1,4533,3}, + {390,2,4536,3}, + {153,2,4539,3}, + {155,2,4542,3}, + {390,2,4545,3}, + {153,2,4548,3}, + {477,2,4551,3}, + {118,1,4554,3}, + {121,1,4557,3}, + {145,1,4560,3}, + {40,1,4563,3}, + {44,1,4566,3}, + {466,2,4569,3}, + {163,1,4572,3}, +}; + +static const unsigned short cal[NDAYS] = { + 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, + 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, + 64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79, + 80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95, + 96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111, + 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127, + 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, + 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159, + 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, + 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191, + 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207, + 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223, + 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, + 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255, + 256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271, + 272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287, + 288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303, + 304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319, + 320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335, + 336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351, + 352,353,354,355,356,357,358,359,360,361,362,363,364,0,1,2, + 4,365,5,7,8,9,10,366,367,368,369,370,371,372,373,374, + 375,376,377,378,379,380,381,382,383,384,385,386,387,32,388,389, + 390,391,392,393,394,395,396,397,398,399,400,401,402,63,64,65, + 66,403,68,69,70,71,72,73,404,75,76,405,78,79,80,406, + 82,407,84,85,86,87,408,89,90,91,77,93,94,409,96,97, + 83,99,100,101,410,103,104,105,106,107,108,109,110,111,112,113, + 114,115,411,117,412,119,120,413,414,415,124,125,126,127,128,416, + 417,131,132,418,134,135,419,420,138,139,140,141,142,143,421,422, + 146,147,423,149,424,425,152,426,154,427,156,157,428,159,429,430, + 431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446, + 447,448,449,450,451,452,453,454,455,456,457,174,458,459,460,461, + 179,462,463,464,183,465,466,467,468,469,470,471,472,473,474,475, + 476,477,478,479,480,481,482,483,484,485,205,486,487,488,489,490, + 491,492,493,494,495,496,217,497,498,499,500,501,502,503,504,226, + 505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520, + 521,522,523,524,525,526,527,250,528,529,530,531,532,256,533,534, + 535,536,537,538,539,540,541,542,543,544,545,546,271,547,548,549, + 550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565, + 566,567,568,569,570,571,572,573,574,300,575,576,577,304,305,578, + 579,580,581,582,583,312,584,585,586,587,588,589,590,591,592,593, + 594,595,596,597,598,599,600,601,602,603,604,335,605,606,338,339, + 607,608,341,343,344,345,609,610,611,349,612,350,351,352,613,614, + 355,356,357,358,359,615,616,362,363,364,0,1,4,3,365,5, + 8,9,10,617,12,13,14,15,618,17,619,19,620,21,621,622, + 623,624,24,381,28,625,626,31,627,33,32,628,629,630,631,632, + 633,41,63,64,65,66,634,68,69,70,71,72,73,635,52,76, + 405,78,79,80,636,82,407,84,85,86,87,637,89,90,91,92, + 93,94,638,96,97,98,99,77,101,639,103,104,105,106,107,108, + 109,110,111,112,113,114,115,640,83,412,641,120,413,414,642,124, + 125,126,127,128,129,643,131,132,644,134,135,136,645,138,139,140, + 646,142,143,647,122,146,147,648,149,424,649,152,426,154,427,133, + 157,650,159,55,56,57,58,59,651,61,62,652,653,654,655,656, + 150,657,658,659,660,661,662,663,160,664,162,665,164,666,166,167, + 168,667,170,668,669,670,671,175,174,672,178,673,674,179,182,675, + 184,183,676,187,188,189,190,677,192,678,194,679,196,680,198,199, + 681,201,682,203,683,684,685,686,206,687,210,688,689,690,691,692, + 216,693,218,217,220,694,695,500,696,697,698,699,226,229,230,700, + 701,702,703,704,236,513,705,706,707,708,709,243,244,710,246,711, + 248,712,713,251,250,253,254,714,715,716,256,717,718,261,719,720, + 721,539,266,722,268,723,724,725,726,271,727,728,729,730,731,732, + 280,733,282,283,734,285,286,735,288,736,737,738,290,293,294,295, + 296,297,739,299,740,301,300,303,741,742,304,305,308,743,310,311, + 744,745,312,746,747,748,318,749,750,321,751,323,752,753,754,755, + 328,756,330,331,332,757,334,604,605,337,758,339,759,760,761,341, + 344,345,609,762,763,764,612,765,350,351,766,353,614,355,356,357, + 358,767,360,616,362,363,364,0,4,2,3,365,5,9,10,11, + 367,368,369,370,371,768,18,769,375,770,377,771,772,25,773,24, + 381,384,774,775,776,777,388,32,778,779,780,39,394,781,396,782, + 398,783,46,784,402,785,786,787,788,53,789,52,790,791,792,793, + 60,794,795,63,64,65,66,67,68,69,70,71,72,73,74,75, + 76,405,78,79,80,81,77,407,84,85,86,83,88,89,90,91, + 92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107, + 108,109,110,111,112,113,114,115,116,117,416,119,120,413,796,123, + 124,797,122,127,128,129,130,131,132,644,134,135,136,137,138,139, + 140,141,142,143,144,422,146,147,148,798,424,151,152,426,150,799, + 156,800,158,159,436,801,802,803,440,165,442,804,444,169,805,447, + 806,449,450,807,452,177,174,172,456,457,808,179,459,460,809,183, + 462,463,464,810,465,186,467,811,469,470,471,812,193,474,475,813, + 477,478,814,200,481,205,206,484,485,815,207,816,817,818,490,819, + 820,217,494,821,496,500,822,823,221,824,226,502,503,825,826,228, + 827,828,508,513,829,830,235,831,832,515,833,834,835,242,520,521, + 522,836,250,525,249,527,837,838,256,839,840,841,842,843,844,539, + 536,845,263,846,540,847,542,271,848,270,849,850,851,852,853,854, + 277,552,553,855,555,556,557,284,559,856,290,857,563,858,291,566, + 567,568,569,570,300,298,573,574,304,305,576,859,860,861,578,862, + 312,863,864,865,866,867,868,869,870,588,319,590,871,872,593,873, + 874,326,597,875,599,604,601,602,333,334,335,605,876,341,339,340, + 760,342,877,878,345,609,347,351,352,353,614,355,356,354,358,359, + 360,616,362,363,361,0,1,2,3,365,5,366,12,13,14,15, + 618,17,373,19,620,879,22,622,623,380,26,880,881,24,381,31, + 387,33,34,882,629,32,38,393,883,884,42,43,885,886,400,47, + 48,63,64,65,66,403,68,69,70,52,72,73,404,75,76,405, + 78,79,80,406,82,407,84,85,86,87,408,89,90,91,92,93, + 94,409,77,97,98,99,100,101,410,103,104,105,106,107,108,109, + 110,111,112,113,114,115,411,83,412,887,120,413,414,415,124,125, + 126,127,128,129,417,131,132,416,134,135,136,420,138,139,888,122, + 142,143,421,422,146,147,423,149,424,425,133,426,154,427,156,157, + 428,159,55,56,57,58,889,434,61,62,890,438,891,655,892,893, + 894,658,895,446,896,441,897,160,898,162,899,164,448,166,167,168, + 900,170,668,174,173,671,175,901,179,178,461,180,183,182,675,184, + 185,466,187,188,902,190,677,192,473,194,679,196,197,198,199,480, + 201,682,205,206,684,685,486,208,903,904,905,689,906,493,217,216, + 907,218,500,908,499,695,909,226,697,698,227,505,910,911,912,701, + 513,234,512,913,914,915,706,916,241,519,917,244,710,246,247,250, + 526,713,251,252,918,256,919,532,920,921,259,922,539,719,538,264, + 923,266,924,268,271,545,925,926,927,928,275,929,551,278,732,280, + 281,282,283,558,930,286,931,290,932,737,565,292,293,294,295,296, + 297,572,299,740,301,304,305,741,933,306,934,308,309,312,935,583, + 936,937,938,316,317,939,589,750,321,940,941,752,942,596,943,328, + 329,330,604,332,603,944,335,605,337,945,341,607,760,342,343,946, + 947,609,610,350,351,352,353,614,355,613,357,358,359,360,616,362, + 615,364,0,1,2,3,365,5,948,6,7,8,9,10,617,367, + 368,369,949,371,768,619,950,375,770,951,24,381,624,952,382,953, + 954,385,32,627,955,956,957,778,779,392,632,394,781,396,958,398, + 783,959,401,402,785,786,52,960,961,789,962,963,791,792,793,964, + 794,795,63,64,65,66,634,68,69,70,71,72,73,635,75,77, + 405,78,79,80,636,83,407,84,85,86,87,637,89,90,91,92, + 93,94,638,96,97,98,99,100,101,639,103,104,105,106,107,108, + 109,110,111,112,113,114,115,640,965,412,119,966,122,414,642,124, + 125,126,127,128,129,643,131,133,644,134,135,136,645,138,139,140, + 141,142,143,647,422,146,147,648,150,967,649,968,426,969,427,156, + 157,650,159,970,444,971,805,447,651,449,450,451,653,972,454,669, + 174,457,973,458,660,179,673,974,462,183,464,810,465,676,467,468, + 469,975,471,976,678,977,475,813,477,478,479,681,978,482,979,205, + 206,980,686,981,488,982,983,984,820,691,494,217,496,985,497,500, + 694,986,987,988,226,825,826,989,506,990,991,992,829,513,704,993, + 994,995,996,834,835,709,520,997,522,836,524,525,712,527,837,528, + 529,998,256,715,999,843,1000,535,1001,539,720,1002,540,1003,542,1004, + 544,724,1005,1006,1007,852,1008,550,730,1009,553,855,555,556,557,734, + 559,1010,561,1011,290,858,738,566,567,568,569,570,571,739,300,574, + 1012,575,304,305,742,1013,578,862,580,581,312,744,1014,1015,868,869, + 587,588,749,590,1016,592,1017,1018,874,754,597,875,599,600,601,604, + 757,334,1019,605,337,338,1020,759,341,342,343,344,1021,1022,762,348, + 350,351,352,353,614,766,356,357,358,359,360,616,767,363,364,0, + 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32, + 33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48, + 49,50,51,52,53,54,55,63,64,65,66,67,68,69,70,71, + 72,73,74,75,76,405,78,79,80,81,82,407,77,85,86,87, + 88,89,83,91,92,93,94,95,96,97,98,99,100,101,102,103, + 104,105,106,107,108,109,110,111,112,113,114,115,116,117,412,119, + 120,416,414,123,124,1023,126,127,1024,122,130,131,132,644,134,135, + 136,137,138,139,133,141,142,143,144,422,146,147,148,149,424,151, + 1025,426,154,427,156,150,158,159,1026,658,1027,1028,661,165,663,160, + 161,169,163,164,806,166,167,168,667,177,668,172,173,174,175,176, + 672,1029,179,180,181,182,183,184,185,186,187,188,189,190,191,192, + 193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208, + 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224, + 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240, + 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256, + 257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272, + 273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288, + 289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304, + 305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320, + 321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336, + 337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352, + 353,354,355,356,357,358,359,360,361,362,363,364,0,1,2,4, + 365,5,7,8,9,10,366,367,368,369,370,371,372,373,374,375, + 376,377,378,379,380,381,382,383,384,385,386,387,32,388,389,390, + 391,392,393,394,395,63,64,65,66,403,68,69,70,71,72,73, + 404,75,76,405,78,79,80,406,82,407,84,85,86,87,408,89, + 90,91,92,93,94,409,96,97,98,99,77,101,410,103,104,105, + 106,107,108,109,110,111,112,113,114,115,411,83,412,641,120,413, + 414,415,124,125,126,127,128,129,417,131,132,644,134,135,136,420, + 138,139,140,646,142,143,421,122,146,147,423,149,424,425,152,426, + 154,427,133,157,428,159,962,963,791,792,793,434,794,795,1030,438, + 432,433,892,150,1031,801,1032,446,440,441,442,443,444,1033,665,447, + 448,449,450,451,452,453,454,455,1034,457,973,174,459,460,461,1035, + 179,463,464,810,183,466,467,468,469,470,471,976,473,474,475,813, + 1036,478,479,480,481,482,979,1037,485,980,486,206,488,818,1038,984, + 1039,493,494,1040,1041,1042,217,823,499,986,500,1043,503,825,1044,226, + 506,507,508,1045,1046,1047,512,993,513,515,833,1048,1049,519,520,521, + 522,836,1050,525,526,527,837,250,529,530,531,532,1051,256,1052,1053, + 536,537,538,1054,539,1003,1055,543,544,545,1056,850,271,1057,1058,1059, + 551,1060,553,855,1061,556,557,558,559,560,561,857,1062,858,565,290, + 567,568,569,570,571,572,573,574,1012,300,576,577,933,304,305,862, + 1063,581,582,583,866,312,1064,1065,1066,588,589,590,1016,1067,593,594, + 874,596,1068,875,1069,600,601,602,603,334,604,605,337,758,339,607, + 760,761,341,344,345,609,610,763,764,612,765,350,351,613,353,614, + 355,356,357,358,615,360,616,362,363,364,0,4,2,3,365,5, + 9,10,617,12,13,14,15,618,17,619,1070,620,21,22,1071,623, + 624,1072,24,381,29,1073,31,627,1074,34,32,629,37,1075,632,633, + 41,42,1076,885,45,959,1077,48,49,50,51,1078,961,54,52,1079, + 57,58,59,964,61,62,63,64,65,66,634,68,69,70,71,72, + 73,635,75,76,405,78,79,77,636,82,407,84,85,83,87,637, + 89,90,91,92,93,94,638,96,97,98,99,100,101,639,103,104, + 105,106,107,108,109,110,111,112,113,114,115,640,416,412,119,120, + 1080,414,642,1081,122,126,127,128,129,643,131,132,644,134,135,133, + 645,138,139,140,141,142,143,647,422,146,147,648,149,424,649,152, + 150,1082,427,1083,157,650,159,160,664,162,899,1084,651,1085,167,168, + 653,170,668,669,173,1086,175,174,660,896,673,180,1087,179,675,184, + 185,676,187,188,189,190,677,192,678,1088,679,196,197,1089,199,681, + 201,682,203,204,1090,685,686,205,206,210,905,1091,213,691,1092,216, + 1093,1094,1095,217,694,1096,223,500,1097,698,227,989,226,230,700,701, + 1098,1099,704,1100,237,513,706,916,1101,709,1102,244,710,246,247,1103, + 712,713,251,252,250,254,714,715,920,1104,256,1105,1106,719,720,264, + 1107,539,267,1108,723,724,1109,1110,927,271,1111,1112,730,278,1113,280, + 281,1114,283,734,285,286,735,288,932,1115,738,1116,290,294,295,296, + 297,739,299,740,301,302,300,741,742,306,304,305,309,1117,311,744, + 745,937,312,1118,1119,1120,749,750,321,322,1121,752,753,754,1122,1123, + 329,1124,331,332,757,334,335,604,337,338,1125,759,760,342,1126,341, + 345,609,762,348,1127,1128,765,1129,350,766,352,353,614,355,356,357, + 358,359,360,616,362,767,364,0,1,2,3,365,5,10,11,367, + 368,369,370,371,768,18,374,1130,770,377,378,1131,25,1132,1133,24, + 381,385,1134,776,955,1135,389,32,779,392,39,1136,781,396,397,1137, + 783,46,401,1138,785,786,787,788,53,789,962,63,64,65,66,67, + 68,69,70,71,72,73,74,75,76,405,78,79,80,81,82,407, + 84,85,86,87,88,77,90,91,92,93,83,95,96,97,98,99, + 100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115, + 116,117,412,119,120,413,414,123,124,416,126,127,128,1139,130,131, + 1140,122,134,135,136,137,138,139,140,141,142,143,144,422,146,147, + 148,149,424,151,152,426,154,427,1141,157,158,159,795,150,1142,432, + 1143,165,1144,436,801,169,803,440,1145,442,804,444,1033,177,896,806, + 449,450,807,452,453,174,172,456,457,808,179,459,460,809,183,462, + 463,464,810,465,186,467,811,469,470,471,812,193,474,475,813,477, + 478,814,200,481,205,206,484,485,815,207,816,817,818,490,819,820, + 217,494,821,496,500,822,823,221,824,226,502,503,825,826,228,827, + 828,508,513,829,830,235,831,832,515,833,834,835,242,520,521,522, + 836,250,525,249,527,837,838,256,839,840,841,842,843,844,539,536, + 845,263,846,540,847,542,271,848,270,849,850,851,852,853,854,277, + 552,553,855,555,556,557,284,559,856,290,857,563,858,291,566,567, + 568,569,570,300,298,573,574,304,305,576,859,860,861,578,862,312, + 863,864,865,866,867,868,869,870,588,319,590,871,872,593,873,874, + 326,597,875,599,604,601,602,333,334,335,605,876,341,339,340,760, + 342,877,878,345,609,347,351,352,353,614,355,356,354,358,359,360, + 616,362,363,361,0,1,2,3,365,5,366,12,13,14,15,618, + 17,373,19,620,879,22,622,623,380,26,880,881,24,381,31,387, + 33,34,882,629,32,38,393,883,884,63,64,65,66,403,68,69, + 70,71,72,73,404,75,76,405,52,79,80,406,82,407,84,85, + 86,87,408,89,90,91,92,93,94,409,96,97,98,99,100,77, + 410,103,104,105,106,107,108,109,110,111,112,113,114,115,411,83, + 412,119,120,413,1146,415,124,125,1147,127,128,129,417,131,132,644, + 134,135,136,420,138,139,416,141,142,143,421,422,146,1148,423,149, + 424,425,152,426,154,427,156,157,428,133,48,49,50,51,1078,434, + 54,55,56,438,58,889,1149,61,62,890,150,446,896,892,893,894, + 658,895,1028,661,441,897,160,898,162,899,164,448,166,167,168,900, + 170,668,174,173,671,175,901,179,178,461,180,183,182,675,184,185, + 466,187,188,902,190,677,192,473,194,679,196,197,198,199,480,201, + 682,205,206,684,685,486,208,903,904,905,689,906,493,217,216,907, + 218,500,908,499,695,909,226,697,698,227,505,910,911,912,701,513, + 234,512,913,914,915,706,916,241,519,917,244,710,246,247,250,526, + 713,251,252,918,256,919,532,920,921,259,922,539,719,538,264,923, + 266,924,268,271,545,925,926,927,928,275,929,551,278,732,280,281, + 282,283,558,930,286,931,290,932,737,565,292,293,294,295,296,297, + 572,299,740,301,304,305,741,933,306,934,308,309,312,935,583,936, + 937,938,316,317,939,589,750,321,940,941,752,942,596,943,328,329, + 330,604,332,603,944,335,605,337,945,341,607,760,342,343,946,947, + 609,610,350,351,352,353,614,355,613,357,358,359,360,616,362,615, + 364,0,1,2,3,365,5,948,6,7,8,9,10,617,367,368, + 369,949,371,768,619,950,375,770,951,24,381,624,952,382,953,954, + 385,32,627,955,956,957,778,779,392,632,394,781,396,958,398,783, + 959,401,402,785,786,52,960,961,789,962,63,64,65,66,634,68, + 69,70,71,72,73,635,75,76,405,78,79,80,636,82,407,77, + 85,86,87,637,89,83,91,92,93,94,638,96,97,98,99,100, + 101,639,103,104,105,106,107,108,109,110,111,112,113,114,115,640, + 117,412,119,120,416,414,642,124,1023,126,127,1024,122,643,131,132, + 644,134,135,136,645,138,139,133,141,142,143,647,422,146,147,648, + 149,424,649,1025,426,154,427,156,150,650,159,1150,801,1151,803,440, + 651,442,443,161,653,1152,447,666,449,450,451,452,660,454,669,456, + 174,973,458,459,1153,179,974,462,463,183,810,465,676,467,468,469, + 470,1154,976,678,474,1155,813,477,478,479,681,481,1156,979,484,205, + 206,686,487,1157,818,1158,1159,820,691,1160,1040,217,1042,1161,823,694, + 1162,987,502,1163,226,826,989,506,507,1164,1165,1166,830,704,993,514, + 1167,1168,1169,835,709,520,521,1170,836,524,525,712,250,837,528,529, + 530,1171,256,1172,1173,1000,535,536,1174,720,846,1175,1003,542,543,1176, + 724,271,1177,1178,1179,853,1180,730,552,1181,855,555,556,557,734,559, + 560,1182,857,1183,290,738,566,567,568,569,570,571,739,573,300,1012, + 575,576,304,305,861,1184,862,580,581,582,312,1185,1186,1187,869,587, + 588,749,1188,1016,592,593,1189,1190,754,1191,875,599,600,601,602,757, + 334,335,336,337,338,339,759,341,342,343,344,345,346,762,348,349, + 350,351,352,353,766,355,356,357,358,359,360,767,362,363,364,0, + 1,2,4,365,5,7,8,9,10,11,12,13,14,15,618,1192, + 18,19,620,1193,22,622,1194,25,381,880,1195,29,626,1196,776,32, + 34,628,1197,1198,38,39,633,1199,42,43,885,1200,46,47,48,63, + 64,65,66,67,68,69,70,71,72,73,74,75,76,405,78,79, + 80,81,82,407,84,85,86,87,88,89,90,91,77,93,94,95, + 96,97,83,99,100,101,102,103,104,105,106,107,108,109,110,111, + 112,113,114,115,116,117,412,119,120,413,414,123,124,125,126,127, + 128,416,130,131,132,418,134,135,419,137,138,139,140,141,142,143, + 144,422,146,147,148,149,424,151,152,426,154,427,156,157,158,159, + 1201,890,1202,654,655,165,1203,1204,1205,169,1206,661,1145,663,160,664, + 445,177,164,806,166,167,168,667,170,668,172,173,671,174,176,672, + 178,809,179,181,182,675,183,185,186,187,188,189,190,677,1207,193, + 194,679,1208,197,198,199,200,201,682,1209,204,684,205,207,208,687, + 1210,905,1211,1212,214,692,1213,1093,217,1095,1214,221,500,1215,224,697, + 1216,226,228,229,230,700,1217,1218,1219,235,513,237,705,1220,1221,1222, + 242,243,244,710,1223,247,248,249,713,250,252,253,254,714,841,256, + 1224,1225,260,261,719,263,539,923,1226,267,268,723,270,1109,271,1227, + 1228,1229,929,277,278,732,1230,281,282,283,284,285,286,735,1231,932, + 1232,291,292,293,294,295,296,297,298,299,740,300,302,303,741,304, + 305,934,1233,309,310,311,865,312,1234,1235,1236,317,318,319,750,1237, + 322,323,752,1238,326,943,1239,329,330,331,332,333,604,335,605,606, + 338,339,340,608,341,343,344,345,609,347,611,349,612,350,351,352, + 354,614,355,356,357,358,359,361,616,362,363,364,0,1,4,3, + 365,5,8,9,10,366,367,368,369,370,371,768,373,374,375,770, + 1240,378,772,380,24,381,953,1241,385,775,387,955,32,389,778,1242, + 1243,393,394,781,1244,397,398,783,400,401,402,785,786,787,788,1245, + 52,1246,963,791,792,793,1149,794,795,430,431,432,433,892,1247,436, + 63,64,65,66,403,68,69,70,71,77,73,404,75,76,405,83, + 79,80,406,82,407,84,85,86,87,408,89,90,91,92,93,94, + 409,96,97,98,99,100,101,410,103,104,105,106,107,108,109,110, + 111,112,113,114,115,411,122,412,119,120,413,414,415,124,125,126, + 127,133,129,417,131,132,644,134,135,136,420,138,139,1248,141,142, + 143,421,150,1249,147,423,149,1250,425,152,426,154,427,1251,157,428, + 159,450,451,452,453,454,434,1034,457,174,438,459,460,461,1035,179, + 463,464,446,183,466,467,468,469,470,471,976,473,474,475,813,1036, + 478,479,480,481,482,979,1037,485,980,486,206,488,818,1038,984,1039, + 493,494,1040,1041,1042,217,823,499,986,500,1043,503,825,1044,226,506, + 507,508,1045,1046,1047,512,993,513,515,833,1048,1049,519,520,521,522, + 836,1050,525,526,527,837,250,529,530,531,532,1051,256,1052,1053,536, + 537,538,1054,539,1003,1055,543,544,545,1056,850,271,1057,1058,1059,551, + 1060,553,855,1061,556,557,558,559,560,561,857,1062,858,565,290,567, + 568,569,570,571,572,573,574,1012,300,576,577,933,304,305,862,1063, + 581,582,583,866,312,1064,1065,1066,588,589,590,1016,1067,593,594,874, + 596,1068,875,1069,600,601,602,603,334,604,605,337,758,339,607,760, + 761,341,344,345,609,610,763,764,612,765,350,351,613,353,614,355, + 356,357,358,615,360,616,362,363,364,0,4,2,3,365,5,9, + 10,617,12,13,14,15,618,17,619,1070,620,21,22,1071,623,624, + 1072,24,381,29,1073,31,627,1074,34,32,629,37,1075,632,633,41, + 42,1076,885,45,959,1077,48,49,50,51,1078,961,54,52,63,64, + 65,66,634,68,69,70,71,72,73,635,75,76,405,78,79,80, + 636,82,407,84,85,86,77,637,89,90,91,92,83,94,638,96, + 97,98,99,100,101,639,103,104,105,106,107,108,109,110,111,112, + 113,114,115,640,117,412,119,120,413,414,642,416,125,126,127,1252, + 129,643,1253,122,644,134,135,136,645,138,139,140,141,142,133,647, + 422,146,147,648,149,424,649,152,426,154,1254,156,157,650,159,150, + 1255,895,1256,661,651,663,160,664,653,899,1084,666,1085,167,168,667, + 660,896,669,173,1086,175,176,174,178,673,180,1087,179,675,184,185, + 676,187,188,189,190,677,192,678,1088,679,196,197,1089,199,681,201, + 682,203,204,1090,685,686,205,206,210,905,1091,213,691,1092,216,1093, + 1094,1095,217,694,1096,223,500,1097,698,227,989,226,230,700,701,1098, + 1099,704,1100,237,513,706,916,1101,709,1102,244,710,246,247,1103,712, + 713,251,252,250,254,714,715,920,1104,256,1105,1106,719,720,264,1107, + 539,267,1108,723,724,1109,1110,927,271,1111,1112,730,278,1113,280,281, + 1114,283,734,285,286,735,288,932,1115,738,1116,290,294,295,296,297, + 739,299,740,301,302,300,741,742,306,304,305,309,1117,311,744,745, + 937,312,1118,1119,1120,749,750,321,322,1121,752,753,754,1122,1123,329, + 1124,331,332,757,334,335,604,337,338,1125,759,760,342,1126,341,345, + 609,762,348,1127,1128,765,1129,350,766,352,353,614,355,356,357,358, + 359,360,616,362,767,364,0,1,2,3,365,5,10,11,367,368, + 369,370,371,768,18,374,1130,770,377,378,1131,25,1132,1133,24,381, + 385,1134,776,955,1135,389,32,779,392,39,1136,781,396,397,1137,783, + 46,401,1138,63,64,65,66,67,68,69,52,71,72,73,74,75, + 76,405,78,79,80,81,82,407,84,85,86,87,88,89,90,91, + 92,93,94,95,77,97,98,99,100,101,102,103,104,105,106,107, + 108,109,110,111,112,113,114,115,116,83,412,887,120,413,414,123, + 124,125,126,127,128,129,130,131,132,416,134,135,136,137,138,139, + 888,122,142,143,144,422,146,147,148,149,424,151,133,426,154,427, + 156,157,158,159,962,963,791,792,1257,165,794,795,430,169,1258,433, + 1259,1247,1260,801,802,177,896,1145,897,443,1261,1033,805,447,806,449, + 450,451,1262,453,454,174,456,457,973,1263,179,460,809,974,183,463, + 464,810,465,186,467,468,1264,470,471,976,193,474,475,813,477,478, + 479,200,481,482,205,206,485,980,207,487,1265,1266,490,984,1267,214, + 217,1040,1268,1042,500,1269,221,986,1270,226,503,825,826,228,1271,1272, + 1273,1045,513,830,235,1274,1275,1276,833,834,835,242,1277,521,522,836, + 524,250,249,527,837,528,1278,256,1279,841,842,843,1000,1280,539,537, + 263,846,540,1003,1281,543,271,270,1282,1283,1284,1285,853,550,277,552, + 553,855,555,556,557,284,1286,560,1287,290,563,858,291,566,567,568, + 569,570,571,298,573,574,1012,304,305,577,860,861,578,862,580,312, + 1288,865,1289,867,868,869,587,1290,319,590,1016,1291,1292,594,1293,326, + 597,875,599,600,604,602,333,944,335,605,337,945,341,340,760,342, + 343,946,947,609,347,350,351,352,353,614,355,354,357,358,359,360, + 616,362,361,364,0,1,2,3,365,5,948,6,7,8,9,10, + 366,12,13,14,1294,618,17,373,1295,620,21,1296,24,381,380,1297, + 880,28,1298,626,32,387,33,1299,1300,629,37,38,393,633,41,42, + 1301,885,45,400,47,48,49,50,52,1302,1245,54,55,56,57,58, + 59,1149,61,62,63,64,65,66,403,68,69,70,71,72,73,404, + 75,77,405,78,79,80,406,83,407,84,85,86,87,408,89,90, + 91,92,93,94,409,96,97,98,99,100,101,410,103,104,105,106, + 107,108,109,110,111,112,113,114,115,411,965,412,119,966,122,414, + 415,124,125,126,127,128,129,417,131,133,644,134,135,136,420,138, + 139,140,141,142,143,421,422,146,147,423,150,967,425,968,426,969, + 427,156,157,428,159,970,664,1303,899,164,434,166,167,168,438,1304, + 668,455,174,671,175,176,446,179,461,180,181,183,675,184,185,466, + 187,188,189,1305,677,192,473,1306,679,196,197,198,199,480,1307,682, + 203,205,206,685,486,1308,687,1309,1310,689,213,493,692,217,1093,1311, + 1095,500,499,695,223,1312,226,698,227,505,229,1313,1314,1315,1098,513, + 512,236,1316,1317,1318,916,241,519,243,1319,710,246,247,248,526,713, + 251,252,253,1320,256,532,1321,921,259,260,1322,539,538,1323,923,266, + 267,1324,723,545,1325,1326,1327,1328,1329,929,551,1330,732,280,281,282, + 283,558,285,1331,735,1332,290,737,565,292,293,294,295,296,297,572, + 300,740,301,302,304,305,933,1333,934,308,309,310,312,583,1334,1335, + 938,316,317,318,589,750,321,322,1336,1337,753,596,943,328,329,330, + 331,604,603,334,1019,605,337,338,1020,607,341,342,343,344,1021,1022, + 610,348,350,351,352,353,614,613,356,357,358,359,360,616,615,363, + 364,0,1,2,3,4,5,6,7,8,9,10,617,367,368,369, + 370,1338,768,619,374,1339,770,377,1340,24,624,1132,1341,953,384,1342, + 775,32,955,388,1343,1344,779,392,632,1345,781,396,397,1346,783,959, + 401,402,63,64,65,52,634,68,69,70,71,72,73,635,75,76, + 405,78,79,80,636,82,407,84,85,86,87,637,89,90,77,92, + 93,94,638,96,83,98,99,100,101,639,103,104,105,106,107,108, + 109,110,111,112,113,114,115,640,117,412,119,120,413,414,642,124, + 125,126,127,416,129,643,131,1347,644,134,1348,122,645,138,139,140, + 141,142,143,647,422,146,133,648,149,424,649,152,426,154,427,156, + 157,650,159,795,430,431,432,150,651,1247,1150,801,653,803,440,662, + 442,443,161,1033,660,896,666,449,450,451,452,453,1349,669,456,174, + 973,458,459,1153,179,974,462,463,183,810,465,676,467,468,469,470, + 1154,976,678,474,1155,813,477,478,479,681,481,1156,979,484,205,206, + 686,487,1157,818,1158,1159,820,691,1160,1040,217,1042,1161,823,694,1162, + 987,502,1163,226,826,989,506,507,1164,1165,1166,830,704,993,514,1167, + 1168,1169,835,709,520,521,1170,836,524,525,712,250,837,528,529,530, + 1171,256,1172,1173,1000,535,536,1174,720,846,1175,1003,542,543,1176,724, + 271,1177,1178,1179,853,1180,730,552,1181,855,555,556,557,734,559,560, + 1182,857,1183,290,738,566,567,568,569,570,571,739,573,300,1012,575, + 576,304,305,861,1184,862,580,581,582,312,1185,1186,1187,869,587,588, + 749,1188,1016,592,593,1189,1190,754,1191,875,599,600,601,602,757,334, + 335,336,337,338,339,759,341,342,343,344,345,346,762,348,349,350, + 351,352,353,766,355,356,357,358,359,360,767,362,363,364,0,1, + 2,4,365,5,7,8,9,10,11,12,13,14,15,618,1192,18, + 19,620,1193,22,622,1194,25,381,880,1195,29,626,1196,776,32,34, + 628,1197,1198,38,39,633,1199,63,64,65,66,67,68,69,70,71, + 72,73,74,75,76,405,78,79,80,81,82,407,84,85,86,87, + 88,89,90,91,92,93,94,95,96,97,98,77,100,101,102,103, + 104,105,106,107,108,109,110,111,112,113,114,115,116,83,1350,119, + 120,413,1351,123,124,125,126,127,128,129,130,131,132,644,134,135, + 416,137,138,139,1352,141,142,1353,144,422,146,147,148,149,424,151, + 152,426,154,133,156,157,158,159,55,56,57,58,59,165,61,1201, + 890,169,654,655,1259,1203,1204,1205,895,177,896,1145,663,160,664,445, + 899,1354,806,166,167,168,667,170,668,172,173,671,174,176,672,178, + 809,179,181,182,675,183,185,186,187,188,189,190,677,1207,193,194, + 679,1208,197,198,199,200,201,682,1209,204,684,205,207,208,687,1210, + 905,1211,1212,214,692,1213,1093,217,1095,1214,221,500,1215,224,697,1216, + 226,228,229,230,700,1217,1218,1219,235,513,237,705,1220,1221,1222,242, + 243,244,710,1223,247,248,249,713,250,252,253,254,714,841,256,1224, + 1225,260,261,719,263,539,923,1226,267,268,723,270,1109,271,1227,1228, + 1229,929,277,278,732,1230,281,282,283,284,285,286,735,1231,932,1232, + 291,292,293,294,295,296,297,298,299,740,300,302,303,741,304,305, + 934,1233,309,310,311,865,312,1234,1235,1236,317,318,319,750,1237,322, + 323,752,1238,326,943,1239,329,330,331,332,333,604,335,605,606,338, + 339,340,608,341,343,344,345,609,347,611,349,612,350,351,352,354, + 614,355,356,357,358,359,361,616,362,363,364,0,1,4,3,365, + 5,8,9,10,366,367,368,369,370,371,768,373,374,375,770,1240, + 378,772,380,24,381,953,1241,385,775,387,955,32,389,778,1242,1243, + 393,394,781,1244,397,398,783,400,401,402,785,786,787,788,1245,52, + 1246,963,791,792,793,1149,794,795,63,64,65,66,403,68,69,70, + 71,72,73,404,75,76,405,78,79,77,406,82,407,84,85,83, + 87,408,89,90,91,92,93,94,409,96,97,98,99,100,101,410, + 103,104,105,106,107,108,109,110,111,112,113,114,115,411,416,412, + 119,120,1080,414,415,1081,122,126,127,128,129,417,131,132,644,134, + 135,133,420,138,139,140,141,142,143,421,422,146,147,423,149,424, + 425,152,150,1082,427,1083,157,428,159,443,444,1033,805,1084,434,1355, + 450,451,438,453,454,455,456,1356,973,174,446,896,461,974,1357,179, + 464,810,465,466,467,468,469,470,471,976,473,1358,475,813,477,1359, + 479,480,481,482,979,484,1360,980,486,205,206,818,490,1361,820,493, + 1362,1040,496,1363,497,217,499,1364,987,500,1365,825,826,505,226,507, + 508,1045,829,1366,512,1367,514,513,833,834,1368,519,1369,521,522,836, + 524,1370,526,527,837,528,250,530,531,532,842,1371,256,1372,1373,537, + 538,846,1374,539,542,1375,544,545,546,1376,1284,271,1377,1378,551,552, + 1379,855,555,1380,557,558,559,560,561,857,563,1381,565,1382,290,568, + 569,570,571,572,573,574,1012,575,300,577,933,861,304,305,580,1383, + 582,583,866,867,312,1384,1385,1386,589,590,1016,592,1387,594,874,596, + 1388,1389,599,1390,601,602,603,334,335,604,337,338,1125,607,760,342, + 1126,341,345,609,610,348,1127,1128,765,1129,350,613,352,353,614,355, + 356,357,358,359,360,616,362,615,364,0,1,2,3,365,5,10, + 617,12,13,14,15,618,17,619,19,1391,21,22,622,1392,624,26, + 1393,24,381,626,1394,627,33,1395,628,32,37,38,632,1396,41,42, + 43,1397,45,959,47,1398,49,50,51,1078,961,54,55,63,64,65, + 66,634,68,69,70,71,72,73,635,75,76,405,78,79,80,636, + 82,407,84,85,86,87,637,77,90,91,92,93,83,638,96,97, + 98,99,100,101,639,103,104,105,106,107,108,109,110,111,112,113, + 114,115,640,117,412,119,120,413,414,642,124,416,126,127,128,1139, + 643,131,1140,122,134,135,136,645,138,139,140,141,142,143,647,422, + 146,147,648,149,424,649,152,426,154,427,1141,157,650,159,62,150, + 1399,654,1400,651,1401,1204,658,653,1028,661,662,663,1402,664,162,660, + 896,666,166,167,1403,667,170,174,669,173,671,1404,179,672,178,673, + 183,181,182,675,184,185,676,187,1405,189,190,677,1406,678,194,679, + 196,197,198,1407,681,201,205,206,204,684,1408,686,1409,1410,210,905, + 1411,213,217,692,1412,1093,500,1413,220,694,1414,226,224,697,698,227, + 989,1415,1416,700,513,1098,234,704,1417,1418,705,706,916,241,709,243, + 244,710,246,250,248,712,713,251,1419,256,1420,1421,715,920,921,1422, + 539,261,1423,720,264,923,1424,267,271,1425,724,1426,726,1427,1328,275, + 1428,730,278,732,280,281,282,283,734,285,1429,290,288,932,737,738, + 292,293,294,295,296,300,739,299,740,304,305,303,1430,742,306,934, + 308,312,1431,1432,744,745,937,938,316,1433,318,749,750,1434,1435,323, + 1436,753,754,943,328,329,604,331,332,757,334,335,605,876,341,339, + 759,760,342,877,878,345,609,762,351,352,353,614,355,356,766,358, + 359,360,616,362,363,767,0,1,2,3,365,5,11,367,368,369, + 370,371,768,18,374,375,1437,377,378,772,25,1132,382,1438,24,381, + 775,776,955,388,1439,778,32,392,39,1440,1441,63,64,65,66,67, + 68,69,70,71,72,73,74,75,76,405,52,79,80,81,82,407, + 84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99, + 100,77,102,103,104,105,106,107,108,109,110,111,112,113,114,115, + 116,83,412,119,120,413,1146,123,124,125,1147,127,128,129,130,131, + 132,644,134,135,136,137,138,139,416,141,142,143,144,422,146,1148, + 148,149,424,151,152,426,154,427,156,157,158,133,402,785,786,787, + 788,165,789,962,963,169,792,1257,60,794,795,430,150,177,896,1259, + 1247,1260,801,802,803,440,1145,897,443,1261,1033,805,447,806,449,450, + 451,1262,453,454,174,456,457,973,1263,179,460,809,974,183,463,464, + 810,465,186,467,468,1264,470,471,976,193,474,475,813,477,478,479, + 200,481,482,205,206,485,980,207,487,1265,1266,490,984,1267,214,217, + 1040,1268,1042,500,1269,221,986,1270,226,503,825,826,228,1271,1272,1273, + 1045,513,830,235,1274,1275,1276,833,834,835,242,1277,521,522,836,524, + 250,249,527,837,528,1278,256,1279,841,842,843,1000,1280,539,537,263, + 846,540,1003,1281,543,271,270,1282,1283,1284,1285,853,550,277,552,553, + 855,555,556,557,284,1286,560,1287,290,563,858,291,566,567,568,569, + 570,571,298,573,574,1012,304,305,577,860,861,578,862,580,312,1288, + 865,1289,867,868,869,587,1290,319,590,1016,1291,1292,594,1293,326,597, + 875,599,600,604,602,333,944,335,605,337,945,341,340,760,342,343, + 946,947,609,347,350,351,352,353,614,355,354,357,358,359,360,616, + 362,361,364,0,1,2,3,365,5,948,6,7,8,9,10,366, + 12,13,14,1294,618,17,373,1295,620,21,1296,24,381,380,1297,880, + 28,1298,626,32,387,33,1299,1300,629,37,38,393,633,41,42,1301, + 885,45,400,47,48,49,50,52,1302,1245,54,55,63,64,65,66, + 403,68,69,70,71,72,73,404,75,76,405,78,79,80,406,82, + 77,84,85,86,87,408,83,90,91,92,93,94,409,96,97,98, + 99,100,101,410,103,104,105,106,107,108,109,110,111,112,113,114, + 115,411,117,412,119,416,413,414,415,1442,125,126,1443,122,129,417, + 131,132,644,134,135,136,420,138,133,140,141,142,143,421,422,146, + 147,423,149,424,425,152,426,154,427,150,1444,428,159,1204,1445,895, + 1028,661,434,663,970,664,438,899,164,448,166,167,168,667,446,896, + 455,174,671,175,176,1446,179,461,180,181,183,675,184,185,466,187, + 188,189,1305,677,192,473,1306,679,196,197,198,199,480,1307,682,203, + 205,206,685,486,1308,687,1309,1310,689,213,493,692,217,1093,1311,1095, + 500,499,695,223,1312,226,698,227,505,229,1313,1314,1315,1098,513,512, + 236,1316,1317,1318,916,241,519,243,1319,710,246,247,248,526,713,251, + 252,253,1320,256,532,1321,921,259,260,1322,539,538,1323,923,266,267, + 1324,723,545,1325,1326,1327,1328,1329,929,551,1330,732,280,281,282,283, + 558,285,1331,735,1332,290,737,565,292,293,294,295,296,297,572,300, + 740,301,302,304,305,933,1333,934,308,309,310,312,583,1334,1335,938, + 316,317,318,589,750,321,322,1336,1337,753,596,943,328,329,330,331, + 604,603,334,1019,605,337,338,1020,607,341,342,343,344,1021,1022,610, + 348,350,351,352,353,614,613,356,357,358,359,360,616,615,363,364, + 0,1,2,3,4,5,6,7,8,9,10,617,367,368,369,370, + 1338,768,619,374,1339,770,377,1340,24,624,1132,1341,953,384,1342,775, + 32,955,388,1343,1344,779,392,632,1345,781,396,397,1346,783,959,401, + 402,63,64,65,52,634,68,69,70,71,72,73,635,75,76,405, + 78,79,80,636,82,407,84,85,86,87,637,89,90,91,77,93, + 94,638,96,97,83,99,100,101,639,103,104,105,106,107,108,109, + 110,111,112,113,114,115,640,117,412,119,120,413,414,642,124,125, + 126,127,128,416,643,131,132,418,134,135,419,645,138,139,140,141, + 142,143,647,422,146,147,648,149,424,649,152,426,154,427,156,157, + 650,159,429,430,431,432,433,651,435,436,437,653,439,440,662,442, + 443,444,445,660,447,666,449,450,451,452,453,454,669,456,457,174, + 458,459,460,673,179,462,463,464,183,465,676,467,468,469,470,471, + 472,678,474,475,476,477,478,479,681,481,482,483,484,485,205,686, + 487,488,489,490,491,492,691,494,495,496,217,497,498,694,500,501, + 502,503,504,226,989,506,507,508,509,510,511,704,513,514,515,516, + 517,518,709,520,521,522,523,524,525,712,527,250,528,529,530,531, + 715,256,533,534,535,536,537,720,539,540,541,542,543,544,724,546, + 271,547,548,549,550,730,552,553,554,555,556,557,734,559,560,561, + 562,563,564,738,566,567,568,569,570,571,739,573,574,300,575,576, + 577,304,305,578,579,580,581,582,744,312,584,585,586,587,588,749, + 590,591,592,593,594,595,754,597,598,599,600,601,602,757,604,335, + 605,606,338,339,759,608,341,343,344,345,609,762,611,349,612,350, + 351,352,766,614,355,356,357,358,359,767,616,362,363,364,0,1, + 4,3,365,5,8,9,10,11,12,13,14,15,618,17,18,19, + 620,21,621,622,623,25,24,381,28,625,626,31,776,33,32,628, + 629,630,631,39,633,41,1447,43,885,45,46,47,48,49,50,51, + 1078,53,52,1448,56,57,58,59,60,61,62,63,64,65,66,67, + 68,69,70,71,72,73,74,75,76,405,78,77,80,81,82,407, + 84,83,86,87,88,89,90,91,92,93,94,95,96,97,98,99, + 100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115, + 116,117,412,119,1449,413,414,123,122,125,126,127,128,129,130,131, + 132,644,134,133,136,137,138,139,140,141,142,143,144,422,146,1450, + 148,149,424,151,150,1451,154,1452,156,1453,158,159,160,664,162,665, + 164,165,166,167,168,169,170,668,172,670,671,175,174,177,896,809, + 674,179,182,675,184,183,186,187,188,189,190,677,192,193,194,679, + 196,680,198,199,200,201,682,203,683,684,685,207,206,687,210,688, + 689,690,214,692,216,693,218,217,220,221,695,500,696,697,698,699, + 226,229,230,700,701,702,703,235,236,513,705,706,707,708,242,243, + 244,710,246,711,248,249,713,251,250,253,254,714,841,716,256,717, + 718,261,719,263,721,539,266,722,268,723,270,725,726,271,727,728, + 729,277,731,732,280,733,282,283,284,285,286,735,288,736,737,291, + 290,293,294,295,296,297,298,299,740,301,300,303,741,860,304,305, + 308,743,310,311,865,745,312,746,747,748,318,319,750,321,751,323, + 752,753,326,755,328,756,330,331,332,333,334,604,605,337,758,339, + 340,760,761,341,344,345,609,347,763,764,612,765,350,351,354,353, + 614,355,356,357,358,361,360,616,362,363,364,0,4,2,3,365, + 5,9,10,366,367,368,369,370,371,768,373,769,375,770,377,771, + 772,380,773,24,381,384,774,775,387,777,388,32,778,779,780,393, + 394,781,396,782,398,783,400,784,402,785,786,787,788,1245,789,52, + 63,64,65,66,403,68,69,70,71,72,73,404,75,76,405,78, + 79,80,406,82,407,84,85,86,77,408,89,90,91,92,83,94, + 409,96,97,98,99,100,101,410,103,104,105,106,107,108,109,110, + 111,112,113,114,115,411,117,412,119,120,413,414,415,416,125,126, + 127,1252,129,417,1253,122,644,134,135,136,420,138,139,140,141,142, + 133,421,422,146,147,423,149,424,425,152,426,154,1254,156,157,428, + 159,150,1454,802,1455,440,434,442,443,444,438,805,1084,448,1355,450, + 451,452,446,896,455,456,1356,973,458,174,460,461,974,1357,179,464, + 810,465,466,467,468,469,470,471,976,473,1358,475,813,477,1359,479, + 480,481,482,979,484,1360,980,486,205,206,818,490,1361,820,493,1362, + 1040,496,1363,497,217,499,1364,987,500,1365,825,826,505,226,507,508, + 1045,829,1366,512,1367,514,513,833,834,1368,519,1369,521,522,836,524, + 1370,526,527,837,528,250,530,531,532,842,1371,256,1372,1373,537,538, + 846,1374,539,542,1375,544,545,546,1376,1284,271,1377,1378,551,552,1379, + 855,555,1380,557,558,559,560,561,857,563,1381,565,1382,290,568,569, + 570,571,572,573,574,1012,575,300,577,933,861,304,305,580,1383,582, + 583,866,867,312,1384,1385,1386,589,590,1016,592,1387,594,874,596,1388, + 1389,599,1390,601,602,603,334,335,604,337,338,1125,607,760,342,1126, + 341,345,609,610,348,1127,1128,765,1129,350,613,352,353,614,355,356, + 357,358,359,360,616,362,615,364,0,1,2,3,365,5,10,617, + 12,13,14,15,618,17,619,19,1391,21,22,622,1392,624,26,1393, + 24,381,626,1394,627,33,1395,628,32,37,38,632,1396,41,42,43, + 1397,45,959,47,1398,63,64,65,66,634,68,69,52,71,72,73, + 635,75,76,405,78,79,80,636,82,407,84,85,86,87,637,89, + 90,91,92,93,94,638,77,97,98,99,100,83,639,103,104,105, + 106,107,108,109,110,111,112,113,114,115,640,117,1456,119,120,413, + 414,642,124,125,126,127,128,129,643,131,416,644,134,135,1457,645, + 138,1458,122,141,142,143,647,422,146,147,648,149,424,649,152,426, + 154,427,156,157,650,159,55,56,57,1459,59,651,61,62,150,653, + 654,1400,656,1401,1204,658,895,660,896,662,663,1402,664,162,899,164, + 666,166,167,1403,667,170,174,669,173,671,1404,179,672,178,673,183, + 181,182,675,184,185,676,187,1405,189,190,677,1406,678,194,679,196, + 197,198,1407,681,201,205,206,204,684,1408,686,1409,1410,210,905,1411, + 213,217,692,1412,1093,500,1413,220,694,1414,226,224,697,698,227,989, + 1415,1416,700,513,1098,234,704,1417,1418,705,706,916,241,709,243,244, + 710,246,250,248,712,713,251,1419,256,1420,1421,715,920,921,1422,539, + 261,1423,720,264,923,1424,267,271,1425,724,1426,726,1427,1328,275,1428, + 730,278,732,280,281,282,283,734,285,1429,290,288,932,737,738,292, + 293,294,295,296,300,739,299,740,304,305,303,1430,742,306,934,308, + 312,1431,1432,744,745,937,938,316,1433,318,749,750,1434,1435,323,1436, + 753,754,943,328,329,604,331,332,757,334,335,605,876,341,339,759, + 760,342,877,878,345,609,762,351,352,353,614,355,356,766,358,359, + 360,616,362,363,767,0,1,2,3,365,5,11,367,368,369,370, + 371,768,18,374,375,1437,377,378,772,25,1132,382,1438,24,381,775, + 776,955,388,1439,778,32,392,39,1440,1441,396,397,398,1460,46,401, + 402,1461,786,787,788,53,789,962,963,52,1462,793,60,794,795,430, + 431,432,433,1259,1247,436,63,64,65,66,67,68,69,70,71,72, + 73,74,75,77,405,78,79,80,81,83,407,84,85,86,87,88, + 89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104, + 105,106,107,108,109,110,111,112,113,114,115,116,965,412,119,966, + 122,414,123,124,125,126,127,128,129,130,131,133,644,134,135,136, + 137,138,139,140,141,142,143,144,422,146,147,148,150,967,151,968, + 426,969,427,156,157,158,159,970,444,971,805,447,165,449,450,451, + 169,972,454,172,174,457,973,458,177,179,809,974,462,183,464,810, + 465,186,467,468,469,975,471,976,193,977,475,813,477,478,479,200, + 978,482,979,205,206,980,207,981,488,982,983,984,820,214,494,217, + 496,985,497,500,221,986,987,988,226,825,826,228,506,990,991,992, + 829,513,235,993,994,995,996,834,835,242,520,997,522,836,524,525, + 249,527,837,528,529,998,256,841,999,843,1000,535,1001,539,263,1002, + 540,1003,542,1004,544,270,1005,1006,1007,852,1008,550,277,1009,553,855, + 555,556,557,284,559,1010,561,1011,290,858,291,566,567,568,569,570, + 571,298,300,574,1012,575,304,305,860,1013,578,862,580,581,312,865, + 1014,1015,868,869,587,588,319,590,1016,592,1017,1018,874,326,597,875, + 599,600,601,604,333,334,1019,605,337,338,1020,340,341,342,343,344, + 1021,1022,347,348,350,351,352,353,614,354,356,357,358,359,360,616, + 361,363,364,0,1,2,3,4,5,6,7,8,9,10,366,12, + 13,14,15,16,17,373,19,20,21,22,23,24,380,26,27,28, + 29,30,31,32,33,34,35,36,37,38,393,40,41,42,43,44, + 45,400,47,48,63,64,65,52,403,68,69,70,71,72,73,404, + 75,76,405,78,79,80,406,82,407,84,85,86,87,408,89,90, + 77,92,93,94,409,96,83,98,99,100,101,410,103,104,105,106, + 107,108,109,110,111,112,113,114,115,411,117,412,119,120,413,414, + 415,124,125,126,127,416,129,417,131,1347,644,134,1348,122,420,138, + 139,140,141,142,143,421,422,146,133,423,149,424,425,152,426,154, + 427,156,157,428,159,62,890,1202,654,150,434,893,1026,658,438,1028, + 661,441,663,160,161,162,446,896,448,166,167,168,667,170,171,455, + 173,174,175,176,672,1029,179,180,181,182,183,184,185,466,187,188, + 189,190,191,192,473,194,195,196,197,198,199,480,201,202,203,204, + 205,206,486,208,209,210,211,212,213,493,215,216,217,218,219,220, + 499,222,223,224,225,226,227,505,229,230,231,232,233,234,512,236, + 237,238,239,240,241,519,243,244,245,246,247,248,526,250,251,252, + 253,254,255,256,257,258,259,260,261,262,538,264,265,266,267,268, + 269,545,271,272,273,274,275,276,551,278,279,280,281,282,283,558, + 285,286,287,288,289,290,565,292,293,294,295,296,297,572,299,300, + 301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316, + 317,318,589,320,321,322,323,324,325,596,327,328,329,330,331,332, + 603,334,335,336,337,338,339,607,341,342,343,344,345,346,610,348, + 349,350,351,352,353,613,355,356,357,358,359,360,615,362,363,364, + 0,1,2,4,365,5,7,8,9,10,617,367,368,369,370,371, + 372,619,374,375,376,377,378,379,624,381,382,383,384,385,386,627, + 32,388,389,390,391,392,632,394,395,63,64,65,66,634,68,69, + 70,71,72,73,635,75,76,405,78,79,80,636,82,407,84,85, + 86,87,637,89,90,91,92,93,94,638,96,97,98,77,100,101, + 639,103,104,105,106,107,108,109,110,111,112,113,114,115,640,83, + 1350,119,120,413,1351,642,124,125,126,127,128,129,643,131,132,644, + 134,135,416,645,138,139,1352,141,142,1353,647,422,146,147,648,149, + 424,649,152,426,154,133,156,157,650,159,962,963,791,792,793,651, + 794,429,430,653,432,433,656,435,436,437,802,660,896,662,442,443, + 444,445,805,1463,666,449,450,451,452,453,454,669,456,457,174,458, + 459,460,673,179,462,463,464,183,465,676,467,468,469,470,471,472, + 678,474,475,476,477,478,479,681,481,482,483,484,485,205,686,487, + 488,489,490,491,492,691,494,495,496,217,497,498,694,500,501,502, + 503,504,226,989,506,507,508,509,510,511,704,513,514,515,516,517, + 518,709,520,521,522,523,524,525,712,527,250,528,529,530,531,715, + 256,533,534,535,536,537,720,539,540,541,542,543,544,724,546,271, + 547,548,549,550,730,552,553,554,555,556,557,734,559,560,561,562, + 563,564,738,566,567,568,569,570,571,739,573,574,300,575,576,577, + 304,305,578,579,580,581,582,744,312,584,585,586,587,588,749,590, + 591,592,593,594,595,754,597,598,599,600,601,602,757,604,335,605, + 606,338,339,759,608,341,343,344,345,609,762,611,349,612,350,351, + 352,766,614,355,356,357,358,359,767,616,362,363,364, +}; + +#endif diff --git a/gen/verses_ef.keys.gz b/gen/verses_ef.keys.gz new file mode 100644 index 0000000..d8dcbf5 Binary files /dev/null and b/gen/verses_ef.keys.gz differ diff --git a/gen/verses_of.keys.gz b/gen/verses_of.keys.gz new file mode 100644 index 0000000..7684193 Binary files /dev/null and b/gen/verses_of.keys.gz differ diff --git a/lz.h b/lz.h new file mode 100644 index 0000000..d6b4a78 --- /dev/null +++ b/lz.h @@ -0,0 +1,111 @@ +/* lz.h -- a tiny LZSS codec (public domain), used to keep the compiled scripture + * text small enough to fit a floppy. clectio only needs lz_unpack; the build + * tool mktext defines LZ_PACK to also get the compressor. Round-trip tested. + * + * Stream = repeated { control byte (8 flags, MSB first); then, per flag: + * flag 1 -> one literal byte + * flag 0 -> a match: 16-bit big-endian distance (1..65535) + 1 length byte L, + * copy (L + LZ_MINM) bytes from `distance` back }. + */ +#ifndef LZ_H +#define LZ_H +#include + +#define LZ_WIN 65536 +#define LZ_MINM 3 +#define LZ_MAXM 258 /* 255 + LZ_MINM */ + +/* Decompress `in` (inlen bytes) into `out`, stopping once rawlen bytes emitted. */ +static void lz_unpack(const unsigned char *in, size_t inlen, + unsigned char *out, size_t rawlen) { + size_t p = 0, o = 0; + while (o < rawlen && p < inlen) { + unsigned char ctrl = in[p++]; + int b; + for (b = 0; b < 8 && o < rawlen && p < inlen; b++) { + if (ctrl & (0x80 >> b)) { + out[o++] = in[p++]; + } else { + unsigned dist = ((unsigned)in[p] << 8) | in[p + 1]; + unsigned len = (unsigned)in[p + 2] + LZ_MINM; + const unsigned char *s = out + o - dist; + p += 3; + while (len-- && o < rawlen) + out[o++] = *s++; + } + } + } +} + +#ifdef LZ_PACK +#include + +static unsigned lz__hash(const unsigned char *s) { + return (((unsigned)s[0] * 506832829u) ^ ((unsigned)s[1] * 2246822519u) ^ + ((unsigned)s[2] * 3266489917u)) >> 15 & 0x1FFFF; +} + +/* Compress src[srclen] into a malloc'd buffer (caller frees); *outlen is set. */ +static unsigned char *lz_pack(const unsigned char *src, size_t srclen, size_t *outlen) { + unsigned char *out = malloc(srclen + srclen / 8 + 64); + int *head = malloc(0x20000 * sizeof(int)); + int *prev = malloc((srclen + 1) * sizeof(int)); + size_t o = 0, i = 0, k; + for (k = 0; k < 0x20000; k++) + head[k] = -1; + while (i < srclen) { + size_t ctrlpos = o++; + unsigned char ctrl = 0; + int bit; + for (bit = 0; bit < 8 && i < srclen; bit++) { + int bestlen = 0, bestdist = 0; + if (i + LZ_MINM <= srclen) { + unsigned h = lz__hash(src + i); + int j = head[h], tries = 128; + while (j >= 0 && (size_t)(i - (size_t)j) < LZ_WIN && tries--) { + size_t l = 0, maxl = srclen - i; + if (maxl > LZ_MAXM) + maxl = LZ_MAXM; + while (l < maxl && src[j + l] == src[i + l]) + l++; + if ((int)l > bestlen) { + bestlen = (int)l; + bestdist = (int)(i - (size_t)j); + if (l == maxl) + break; + } + j = prev[j]; + } + } + if (bestlen >= LZ_MINM) { + size_t e = i + (size_t)bestlen; /* ctrl bit stays 0 for a match */ + out[o++] = (unsigned char)((bestdist >> 8) & 0xFF); + out[o++] = (unsigned char)(bestdist & 0xFF); + out[o++] = (unsigned char)(bestlen - LZ_MINM); + while (i < e) { + if (i + LZ_MINM <= srclen) { + unsigned h = lz__hash(src + i); + prev[i] = head[h]; + head[h] = (int)i; + } + i++; + } + } else { + ctrl |= (unsigned char)(0x80 >> bit); /* literal */ + if (i + LZ_MINM <= srclen) { + unsigned h = lz__hash(src + i); + prev[i] = head[h]; + head[h] = (int)i; + } + out[o++] = src[i++]; + } + } + out[ctrlpos] = ctrl; + } + free(head); + free(prev); + *outlen = o; + return out; +} +#endif /* LZ_PACK */ +#endif /* LZ_H */ diff --git a/mktext.c b/mktext.c new file mode 100644 index 0000000..55af074 --- /dev/null +++ b/mktext.c @@ -0,0 +1,116 @@ +/* mktext -- resolve a lectionary's verse keys against a scripture corpus and + * write the LZSS-packed text clectio compiles in. This is what makes clectio + * bring-your-own-Bible: point it at any corpus formatted like ours (a 6-column + * TSV: Book, Abbrev, BookNum, Chapter, Verse, Text) and it produces the text for + * exactly the verses the calendar cites -- nothing more. The corpus must use the + * same (Vulgate) chapter/verse numbering as the keys. + * + * usage: mktext verses.keys corpus.tsv out.lz + * out.lz = [uint32 LE rawlen][LZSS-packed "chap:verse text\n" lines]. + */ +#define LZ_PACK +#include "lz.h" +#include +#include +#include + +typedef struct { + char *key; /* "Book\tChap\tVerse" */ + char *cv; /* "Chap:Verse" */ + char *text; /* verse text */ +} Rec; + +static Rec *recs; +static size_t nrec; + +static int cmp(const void *a, const void *b) { + return strcmp(((const Rec *)a)->key, ((const Rec *)b)->key); +} + +static char *slurp(const char *path, size_t *len) { + FILE *f = fopen(path, "rb"); + if (!f) { fprintf(stderr, "mktext: cannot open %s\n", path); exit(1); } + fseek(f, 0, SEEK_END); + long n = ftell(f); + fseek(f, 0, SEEK_SET); + char *buf = malloc((size_t)n + 1); + if (fread(buf, 1, (size_t)n, f) != (size_t)n) { fprintf(stderr, "mktext: read error\n"); exit(1); } + buf[n] = 0; + fclose(f); + *len = (size_t)n; + return buf; +} + +/* split a TSV line into fields in place; return field count (max 6). */ +static int fields(char *line, char *f[6]) { + int n = 0; + f[n++] = line; + for (char *p = line; *p && n < 6; p++) + if (*p == '\t') { *p = 0; f[n++] = p + 1; } + return n; +} + +int main(int argc, char **argv) { + if (argc != 4) { + fprintf(stderr, "usage: mktext verses.keys corpus.tsv out.lz\n"); + return 2; + } + size_t klen, tlen; + char *keys = slurp(argv[1], &klen); + char *tsv = slurp(argv[2], &tlen); + + /* index the corpus by (Book\tChap\tVerse) */ + size_t cap = 4096; + recs = malloc(cap * sizeof(Rec)); + for (char *line = strtok(tsv, "\n"); line; line = strtok(NULL, "\n")) { + char *fl[6]; + if (fields(line, fl) < 6) + continue; + if (nrec == cap) { cap *= 2; recs = realloc(recs, cap * sizeof(Rec)); } + size_t kl = strlen(fl[0]) + strlen(fl[3]) + strlen(fl[4]) + 3; + char *key = malloc(kl); + snprintf(key, kl, "%s\t%s\t%s", fl[0], fl[3], fl[4]); + size_t cl = strlen(fl[3]) + strlen(fl[4]) + 2; + char *cv = malloc(cl); + snprintf(cv, cl, "%s:%s", fl[3], fl[4]); + recs[nrec].key = key; + recs[nrec].cv = cv; + recs[nrec].text = fl[5]; + nrec++; + } + qsort(recs, nrec, sizeof(Rec), cmp); + + /* resolve each key line to "chap:verse text\n" */ + size_t obuf = 1 << 20, olen = 0; + char *out = malloc(obuf); + size_t missing = 0, nkeys = 0; + for (char *line = strtok(keys, "\n"); line; line = strtok(NULL, "\n")) { + nkeys++; + Rec probe; + probe.key = line; + Rec *r = bsearch(&probe, recs, nrec, sizeof(Rec), cmp); + const char *cv = "0:0", *text = ""; + if (r) { cv = r->cv; text = r->text; } + else { missing++; /* keep a placeholder so indices stay aligned */ } + size_t need = strlen(cv) + strlen(text) + 3; + while (olen + need > obuf) { obuf *= 2; out = realloc(out, obuf); } + olen += (size_t)snprintf(out + olen, need, "%s %s", cv, text); + out[olen++] = '\n'; + } + if (missing) + fprintf(stderr, "mktext: warning: %zu of %zu verses not in corpus (blank)\n", missing, nkeys); + + size_t plen; + unsigned char *packed = lz_pack((unsigned char *)out, olen, &plen); + + FILE *of = fopen(argv[3], "wb"); + if (!of) { fprintf(stderr, "mktext: cannot write %s\n", argv[3]); return 1; } + unsigned char hdr[4] = { (unsigned char)olen, (unsigned char)(olen >> 8), + (unsigned char)(olen >> 16), (unsigned char)(olen >> 24) }; + fwrite(hdr, 1, 4, of); + fwrite(packed, 1, plen, of); + fclose(of); + fprintf(stderr, "mktext: %zu verses, %zu -> %zu bytes (%.1fx)\n", + nkeys, olen, plen, olen ? (double)olen / (double)plen : 0); + return 0; +} diff --git a/text_ef.lz b/text_ef.lz new file mode 100644 index 0000000..f9eb93d Binary files /dev/null and b/text_ef.lz differ diff --git a/text_of.lz b/text_of.lz new file mode 100644 index 0000000..0edb197 Binary files /dev/null and b/text_of.lz differ -- cgit v1.3