24
1
mirror of https://github.com/processone/ejabberd.git synced 2024-06-10 21:47:01 +02:00
xmpp.chapril.org-ejabberd/src/stringprep/uni_norm.c
Alexey Shchepin 1a4c851c7c * src/stringprep/uni_norm.c: Regenerated with Unicode 3.2 tables
as required by RFC3454

* src/stringprep/uni_parse2.tcl: Bugfixes

* src/stringprep/stringprep_drv.c: Bugfixes, added hangul
composition

SVN Revision: 342
2005-05-06 01:38:05 +00:00

2209 lines
132 KiB
C

/*
* uni_norm.c --
*
* Declarations of Unicode character information tables. This file is
* automatically generated by the uni_parse2.tcl script. Do not
* modify this file by hand.
*
* Copyright (c) 1998 by Scriptics Corporation.
* All rights reserved.
*
* Modified for ejabberd by Alexey Shchepin
*
* RCS: @(#) $Id$
*/
/*
* A 16-bit Unicode character is split into two parts in order to index
* into the following tables. The lower CCLASS_OFFSET_BITS comprise an offset
* into a page of characters. The upper bits comprise the page number.
*/
#define CCLASS_OFFSET_BITS 6
/*
* The pageMap is indexed by page number and returns an alternate page number
* that identifies a unique page of characters. Many Unicode characters map
* to the same alternate page number.
*/
static unsigned char cclassPageMap[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 3, 0, 0, 0, 4,
5, 0, 6, 0, 7, 8, 9, 0, 0, 0, 0, 0, 0, 10, 11, 10, 12, 10, 12, 10,
12, 10, 12, 0, 12, 0, 13, 0, 12, 0, 12, 0, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 25, 0, 0, 26, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0,
29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
0, 0, 0, 0
};
/*
* The cclassGroupMap is indexed by combining the alternate page number with
* the page offset and returns a combining class number.
*/
static unsigned char cclassGroupMap[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230,
230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
230, 230, 230, 230, 232, 220, 220, 220, 220, 232, 216, 220, 220, 220,
220, 220, 202, 202, 220, 220, 220, 220, 202, 202, 220, 220, 220, 220,
220, 220, 220, 220, 220, 220, 220, 1, 1, 1, 1, 1, 220, 220, 220, 220,
230, 230, 230, 230, 230, 230, 230, 230, 240, 230, 220, 220, 220, 230,
230, 230, 220, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 234, 234, 233, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
230, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 230, 230, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 230, 230, 230, 230, 220,
230, 230, 230, 222, 220, 230, 230, 230, 230, 230, 230, 0, 220, 220,
220, 220, 220, 230, 230, 220, 230, 230, 222, 228, 230, 10, 11, 12,
13, 14, 15, 16, 17, 18, 19, 0, 20, 21, 22, 0, 23, 0, 24, 25, 0, 230,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 27, 28, 29, 30, 31, 32, 33, 34, 230, 230, 220, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230, 230, 230, 230,
230, 0, 0, 230, 230, 230, 230, 220, 230, 0, 0, 230, 230, 0, 220, 230,
230, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 230, 220, 230, 230, 220, 230, 230, 220, 220, 220, 230, 220, 220,
230, 220, 230, 230, 230, 220, 230, 220, 230, 220, 230, 220, 230, 230,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 230, 220,
230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 84, 91, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 103,
9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 107, 107, 107, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 118, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 122, 122, 122, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
220, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 220, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 129, 130, 0, 132, 0, 0, 0, 0, 0, 130, 130, 130, 130, 0, 0, 130,
0, 230, 230, 9, 0, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 7, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 1, 1, 230, 230, 230,
230, 1, 1, 1, 230, 230, 0, 0, 0, 0, 230, 0, 0, 0, 1, 1, 230, 220, 230,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 218, 228, 232,
222, 224, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230,
230, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
#define GetUniCharCClass(ch) (cclassGroupMap[(cclassPageMap[(((int)(ch)) & 0xffff) >> CCLASS_OFFSET_BITS] << CCLASS_OFFSET_BITS) | ((ch) & ((1 << CCLASS_OFFSET_BITS)-1))])
#define DECOMP_OFFSET_BITS 5
/*
* The pageMap is indexed by page number and returns an alternate page number
* that identifies a unique page of characters. Many Unicode characters map
* to the same alternate page number.
*/
static unsigned char decompPageMap[] = {
0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 0, 8, 9, 10, 11, 12, 0, 0, 0, 13,
14, 15, 0, 0, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 27,
0, 0, 0, 0, 28, 0, 0, 0, 0, 29, 0, 30, 0, 0, 31, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 33, 0, 0, 0, 34, 0, 0, 35,
36, 0, 0, 0, 0, 0, 0, 0, 37, 0, 38, 0, 39, 0, 0, 0, 40, 0, 0, 0, 41,
0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 44, 0, 0, 0, 45, 46, 0, 47, 0, 48,
49, 50, 51, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, 70, 71, 72, 73, 74, 0, 0, 75, 76, 77, 78, 79, 80, 81, 0,
82, 83, 84, 85, 86, 87, 0, 88, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90,
91, 92, 93, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
95, 0, 0, 96, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 99, 100, 101, 102,
103, 104, 105, 106, 0, 107, 108, 109, 110, 111, 112, 113, 114, 0, 115,
116, 117, 118, 0, 0, 0, 119, 120, 121, 122, 123, 124, 125, 126, 127,
128, 129, 130, 131, 132, 133, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 0, 0,
0, 0, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 0, 171, 172,
173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185
};
/*
* The decompGroupMap is indexed by combining the alternate page number with
* the page offset and returns a group number that identifies a length and
* shift of decomposition sequence in decompList
*/
static int decompGroupMap[] = {
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65536,
-1, -1, -1, -1, -1, -1, -1, 131073, -1, 65539, -1, -1, -1, -1, 131076,
-1, -1, 65542, 65543, 131080, 65546, -1, -1, 131083, 65549, 65550,
-1, 196623, 196626, 196629, -1, 131096, 131098, 131100, 131102, 131104,
131106, -1, 131108, 131110, 131112, 131114, 131116, 131118, 131120,
131122, 131124, -1, 131126, 131128, 131130, 131132, 131134, 131136,
-1, -1, 131138, 131140, 131142, 131144, 131146, -1, -1, 131148, 131150,
131152, 131154, 131156, 131158, -1, 131160, 131162, 131164, 131166,
131168, 131170, 131172, 131174, 131176, -1, 131178, 131180, 131182,
131184, 131186, 131188, -1, -1, 131190, 131192, 131194, 131196, 131198,
-1, 131200, 131202, 131204, 131206, 131208, 131210, 131212, 131214,
131216, 131218, 131220, 131222, 131224, 131226, 131228, 131230, 131232,
-1, -1, 131234, 131236, 131238, 131240, 131242, 131244, 131246, 131248,
131250, 131252, 131254, 131256, 131258, 131260, 131262, 131264, 131266,
131268, 131270, 131272, -1, -1, 131274, 131276, 131278, 131280, 131282,
131284, 131286, 131288, 131290, -1, 131292, 131294, 131296, 131298,
131300, 131302, -1, 131304, 131306, 131308, 131310, 131312, 131314,
131316, 131318, -1, -1, 131320, 131322, 131324, 131326, 131328, 131330,
131332, -1, -1, 131334, 131336, 131338, 131340, 131342, 131344, -1,
-1, 131346, 131348, 131350, 131352, 131354, 131356, 131358, 131360,
131362, 131364, 131366, 131368, 131370, 131372, 131374, 131376, 131378,
131380, -1, -1, 131382, 131384, 131386, 131388, 131390, 131392, 131394,
131396, 131398, 131400, 131402, 131404, 131406, 131408, 131410, 131412,
131414, 131416, 131418, 131420, 131422, 131424, 131426, 65892, 131429,
131431, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131433,
131435, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 196973, 196976, 196979, 131446, 131448, 131450, 131452,
131454, 131456, 131458, 131460, 131462, 131464, 131466, 131468, 131470,
131472, 197010, 197013, 197016, 197019, 197022, 197025, 197028, 197031,
-1, 197034, 197037, 197040, 197043, 131510, 131512, -1, -1, 131514,
131516, 131518, 131520, 131522, 131524, 197062, 197065, 131532, 131534,
131536, 131538, 131540, 131542, 131544, 131546, -1, -1, 131548, 131550,
197088, 197091, 131558, 131560, 131562, 131564, 131566, 131568, 131570,
131572, 131574, 131576, 131578, 131580, 131582, 131584, 131586, 131588,
131590, 131592, 131594, 131596, 131598, 131600, 131602, 131604, 131606,
131608, 131610, 131612, 131614, 131616, 131618, 131620, -1, -1, 131622,
131624, -1, -1, -1, -1, -1, -1, 131626, 131628, 131630, 131632, 197170,
197173, 197176, 197179, 131646, 131648, 197186, 197189, 131656, 131658,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66124, 66125, 66126, 66127,
66128, 66129, 66130, 66131, 66132, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 131669, 131671, 131673, 131675, 131677, 131679,
-1, -1, 66145, 66146, 65892, 66147, 66148, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 66149, 66150, -1, 66151, 131688, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 66154, -1, -1, -1, -1, -1, 131691,
-1, -1, -1, 66157, -1, -1, -1, -1, -1, 131080, 197230, 131697, 66163,
131700, 131702, 131704, -1, 131706, -1, 131708, 131710, 197248, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 131715, 131717, 131719, 131721, 131723,
131725, 197263, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131730, 131732, 131734,
131736, 131738, -1, 66204, 66205, 66206, 131708, 131717, 66207, 66208,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 66209, 66210, 66211, -1, 66212, 66213,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131750, 131752, -1, 131754,
-1, -1, -1, 131756, -1, -1, -1, -1, 131758, 131760, 131762, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 131764, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 131766, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131768, 131770,
-1, 131772, -1, -1, -1, 131774, -1, -1, -1, -1, 131776, 131778, 131780,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 131782, 131784, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 131786, 131788, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 131790, 131792, 131794, 131796, -1, -1, 131798, 131800, -1,
-1, 131802, 131804, 131806, 131808, 131810, 131812, -1, -1, 131814,
131816, 131818, 131820, 131822, 131824, -1, -1, 131826, 131828, 131830,
131832, 131834, 131836, 131838, 131840, 131842, 131844, 131846, 131848,
-1, -1, 131850, 131852, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 131854, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131856, 131858,
131860, 131862, 131864, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 131866, 131868, 131870, 131872, -1, -1, -1, -1, -1, -1, -1, 131874,
-1, 131876, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 131878, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 131880, -1, -1, -1, -1, -1, -1, -1,
131882, -1, -1, 131884, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 131886, 131888, 131890, 131892, 131894,
131896, 131898, 131900, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
131902, 131904, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 131906, 131908, -1, 131910, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131912, -1, -1, 131914,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
131916, 131918, 131920, -1, -1, 131922, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 131924, -1, -1, 131926, 131928, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 131930, 131932, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
131934, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 131936, 131938, 131940, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 131942, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131944, -1, -1,
-1, -1, -1, -1, 131946, 131948, -1, 131950, 197488, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 131955, 131957, 131959, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 131961, -1, 131963, 197501, 131968,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 131970, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 131972, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131974, 131976, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66442, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 131979, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131981, -1, -1, -1,
-1, 131983, -1, -1, -1, -1, 131985, -1, -1, -1, -1, 131987, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131989, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 131991, -1, 131993, 131995, 197533, 132000, 197538,
-1, -1, -1, -1, -1, -1, -1, 132005, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 132007, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 132009, -1, -1, -1, -1, 132011, -1, -1, -1, -1, 132013,
-1, -1, -1, -1, 132015, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 132017, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 132019,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 132021, 132023, 132025, 132027, 132029,
132031, 132033, 132035, 197573, 197576, 132043, 132045, 132047, 132049,
132051, 132053, 132055, 132057, 132059, 132061, 197599, 197602, 197605,
197608, 132075, 132077, 132079, 132081, 197619, 197622, 132089, 132091,
132093, 132095, 132097, 132099, 132101, 132103, 132105, 132107, 132109,
132111, 132113, 132115, 132117, 132119, 197657, 197660, 132127, 132129,
132131, 132133, 132135, 132137, 132139, 132141, 197679, 197682, 132149,
132151, 132153, 132155, 132157, 132159, 132161, 132163, 132165, 132167,
132169, 132171, 132173, 132175, 132177, 132179, 132181, 132183, 197721,
197724, 197727, 197730, 197733, 197736, 197739, 197742, 132209, 132211,
132213, 132215, 132217, 132219, 132221, 132223, 197761, 197764, 132231,
132233, 132235, 132237, 132239, 132241, 197779, 197782, 197785, 197788,
197791, 197794, 132261, 132263, 132265, 132267, 132269, 132271, 132273,
132275, 132277, 132279, 132281, 132283, 132285, 132287, 197825, 197828,
197831, 197834, 132301, 132303, 132305, 132307, 132309, 132311, 132313,
132315, 132317, 132319, 132321, 132323, 132325, 132327, 132329, 132331,
132333, 132335, 132337, 132339, 132341, 132343, 132345, 132347, 132349,
132351, 132353, 132355, 132357, 132359, 132361, 132237, -1, -1, -1,
-1, 132363, 132365, 132367, 132369, 197907, 197910, 197913, 197916,
197919, 197922, 197925, 197928, 197931, 197934, 197937, 197940, 197943,
197946, 197949, 197952, 197955, 197958, 197961, 197964, 132431, 132433,
132435, 132437, 132439, 132441, 197979, 197982, 197985, 197988, 197991,
197994, 197997, 198000, 198003, 198006, 132473, 132475, 132477, 132479,
132481, 132483, 132485, 132487, 198025, 198028, 198031, 198034, 198037,
198040, 198043, 198046, 198049, 198052, 198055, 198058, 198061, 198064,
198067, 198070, 198073, 198076, 198079, 198082, 132549, 132551, 132553,
132555, 198093, 198096, 198099, 198102, 198105, 198108, 198111, 198114,
198117, 198120, 132587, 132589, 132591, 132593, 132595, 132597, 132599,
132601, -1, -1, -1, -1, -1, -1, 132603, 132605, 198143, 198146, 198149,
198152, 198155, 198158, 132625, 132627, 198165, 198168, 198171, 198174,
198177, 198180, 132647, 132649, 198187, 198190, 198193, 198196, -1,
-1, 132663, 132665, 198203, 198206, 198209, 198212, -1, -1, 132679,
132681, 198219, 198222, 198225, 198228, 198231, 198234, 132701, 132703,
198241, 198244, 198247, 198250, 198253, 198256, 132723, 132725, 198263,
198266, 198269, 198272, 198275, 198278, 132745, 132747, 198285, 198288,
198291, 198294, 198297, 198300, 132767, 132769, 198307, 198310, 198313,
198316, -1, -1, 132783, 132785, 198323, 198326, 198329, 198332, -1,
-1, 132799, 132801, 198339, 198342, 198345, 198348, 198351, 198354,
-1, 132821, -1, 198359, -1, 198362, -1, 198365, 132832, 132834, 198372,
198375, 198378, 198381, 198384, 198387, 132854, 132856, 198394, 198397,
198400, 198403, 198406, 198409, 132876, 131719, 132878, 131721, 132880,
131723, 132882, 131725, 132884, 131734, 132886, 131736, 132888, 131738,
-1, -1, 198426, 198429, 263968, 263972, 263976, 263980, 263984, 263988,
198456, 198459, 263998, 264002, 264006, 264010, 264014, 264018, 198486,
198489, 264028, 264032, 264036, 264040, 264044, 264048, 198516, 198519,
264058, 264062, 264066, 264070, 264074, 264078, 198546, 198549, 264088,
264092, 264096, 264100, 264104, 264108, 198576, 198579, 264118, 264122,
264126, 264130, 264134, 264138, 133070, 133072, 198610, 133077, 198615,
-1, 133082, 198620, 133087, 133089, 133091, 131697, 133093, 133095,
67561, 133095, 133098, 198636, 198639, 133106, 198644, -1, 133111,
198649, 133116, 131700, 133118, 131702, 133120, 198658, 198661, 198664,
133131, 133133, 198671, 197248, -1, -1, 133138, 198676, 133143, 133145,
133147, 131704, -1, 198685, 198688, 198691, 133158, 133160, 198698,
197263, 133165, 133167, 133169, 198707, 133174, 133176, 133178, 131708,
133180, 198718, 197230, 67649, -1, -1, 198722, 133189, 198727, -1,
133194, 198732, 133199, 131706, 133201, 131710, 133203, 131080, 133205,
-1, 65536, 65536, 65536, 65536, 65536, 65536, 65536, 65536, 65536,
65536, 65536, -1, -1, -1, -1, -1, -1, 67671, -1, -1, -1, -1, -1, 133208,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67674, 133211, 198749,
-1, -1, -1, -1, -1, -1, -1, -1, 65536, -1, -1, -1, 133216, 198754,
-1, 133221, 198759, -1, -1, -1, -1, 133226, -1, 133228, -1, -1, -1,
-1, -1, -1, -1, -1, 133230, 133232, 133234, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 264308, -1, -1, -1, -1, -1, -1, -1, 65536,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67704,
67705, -1, -1, 67706, 67707, 67708, 67709, 67710, 67711, 67712, 67713,
67714, 67715, 67716, 67717, 67704, 65549, 65542, 65543, 67706, 67707,
67708, 67709, 67710, 67711, 67712, 67713, 67714, 67715, 67716, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 133254, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 198792,
198795, 67726, 133263, -1, 198801, 198804, 67735, -1, 133272, 67738,
67739, 67739, 67739, 66124, 67740, 67741, 67741, 67742, 66146, -1,
67743, 133280, -1, -1, 67746, 67747, 67748, 67748, 67748, -1, -1, 133285,
198823, 133290, -1, 67756, -1, 67757, -1, 67756, -1, 67758, 131106,
67759, 67726, -1, 67760, 67761, 67762, -1, 67763, 65550, 67764, 67765,
67766, 67767, 67705, -1, -1, -1, 67768, 67769, 67770, 67771, -1, -1,
-1, -1, 67772, 67773, 67760, 67705, 66126, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 198846, 198849, 198852, 198855, 198858, 198861, 198864,
198867, 198870, 198873, 198876, 198879, 133346, 67741, 133348, 198886,
133353, 67819, 133356, 198894, 264433, 133365, 67831, 133368, 198906,
67742, 67726, 67772, 67763, 67705, 133373, 198911, 133378, 67844, 133381,
198919, 264458, 133390, 66147, 133392, 198930, 66146, 67861, 67773,
67862, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133399, 133401, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133403,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133405, 133407,
133409, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 133411, -1, -1, -1, -1, 133413, -1, -1, 133415,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 133417, -1, 133419, -1, -1, -1, -1, -1, 133421,
198959, -1, 133426, 198964, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 133431, -1, -1, 133433, -1, -1, 133435, -1,
133437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 133439, -1, 133441, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 133443, 133445, 133447, 133449, 133451, -1, -1,
133453, 133455, -1, -1, 133457, 133459, -1, -1, -1, -1, -1, -1, 133461,
133463, -1, -1, 133465, 133467, -1, -1, 133469, 133471, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133473, 133475,
133477, 133479, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 133481, 133483, 133485, 133487, -1, -1, -1, -1, -1, -1,
133489, 133491, 133493, 133495, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 67961, 67962, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 65549, 65542, 65543, 67706, 67707,
67708, 67709, 67710, 67711, 133499, 133501, 133503, 133505, 133507,
133509, 133511, 133513, 133515, 133517, 133519, 199057, 199060, 199063,
199066, 199069, 199072, 199075, 199078, 199081, 264620, 264624, 264628,
264632, 264636, 264640, 264644, 264648, 264652, 264656, 264660, 133592,
133594, 133596, 133598, 133600, 133602, 133604, 133606, 133608, 199146,
199149, 199152, 199155, 199158, 199161, 199164, 199167, 199170, 199173,
199176, 199179, 199182, 199185, 199188, 199191, 199194, 199197, 199200,
199203, 199206, 199209, 199212, 199215, 199218, 199221, 199224, 199227,
199230, 199233, 199236, 199239, 199242, 199245, 199248, 199251, 199254,
68185, 67759, 67726, 67772, 67761, 67762, 68186, 67739, 67741, 68187,
67758, 67742, 67763, 67743, 68188, 67746, 67747, 67748, 68189, 68190,
68191, 67819, 68192, 67831, 68193, 67756, 65539, 68194, 67861, 67773,
67760, 68195, 67738, 66124, 67705, 66126, 68196, 66146, 67862, 67717,
65550, 68197, 68198, 66127, 65892, 68199, 68200, 67844, 66131, 66147,
66132, 68201, 67704, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 264810, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 199278, 133745, 199283,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 133750, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68216, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68217, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 68218, 68219, 68220, 68221, 68222, 68223, 68224,
68225, 68226, 68227, 68228, 68229, 68230, 68231, 68232, 68233, 68234,
68235, 68236, 68237, 68238, 68239, 68240, 68241, 68242, 68243, 68244,
68245, 68246, 68247, 68248, 68249, 68250, 68251, 68252, 68253, 68254,
68255, 68256, 68257, 68258, 68259, 68260, 68261, 68262, 68263, 68264,
68265, 68266, 68267, 68268, 68269, 68270, 68271, 68272, 68273, 68274,
68275, 68276, 68277, 68278, 68279, 68280, 68281, 68282, 68283, 68284,
68285, 68286, 68287, 68288, 68289, 68290, 68291, 68292, 68293, 68294,
68295, 68296, 68297, 68298, 68299, 68300, 68301, 68302, 68303, 68304,
68305, 68306, 68307, 68308, 68309, 68310, 68311, 68312, 68313, 68314,
68315, 68316, 68317, 68318, 68319, 68320, 68321, 68322, 68323, 68324,
68325, 68326, 68327, 68328, 68329, 68330, 68331, 68332, 68333, 68334,
68335, 68336, 68337, 68338, 68339, 68340, 68341, 68342, 68343, 68344,
68345, 68346, 68347, 68348, 68349, 68350, 68351, 68352, 68353, 68354,
68355, 68356, 68357, 68358, 68359, 68360, 68361, 68362, 68363, 68364,
68365, 68366, 68367, 68368, 68369, 68370, 68371, 68372, 68373, 68374,
68375, 68376, 68377, 68378, 68379, 68380, 68381, 68382, 68383, 68384,
68385, 68386, 68387, 68388, 68389, 68390, 68391, 68392, 68393, 68394,
68395, 68396, 68397, 68398, 68399, 68400, 68401, 68402, 68403, 68404,
68405, 68406, 68407, 68408, 68409, 68410, 68411, 68412, 68413, 68414,
68415, 68416, 68417, 68418, 68419, 68420, 68421, 68422, 68423, 68424,
68425, 68426, 68427, 68428, 68429, 68430, 68431, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 65536, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68432, -1, 68241, 68433, 68434,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
133971, -1, 133973, -1, 133975, -1, 133977, -1, 133979, -1, 133981,
-1, 133983, -1, 133985, -1, 133987, -1, 133989, -1, 133991, -1, 133993,
-1, -1, 133995, -1, 133997, -1, 133999, -1, -1, -1, -1, -1, -1, 134001,
134003, -1, 134005, 134007, -1, 134009, 134011, -1, 134013, 134015,
-1, 134017, 134019, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134021, -1, -1, -1, -1, -1,
-1, 134023, 134025, -1, 134027, 134029, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 134031, -1, 134033, -1, 134035, -1, 134037, -1,
134039, -1, 134041, -1, 134043, -1, 134045, -1, 134047, -1, 134049,
-1, 134051, -1, 134053, -1, -1, 134055, -1, 134057, -1, 134059, -1,
-1, -1, -1, -1, -1, 134061, 134063, -1, 134065, 134067, -1, 134069,
134071, -1, 134073, 134075, -1, 134077, 134079, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
134081, -1, -1, 134083, 134085, 134087, 134089, -1, -1, -1, 134091,
134093, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 68559, 68560, 68561, 68562, 68563, 68564, 68565, 68566, 68567,
68568, 68569, 68570, 68571, 68572, 68573, 68574, 68575, 68576, 68577,
68578, 68579, 68580, 68581, 68582, 68583, 68584, 68585, 68586, 68587,
68588, 68589, 68590, 68591, 68592, 68593, 68594, 68595, 68596, 68597,
68598, 68599, 68600, 68601, 68602, 68603, 68604, 68605, 68606, 68607,
68608, 68609, 68610, 68611, 68612, 68613, 68614, 68615, 68616, 68617,
68618, 68619, 68620, 68621, 68622, 68623, 68624, 68625, 68626, 68627,
68628, 68629, 68630, 68631, 68632, 68633, 68634, 68635, 68636, 68637,
68638, 68639, 68640, 68641, 68642, 68643, 68644, 68645, 68646, 68647,
68648, 68649, 68650, 68651, 68652, -1, -1, -1, 68218, 68224, 68653,
68654, 68655, 68656, 68657, 68658, 68222, 68659, 68660, 68661, 68662,
68226, 199735, 199738, 199741, 199744, 199747, 199750, 199753, 199756,
199759, 199762, 199765, 199768, 199771, 199774, 265313, 265317, 265321,
265325, 265329, 265333, 265337, 265341, 265345, 265349, 265353, 265357,
265361, 265365, 265369, -1, -1, -1, 199837, 199840, 199843, 199846,
199849, 199852, 199855, 199858, 199861, 199864, 199867, 199870, 199873,
199876, 199879, 199882, 199885, 199888, 199891, 199894, 199897, 199900,
199903, 199906, 199909, 199912, 199915, 199918, 199921, 199924, 199927,
199930, 199933, 199936, 199939, 199942, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 134409, 134411, 134413, 134415, 134417, 134419,
134421, 134423, 134425, 134427, 134429, 134431, 134433, 134435, 134437,
68559, 68562, 68565, 68567, 68575, 68576, 68579, 68581, 68582, 68584,
68585, 68586, 68587, 68588, 134439, 134441, 134443, 134445, 134447,
134449, 134451, 134453, 134455, 134457, 134459, 134461, 134463, 134465,
-1, -1, -1, -1, 68218, 68224, 68653, 68654, 68931, 68932, 68933, 68229,
68934, 68241, 68291, 68303, 68302, 68292, 68384, 68249, 68289, 68935,
68936, 68937, 68938, 68939, 68940, 68941, 68942, 68943, 68944, 68255,
68945, 68946, 68947, 68948, 68949, 68950, 68951, 68952, 68655, 68656,
68657, 68953, 68954, 68955, 68956, 68957, 68958, 68959, 68960, 68961,
68962, 134499, 134501, 134503, 134505, 134507, 134509, 134511, 134513,
134515, 134517, 134519, 134521, 134523, 134525, 134527, 134529, 134531,
134533, 134535, 134537, 134539, 134541, 134543, 134545, 200083, 200086,
200089, -1, -1, -1, -1, 69020, 69021, 69022, 69023, 69024, 69025, 69026,
69027, 69028, 69029, 69030, 69031, 69032, 69033, 69034, 69035, 69036,
69037, 69038, 69039, 69040, 69041, 69042, 69043, 69044, 69045, 69046,
69047, 69048, 69049, 69050, 69051, 69052, 69053, 69054, 69055, 69056,
69057, 69058, 69059, 69060, 69061, 69062, 69063, 69064, 69065, 69066,
-1, 331211, 265680, 331220, 200153, 331228, 200161, 200164, 396775,
265709, 200177, 200180, 200183, 265722, 265726, 265730, 265734, 265738,
265742, 265746, 396822, 134684, 396830, 396836, 331306, 265775, 396851,
396857, 265791, 200259, 200262, 265801, 265805, 331345, 331350, 200283,
200286, 265825, 200293, 200296, 134763, 134765, 200303, 200306, 396917,
265851, 331391, 396932, 265866, 200334, 200337, 396948, 265882, 396958,
200356, 331431, 200364, 265903, 200371, 265910, 331450, 265919, 331459,
265928, 134860, 331470, 200403, 200406, 265945, 200413, 200416, 200419,
331494, 265963, 134895, 397041, 200439, 331514, 265983, 265987, 200455,
200458, 265997, 134929, 266003, 331543, 134940, 397086, 200484, 134951,
134953, 134955, 134957, 134959, 134961, 134963, 134965, 134967, 134969,
200507, 200510, 200513, 200516, 200519, 200522, 200525, 200528, 200531,
200534, 200537, 200540, 200543, 200546, 200549, 200552, 135019, 135021,
200559, 135026, 135028, -1, -1, -1, -1, 135030, 135032, 135034, 135036,
266110, 135042, 135044, 135046, 135048, 135050, 135052, 135054, 135056,
200594, 266133, 135065, 135067, 135069, 135071, 135073, 135075, 135077,
200615, 200618, 200621, 200624, 135091, 135093, 135095, 135097, 135099,
135101, 135103, 135105, 135107, 135109, 200647, 200650, 135117, 200655,
200658, 200661, 135128, 200666, 200669, 266208, 135140, 200678, 200681,
200684, 200687, 331762, 397303, 135165, 135167, 135169, 135171, 135173,
135175, 135177, 135179, 135181, 135183, 135185, 135187, 135189, 135191,
135193, 135195, 135197, 135199, 266273, 135205, 135207, 135209, 266283,
200751, 135218, 135220, 135222, 135224, 135226, 135228, 135230, 135232,
135234, 135236, 200774, 135241, 135243, 200781, 200784, 135251, 266325,
200793, 135260, 135262, 135264, 135266, -1, -1, 135268, 135270, 135272,
135274, 135276, 135278, 135280, 135282, 135284, 200822, 200825, 200828,
200831, 200834, 200837, 200840, 200843, 200846, 200849, 200852, 200855,
200858, 200861, 200864, 200867, 200870, 200873, 200876, 200879, 200882,
200885, -1, 69816, 69817, 68376, 69818, 69819, 69820, 69821, 68430,
68430, 69822, 68384, 69823, 69824, 69825, 69826, 69827, 69828, 69829,
69830, 69831, 69832, 69833, 69834, 69835, 69836, 69837, 69838, 69839,
69840, 69841, 69842, 69843, 69844, 69845, 69846, 69847, 69848, 69849,
69850, 69851, 69852, 69853, 69854, 69855, 69856, 69857, 69858, 69859,
69860, 69861, 69862, 69863, 68342, 69864, 69865, 69866, 69867, 69868,
69869, 69870, 69871, 69872, 69873, 69874, 68415, 69875, 69876, 69877,
69878, 69879, 69880, 69881, 69882, 69883, 69884, 69885, 69886, 69887,
69888, 69889, 69890, 69891, 69892, 69893, 69894, 69895, 69896, 69897,
69898, 69899, 69900, 69901, 69832, 69902, 69903, 69904, 69905, 69906,
69907, 69908, 69909, 69910, 69911, 69912, 69913, 69914, 69915, 69916,
69917, 69918, 69919, 69920, 69921, 68378, 69922, 69923, 69924, 69925,
69926, 69927, 69928, 69929, 69930, 69931, 69932, 69933, 69934, 69935,
69936, 68255, 69937, 69938, 69939, 69940, 69941, 69942, 69943, 69944,
68236, 69945, 69946, 69947, 69948, 69949, 69950, 69951, 69952, 69953,
69954, 69955, 69956, 69957, 69958, 69959, 69960, 69961, 69962, 69963,
69964, 69965, 69966, 69920, 69967, 69968, 69969, 69970, 69971, 69972,
69973, 69974, 69904, 69975, 69976, 69977, 69978, 69979, 69980, 69981,
69982, 69983, 69984, 69985, 69986, 69987, 69988, 69989, 69990, 69991,
69992, 69993, 69994, 69832, 69995, 69996, 69997, 69998, 68429, 69999,
70000, 70001, 70002, 70003, 70004, 70005, 70006, 70007, 70008, 70009,
70010, 68932, 70011, 70012, 70013, 70014, 70015, 70016, 70017, 70018,
70019, 69906, 70020, 70021, 70022, 70023, 70024, 70025, 70026, 70027,
70028, 70029, 70030, 70031, 70032, 68383, 70033, 70034, 70035, 70036,
70037, 70038, 70039, 70040, 70041, 70042, 70043, 70044, 70045, 68334,
70046, 70047, 70048, 70049, 70050, 70051, 70052, 70053, 70054, 70055,
70056, 70057, 70058, 70059, 70060, 70061, 68361, 70062, 68364, 70063,
70064, 70065, -1, -1, 70066, -1, 70067, -1, -1, 70068, 70069, 70070,
70071, 70072, 70073, 70074, 70075, 70076, 68341, -1, 70077, -1, 70078,
-1, -1, 70079, 70080, -1, -1, -1, 70081, 70082, 70083, 70084, -1, -1,
70085, 70086, 70087, 70088, 70089, 70090, 70091, 70092, 70093, 70094,
70095, 70096, 68262, 70097, 70098, 70099, 70100, 70101, 70102, 70103,
70104, 70105, 70106, 70107, 70108, 70109, 70110, 70111, 68937, 70112,
70113, 70114, 70115, 68941, 70116, 70117, 70118, 70119, 70120, 69956,
70121, 70122, 70123, 70124, 70125, 70126, 70126, 70127, 70128, 70129,
70130, 70131, 70132, 70133, 70134, 70079, 70135, 70136, 70137, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 135674, 135676, 135678, 201216, 201219, 135686, 135686,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 135688, 135690, 135692,
135694, 135696, -1, -1, -1, -1, -1, 135698, -1, 135700, 70166, 67764,
67767, 70167, 70168, 70169, 70170, 70171, 70172, 67712, 135709, 135711,
201249, 201252, 135719, 135721, 135723, 135725, 135727, 135729, 135731,
135733, 135735, -1, 135737, 135739, 135741, 135743, 135745, -1, 135747,
-1, 135749, 135751, -1, 135753, 135755, -1, 135757, 135759, 135761,
135763, 135765, 135767, 135769, 135771, 135773, 135775, 70241, 70241,
70242, 70242, 70242, 70242, 70243, 70243, 70243, 70243, 70244, 70244,
70244, 70244, 70245, 70245, 70245, 70245, 70246, 70246, 70246, 70246,
70247, 70247, 70247, 70247, 70248, 70248, 70248, 70248, 70249, 70249,
70249, 70249, 70250, 70250, 70250, 70250, 70251, 70251, 70251, 70251,
70252, 70252, 70252, 70252, 70253, 70253, 70253, 70253, 70254, 70254,
70255, 70255, 70256, 70256, 70257, 70257, 70258, 70258, 70259, 70259,
70260, 70260, 70260, 70260, 70261, 70261, 70261, 70261, 70262, 70262,
70262, 70262, 70263, 70263, 70263, 70263, 70264, 70264, 70265, 70265,
70265, 70265, 131874, 131874, 70266, 70266, 70266, 70266, 70267, 70267,
70267, 70267, 70268, 70268, 131878, 131878, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 70269, 70269, 70269, 70269,
70270, 70270, 70271, 70271, 70272, 70272, 131870, 70273, 70273, 70274,
70274, 70275, 70275, 70276, 70276, 70276, 70276, 70277, 70277, 201350,
201350, 201353, 201353, 201356, 201356, 201359, 201359, 201362, 201362,
201365, 201365, 201368, 201368, 201368, 201371, 201371, 201371, 70302,
70302, 70302, 70302, 201375, 201378, 201381, 201371, 201384, 135851,
135853, 135855, 135857, 135859, 135861, 135863, 135865, 135867, 135869,
135871, 135873, 135875, 135877, 135879, 135881, 135883, 135885, 135887,
135889, 135891, 135893, 135895, 135897, 135899, 135901, 135903, 135905,
135907, 135909, 135911, 135913, 135915, 135917, 135919, 135921, 135923,
135925, 135927, 135929, 135931, 135933, 135935, 135937, 135939, 135941,
135943, 135945, 135947, 135949, 135951, 135953, 135955, 135957, 135959,
135961, 135963, 135965, 135967, 135969, 135971, 135973, 135975, 135977,
135979, 135981, 135983, 135985, 135987, 135989, 135991, 135993, 135995,
135997, 135999, 136001, 136003, 136005, 136007, 136009, 136011, 136013,
136015, 136017, 136019, 136021, 136023, 136025, 136027, 201565, 201568,
201571, 201574, 201577, 201580, 201583, 201586, 201381, 201589, 201371,
201384, 136056, 136058, 135857, 136060, 135859, 135861, 136062, 136064,
135869, 136066, 135871, 135873, 136068, 136070, 135877, 136072, 135879,
135881, 135939, 135941, 135947, 135949, 135951, 135959, 135961, 135963,
135965, 135973, 135975, 135977, 136074, 135985, 136076, 136078, 135997,
136080, 135999, 136001, 136027, 136082, 136084, 136017, 136086, 136019,
136021, 201375, 201378, 201624, 201381, 201627, 135851, 135853, 135855,
135857, 136094, 135863, 135865, 135867, 135869, 136096, 135877, 135883,
135885, 135887, 135889, 135891, 135895, 135897, 135899, 135901, 135903,
135905, 136098, 135907, 135909, 135911, 135913, 135915, 135917, 135921,
135923, 135925, 135927, 135929, 135931, 135933, 135935, 135937, 135943,
135945, 135953, 135955, 135957, 135959, 135961, 135967, 135969, 135971,
135973, 136100, 135979, 135981, 135983, 135985, 135991, 135993, 135995,
135997, 136102, 136003, 136005, 136104, 136011, 136013, 136015, 136017,
136106, 201381, 201627, 135857, 136094, 135869, 136096, 135877, 136108,
135903, 136110, 136112, 136114, 135959, 135961, 135973, 135997, 136102,
136017, 136106, 201652, 201655, 201658, 136125, 136127, 136129, 136131,
136133, 136135, 136137, 136139, 136141, 136143, 136145, 136147, 136149,
136151, 136153, 136155, 136157, 136159, 136161, 136163, 136165, 136167,
136169, 136112, 136171, 136173, 136175, 136177, 136125, 136127, 136129,
136131, 136133, 136135, 136137, 136139, 136141, 136143, 136145, 136147,
136149, 136151, 136153, 136155, 136157, 136159, 136161, 136163, 136165,
136167, 136169, 136112, 136171, 136173, 136175, 136177, 136165, 136167,
136169, 136112, 136110, 136114, 135919, 135897, 135899, 135901, 136165,
136167, 136169, 135919, 135921, 136179, 136179, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 201717, 201720,
201720, 201723, 201726, 201729, 201732, 201735, 201738, 201738, 201741,
201744, 201747, 201750, 201753, 201756, 201756, 201759, 201762, 201762,
201765, 201765, 201768, 201771, 201771, 201774, 201777, 201777, 201780,
201780, 201783, 201786, 201786, 201789, 201789, 201792, 201795, 201798,
201801, 201801, 201804, 201807, 201810, 201813, 201816, 201816, 201819,
201822, 201825, 201828, 201831, 201834, 201834, 201837, 201837, 201840,
201840, 201843, 201846, 201849, 201852, 201855, 201858, 201861, -1,
-1, 201864, 201867, 201870, 201873, 201876, 201879, 201879, 201882,
201885, 201888, 201891, 201891, 201894, 201897, 201900, 201903, 201906,
201909, 201912, 201915, 201918, 201921, 201924, 201927, 201930, 201933,
201936, 201939, 201942, 201945, 201948, 201951, 201954, 201957, 201819,
201825, 201960, 201963, 201966, 201969, 201972, 201975, 201972, 201966,
201978, 201981, 201984, 201987, 201990, 201975, 201798, 201768, 201993,
201996, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 201999, 202002, 267541, 267545, 267549,
267553, 267557, 267561, 267565, 202033, 1185076, 529734, 267598, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 133211, 70994, 70995, 70996, 70996, 67715, 67716, 70997, 70998,
70999, 71000, 71001, 71002, 71003, 71004, 67961, 67962, 71005, 71006,
71007, 71008, -1, -1, -1, -1, 133228, 133228, 133228, 133228, 70996,
70996, 70996, 71009, 71010, 67674, -1, 66157, 71011, 71012, 71013,
70994, 67715, 67716, 70997, 70998, 70999, 71000, 71014, 71015, 71016,
67712, 71017, 71018, 71019, 67714, -1, 71020, 71021, 71022, 71023,
-1, -1, -1, -1, 136560, 136562, 136564, -1, 136566, -1, 136568, 136570,
136572, 136574, 136576, 136578, 136580, 136582, 136584, 136586, 71052,
131856, 131856, 131858, 131858, 131860, 131860, 131862, 131862, 131864,
131864, 131864, 131864, 71053, 71053, 71054, 71054, 71054, 71054, 71055,
71055, 71056, 71056, 71056, 71056, 71057, 71057, 71057, 71057, 71058,
71058, 71058, 71058, 71059, 71059, 71059, 71059, 71060, 71060, 71060,
71060, 71061, 71061, 71062, 71062, 71063, 71063, 71064, 71064, 71065,
71065, 71065, 71065, 71066, 71066, 71066, 71066, 71067, 71067, 71067,
71067, 71068, 71068, 71068, 71068, 71069, 71069, 71069, 71069, 71070,
71070, 71070, 71070, 71071, 71071, 71071, 71071, 71072, 71072, 71072,
71072, 71073, 71073, 71073, 71073, 71074, 71074, 71074, 71074, 71075,
71075, 71075, 71075, 71076, 71076, 71076, 71076, 71077, 71077, 71077,
71077, 71078, 71078, 71078, 71078, 71079, 71079, 71079, 71079, 71080,
71080, 70277, 70277, 71081, 71081, 71081, 71081, 202154, 202154, 202157,
202157, 202160, 202160, 136627, 136627, -1, -1, -1, -1, 71013, 71093,
71014, 71021, 71022, 71015, 71094, 67715, 67716, 71016, 67712, 71009,
71017, 67674, 71095, 67704, 65549, 65542, 65543, 67706, 67707, 67708,
67709, 67710, 67711, 71011, 66157, 71018, 67714, 71019, 71012, 71023,
68185, 67759, 67726, 67772, 67761, 67762, 68186, 67739, 67741, 68187,
67758, 67742, 67763, 67743, 68188, 67746, 67747, 67748, 68189, 68190,
68191, 67819, 68192, 67831, 68193, 67756, 71096, 71020, 71097, 71098,
70996, 67649, 65539, 68194, 67861, 67773, 67760, 68195, 67738, 66124,
67705, 66126, 68196, 66146, 67862, 67717, 65550, 68197, 68198, 66127,
65892, 68199, 68200, 67844, 66131, 66147, 66132, 68201, 70997, 71099,
70998, 71100, 71101, 71102, 71103, 71005, 71006, 71010, 71104, 69066,
71105, 71106, 71107, 71108, 71109, 71110, 71111, 71112, 71113, 71114,
69020, 69021, 69022, 69023, 69024, 69025, 69026, 69027, 69028, 69029,
69030, 69031, 69032, 69033, 69034, 69035, 69036, 69037, 69038, 69039,
69040, 69041, 69042, 69043, 69044, 69045, 69046, 69047, 69048, 69049,
69050, 69051, 69052, 69053, 69054, 69055, 69056, 69057, 69058, 69059,
69060, 69061, 69062, 69063, 71115, 71116, 71117, 68610, 68559, 68560,
68561, 68562, 68563, 68564, 68565, 68566, 68567, 68568, 68569, 68570,
68571, 68572, 68573, 68574, 68575, 68576, 68577, 68578, 68579, 68580,
68581, 68582, 68583, 68584, 68585, 68586, 68587, 68588, -1, -1, -1,
68589, 68590, 68591, 68592, 68593, 68594, -1, -1, 68595, 68596, 68597,
68598, 68599, 68600, -1, -1, 68601, 68602, 68603, 68604, 68605, 68606,
-1, -1, 68607, 68608, 68609, -1, -1, -1, 71118, 71119, 71120, 131076,
71121, 71122, 71123, -1, 71124, 71125, 71126, 71127, 71128, 71129,
71130, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1
};
/*
* List of decomposition sequences
*/
static int decompList[] = {
32, 32, 776, 97, 32, 772, 50, 51, 32, 769, 956, 32, 807, 49, 111, 49,
8260, 52, 49, 8260, 50, 51, 8260, 52, 65, 768, 65, 769, 65, 770, 65,
771, 65, 776, 65, 778, 67, 807, 69, 768, 69, 769, 69, 770, 69, 776,
73, 768, 73, 769, 73, 770, 73, 776, 78, 771, 79, 768, 79, 769, 79,
770, 79, 771, 79, 776, 85, 768, 85, 769, 85, 770, 85, 776, 89, 769,
97, 768, 97, 769, 97, 770, 97, 771, 97, 776, 97, 778, 99, 807, 101,
768, 101, 769, 101, 770, 101, 776, 105, 768, 105, 769, 105, 770, 105,
776, 110, 771, 111, 768, 111, 769, 111, 770, 111, 771, 111, 776, 117,
768, 117, 769, 117, 770, 117, 776, 121, 769, 121, 776, 65, 772, 97,
772, 65, 774, 97, 774, 65, 808, 97, 808, 67, 769, 99, 769, 67, 770,
99, 770, 67, 775, 99, 775, 67, 780, 99, 780, 68, 780, 100, 780, 69,
772, 101, 772, 69, 774, 101, 774, 69, 775, 101, 775, 69, 808, 101,
808, 69, 780, 101, 780, 71, 770, 103, 770, 71, 774, 103, 774, 71, 775,
103, 775, 71, 807, 103, 807, 72, 770, 104, 770, 73, 771, 105, 771,
73, 772, 105, 772, 73, 774, 105, 774, 73, 808, 105, 808, 73, 775, 73,
74, 105, 106, 74, 770, 106, 770, 75, 807, 107, 807, 76, 769, 108, 769,
76, 807, 108, 807, 76, 780, 108, 780, 76, 183, 108, 183, 78, 769, 110,
769, 78, 807, 110, 807, 78, 780, 110, 780, 700, 110, 79, 772, 111,
772, 79, 774, 111, 774, 79, 779, 111, 779, 82, 769, 114, 769, 82, 807,
114, 807, 82, 780, 114, 780, 83, 769, 115, 769, 83, 770, 115, 770,
83, 807, 115, 807, 83, 780, 115, 780, 84, 807, 116, 807, 84, 780, 116,
780, 85, 771, 117, 771, 85, 772, 117, 772, 85, 774, 117, 774, 85, 778,
117, 778, 85, 779, 117, 779, 85, 808, 117, 808, 87, 770, 119, 770,
89, 770, 121, 770, 89, 776, 90, 769, 122, 769, 90, 775, 122, 775, 90,
780, 122, 780, 115, 79, 795, 111, 795, 85, 795, 117, 795, 68, 90, 780,
68, 122, 780, 100, 122, 780, 76, 74, 76, 106, 108, 106, 78, 74, 78,
106, 110, 106, 65, 780, 97, 780, 73, 780, 105, 780, 79, 780, 111, 780,
85, 780, 117, 780, 85, 776, 772, 117, 776, 772, 85, 776, 769, 117,
776, 769, 85, 776, 780, 117, 776, 780, 85, 776, 768, 117, 776, 768,
65, 776, 772, 97, 776, 772, 65, 775, 772, 97, 775, 772, 198, 772, 230,
772, 71, 780, 103, 780, 75, 780, 107, 780, 79, 808, 111, 808, 79, 808,
772, 111, 808, 772, 439, 780, 658, 780, 106, 780, 68, 90, 68, 122,
100, 122, 71, 769, 103, 769, 78, 768, 110, 768, 65, 778, 769, 97, 778,
769, 198, 769, 230, 769, 216, 769, 248, 769, 65, 783, 97, 783, 65,
785, 97, 785, 69, 783, 101, 783, 69, 785, 101, 785, 73, 783, 105, 783,
73, 785, 105, 785, 79, 783, 111, 783, 79, 785, 111, 785, 82, 783, 114,
783, 82, 785, 114, 785, 85, 783, 117, 783, 85, 785, 117, 785, 83, 806,
115, 806, 84, 806, 116, 806, 72, 780, 104, 780, 65, 775, 97, 775, 69,
807, 101, 807, 79, 776, 772, 111, 776, 772, 79, 771, 772, 111, 771,
772, 79, 775, 111, 775, 79, 775, 772, 111, 775, 772, 89, 772, 121,
772, 104, 614, 106, 114, 633, 635, 641, 119, 121, 32, 774, 32, 775,
32, 778, 32, 808, 32, 771, 32, 779, 611, 108, 120, 661, 768, 769, 787,
776, 769, 697, 32, 837, 59, 32, 776, 769, 913, 769, 183, 917, 769,
919, 769, 921, 769, 927, 769, 933, 769, 937, 769, 953, 776, 769, 921,
776, 933, 776, 945, 769, 949, 769, 951, 769, 953, 769, 965, 776, 769,
953, 776, 965, 776, 959, 769, 965, 769, 969, 769, 946, 952, 933, 966,
960, 954, 961, 962, 920, 949, 1045, 768, 1045, 776, 1043, 769, 1030,
776, 1050, 769, 1048, 768, 1059, 774, 1048, 774, 1080, 774, 1077, 768,
1077, 776, 1075, 769, 1110, 776, 1082, 769, 1080, 768, 1091, 774, 1140,
783, 1141, 783, 1046, 774, 1078, 774, 1040, 774, 1072, 774, 1040, 776,
1072, 776, 1045, 774, 1077, 774, 1240, 776, 1241, 776, 1046, 776, 1078,
776, 1047, 776, 1079, 776, 1048, 772, 1080, 772, 1048, 776, 1080, 776,
1054, 776, 1086, 776, 1256, 776, 1257, 776, 1069, 776, 1101, 776, 1059,
772, 1091, 772, 1059, 776, 1091, 776, 1059, 779, 1091, 779, 1063, 776,
1095, 776, 1067, 776, 1099, 776, 1381, 1410, 1575, 1619, 1575, 1620,
1608, 1620, 1575, 1621, 1610, 1620, 1575, 1652, 1608, 1652, 1735, 1652,
1610, 1652, 1749, 1620, 1729, 1620, 1746, 1620, 2344, 2364, 2352, 2364,
2355, 2364, 2325, 2364, 2326, 2364, 2327, 2364, 2332, 2364, 2337, 2364,
2338, 2364, 2347, 2364, 2351, 2364, 2503, 2494, 2503, 2519, 2465, 2492,
2466, 2492, 2479, 2492, 2610, 2620, 2616, 2620, 2582, 2620, 2583, 2620,
2588, 2620, 2603, 2620, 2887, 2902, 2887, 2878, 2887, 2903, 2849, 2876,
2850, 2876, 2962, 3031, 3014, 3006, 3015, 3006, 3014, 3031, 3142, 3158,
3263, 3285, 3270, 3285, 3270, 3286, 3270, 3266, 3270, 3266, 3285, 3398,
3390, 3399, 3390, 3398, 3415, 3545, 3530, 3545, 3535, 3545, 3535, 3530,
3545, 3551, 3661, 3634, 3789, 3762, 3755, 3737, 3755, 3745, 3851, 3906,
4023, 3916, 4023, 3921, 4023, 3926, 4023, 3931, 4023, 3904, 4021, 3953,
3954, 3953, 3956, 4018, 3968, 4018, 3953, 3968, 4019, 3968, 4019, 3953,
3968, 3953, 3968, 3986, 4023, 3996, 4023, 4001, 4023, 4006, 4023, 4011,
4023, 3984, 4021, 4133, 4142, 65, 805, 97, 805, 66, 775, 98, 775, 66,
803, 98, 803, 66, 817, 98, 817, 67, 807, 769, 99, 807, 769, 68, 775,
100, 775, 68, 803, 100, 803, 68, 817, 100, 817, 68, 807, 100, 807,
68, 813, 100, 813, 69, 772, 768, 101, 772, 768, 69, 772, 769, 101,
772, 769, 69, 813, 101, 813, 69, 816, 101, 816, 69, 807, 774, 101,
807, 774, 70, 775, 102, 775, 71, 772, 103, 772, 72, 775, 104, 775,
72, 803, 104, 803, 72, 776, 104, 776, 72, 807, 104, 807, 72, 814, 104,
814, 73, 816, 105, 816, 73, 776, 769, 105, 776, 769, 75, 769, 107,
769, 75, 803, 107, 803, 75, 817, 107, 817, 76, 803, 108, 803, 76, 803,
772, 108, 803, 772, 76, 817, 108, 817, 76, 813, 108, 813, 77, 769,
109, 769, 77, 775, 109, 775, 77, 803, 109, 803, 78, 775, 110, 775,
78, 803, 110, 803, 78, 817, 110, 817, 78, 813, 110, 813, 79, 771, 769,
111, 771, 769, 79, 771, 776, 111, 771, 776, 79, 772, 768, 111, 772,
768, 79, 772, 769, 111, 772, 769, 80, 769, 112, 769, 80, 775, 112,
775, 82, 775, 114, 775, 82, 803, 114, 803, 82, 803, 772, 114, 803,
772, 82, 817, 114, 817, 83, 775, 115, 775, 83, 803, 115, 803, 83, 769,
775, 115, 769, 775, 83, 780, 775, 115, 780, 775, 83, 803, 775, 115,
803, 775, 84, 775, 116, 775, 84, 803, 116, 803, 84, 817, 116, 817,
84, 813, 116, 813, 85, 804, 117, 804, 85, 816, 117, 816, 85, 813, 117,
813, 85, 771, 769, 117, 771, 769, 85, 772, 776, 117, 772, 776, 86,
771, 118, 771, 86, 803, 118, 803, 87, 768, 119, 768, 87, 769, 119,
769, 87, 776, 119, 776, 87, 775, 119, 775, 87, 803, 119, 803, 88, 775,
120, 775, 88, 776, 120, 776, 89, 775, 121, 775, 90, 770, 122, 770,
90, 803, 122, 803, 90, 817, 122, 817, 104, 817, 116, 776, 119, 778,
121, 778, 97, 702, 65, 803, 97, 803, 65, 777, 97, 777, 65, 770, 769,
97, 770, 769, 65, 770, 768, 97, 770, 768, 65, 770, 777, 97, 770, 777,
65, 770, 771, 97, 770, 771, 65, 803, 770, 97, 803, 770, 65, 774, 769,
97, 774, 769, 65, 774, 768, 97, 774, 768, 65, 774, 777, 97, 774, 777,
65, 774, 771, 97, 774, 771, 65, 803, 774, 97, 803, 774, 69, 803, 101,
803, 69, 777, 101, 777, 69, 771, 101, 771, 69, 770, 769, 101, 770,
769, 69, 770, 768, 101, 770, 768, 69, 770, 777, 101, 770, 777, 69,
770, 771, 101, 770, 771, 69, 803, 770, 101, 803, 770, 73, 777, 105,
777, 73, 803, 105, 803, 79, 803, 111, 803, 79, 777, 111, 777, 79, 770,
769, 111, 770, 769, 79, 770, 768, 111, 770, 768, 79, 770, 777, 111,
770, 777, 79, 770, 771, 111, 770, 771, 79, 803, 770, 111, 803, 770,
79, 795, 769, 111, 795, 769, 79, 795, 768, 111, 795, 768, 79, 795,
777, 111, 795, 777, 79, 795, 771, 111, 795, 771, 79, 795, 803, 111,
795, 803, 85, 803, 117, 803, 85, 777, 117, 777, 85, 795, 769, 117,
795, 769, 85, 795, 768, 117, 795, 768, 85, 795, 777, 117, 795, 777,
85, 795, 771, 117, 795, 771, 85, 795, 803, 117, 795, 803, 89, 768,
121, 768, 89, 803, 121, 803, 89, 777, 121, 777, 89, 771, 121, 771,
945, 787, 945, 788, 945, 787, 768, 945, 788, 768, 945, 787, 769, 945,
788, 769, 945, 787, 834, 945, 788, 834, 913, 787, 913, 788, 913, 787,
768, 913, 788, 768, 913, 787, 769, 913, 788, 769, 913, 787, 834, 913,
788, 834, 949, 787, 949, 788, 949, 787, 768, 949, 788, 768, 949, 787,
769, 949, 788, 769, 917, 787, 917, 788, 917, 787, 768, 917, 788, 768,
917, 787, 769, 917, 788, 769, 951, 787, 951, 788, 951, 787, 768, 951,
788, 768, 951, 787, 769, 951, 788, 769, 951, 787, 834, 951, 788, 834,
919, 787, 919, 788, 919, 787, 768, 919, 788, 768, 919, 787, 769, 919,
788, 769, 919, 787, 834, 919, 788, 834, 953, 787, 953, 788, 953, 787,
768, 953, 788, 768, 953, 787, 769, 953, 788, 769, 953, 787, 834, 953,
788, 834, 921, 787, 921, 788, 921, 787, 768, 921, 788, 768, 921, 787,
769, 921, 788, 769, 921, 787, 834, 921, 788, 834, 959, 787, 959, 788,
959, 787, 768, 959, 788, 768, 959, 787, 769, 959, 788, 769, 927, 787,
927, 788, 927, 787, 768, 927, 788, 768, 927, 787, 769, 927, 788, 769,
965, 787, 965, 788, 965, 787, 768, 965, 788, 768, 965, 787, 769, 965,
788, 769, 965, 787, 834, 965, 788, 834, 933, 788, 933, 788, 768, 933,
788, 769, 933, 788, 834, 969, 787, 969, 788, 969, 787, 768, 969, 788,
768, 969, 787, 769, 969, 788, 769, 969, 787, 834, 969, 788, 834, 937,
787, 937, 788, 937, 787, 768, 937, 788, 768, 937, 787, 769, 937, 788,
769, 937, 787, 834, 937, 788, 834, 945, 768, 949, 768, 951, 768, 953,
768, 959, 768, 965, 768, 969, 768, 945, 787, 837, 945, 788, 837, 945,
787, 768, 837, 945, 788, 768, 837, 945, 787, 769, 837, 945, 788, 769,
837, 945, 787, 834, 837, 945, 788, 834, 837, 913, 787, 837, 913, 788,
837, 913, 787, 768, 837, 913, 788, 768, 837, 913, 787, 769, 837, 913,
788, 769, 837, 913, 787, 834, 837, 913, 788, 834, 837, 951, 787, 837,
951, 788, 837, 951, 787, 768, 837, 951, 788, 768, 837, 951, 787, 769,
837, 951, 788, 769, 837, 951, 787, 834, 837, 951, 788, 834, 837, 919,
787, 837, 919, 788, 837, 919, 787, 768, 837, 919, 788, 768, 837, 919,
787, 769, 837, 919, 788, 769, 837, 919, 787, 834, 837, 919, 788, 834,
837, 969, 787, 837, 969, 788, 837, 969, 787, 768, 837, 969, 788, 768,
837, 969, 787, 769, 837, 969, 788, 769, 837, 969, 787, 834, 837, 969,
788, 834, 837, 937, 787, 837, 937, 788, 837, 937, 787, 768, 837, 937,
788, 768, 837, 937, 787, 769, 837, 937, 788, 769, 837, 937, 787, 834,
837, 937, 788, 834, 837, 945, 774, 945, 772, 945, 768, 837, 945, 837,
945, 769, 837, 945, 834, 945, 834, 837, 913, 774, 913, 772, 913, 768,
913, 837, 32, 787, 953, 32, 834, 32, 776, 834, 951, 768, 837, 951,
837, 951, 769, 837, 951, 834, 951, 834, 837, 917, 768, 919, 768, 919,
837, 32, 787, 768, 32, 787, 769, 32, 787, 834, 953, 774, 953, 772,
953, 776, 768, 953, 834, 953, 776, 834, 921, 774, 921, 772, 921, 768,
32, 788, 768, 32, 788, 769, 32, 788, 834, 965, 774, 965, 772, 965,
776, 768, 961, 787, 961, 788, 965, 834, 965, 776, 834, 933, 774, 933,
772, 933, 768, 929, 788, 32, 776, 768, 96, 969, 768, 837, 969, 837,
969, 769, 837, 969, 834, 969, 834, 837, 927, 768, 937, 768, 937, 837,
32, 788, 8208, 32, 819, 46, 46, 46, 46, 46, 46, 8242, 8242, 8242, 8242,
8242, 8245, 8245, 8245, 8245, 8245, 33, 33, 32, 773, 63, 63, 63, 33,
33, 63, 8242, 8242, 8242, 8242, 48, 105, 52, 53, 54, 55, 56, 57, 43,
8722, 61, 40, 41, 110, 82, 115, 97, 47, 99, 97, 47, 115, 67, 176, 67,
99, 47, 111, 99, 47, 117, 400, 176, 70, 103, 72, 295, 73, 76, 78, 78,
111, 80, 81, 82, 83, 77, 84, 69, 76, 84, 77, 90, 937, 75, 66, 101,
69, 70, 77, 1488, 1489, 1490, 1491, 947, 915, 928, 8721, 68, 100, 49,
8260, 51, 50, 8260, 51, 49, 8260, 53, 50, 8260, 53, 51, 8260, 53, 52,
8260, 53, 49, 8260, 54, 53, 8260, 54, 49, 8260, 56, 51, 8260, 56, 53,
8260, 56, 55, 8260, 56, 49, 8260, 73, 73, 73, 73, 73, 73, 86, 86, 86,
73, 86, 73, 73, 86, 73, 73, 73, 73, 88, 88, 88, 73, 88, 73, 73, 105,
105, 105, 105, 105, 105, 118, 118, 118, 105, 118, 105, 105, 118, 105,
105, 105, 105, 120, 120, 105, 120, 105, 105, 99, 109, 8592, 824, 8594,
824, 8596, 824, 8656, 824, 8660, 824, 8658, 824, 8707, 824, 8712, 824,
8715, 824, 8739, 824, 8741, 824, 8747, 8747, 8747, 8747, 8747, 8750,
8750, 8750, 8750, 8750, 8764, 824, 8771, 824, 8773, 824, 8776, 824,
61, 824, 8801, 824, 8781, 824, 60, 824, 62, 824, 8804, 824, 8805, 824,
8818, 824, 8819, 824, 8822, 824, 8823, 824, 8826, 824, 8827, 824, 8834,
824, 8835, 824, 8838, 824, 8839, 824, 8866, 824, 8872, 824, 8873, 824,
8875, 824, 8828, 824, 8829, 824, 8849, 824, 8850, 824, 8882, 824, 8883,
824, 8884, 824, 8885, 824, 12296, 12297, 49, 48, 49, 49, 49, 50, 49,
51, 49, 52, 49, 53, 49, 54, 49, 55, 49, 56, 49, 57, 50, 48, 40, 49,
41, 40, 50, 41, 40, 51, 41, 40, 52, 41, 40, 53, 41, 40, 54, 41, 40,
55, 41, 40, 56, 41, 40, 57, 41, 40, 49, 48, 41, 40, 49, 49, 41, 40,
49, 50, 41, 40, 49, 51, 41, 40, 49, 52, 41, 40, 49, 53, 41, 40, 49,
54, 41, 40, 49, 55, 41, 40, 49, 56, 41, 40, 49, 57, 41, 40, 50, 48,
41, 49, 46, 50, 46, 51, 46, 52, 46, 53, 46, 54, 46, 55, 46, 56, 46,
57, 46, 49, 48, 46, 49, 49, 46, 49, 50, 46, 49, 51, 46, 49, 52, 46,
49, 53, 46, 49, 54, 46, 49, 55, 46, 49, 56, 46, 49, 57, 46, 50, 48,
46, 40, 97, 41, 40, 98, 41, 40, 99, 41, 40, 100, 41, 40, 101, 41, 40,
102, 41, 40, 103, 41, 40, 104, 41, 40, 105, 41, 40, 106, 41, 40, 107,
41, 40, 108, 41, 40, 109, 41, 40, 110, 41, 40, 111, 41, 40, 112, 41,
40, 113, 41, 40, 114, 41, 40, 115, 41, 40, 116, 41, 40, 117, 41, 40,
118, 41, 40, 119, 41, 40, 120, 41, 40, 121, 41, 40, 122, 41, 65, 71,
74, 79, 83, 84, 85, 87, 89, 98, 102, 107, 112, 113, 116, 117, 122,
8747, 8747, 8747, 8747, 58, 58, 61, 61, 61, 61, 61, 61, 10973, 824,
27597, 40863, 19968, 20008, 20022, 20031, 20057, 20101, 20108, 20128,
20154, 20799, 20837, 20843, 20866, 20886, 20907, 20960, 20981, 20992,
21147, 21241, 21269, 21274, 21304, 21313, 21340, 21353, 21378, 21430,
21448, 21475, 22231, 22303, 22763, 22786, 22794, 22805, 22823, 22899,
23376, 23424, 23544, 23567, 23586, 23608, 23662, 23665, 24027, 24037,
24049, 24062, 24178, 24186, 24191, 24308, 24318, 24331, 24339, 24400,
24417, 24435, 24515, 25096, 25142, 25163, 25903, 25908, 25991, 26007,
26020, 26041, 26080, 26085, 26352, 26376, 26408, 27424, 27490, 27513,
27571, 27595, 27604, 27611, 27663, 27668, 27700, 28779, 29226, 29238,
29243, 29247, 29255, 29273, 29275, 29356, 29572, 29577, 29916, 29926,
29976, 29983, 29992, 30000, 30091, 30098, 30326, 30333, 30382, 30399,
30446, 30683, 30690, 30707, 31034, 31160, 31166, 31348, 31435, 31481,
31859, 31992, 32566, 32593, 32650, 32701, 32769, 32780, 32786, 32819,
32895, 32905, 33251, 33258, 33267, 33276, 33292, 33307, 33311, 33390,
33394, 33400, 34381, 34411, 34880, 34892, 34915, 35198, 35211, 35282,
35328, 35895, 35910, 35925, 35960, 35997, 36196, 36208, 36275, 36523,
36554, 36763, 36784, 36789, 37009, 37193, 37318, 37324, 37329, 38263,
38272, 38428, 38582, 38585, 38632, 38737, 38750, 38754, 38761, 38859,
38893, 38899, 38913, 39080, 39131, 39135, 39318, 39321, 39340, 39592,
39640, 39647, 39717, 39727, 39730, 39740, 39770, 40165, 40565, 40575,
40613, 40635, 40643, 40653, 40657, 40697, 40701, 40718, 40723, 40736,
40763, 40778, 40786, 40845, 40860, 40864, 12306, 21316, 21317, 12363,
12441, 12365, 12441, 12367, 12441, 12369, 12441, 12371, 12441, 12373,
12441, 12375, 12441, 12377, 12441, 12379, 12441, 12381, 12441, 12383,
12441, 12385, 12441, 12388, 12441, 12390, 12441, 12392, 12441, 12399,
12441, 12399, 12442, 12402, 12441, 12402, 12442, 12405, 12441, 12405,
12442, 12408, 12441, 12408, 12442, 12411, 12441, 12411, 12442, 12358,
12441, 32, 12441, 32, 12442, 12445, 12441, 12424, 12426, 12459, 12441,
12461, 12441, 12463, 12441, 12465, 12441, 12467, 12441, 12469, 12441,
12471, 12441, 12473, 12441, 12475, 12441, 12477, 12441, 12479, 12441,
12481, 12441, 12484, 12441, 12486, 12441, 12488, 12441, 12495, 12441,
12495, 12442, 12498, 12441, 12498, 12442, 12501, 12441, 12501, 12442,
12504, 12441, 12504, 12442, 12507, 12441, 12507, 12442, 12454, 12441,
12527, 12441, 12528, 12441, 12529, 12441, 12530, 12441, 12541, 12441,
12467, 12488, 4352, 4353, 4522, 4354, 4524, 4525, 4355, 4356, 4357,
4528, 4529, 4530, 4531, 4532, 4533, 4378, 4358, 4359, 4360, 4385, 4361,
4362, 4363, 4364, 4365, 4366, 4367, 4368, 4369, 4370, 4449, 4450, 4451,
4452, 4453, 4454, 4455, 4456, 4457, 4458, 4459, 4460, 4461, 4462, 4463,
4464, 4465, 4466, 4467, 4468, 4469, 4448, 4372, 4373, 4551, 4552, 4556,
4558, 4563, 4567, 4569, 4380, 4573, 4575, 4381, 4382, 4384, 4386, 4387,
4391, 4393, 4395, 4396, 4397, 4398, 4399, 4402, 4406, 4416, 4423, 4428,
4593, 4594, 4439, 4440, 4441, 4484, 4485, 4488, 4497, 4498, 4500, 4510,
4513, 19977, 22235, 19978, 20013, 19979, 30002, 19993, 19969, 22825,
22320, 40, 4352, 41, 40, 4354, 41, 40, 4355, 41, 40, 4357, 41, 40,
4358, 41, 40, 4359, 41, 40, 4361, 41, 40, 4363, 41, 40, 4364, 41, 40,
4366, 41, 40, 4367, 41, 40, 4368, 41, 40, 4369, 41, 40, 4370, 41, 40,
4352, 4449, 41, 40, 4354, 4449, 41, 40, 4355, 4449, 41, 40, 4357, 4449,
41, 40, 4358, 4449, 41, 40, 4359, 4449, 41, 40, 4361, 4449, 41, 40,
4363, 4449, 41, 40, 4364, 4449, 41, 40, 4366, 4449, 41, 40, 4367, 4449,
41, 40, 4368, 4449, 41, 40, 4369, 4449, 41, 40, 4370, 4449, 41, 40,
4364, 4462, 41, 40, 19968, 41, 40, 20108, 41, 40, 19977, 41, 40, 22235,
41, 40, 20116, 41, 40, 20845, 41, 40, 19971, 41, 40, 20843, 41, 40,
20061, 41, 40, 21313, 41, 40, 26376, 41, 40, 28779, 41, 40, 27700,
41, 40, 26408, 41, 40, 37329, 41, 40, 22303, 41, 40, 26085, 41, 40,
26666, 41, 40, 26377, 41, 40, 31038, 41, 40, 21517, 41, 40, 29305,
41, 40, 36001, 41, 40, 31069, 41, 40, 21172, 41, 40, 20195, 41, 40,
21628, 41, 40, 23398, 41, 40, 30435, 41, 40, 20225, 41, 40, 36039,
41, 40, 21332, 41, 40, 31085, 41, 40, 20241, 41, 40, 33258, 41, 40,
33267, 41, 50, 49, 50, 50, 50, 51, 50, 52, 50, 53, 50, 54, 50, 55,
50, 56, 50, 57, 51, 48, 51, 49, 51, 50, 51, 51, 51, 52, 51, 53, 4352,
4449, 4354, 4449, 4355, 4449, 4357, 4449, 4358, 4449, 4359, 4449, 4361,
4449, 4363, 4449, 4364, 4449, 4366, 4449, 4367, 4449, 4368, 4449, 4369,
4449, 4370, 4449, 20116, 20845, 19971, 20061, 26666, 26377, 31038,
21517, 29305, 36001, 31069, 21172, 31192, 30007, 36969, 20778, 21360,
27880, 38917, 20241, 20889, 27491, 24038, 21491, 21307, 23447, 23398,
30435, 20225, 36039, 21332, 22812, 51, 54, 51, 55, 51, 56, 51, 57,
52, 48, 52, 49, 52, 50, 52, 51, 52, 52, 52, 53, 52, 54, 52, 55, 52,
56, 52, 57, 53, 48, 49, 26376, 50, 26376, 51, 26376, 52, 26376, 53,
26376, 54, 26376, 55, 26376, 56, 26376, 57, 26376, 49, 48, 26376, 49,
49, 26376, 49, 50, 26376, 12450, 12452, 12454, 12456, 12458, 12459,
12461, 12463, 12465, 12467, 12469, 12471, 12473, 12475, 12477, 12479,
12481, 12484, 12486, 12488, 12490, 12491, 12492, 12493, 12494, 12495,
12498, 12501, 12504, 12507, 12510, 12511, 12512, 12513, 12514, 12516,
12518, 12520, 12521, 12522, 12523, 12524, 12525, 12527, 12528, 12529,
12530, 12450, 12495, 12442, 12540, 12488, 12450, 12523, 12501, 12449,
12450, 12531, 12504, 12442, 12450, 12450, 12540, 12523, 12452, 12491,
12531, 12463, 12441, 12452, 12531, 12481, 12454, 12457, 12531, 12456,
12473, 12463, 12540, 12488, 12441, 12456, 12540, 12459, 12540, 12458,
12531, 12473, 12458, 12540, 12512, 12459, 12452, 12522, 12459, 12521,
12483, 12488, 12459, 12525, 12522, 12540, 12459, 12441, 12525, 12531,
12459, 12441, 12531, 12510, 12461, 12441, 12459, 12441, 12461, 12441,
12491, 12540, 12461, 12517, 12522, 12540, 12461, 12441, 12523, 12479,
12441, 12540, 12461, 12525, 12461, 12525, 12463, 12441, 12521, 12512,
12461, 12525, 12513, 12540, 12488, 12523, 12461, 12525, 12527, 12483,
12488, 12463, 12441, 12521, 12512, 12463, 12441, 12521, 12512, 12488,
12531, 12463, 12523, 12475, 12441, 12452, 12525, 12463, 12525, 12540,
12493, 12465, 12540, 12473, 12467, 12523, 12490, 12467, 12540, 12507,
12442, 12469, 12452, 12463, 12523, 12469, 12531, 12481, 12540, 12512,
12471, 12522, 12531, 12463, 12441, 12475, 12531, 12481, 12475, 12531,
12488, 12479, 12441, 12540, 12473, 12486, 12441, 12471, 12488, 12441,
12523, 12488, 12531, 12490, 12494, 12494, 12483, 12488, 12495, 12452,
12484, 12495, 12442, 12540, 12475, 12531, 12488, 12495, 12442, 12540,
12484, 12495, 12441, 12540, 12524, 12523, 12498, 12442, 12450, 12473,
12488, 12523, 12498, 12442, 12463, 12523, 12498, 12442, 12467, 12498,
12441, 12523, 12501, 12449, 12521, 12483, 12488, 12441, 12501, 12451,
12540, 12488, 12501, 12441, 12483, 12471, 12455, 12523, 12501, 12521,
12531, 12504, 12463, 12479, 12540, 12523, 12504, 12442, 12477, 12504,
12442, 12491, 12498, 12504, 12523, 12484, 12504, 12442, 12531, 12473,
12504, 12442, 12540, 12471, 12441, 12504, 12441, 12540, 12479, 12507,
12442, 12452, 12531, 12488, 12507, 12441, 12523, 12488, 12507, 12531,
12507, 12442, 12531, 12488, 12441, 12507, 12540, 12523, 12507, 12540,
12531, 12510, 12452, 12463, 12525, 12510, 12452, 12523, 12510, 12483,
12495, 12510, 12523, 12463, 12510, 12531, 12471, 12519, 12531, 12511,
12463, 12525, 12531, 12511, 12522, 12511, 12522, 12495, 12441, 12540,
12523, 12513, 12459, 12441, 12513, 12459, 12441, 12488, 12531, 12513,
12540, 12488, 12523, 12516, 12540, 12488, 12441, 12516, 12540, 12523,
12518, 12450, 12531, 12522, 12483, 12488, 12523, 12522, 12521, 12523,
12498, 12442, 12540, 12523, 12540, 12501, 12441, 12523, 12524, 12512,
12524, 12531, 12488, 12465, 12441, 12531, 12527, 12483, 12488, 48,
28857, 49, 28857, 50, 28857, 51, 28857, 52, 28857, 53, 28857, 54, 28857,
55, 28857, 56, 28857, 57, 28857, 49, 48, 28857, 49, 49, 28857, 49,
50, 28857, 49, 51, 28857, 49, 52, 28857, 49, 53, 28857, 49, 54, 28857,
49, 55, 28857, 49, 56, 28857, 49, 57, 28857, 50, 48, 28857, 50, 49,
28857, 50, 50, 28857, 50, 51, 28857, 50, 52, 28857, 104, 80, 97, 100,
97, 65, 85, 98, 97, 114, 111, 86, 112, 99, 24179, 25104, 26157, 21644,
22823, 27491, 26126, 27835, 26666, 24335, 20250, 31038, 112, 65, 110,
65, 956, 65, 109, 65, 107, 65, 75, 66, 77, 66, 71, 66, 99, 97, 108,
107, 99, 97, 108, 112, 70, 110, 70, 956, 70, 956, 103, 109, 103, 107,
103, 72, 122, 107, 72, 122, 77, 72, 122, 71, 72, 122, 84, 72, 122,
956, 108, 109, 108, 100, 108, 107, 108, 102, 109, 110, 109, 956, 109,
109, 109, 99, 109, 107, 109, 109, 109, 50, 99, 109, 50, 109, 50, 107,
109, 50, 109, 109, 51, 99, 109, 51, 109, 51, 107, 109, 51, 109, 8725,
115, 109, 8725, 115, 50, 80, 97, 107, 80, 97, 77, 80, 97, 71, 80, 97,
114, 97, 100, 114, 97, 100, 8725, 115, 114, 97, 100, 8725, 115, 50,
112, 115, 110, 115, 956, 115, 109, 115, 112, 86, 110, 86, 956, 86,
109, 86, 107, 86, 77, 86, 112, 87, 110, 87, 956, 87, 109, 87, 107,
87, 77, 87, 107, 937, 77, 937, 97, 46, 109, 46, 66, 113, 99, 99, 99,
100, 67, 8725, 107, 103, 67, 111, 46, 100, 66, 71, 121, 104, 97, 72,
80, 105, 110, 75, 75, 75, 77, 107, 116, 108, 109, 108, 110, 108, 111,
103, 108, 120, 109, 98, 109, 105, 108, 109, 111, 108, 80, 72, 112,
46, 109, 46, 80, 80, 77, 80, 82, 115, 114, 83, 118, 87, 98, 49, 26085,
50, 26085, 51, 26085, 52, 26085, 53, 26085, 54, 26085, 55, 26085, 56,
26085, 57, 26085, 49, 48, 26085, 49, 49, 26085, 49, 50, 26085, 49,
51, 26085, 49, 52, 26085, 49, 53, 26085, 49, 54, 26085, 49, 55, 26085,
49, 56, 26085, 49, 57, 26085, 50, 48, 26085, 50, 49, 26085, 50, 50,
26085, 50, 51, 26085, 50, 52, 26085, 50, 53, 26085, 50, 54, 26085,
50, 55, 26085, 50, 56, 26085, 50, 57, 26085, 51, 48, 26085, 51, 49,
26085, 35912, 26356, 36040, 28369, 20018, 21477, 22865, 21895, 22856,
25078, 30313, 32645, 34367, 34746, 35064, 37007, 27138, 27931, 28889,
29662, 33853, 37226, 39409, 20098, 21365, 27396, 29211, 34349, 40478,
23888, 28651, 34253, 35172, 25289, 33240, 34847, 24266, 26391, 28010,
29436, 37070, 20358, 20919, 21214, 25796, 27347, 29200, 30439, 34310,
34396, 36335, 38706, 39791, 40442, 30860, 31103, 32160, 33737, 37636,
35542, 22751, 24324, 31840, 32894, 29282, 30922, 36034, 38647, 22744,
23650, 27155, 28122, 28431, 32047, 32311, 38475, 21202, 32907, 20956,
20940, 31260, 32190, 33777, 38517, 35712, 25295, 35582, 20025, 23527,
24594, 29575, 30064, 21271, 30971, 20415, 24489, 19981, 27852, 25976,
32034, 21443, 22622, 30465, 33865, 35498, 27578, 27784, 25342, 33509,
25504, 30053, 20142, 20841, 20937, 26753, 31975, 33391, 35538, 37327,
21237, 21570, 24300, 26053, 28670, 31018, 38317, 39530, 40599, 40654,
26310, 27511, 36706, 24180, 24976, 25088, 25754, 28451, 29001, 29833,
31178, 32244, 32879, 36646, 34030, 36899, 37706, 21015, 21155, 21693,
28872, 35010, 24265, 24565, 25467, 27566, 31806, 29557, 20196, 22265,
23994, 24604, 29618, 29801, 32666, 32838, 37428, 38646, 38728, 38936,
20363, 31150, 37300, 38584, 24801, 20102, 20698, 23534, 23615, 26009,
29134, 30274, 34044, 36988, 26248, 38446, 21129, 26491, 26611, 27969,
28316, 29705, 30041, 30827, 32016, 39006, 25134, 38520, 20523, 23833,
28138, 36650, 24459, 24900, 26647, 38534, 21033, 21519, 23653, 26131,
26446, 26792, 27877, 29702, 30178, 32633, 35023, 35041, 38626, 21311,
28346, 21533, 29136, 29848, 34298, 38563, 40023, 40607, 26519, 28107,
33256, 31520, 31890, 29376, 28825, 35672, 20160, 33590, 21050, 20999,
24230, 25299, 31958, 23429, 27934, 26292, 36667, 38477, 24275, 20800,
21952, 22618, 26228, 20958, 29482, 30410, 31036, 31070, 31077, 31119,
38742, 31934, 34322, 35576, 36920, 37117, 39151, 39164, 39208, 40372,
20398, 20711, 20813, 21193, 21220, 21329, 21917, 22022, 22120, 22592,
22696, 23652, 24724, 24936, 24974, 25074, 25935, 26082, 26257, 26757,
28023, 28186, 28450, 29038, 29227, 29730, 30865, 31049, 31048, 31056,
31062, 31117, 31118, 31296, 31361, 31680, 32265, 32321, 32626, 32773,
33261, 33401, 33879, 35088, 35222, 35585, 35641, 36051, 36104, 36790,
38627, 38911, 38971, 102, 102, 102, 105, 102, 108, 102, 102, 105, 102,
102, 108, 115, 116, 1396, 1398, 1396, 1381, 1396, 1387, 1406, 1398,
1396, 1389, 1497, 1460, 1522, 1463, 1506, 1492, 1499, 1500, 1501, 1512,
1514, 1513, 1473, 1513, 1474, 1513, 1468, 1473, 1513, 1468, 1474, 1488,
1463, 1488, 1464, 1488, 1468, 1489, 1468, 1490, 1468, 1491, 1468, 1492,
1468, 1493, 1468, 1494, 1468, 1496, 1468, 1497, 1468, 1498, 1468, 1499,
1468, 1500, 1468, 1502, 1468, 1504, 1468, 1505, 1468, 1507, 1468, 1508,
1468, 1510, 1468, 1511, 1468, 1512, 1468, 1513, 1468, 1514, 1468, 1493,
1465, 1489, 1471, 1499, 1471, 1508, 1471, 1488, 1500, 1649, 1659, 1662,
1664, 1658, 1663, 1657, 1700, 1702, 1668, 1667, 1670, 1671, 1677, 1676,
1678, 1672, 1688, 1681, 1705, 1711, 1715, 1713, 1722, 1723, 1729, 1726,
1746, 1709, 1735, 1734, 1736, 1739, 1733, 1737, 1744, 1609, 1610, 1620,
1575, 1610, 1620, 1749, 1610, 1620, 1608, 1610, 1620, 1735, 1610, 1620,
1734, 1610, 1620, 1736, 1610, 1620, 1744, 1610, 1620, 1609, 1740, 1610,
1620, 1580, 1610, 1620, 1581, 1610, 1620, 1605, 1610, 1620, 1610, 1576,
1580, 1576, 1581, 1576, 1582, 1576, 1605, 1576, 1609, 1576, 1610, 1578,
1580, 1578, 1581, 1578, 1582, 1578, 1605, 1578, 1609, 1578, 1610, 1579,
1580, 1579, 1605, 1579, 1609, 1579, 1610, 1580, 1581, 1580, 1605, 1581,
1580, 1581, 1605, 1582, 1580, 1582, 1581, 1582, 1605, 1587, 1580, 1587,
1581, 1587, 1582, 1587, 1605, 1589, 1581, 1589, 1605, 1590, 1580, 1590,
1581, 1590, 1582, 1590, 1605, 1591, 1581, 1591, 1605, 1592, 1605, 1593,
1580, 1593, 1605, 1594, 1580, 1594, 1605, 1601, 1580, 1601, 1581, 1601,
1582, 1601, 1605, 1601, 1609, 1601, 1610, 1602, 1581, 1602, 1605, 1602,
1609, 1602, 1610, 1603, 1575, 1603, 1580, 1603, 1581, 1603, 1582, 1603,
1604, 1603, 1605, 1603, 1609, 1603, 1610, 1604, 1580, 1604, 1581, 1604,
1582, 1604, 1605, 1604, 1609, 1604, 1610, 1605, 1580, 1605, 1581, 1605,
1582, 1605, 1605, 1605, 1609, 1605, 1610, 1606, 1580, 1606, 1581, 1606,
1582, 1606, 1605, 1606, 1609, 1606, 1610, 1607, 1580, 1607, 1605, 1607,
1609, 1607, 1610, 1610, 1580, 1610, 1581, 1610, 1582, 1610, 1605, 1610,
1609, 1610, 1610, 1584, 1648, 1585, 1648, 1609, 1648, 32, 1612, 1617,
32, 1613, 1617, 32, 1614, 1617, 32, 1615, 1617, 32, 1616, 1617, 32,
1617, 1648, 1610, 1620, 1585, 1610, 1620, 1586, 1610, 1620, 1606, 1576,
1585, 1576, 1586, 1576, 1606, 1578, 1585, 1578, 1586, 1578, 1606, 1579,
1585, 1579, 1586, 1579, 1606, 1605, 1575, 1606, 1585, 1606, 1586, 1606,
1606, 1610, 1585, 1610, 1586, 1610, 1606, 1610, 1620, 1582, 1610, 1620,
1607, 1576, 1607, 1578, 1607, 1589, 1582, 1604, 1607, 1606, 1607, 1607,
1648, 1610, 1607, 1579, 1607, 1587, 1607, 1588, 1605, 1588, 1607, 1600,
1614, 1617, 1600, 1615, 1617, 1600, 1616, 1617, 1591, 1609, 1591, 1610,
1593, 1609, 1593, 1610, 1594, 1609, 1594, 1610, 1587, 1609, 1587, 1610,
1588, 1609, 1588, 1610, 1581, 1609, 1581, 1610, 1580, 1609, 1580, 1610,
1582, 1609, 1582, 1610, 1589, 1609, 1589, 1610, 1590, 1609, 1590, 1610,
1588, 1580, 1588, 1581, 1588, 1582, 1588, 1585, 1587, 1585, 1589, 1585,
1590, 1585, 1575, 1611, 1578, 1580, 1605, 1578, 1581, 1580, 1578, 1581,
1605, 1578, 1582, 1605, 1578, 1605, 1580, 1578, 1605, 1581, 1578, 1605,
1582, 1580, 1605, 1581, 1581, 1605, 1610, 1581, 1605, 1609, 1587, 1581,
1580, 1587, 1580, 1581, 1587, 1580, 1609, 1587, 1605, 1581, 1587, 1605,
1580, 1587, 1605, 1605, 1589, 1581, 1581, 1589, 1605, 1605, 1588, 1581,
1605, 1588, 1580, 1610, 1588, 1605, 1582, 1588, 1605, 1605, 1590, 1581,
1609, 1590, 1582, 1605, 1591, 1605, 1581, 1591, 1605, 1605, 1591, 1605,
1610, 1593, 1580, 1605, 1593, 1605, 1605, 1593, 1605, 1609, 1594, 1605,
1605, 1594, 1605, 1610, 1594, 1605, 1609, 1601, 1582, 1605, 1602, 1605,
1581, 1602, 1605, 1605, 1604, 1581, 1605, 1604, 1581, 1610, 1604, 1581,
1609, 1604, 1580, 1580, 1604, 1582, 1605, 1604, 1605, 1581, 1605, 1581,
1580, 1605, 1581, 1605, 1605, 1581, 1610, 1605, 1580, 1581, 1605, 1580,
1605, 1605, 1582, 1580, 1605, 1582, 1605, 1605, 1580, 1582, 1607, 1605,
1580, 1607, 1605, 1605, 1606, 1581, 1605, 1606, 1581, 1609, 1606, 1580,
1605, 1606, 1580, 1609, 1606, 1605, 1610, 1606, 1605, 1609, 1610, 1605,
1605, 1576, 1582, 1610, 1578, 1580, 1610, 1578, 1580, 1609, 1578, 1582,
1610, 1578, 1582, 1609, 1578, 1605, 1610, 1578, 1605, 1609, 1580, 1605,
1610, 1580, 1581, 1609, 1580, 1605, 1609, 1587, 1582, 1609, 1589, 1581,
1610, 1588, 1581, 1610, 1590, 1581, 1610, 1604, 1580, 1610, 1604, 1605,
1610, 1610, 1581, 1610, 1610, 1580, 1610, 1610, 1605, 1610, 1605, 1605,
1610, 1602, 1605, 1610, 1606, 1581, 1610, 1593, 1605, 1610, 1603, 1605,
1610, 1606, 1580, 1581, 1605, 1582, 1610, 1604, 1580, 1605, 1603, 1605,
1605, 1580, 1581, 1610, 1581, 1580, 1610, 1605, 1580, 1610, 1601, 1605,
1610, 1576, 1581, 1610, 1587, 1582, 1610, 1606, 1580, 1610, 1589, 1604,
1746, 1602, 1604, 1746, 1575, 1604, 1604, 1607, 1575, 1603, 1576, 1585,
1605, 1581, 1605, 1583, 1589, 1604, 1593, 1605, 1585, 1587, 1608, 1604,
1593, 1604, 1610, 1607, 1608, 1587, 1604, 1605, 1589, 1604, 1609, 1589,
1604, 1609, 32, 1575, 1604, 1604, 1607, 32, 1593, 1604, 1610, 1607,
32, 1608, 1587, 1604, 1605, 1580, 1604, 32, 1580, 1604, 1575, 1604,
1607, 1585, 1740, 1575, 1604, 8212, 8211, 95, 123, 125, 12308, 12309,
12304, 12305, 12298, 12299, 12300, 12301, 12302, 12303, 44, 12289,
58, 63, 33, 35, 38, 42, 45, 60, 62, 92, 36, 37, 64, 32, 1611, 1600,
1611, 32, 1612, 32, 1613, 32, 1614, 1600, 1614, 32, 1615, 1600, 1615,
32, 1616, 1600, 1616, 32, 1617, 1600, 1617, 32, 1618, 1600, 1618, 1569,
1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586,
1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1601, 1602, 1603, 1604,
1605, 1606, 1607, 1608, 1610, 1604, 1575, 1619, 1604, 1575, 1620, 1604,
1575, 1621, 1604, 1575, 34, 39, 47, 91, 93, 94, 124, 126, 10629, 10630,
12290, 12539, 12449, 12451, 12453, 12455, 12457, 12515, 12517, 12519,
12483, 12540, 12531, 12441, 12442, 162, 163, 172, 166, 165, 8361, 9474,
8592, 8593, 8594, 8595, 9632, 9675
};
/*
* This macro extracts the information about a character from the
* Unicode character tables.
*/
#define GetUniCharDecompInfo(ch) (decompGroupMap[(decompPageMap[(((int)(ch)) & 0xffff) >> DECOMP_OFFSET_BITS] << DECOMP_OFFSET_BITS) | ((ch) & ((1 << DECOMP_OFFSET_BITS)-1))])
#define GetDecompShift(info) ((info) & 0xffff)
#define GetDecompLen(info) ((info) >> 16)
#define COMP_OFFSET_BITS 5
/*
* The pageMap is indexed by page number and returns an alternate page number
* that identifies a unique page of characters. Many Unicode characters map
* to the same alternate page number.
*/
static unsigned char compPageMap[] = {
0, 1, 2, 3, 0, 4, 5, 6, 7, 0, 8, 9, 0, 10, 0, 11, 0, 12, 0, 0, 13,
0, 0, 0, 14, 15, 16, 0, 17, 18, 19, 0, 20, 21, 22, 23, 0, 0, 24, 25,
0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 30, 31, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 32, 33, 0, 34, 35, 36, 0, 0, 0, 37, 0, 0, 38, 39, 0,
0, 40, 41, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 44, 45, 46, 0, 47, 48, 0, 49, 50, 51, 52, 0, 53, 54, 55, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, 57, 0, 58, 59, 60, 61, 62, 63, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, 67, 68, 69,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
/*
* The groupMap is indexed by combining the alternate page number with
* the page offset and returns a group number that identifies a unique
* set of character attributes.
*/
static int compGroupMap[] = {
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 65564, 65640, 65738, -1, -1, 30,
91, 141, 65, 121, 65701, 38, 94, 1, 65604, 124, 44, 100, 12, 76, 77,
-1, 48, 105, 17, 84, 136, 54, 113, 23, 24, -1, -1, -1, -1, -1, -1,
140, 64, 120, 71, 123, 65573, 99, 10, 75, 129, 47, 104, 16, 15, 83,
135, -1, 110, 22, 86, 137, 59, 117, 118, 28, 89, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 102, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6, -1, 65713, 65575, 101, 65550, -1, -1, 42, -1, -1, -1, -1, 65576,
-1, -1, -1, -1, 130, 50, 65678, -1, 65628, -1, -1, -1, 115, -1, -1,
-1, -1, -1, 32, -1, 65742, 65600, 67, 65704, -1, -1, 5, -1, -1, -1,
-1, 65549, -1, -1, -1, -1, 107, 20, 65626, -1, 65587, -1, -1, -1, 87,
-1, -1, -1, -1, -1, 142, 66, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 106, 18, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, 93, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65624, 65722, -1, -1, -1, -1,
65632, 65730, -1, -1, -1, -1, -1, -1, 65597, 65699, 65567, 65649, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 65728, 81, 131, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 119, 33, -1, -1, -1, -1, -1, -1, 65546, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65593, 65696, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 65675, 65554, 65625, 65724, -1, -1, -1,
-1, 65731, 65590, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 65729, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 131073, 131074, 131075, 131077, 131079, -1, 131080, 131082,
131083, 131084, 131098, 131102, 131085, -1, -1, 131086, -1, 131087,
-1, 131076, 131078, -1, -1, -1, -1, -1, -1, 131103, -1, -1, -1, -1,
-1, -1, -1, 131088, 131104, 131101, 131097, 131092, 131089, -1, -1,
-1, -1, 131094, 131093, -1, 131090, 131095, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131091, -1, -1, 131072, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 34, -1, -1, -1, 122, -1, 96, -1, 8,
-1, -1, -1, -1, -1, 80, -1, 65586, -1, -1, -1, 85, -1, -1, -1, 26,
-1, -1, 65539, -1, 65707, -1, -1, 2, -1, -1, -1, 95, -1, 7, -1, 125,
-1, -1, -1, -1, -1, 51, -1, 111, -1, -1, -1, 56, -1, -1, -1, 0, 138,
62, -1, -1, 65664, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65736, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 97, -1, -1, 65714, -1, 103, 14, 65622, 132, -1,
65581, -1, -1, -1, 65727, -1, -1, -1, -1, 139, -1, -1, -1, 65566, -1,
-1, -1, 65706, -1, 65663, -1, -1, 72, -1, -1, 65670, -1, 79, 133, 65582,
52, -1, 65556, -1, -1, -1, 65687, -1, -1, -1, -1, 63, -1, -1, -1, 65744,
-1, -1, -1, 65659, -1, 65595, -1, -1, -1, -1, -1, -1, -1, -1, 65658,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65661, 65545, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65651,
65542, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65682,
65559, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 143, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65733, -1, 65657,
-1, -1, -1, -1, -1, -1, -1, -1, 65546, 131108, 65547, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 65618, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 65612, -1, -1, 65611, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65734, -1,
-1, -1, -1, -1, -1, -1, 65656, -1, -1, 65655, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 65539, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65540, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
65541, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 65542, 65543, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 65577, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131105, -1,
-1, -1, -1, -1, -1, -1, 98, 65584, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 131106, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 65578, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65716, -1, -1,
65544, -1, -1, -1, 127, -1, -1, -1, 65630, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 131107, 65545, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131096, -1, -1,
-1, -1, -1, -1, -1, 19, 65695, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 65538, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 131081, -1, -1, -1, -1, 65536,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, -1, 65538, -1, -1, 65537,
-1, -1, -1, -1, -1, 65616, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 65679, 65557, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 65685, 65561, -1, -1, -1, -1, -1, -1, 65743,
65601, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 114, 25, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 65673, 65553, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 65540, 65605, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 134, 65591, 65692,
65693, 65565, 65641, 65739, 58, 116, 65568, 65652, 65543, 65609, 65610,
65710, 36, 92, -1, -1, -1, -1, -1, -1, 9, 73, -1, -1, -1, -1, -1, -1,
53, 108, 65690, 65563, 65639, 65737, 65598, 65700, 27, 88, 65541, 65606,
65607, 65709, 65572, 65667, 11, 69, -1, -1, -1, -1, -1, -1, 126, 45,
-1, -1, -1, -1, -1, -1, 13, 78, -1, -1, -1, -1, -1, -1, 55, 112, -1,
-1, -1, -1, -1, -1, 29, 90, -1, -1, -1, -1, -1, -1, -1, 70, -1, -1,
-1, -1, -1, -1, 128, 46, 65683, 65560, 65635, 65732, 65592, 65694,
109, 21, 65642, 65740, 65599, 65702, 65569, 65653, 65544, -1, -1, -1,
65574, -1, -1, -1, -1, -1, -1, -1, 65552, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 65537, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, -1,
-1, 65680, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65570,
-1, -1, -1, -1, -1, -1, -1, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 65705, -1, 65660, -1, 65614, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 65698, -1, 65644, -1, 65741, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65711, -1, -1, -1,
-1, 65619, -1, -1, 65676, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65668, -1, 65548, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 65648, -1, -1, -1, -1, -1, -1, 65547, -1, 65715, -1,
-1, 65551, -1, -1, -1, -1, 65681, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65596, -1, -1, 65647, 65536,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65721, 65583, -1, -1,
65558, 65631, -1, -1, 65688, 65562, 65637, 65735, -1, -1, -1, -1, 65646,
65745, -1, -1, 65571, 65662, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65580,
65579, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
65602, -1, -1, -1, -1, -1, 65613, 65712, -1, 65669, -1, -1, -1, -1,
-1, -1, 65555, 65629, 65725, 65588, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 65718, -1, -1, -1, -1, 65708, -1, 65703,
-1, 65697, -1, 65686, -1, 65684, -1, 65677, -1, 65671, -1, 65665, -1,
65650, -1, 65645, -1, 65638, -1, 65633, -1, -1, 65623, -1, 65620, -1,
65615, -1, -1, -1, -1, -1, -1, 60, -1, -1, 74, -1, -1, 68, -1, -1,
61, -1, -1, 57, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131099,
131100, -1, -1, 65717, -1, -1, -1, -1, -1, -1, -1, -1, 65691, -1, -1,
-1, -1, 65674, -1, 65672, -1, 65666, -1, 65654, -1, 65643, -1, 65636,
-1, 65634, -1, 65627, -1, 65621, -1, 65617, -1, 65608, -1, 65603, -1,
-1, 65594, -1, 65589, -1, 65585, -1, -1, -1, -1, -1, -1, 41, -1, -1,
31, -1, -1, 49, -1, -1, 43, -1, -1, 35, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65726, 65723, 65720,
65719, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65689, -1, -1
};
/*
* Lists of compositions for characters that appears only in one composition
*/
static int compFirstList[][2] = {
{824, 8817}, {837, 8119}, {3530, 3549}, {837, 8116}, {770, 7896},
{837, 8090}, {776, 1243}, {837, 8076}, {837, 8114}, {783, 1143},
{780, 494}, {824, 8772}, {824, 8742}, {769, 7727}, {769, 7688},
{824, 8777}, {837, 8178}, {770, 7879}, {772, 481}, {824, 8938},
{769, 1116}, {772, 7737}, {824, 8824}, {776, 1259}, {837, 8099},
{772, 7773}, {824, 8833}, {837, 8083}, {824, 8814}, {837, 8069},
{776, 1268}, {776, 7802}, {837, 8074}, {837, 8110}, {837, 8183},
{824, 8840}, {837, 8094}, {775, 7711}, {837, 8130}, {769, 506},
{769, 7726}, {3031, 2964}, {3158, 3144}, {824, 8931}, {824, 8930},
{769, 1036}, {776, 1247}, {824, 8821}, {3006, 3019}, {12441, 12489},
{788, 8172}, {769, 511}, {824, 8941}, {12441, 12487}, {772, 561},
{837, 8066}, {837, 8102}, {772, 492}, {12441, 12485}, {776, 1261},
{824, 8802}, {769, 7800}, {837, 8086}, {837, 8108}, {769, 507},
{775, 7785}, {824, 8876}, {12441, 12482}, {770, 308}, {770, 7897},
{837, 8091}, {837, 8092}, {12441, 12480}, {837, 8077}, {837, 8078},
{1620, 1728}, {1620, 1747}, {824, 8877}, {824, 8622}, {12441, 12393},
{4142, 4134}, {12441, 12478}, {1620, 1730}, {824, 8713},
{12441, 12391}, {12441, 12476}, {776, 1246}, {12441, 12389},
{775, 7780}, {774, 7708}, {772, 555}, {12441, 12474}, {769, 510},
{824, 8939}, {3285, 3275}, {824, 8825}, {775, 7782}, {12441, 12386},
{12441, 12472}, {837, 8100}, {12441, 12470}, {824, 8928},
{12441, 12384}, {837, 8084}, {824, 8800}, {837, 8070}, {837, 8106},
{12441, 12468}, {824, 8655}, {12441, 12382}, {824, 8836},
{824, 8816}, {824, 8769}, {776, 7803}, {12441, 12380}, {776, 1242},
{837, 8075}, {837, 8111}, {12441, 12466}, {2364, 2356}, {2364, 2353},
{1620, 1574}, {776, 1111}, {776, 1273}, {824, 8603}, {783, 1142},
{824, 8841}, {776, 1260}, {837, 8180}, {12441, 12378}, {12441, 12464},
{837, 8095}, {824, 8740}, {824, 8879}, {769, 1107}, {12441, 12376},
{12441, 12462}, {770, 7878}, {12441, 12460}, {772, 480},
{824, 8716}, {12441, 12374}, {772, 554}, {772, 7736}, {837, 8135},
{824, 8813}, {776, 1258}, {837, 8098}, {12441, 12372}, {772, 7772},
{12441, 12370}, {776, 1255}, {824, 8832}, {12441, 12542},
{837, 8082}, {12441, 12532}, {837, 8067}, {837, 8068}, {837, 8103},
{3390, 3403}, {772, 493}, {12441, 12368}, {824, 8653}, {769, 7801},
{837, 8087}, {775, 7710}, {837, 8109}, {12441, 12366}, {769, 7689},
{824, 8602}, {776, 1272}, {837, 8132}, {12441, 12364}, {837, 8093},
{837, 8079}, {824, 8708}, {824, 8878}, {772, 478}, {769, 1027},
{824, 8775}, {3285, 3264}, {12441, 12446}, {12441, 12436},
{12441, 12538}, {12441, 12537}, {824, 8820}, {775, 7781},
{12441, 12536}, {774, 7709}, {824, 8940}, {12441, 12535},
{776, 1254}, {775, 7835}, {780, 495}, {775, 7783}, {772, 560},
{837, 8101}, {1620, 1572}, {2364, 2345}, {824, 8929}, {776, 1031},
{837, 8085}, {824, 8815}, {837, 8071}, {837, 8107}, {824, 8654},
{772, 479}, {775, 7784}, {776, 1269}, {824, 8837}
};
static int compSecondList[][2] = {
{3545, 3548}, {3545, 3550}, {3398, 3404}, {2503, 2507}, {2503, 2508},
{2887, 2891}, {2887, 2888}, {2887, 2892}, {3270, 3274}, {3270, 3272},
{1575, 1570}, {1575, 1573}
};
/*
* Compositions matrix
*/
static int compBothList[144][37] = {
{
8179, 8060, 974, 0, 8032, 0, 8033, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 8182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 204, 205, 206, 0, 296, 0, 298, 300, 0, 304, 207, 7880, 463,
520, 522, 7882, 302, 7724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0
},
{
8115, 8048, 940, 0, 7936, 0, 7937, 8113, 8112, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 8118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 3546, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 8157, 8158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7873, 7871, 0, 0, 7877, 0, 0, 0, 0, 0, 0, 7875, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7846, 7844, 0, 0, 7850, 0, 0, 0, 0, 0, 0, 7848, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
8131, 8052, 942, 0, 7968, 0, 7969, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 8134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 8154, 906, 0, 7992, 0, 7993, 8153, 8152, 0, 0, 938, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0
},
{
0, 7962, 7964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 293, 0, 0, 0, 0, 0, 0, 7715, 7719, 0, 543, 0, 0, 7717,
0, 0, 0, 7721, 7723, 0, 7830, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0
},
{
0, 7986, 7988, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7990, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 504, 323, 0, 0, 209, 0, 0, 0, 0, 7748, 0, 0, 327, 0, 0, 7750,
0, 0, 0, 325, 0, 7754, 7752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0
},
{
0, 8002, 8004, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 1217, 0, 0, 1244, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 505, 324, 0, 0, 241, 0, 0, 0, 0, 7749, 0, 0, 328, 0, 0, 7751,
0, 0, 0, 326, 0, 7755, 7753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0
},
{
0, 0, 7743, 0, 0, 0, 0, 0, 0, 0, 7745, 0, 0, 0, 0, 0, 7747, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7786, 0, 0, 356, 0, 0, 7788, 0, 0,
0, 354, 0, 7792, 7790, 0, 538, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7701, 7703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 7757, 0, 0, 0, 0, 557, 0, 0, 0, 7759, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
8105, 8043, 8045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 8047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 347, 349, 0, 0, 0, 0, 0, 0, 7777, 0, 0, 353, 0, 0, 7779,
0, 0, 0, 351, 0, 0, 0, 0, 537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7922, 221, 374, 0, 7928, 0, 562, 0, 0, 7822, 376, 7926, 0, 0,
0, 7924, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0
},
{
0, 0, 377, 7824, 0, 0, 0, 0, 0, 0, 379, 0, 0, 381, 0, 0, 7826,
0, 0, 0, 0, 0, 0, 7828, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 7853, 0, 0, 0, 0, 7863, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
8188, 8186, 911, 0, 8040, 0, 8041, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
8088, 7978, 7980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 7982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7923, 253, 375, 0, 7929, 0, 563, 0, 0, 7823, 255, 7927, 0, 0,
0, 7925, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7833, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0
},
{
0, 8018, 8020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8022, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 192, 193, 194, 0, 195, 0, 256, 258, 0, 550, 196, 7842, 461,
512, 514, 7840, 260, 0, 0, 0, 0, 0, 0, 0, 0, 197, 0, 0, 7680, 0,
0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 12499, 12500, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7847, 7845, 0, 0, 7851, 0, 0, 0, 0, 0, 0, 7849, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7915, 7913, 0, 0, 7919, 0, 0, 0, 0, 0, 0, 7917, 0, 0, 0, 7921,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
8124, 8122, 902, 0, 7944, 0, 7945, 8121, 8120, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 12508, 12509, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7954, 7956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7760, 7762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 500, 284, 0, 0, 0, 7712, 286, 0, 288, 0, 0, 486, 0, 0, 0,
0, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 979, 0, 0, 0, 0, 0, 0, 0, 0, 980, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 8141, 8142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 12496, 12497, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7872, 7870, 0, 0, 7876, 0, 0, 0, 0, 0, 0, 7874, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 12505, 12506, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 7734, 0, 0,
0, 315, 0, 7740, 7738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7995, 7997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
8097, 8035, 8037, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 8039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 7729, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 489, 0, 0, 7731, 0, 0,
0, 311, 0, 0, 7733, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 340, 0, 0, 0, 0, 0, 0, 0, 7768, 0, 0, 344, 528, 530, 7770,
0, 0, 0, 342, 0, 0, 7774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 12502, 12503, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 7756, 0, 0, 0, 0, 556, 0, 0, 0, 7758, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 8056, 972, 0, 8000, 0, 8001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 1117, 0, 0, 0, 0, 0, 1251, 1081, 0, 0, 1253, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
8080, 7970, 7972, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 7974, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7808, 7810, 372, 0, 0, 0, 0, 0, 0, 7814, 7812, 0, 0, 0, 0, 7816,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 8010, 8012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 8058, 973, 0, 8016, 0, 8017, 8161, 8160, 0, 0, 971, 0, 0, 0,
0, 0, 0, 0, 8166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 12412, 12413, 0, 0, 0, 0, 0, 0, 0, 0
},
{
8072, 7946, 7948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 7950, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 7805, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7807, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 12400, 12401, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 12409, 12410, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 8162, 944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8167,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 1263, 1118, 0, 0, 1265, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1267, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7683, 0, 0, 0, 0, 0, 7685, 0, 0,
0, 0, 0, 0, 7687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7690, 0, 0, 270, 0, 0, 7692, 0, 0,
0, 7696, 0, 7698, 7694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7857, 7855, 0, 0, 7861, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 509, 0, 0, 0, 0, 483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 12406, 12407, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7987, 7989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7991, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 8027, 8029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8031, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7691, 0, 0, 271, 0, 0, 7693, 0, 0,
0, 7697, 0, 7699, 7695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 1233, 0, 0, 1235, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7963, 7965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 12403, 12404, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 236, 237, 238, 0, 297, 0, 299, 301, 0, 0, 239, 7881, 464, 521,
523, 7883, 303, 7725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0
},
{
0, 210, 211, 212, 0, 213, 0, 332, 334, 0, 558, 214, 7886, 465,
524, 526, 7884, 490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 336, 416,
0, 0, 0, 0, 0
},
{
0, 0, 7764, 0, 0, 0, 0, 0, 0, 0, 7766, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 8003, 8005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 1104, 0, 0, 0, 0, 0, 0, 1239, 0, 0, 1105, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 8184, 908, 0, 8008, 0, 8009, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7900, 7898, 0, 0, 7904, 0, 0, 0, 0, 0, 0, 7902, 0, 0, 0, 7906,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
8064, 7938, 7940, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 7942, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 242, 243, 244, 0, 245, 0, 333, 335, 0, 559, 246, 7887, 466,
525, 527, 7885, 491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 417,
0, 0, 0, 0, 0
},
{
0, 217, 218, 219, 0, 360, 0, 362, 364, 0, 0, 220, 7910, 467, 532,
534, 7908, 370, 7796, 0, 0, 0, 7798, 0, 0, 0, 366, 0, 0, 0, 368,
431, 7794, 0, 0, 0, 0
},
{
0, 8170, 910, 0, 0, 0, 8025, 8169, 8168, 0, 0, 939, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7787, 7831, 0, 357, 0, 0, 7789, 0,
0, 0, 355, 0, 7793, 7791, 0, 539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0
},
{
0, 476, 472, 0, 0, 0, 0, 470, 0, 0, 0, 0, 0, 474, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
8089, 7979, 7981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 7983, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 378, 7825, 0, 0, 0, 0, 0, 0, 380, 0, 0, 382, 0, 0, 7827,
0, 0, 0, 0, 0, 0, 7829, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 8019, 8021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8023, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7682, 0, 0, 0, 0, 0, 7684, 0, 0,
0, 0, 0, 0, 7686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7955, 7957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7761, 7763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 292, 0, 0, 0, 0, 0, 0, 7714, 7718, 0, 542, 0, 0, 7716,
0, 0, 0, 7720, 7722, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0
},
{
0, 8050, 941, 0, 7952, 0, 7953, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
8140, 8138, 905, 0, 7976, 0, 7977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 1232, 0, 0, 1234, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3018, 3020, 0, 0
},
{
0, 0, 501, 285, 0, 0, 0, 7713, 287, 0, 289, 0, 0, 487, 0, 0, 0,
0, 0, 0, 291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 7742, 0, 0, 0, 0, 0, 0, 0, 7744, 0, 0, 0, 0, 0, 7746, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 508, 0, 0, 0, 0, 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 8173, 901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8129,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 1024, 0, 0, 0, 0, 0, 0, 1238, 0, 0, 1025, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 7735, 0, 0,
0, 316, 0, 7741, 7739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 346, 348, 0, 0, 0, 0, 0, 0, 7776, 0, 0, 352, 0, 0, 7778,
0, 0, 0, 350, 0, 0, 0, 0, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7700, 7702, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7891, 7889, 0, 0, 7895, 0, 0, 0, 0, 0, 0, 7893, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
8081, 7971, 7973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 7975, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
8104, 8042, 8044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 8046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 341, 0, 0, 0, 0, 0, 0, 0, 7769, 0, 0, 345, 529, 531, 7771,
0, 0, 0, 343, 0, 0, 7775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 8164, 0, 8165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 8011, 8013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7818, 7820, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 7852, 0, 0, 0, 0, 7862, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 475, 471, 0, 0, 0, 0, 469, 0, 0, 0, 0, 0, 473, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
8073, 7947, 7949, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 7951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7809, 7811, 373, 0, 0, 0, 0, 0, 0, 7815, 7813, 0, 0, 0, 0, 7817,
0, 0, 0, 0, 0, 0, 0, 0, 0, 7832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7819, 7821, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7914, 7912, 0, 0, 7918, 0, 0, 0, 0, 0, 0, 7916, 0, 0, 0, 7920,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 263, 265, 0, 0, 0, 0, 0, 0, 267, 0, 0, 269, 0, 0, 0, 0, 0,
0, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 200, 201, 202, 0, 7868, 0, 274, 276, 0, 278, 203, 7866, 282,
516, 518, 7864, 280, 7706, 0, 552, 0, 7704, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0
},
{
0, 8136, 904, 0, 7960, 0, 7961, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 232, 233, 234, 0, 7869, 0, 275, 277, 0, 279, 235, 7867, 283,
517, 519, 7865, 281, 7707, 0, 553, 0, 7705, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 7728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 488, 0, 0, 7730, 0, 0,
0, 310, 0, 0, 7732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 8054, 943, 0, 7984, 0, 7985, 8145, 8144, 0, 0, 970, 0, 0, 0,
0, 0, 0, 0, 8150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0
},
{
0, 7994, 7996, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7998, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3271, 0
},
{
8096, 8034, 8036, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 8038, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 496, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7890, 7888, 0, 0, 7894, 0, 0, 0, 0, 0, 0, 7892, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7901, 7899, 0, 0, 7905, 0, 0, 0, 0, 0, 0, 7903, 0, 0, 0, 7907,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 1037, 0, 0, 0, 0, 0, 1250, 1049, 0, 0, 1252, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 1218, 0, 0, 1245, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
8065, 7939, 7941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 7943, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 7765, 0, 0, 0, 0, 0, 0, 0, 7767, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 7804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 249, 250, 251, 0, 361, 0, 363, 365, 0, 0, 252, 7911, 468, 533,
535, 7909, 371, 7797, 0, 0, 0, 7799, 0, 0, 0, 367, 0, 0, 0, 369,
432, 7795, 0, 0, 0, 0
},
{
0, 8146, 912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8151,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 1262, 1038, 0, 0, 1264, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1266, 0, 0, 0, 0, 0, 0
},
{
0, 224, 225, 226, 0, 227, 0, 257, 259, 0, 551, 228, 7843, 462,
513, 515, 7841, 261, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 0, 7681, 0,
0, 0, 0, 0, 0, 0
},
{
0, 0, 262, 264, 0, 0, 0, 0, 0, 0, 266, 0, 0, 268, 0, 0, 0, 0, 0,
0, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 7856, 7854, 0, 0, 7860, 0, 0, 0, 0, 0, 0, 7858, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1571
},
};
#define GetUniCharCompInfo(ch) (compGroupMap[(compPageMap[(((int)(ch)) & 0xffff) >> COMP_OFFSET_BITS] << COMP_OFFSET_BITS) | ((ch) & ((1 << COMP_OFFSET_BITS)-1))])
#define CompSingleMask (1 << 16)
#define CompMask ((1 << 16) - 1)
#define CompSecondMask (1 << 17)