Interactive Device Design / Mbed 2 deprecated idd_hw2_antoniorohit_3x3CharDrawing

Dependencies:   mbed

Fork of idd_hw2_antoniorohit_3x3CharDrawing by Antonio De Lima Fernandes

main.cpp

Committer:
antoniorohit
Date:
2014-09-22
Revision:
1:e04bcbc40115
Parent:
0:1aa14f2daf0e

File content as of revision 1:e04bcbc40115:

#include "mbed.h"

DigitalIn p2(D2);
DigitalIn p3(D3);
DigitalIn p4(D4);
DigitalIn p5(D5);
DigitalIn p6(D6);
DigitalIn p7(D7);
DigitalIn p8(D8);
DigitalIn p9(D9);
DigitalIn p10(D10);
DigitalIn p11(D11);
DigitalIn p12(D12);
DigitalIn p13(D14);

DigitalOut led(LED1);
DigitalOut led2(LED2);

Serial pc(USBTX, USBRX);
AnalogOut pin(PTE30);
int Play_Tone(char *array, int len);
int Test_All_Alphabets(void);

#define NUM_ELEMENTS 1360

const char A[2975] = {128, 127, 128, 128, 128, 127, 128, 127, // 0-7
128, 127, 128, 127, 128, 127, 128, 128, // 8-15
127, 128, 127, 128, 128, 128, 128, 127, // 16-23
128, 127, 128, 129, 129, 129, 130, 134, // 24-31
147, 146, 115, 131, 129,  95, 120, 123, // 32-39
116, 132, 140, 122, 121, 125, 105, 105, // 40-47
108, 107, 108, 125, 166, 152, 133, 176, // 48-55
140, 110, 129, 119, 109, 118, 137, 140, // 56-63
138, 140, 145, 123, 115, 119, 112, 110, // 64-71
123, 134, 140, 144, 155, 156, 126, 130, // 72-79
131, 107, 114, 120, 115, 115, 118, 118, // 80-87
107, 102, 100,  95, 107, 135, 160, 145, // 88-95
153, 180, 130, 123, 136, 114, 111, 123, // 96-103
135, 134, 135, 142, 139, 119, 119, 118, // 104-111
111, 113, 128, 131, 135, 143, 147, 142, // 112-119
139, 138, 121, 127, 131, 116, 122, 132, // 120-127
114, 119, 124, 114, 112, 110, 103,  91, // 128-135
 91, 103, 130, 157, 166, 151, 178, 151, // 136-143
112, 127, 109, 101, 112, 131, 138, 144, // 144-151
148, 151, 132, 119, 118, 106, 106, 120, // 152-159
129, 136, 148, 151, 149, 138, 134, 125, // 160-167
112, 112, 115, 119, 125, 129, 128, 122, // 168-175
115, 106,  98,  95,  98, 108, 126, 160, // 176-183
170, 144, 170, 155, 110, 124, 115, 108, // 184-191
113, 133, 140, 140, 143, 146, 129, 118, // 192-199
119, 110, 110, 121, 131, 135, 144, 150, // 200-207
149, 141, 135, 123, 115, 112, 111, 116, // 208-215
116, 116, 120, 114, 108, 102, 101, 106, // 216-223
112, 125, 164, 170, 140, 176, 156, 111, // 224-231
130, 117, 108, 113, 130, 136, 137, 139, // 232-239
145, 125, 115, 119, 111, 110, 123, 133, // 240-247
136, 145, 148, 148, 145, 140, 124, 118, // 248-255
112, 105, 110, 112, 114, 117, 120, 108, // 256-263
102, 107, 104, 111, 138, 172, 153, 152, // 264-271
184, 135, 120, 133, 113, 105, 116, 130, // 272-279
130, 134, 143, 142, 123, 125, 120, 112, // 280-287
114, 128, 131, 138, 147, 154, 156, 143, // 288-295
128, 122, 105,  93, 106, 105, 111, 116, // 296-303
120, 111, 103, 109, 109, 115, 135, 178, // 304-311
155, 148, 184, 135, 118, 133, 112, 105, // 312-319
115, 129, 130, 132, 143, 140, 123, 125, // 320-327
123, 114, 116, 131, 131, 137, 149, 156, // 328-335
149, 137, 130, 115, 101,  99, 102, 103, // 336-343
111, 113, 113, 105, 107, 110, 112, 127, // 344-351
153, 178, 149, 166, 176, 118, 127, 124, // 352-359
108, 107, 121, 130, 128, 136, 143, 133, // 360-367
124, 129, 120, 116, 123, 134, 136, 149, // 368-375
155, 147, 139, 128, 114, 103, 103,  98, // 376-383
103, 111, 108, 107, 105, 103, 108, 115, // 384-391
131, 162, 180, 155, 176, 168, 118, 129, // 392-399
114, 105, 105, 121, 129, 130, 139, 144, // 400-407
133, 125, 129, 117, 116, 125, 135, 138, // 408-415
152, 157, 147, 139, 127, 111, 100,  99, // 416-423
 95, 101, 110, 110, 107, 103, 103, 109, // 424-431
115, 134, 170, 176, 153, 184, 162, 116, // 432-439
133, 112,  98, 105, 121, 123, 129, 139, // 440-447
144, 131, 129, 133, 117, 117, 131, 135, // 448-455
141, 155, 154, 146, 134, 125, 105,  99, // 456-463
 99,  93, 102, 107, 107, 102, 103, 110, // 464-471
108, 121, 157, 176, 164, 170, 184, 134, // 472-479
125, 129,  99,  99, 112, 119, 119, 136, // 480-487
143, 139, 131, 136, 125, 117, 124, 134, // 488-495
135, 145, 155, 149, 140, 133, 118, 103, // 496-503
102,  95,  95, 103, 105, 106, 102, 102, // 504-511
112, 115, 129, 166, 184, 156, 176, 180, // 512-519
118, 130, 118,  97, 100, 113, 121, 121, // 520-527
138, 145, 136, 133, 139, 122, 119, 129, // 528-535
133, 136, 147, 152, 148, 137, 131, 114, // 536-543
101, 103,  93,  97, 106, 106, 105, 103, // 544-551
106, 112, 116, 138, 168, 180, 158, 180, // 552-559
170, 119, 129, 113,  95,  99, 115, 118, // 560-567
123, 140, 145, 136, 137, 139, 123, 120, // 568-575
130, 134, 134, 146, 152, 142, 136, 132, // 576-583
109, 105, 102,  93,  99, 106, 102, 103, // 584-591
103, 107, 112, 120, 147, 176, 174, 160, // 592-599
184, 150, 119, 131, 103,  95, 103, 116, // 600-607
116, 129, 143, 144, 136, 141, 136, 119, // 608-615
124, 131, 130, 137, 149, 145, 140, 138, // 616-623
123, 109, 107,  99,  93, 102, 105, 102, // 624-631
105, 103, 107, 112, 127, 144, 174, 178, // 632-639
156, 184, 148, 120, 129, 103,  95, 103, // 640-647
115, 117, 129, 143, 144, 136, 143, 136, // 648-655
121, 124, 130, 128, 133, 144, 148, 138, // 656-663
137, 133, 108, 110, 103,  93, 102, 105, // 664-671
103, 105, 104, 108, 110, 123, 140, 164, // 672-679
180, 157, 180, 162, 121, 131, 110,  97, // 680-687
101, 111, 116, 124, 139, 146, 140, 143, // 688-695
140, 128, 125, 125, 128, 130, 139, 144, // 696-703
142, 138, 134, 116, 111, 106,  97, 100, // 704-711
105, 103, 106, 106, 105, 111, 118, 129, // 712-719
150, 182, 160, 164, 184, 129, 125, 126, // 720-727
 99,  98, 108, 115, 116, 134, 146, 142, // 728-735
142, 147, 134, 124, 128, 126, 123, 135, // 736-743
143, 140, 139, 137, 122, 112, 112,  99, // 744-751
 98, 106, 103, 104, 108, 104, 107, 113, // 752-759
121, 139, 166, 174, 157, 180, 158, 124, // 760-767
132, 110,  99, 100, 112, 113, 123, 142, // 768-775
143, 143, 147, 142, 131, 126, 125, 123, // 776-783
126, 136, 139, 140, 138, 134, 119, 115, // 784-791
108, 101, 103, 105, 103, 106, 105, 104, // 792-799
110, 112, 128, 146, 176, 166, 164, 184, // 800-807
140, 128, 129, 102,  98, 106, 112, 114, // 808-815
131, 144, 143, 144, 149, 136, 129, 127, // 816-823
122, 121, 130, 136, 139, 140, 136, 132, // 824-831
119, 115, 108, 102, 106, 105, 105, 108, // 832-839
106, 103, 110, 112, 126, 143, 170, 168, // 840-847
156, 184, 143, 125, 134, 104, 101, 106, // 848-855
112, 113, 129, 143, 143, 143, 149, 140, // 856-863
129, 127, 124, 120, 125, 134, 138, 137, // 864-871
136, 136, 119, 119, 112, 103, 108, 106, // 872-879
106, 108, 107, 103, 107, 110, 120, 138, // 880-887
160, 170, 157, 178, 156, 126, 138, 111, // 888-895
102, 106, 111, 112, 124, 140, 143, 143, // 896-903
148, 143, 133, 129, 123, 120, 120, 131, // 904-911
132, 138, 138, 135, 130, 120, 116, 109, // 912-919
107, 107, 107, 107, 110, 105, 104, 110, // 920-927
110, 120, 140, 164, 162, 156, 184, 143, // 928-935
132, 140, 107, 106, 109, 112, 112, 127, // 936-943
139, 141, 143, 148, 139, 133, 129, 122, // 944-951
119, 122, 128, 131, 139, 135, 137, 130, // 952-959
124, 117, 112, 111, 107, 109, 108, 110, // 960-967
107, 103, 108, 108, 115, 135, 154, 164, // 968-975
152, 176, 156, 131, 144, 115, 108, 109, // 976-983
112, 112, 121, 137, 139, 140, 147, 143, // 984-991
131, 131, 124, 116, 119, 127, 129, 135, // 992-999
141, 139, 134, 133, 121, 115, 113, 111, // 1000-1007
108, 111, 111, 111, 108, 105, 110, 104, // 1008-1015
114, 129, 144, 162, 148, 172, 164, 133, // 1016-1023
149, 124, 111, 113, 112, 111, 117, 133, // 1024-1031
134, 137, 144, 141, 134, 133, 125, 120, // 1032-1039
119, 123, 128, 133, 139, 141, 136, 136, // 1040-1047
128, 118, 118, 112, 112, 112, 113, 111, // 1048-1055
113, 108, 103, 107, 103, 111, 123, 146, // 1056-1063
158, 146, 180, 162, 138, 155, 123, 114, // 1064-1071
112, 114, 107, 115, 130, 130, 135, 144, // 1072-1079
140, 134, 135, 129, 121, 120, 124, 124, // 1080-1087
133, 136, 139, 136, 136, 130, 121, 121, // 1088-1095
117, 114, 115, 115, 112, 112, 112, 103, // 1096-1103
102, 102, 101, 113, 125, 152, 155, 154, // 1104-1111
184, 153, 146, 150, 119, 114, 112, 111, // 1112-1119
106, 117, 128, 129, 136, 144, 139, 138, // 1120-1127
138, 129, 124, 123, 121, 124, 131, 134, // 1128-1135
137, 136, 138, 131, 125, 127, 118, 117, // 1136-1143
118, 114, 112, 111, 111, 103,  99, 105, // 1144-1151
 97, 109, 123, 135, 162, 152, 170, 174, // 1152-1159
142, 155, 132, 116, 114, 108, 108, 109, // 1160-1167
121, 125, 131, 142, 143, 138, 141, 135, // 1168-1175
128, 123, 122, 119, 124, 128, 133, 137, // 1176-1183
137, 140, 133, 131, 128, 121, 118, 117, // 1184-1191
114, 112, 110, 110, 106, 100, 103, 100, // 1192-1199
100, 116, 129, 152, 155, 160, 184, 151, // 1200-1207
151, 150, 117, 115, 111, 105, 103, 115, // 1208-1215
122, 126, 139, 145, 142, 143, 141, 132, // 1216-1223
124, 122, 119, 118, 125, 129, 135, 140, // 1224-1231
140, 139, 136, 131, 125, 120, 119, 115, // 1232-1239
113, 112, 110, 110, 105,  99, 103,  95, // 1240-1247
105, 113, 124, 155, 156, 157, 184, 156, // 1248-1255
147, 151, 118, 113, 110, 106, 102, 115, // 1256-1263
123, 129, 139, 146, 143, 142, 142, 132, // 1264-1271
125, 123, 118, 116, 123, 126, 133, 140, // 1272-1279
142, 139, 141, 134, 125, 126, 119, 116, // 1280-1287
117, 113, 112, 111, 110, 102,  99, 101, // 1288-1295
 93, 105, 111, 128, 149, 158, 158, 176, // 1296-1303
164, 144, 151, 124, 116, 111, 109, 106, // 1304-1311
113, 122, 128, 136, 143, 144, 142, 143, // 1312-1319
134, 130, 123, 120, 118, 120, 124, 131, // 1320-1327
136, 142, 139, 140, 139, 130, 131, 124, // 1328-1335
120, 120, 116, 113, 110, 108, 108, 101, // 1336-1343
 99, 102,  95, 106, 112, 124, 146, 160, // 1344-1351
155, 172, 168, 143, 152, 132, 119, 114, // 1352-1359
113, 109, 112, 123, 125, 133, 142, 143, // 1360-1367
140, 142, 136, 131, 125, 123, 119, 119, // 1368-1375
121, 126, 131, 137, 142, 139, 142, 140, // 1376-1383
131, 133, 126, 119, 118, 115, 110, 106, // 1384-1391
106, 105,  98, 100, 104,  97, 107, 114, // 1392-1399
118, 134, 155, 153, 153, 174, 152, 144, // 1400-1407
151, 128, 120, 122, 115, 112, 119, 123, // 1408-1415
124, 133, 139, 136, 138, 140, 135, 130, // 1416-1423
129, 124, 118, 123, 121, 123, 131, 134, // 1424-1431
140, 141, 141, 143, 134, 132, 129, 117, // 1432-1439
115, 111, 107, 103, 103, 106, 104, 103, // 1440-1447
108, 106, 108, 114, 112, 121, 133, 145, // 1448-1455
153, 148, 170, 158, 146, 160, 135, 130, // 1456-1463
129, 118, 112, 117, 118, 118, 125, 133, // 1464-1471
133, 136, 140, 135, 134, 132, 128, 121, // 1472-1479
124, 121, 123, 127, 133, 136, 139, 142, // 1480-1487
138, 136, 133, 123, 120, 114, 110, 110, // 1488-1495
106, 106, 106, 110, 110, 107, 112, 110, // 1496-1503
110, 114, 113, 120, 128, 143, 153, 150, // 1504-1511
168, 166, 149, 162, 144, 132, 132, 120, // 1512-1519
112, 112, 114, 112, 118, 125, 129, 131, // 1520-1527
139, 136, 136, 136, 132, 129, 128, 124, // 1528-1535
122, 124, 126, 129, 132, 135, 136, 133, // 1536-1543
135, 129, 121, 122, 114, 112, 112, 108, // 1544-1551
108, 108, 112, 112, 111, 114, 113, 114, // 1552-1559
118, 115, 122, 128, 136, 152, 149, 156, // 1560-1567
170, 154, 155, 156, 135, 134, 125, 115, // 1568-1575
110, 111, 110, 111, 118, 122, 125, 135, // 1576-1583
138, 138, 140, 138, 135, 132, 129, 123, // 1584-1591
122, 121, 121, 124, 128, 129, 134, 133, // 1592-1599
130, 134, 125, 123, 121, 114, 114, 113, // 1600-1607
112, 112, 114, 116, 115, 117, 120, 116, // 1608-1615
118, 120, 117, 123, 126, 134, 146, 149, // 1616-1623
148, 166, 152, 149, 156, 134, 133, 125, // 1624-1631
115, 111, 111, 109, 110, 115, 120, 123, // 1632-1639
133, 138, 138, 143, 142, 138, 136, 132, // 1640-1647
125, 123, 120, 119, 119, 121, 123, 125, // 1648-1655
131, 132, 131, 135, 130, 128, 129, 120, // 1656-1663
121, 119, 115, 116, 116, 115, 117, 117, // 1664-1671
118, 117, 118, 118, 117, 120, 123, 125, // 1672-1679
138, 147, 139, 154, 157, 141, 155, 143, // 1680-1687
131, 135, 123, 114, 112, 112, 108, 112, // 1688-1695
117, 118, 124, 135, 135, 141, 143, 142, // 1696-1703
141, 138, 133, 127, 124, 119, 117, 116, // 1704-1711
117, 119, 123, 127, 131, 134, 136, 136, // 1712-1719
134, 133, 129, 124, 120, 116, 114, 112, // 1720-1727
112, 113, 112, 115, 115, 115, 119, 118, // 1728-1735
120, 123, 125, 133, 143, 140, 144, 158, // 1736-1743
140, 151, 149, 133, 139, 130, 120, 117, // 1744-1751
116, 110, 112, 115, 115, 120, 130, 131, // 1752-1759
137, 142, 142, 143, 142, 138, 133, 130, // 1760-1767
123, 119, 116, 114, 115, 118, 120, 125, // 1768-1775
131, 133, 136, 139, 135, 134, 132, 124, // 1776-1783
121, 118, 113, 112, 112, 112, 114, 115, // 1784-1791
116, 118, 120, 120, 120, 124, 122, 125, // 1792-1799
135, 139, 138, 147, 151, 140, 153, 144, // 1800-1807
137, 142, 131, 123, 121, 117, 112, 113, // 1808-1815
114, 114, 120, 126, 129, 136, 140, 140, // 1816-1823
143, 142, 137, 134, 128, 121, 118, 115, // 1824-1831
112, 114, 116, 118, 124, 130, 133, 139, // 1832-1839
139, 138, 139, 133, 130, 124, 119, 115, // 1840-1847
112, 112, 112, 113, 114, 115, 119, 119, // 1848-1855
120, 122, 121, 124, 124, 128, 135, 138, // 1856-1863
136, 147, 146, 140, 153, 141, 140, 141, // 1864-1871
131, 125, 123, 117, 113, 114, 113, 114, // 1872-1879
119, 123, 125, 134, 136, 139, 141, 140, // 1880-1887
137, 134, 130, 123, 121, 117, 115, 116, // 1888-1895
117, 119, 124, 128, 133, 138, 138, 139, // 1896-1903
139, 134, 131, 127, 121, 118, 115, 112, // 1904-1911
112, 113, 114, 115, 117, 119, 119, 122, // 1912-1919
122, 121, 125, 123, 129, 137, 134, 138, // 1920-1927
148, 139, 144, 148, 138, 143, 139, 131, // 1928-1935
129, 124, 117, 116, 116, 113, 115, 120, // 1936-1943
120, 128, 133, 134, 138, 139, 138, 136, // 1944-1951
135, 130, 126, 123, 118, 118, 118, 118, // 1952-1959
121, 124, 128, 132, 134, 135, 137, 135, // 1960-1967
133, 131, 126, 123, 120, 117, 115, 115, // 1968-1975
114, 115, 117, 117, 119, 120, 120, 121, // 1976-1983
123, 120, 123, 125, 124, 134, 133, 135, // 1984-1991
146, 138, 146, 146, 141, 145, 139, 136, // 1992-1999
131, 128, 121, 118, 117, 114, 115, 118, // 2000-2007
118, 123, 127, 130, 134, 135, 136, 135, // 2008-2015
134, 131, 129, 125, 122, 121, 120, 120, // 2016-2023
122, 124, 125, 130, 131, 132, 134, 134, // 2024-2031
132, 132, 128, 125, 123, 119, 119, 117, // 2032-2039
116, 116, 117, 118, 119, 120, 121, 122, // 2040-2047
121, 122, 121, 121, 123, 127, 131, 133, // 2048-2055
136, 142, 139, 146, 145, 143, 145, 141, // 2056-2063
138, 134, 129, 122, 119, 116, 113, 114, // 2064-2071
114, 115, 120, 123, 126, 131, 133, 134, // 2072-2079
136, 134, 133, 132, 129, 128, 124, 123, // 2080-2087
123, 123, 123, 125, 128, 129, 130, 132, // 2088-2095
131, 133, 131, 128, 130, 124, 123, 123, // 2096-2103
119, 120, 119, 118, 119, 120, 120, 121, // 2104-2111
122, 121, 122, 122, 120, 120, 121, 124, // 2112-2119
128, 131, 133, 139, 140, 143, 146, 143, // 2120-2127
146, 143, 140, 137, 133, 125, 121, 118, // 2128-2135
114, 114, 113, 114, 116, 119, 122, 127, // 2136-2143
130, 132, 134, 135, 135, 134, 132, 130, // 2144-2151
129, 126, 125, 125, 124, 125, 126, 128, // 2152-2159
129, 129, 130, 130, 130, 129, 127, 126, // 2160-2167
124, 123, 122, 120, 121, 120, 119, 121, // 2168-2175
120, 121, 122, 121, 122, 121, 121, 121, // 2176-2183
120, 121, 124, 127, 129, 134, 139, 138, // 2184-2191
143, 144, 143, 146, 143, 140, 138, 133, // 2192-2199
128, 124, 119, 115, 115, 113, 114, 116, // 2200-2207
118, 120, 124, 128, 130, 133, 134, 134, // 2208-2215
135, 133, 133, 131, 129, 129, 127, 126, // 2216-2223
126, 128, 125, 128, 127, 128, 127, 128, // 2224-2231
125, 126, 125, 123, 124, 122, 121, 122, // 2232-2239
120, 120, 121, 121, 121, 122, 121, 122, // 2240-2247
122, 122, 122, 121, 122, 122, 126, 130, // 2248-2255
129, 136, 138, 137, 143, 142, 142, 143, // 2256-2263
139, 138, 135, 131, 125, 123, 119, 116, // 2264-2271
116, 114, 115, 118, 118, 121, 125, 126, // 2272-2279
130, 133, 133, 135, 134, 133, 134, 131, // 2280-2287
130, 130, 129, 128, 127, 126, 125, 126, // 2288-2295
125, 125, 125, 124, 125, 125, 123, 124, // 2296-2303
124, 123, 123, 123, 122, 123, 123, 122, // 2304-2311
124, 123, 123, 123, 123, 123, 123, 122, // 2312-2319
122, 123, 123, 126, 129, 129, 135, 136, // 2320-2327
136, 143, 139, 141, 143, 139, 138, 135, // 2328-2335
131, 127, 124, 120, 118, 118, 115, 116, // 2336-2343
118, 118, 122, 124, 125, 130, 131, 133, // 2344-2351
135, 134, 134, 134, 133, 131, 131, 129, // 2352-2359
127, 128, 125, 125, 124, 124, 124, 124, // 2360-2367
123, 124, 124, 123, 124, 124, 123, 124, // 2368-2375
123, 123, 123, 123, 123, 123, 123, 123, // 2376-2383
123, 123, 123, 123, 122, 123, 123, 126, // 2384-2391
130, 129, 134, 137, 135, 142, 140, 139, // 2392-2399
142, 138, 137, 135, 131, 128, 125, 121, // 2400-2407
119, 118, 116, 117, 119, 119, 121, 124, // 2408-2415
125, 130, 131, 132, 134, 134, 133, 133, // 2416-2423
132, 130, 130, 129, 128, 127, 125, 125, // 2424-2431
125, 124, 125, 125, 124, 125, 124, 124, // 2432-2439
125, 124, 124, 124, 123, 123, 123, 123, // 2440-2447
123, 123, 123, 123, 123, 123, 123, 123, // 2448-2455
123, 123, 124, 125, 129, 130, 131, 136, // 2456-2463
134, 138, 140, 138, 142, 139, 137, 136, // 2464-2471
133, 130, 128, 123, 120, 119, 118, 117, // 2472-2479
118, 119, 120, 123, 124, 127, 130, 131, // 2480-2487
133, 134, 133, 133, 133, 131, 131, 130, // 2488-2495
129, 129, 126, 125, 126, 124, 125, 124, // 2496-2503
124, 124, 124, 124, 124, 123, 123, 123, // 2504-2511
123, 123, 123, 123, 123, 123, 123, 123, // 2512-2519
123, 123, 123, 123, 123, 123, 124, 124, // 2520-2527
129, 130, 131, 136, 135, 138, 140, 138, // 2528-2535
140, 139, 136, 136, 133, 130, 126, 123, // 2536-2543
120, 119, 118, 117, 119, 119, 120, 123, // 2544-2551
124, 127, 130, 131, 133, 133, 133, 133, // 2552-2559
132, 131, 130, 129, 129, 127, 126, 125, // 2560-2567
125, 125, 124, 124, 124, 124, 124, 124, // 2568-2575
124, 124, 124, 124, 124, 123, 123, 123, // 2576-2583
123, 123, 123, 123, 123, 123, 123, 123, // 2584-2591
123, 124, 124, 124, 127, 129, 129, 133, // 2592-2599
135, 135, 139, 138, 139, 140, 138, 136, // 2600-2607
135, 131, 129, 126, 123, 121, 119, 118, // 2608-2615
118, 119, 119, 121, 123, 125, 127, 130, // 2616-2623
130, 132, 133, 133, 133, 131, 131, 131, // 2624-2631
129, 128, 127, 125, 126, 124, 125, 124, // 2632-2639
123, 124, 124, 123, 124, 123, 123, 124, // 2640-2647
123, 123, 124, 123, 124, 124, 123, 124, // 2648-2655
124, 124, 124, 124, 124, 124, 125, 125, // 2656-2663
125, 128, 129, 131, 131, 133, 136, 135, // 2664-2671
138, 138, 136, 138, 135, 134, 133, 130, // 2672-2679
127, 125, 123, 121, 121, 120, 120, 121, // 2680-2687
121, 123, 125, 126, 129, 130, 131, 132, // 2688-2695
132, 132, 131, 131, 130, 129, 129, 127, // 2696-2703
126, 126, 124, 125, 124, 123, 124, 123, // 2704-2711
123, 124, 123, 124, 124, 123, 124, 124, // 2712-2719
124, 124, 124, 124, 124, 125, 124, 125, // 2720-2727
125, 125, 125, 126, 127, 128, 127, 129, // 2728-2735
130, 130, 132, 132, 133, 134, 134, 135, // 2736-2743
134, 134, 133, 132, 131, 129, 129, 126, // 2744-2751
125, 124, 123, 123, 123, 123, 124, 124, // 2752-2759
125, 128, 127, 130, 129, 130, 131, 129, // 2760-2767
130, 129, 127, 129, 125, 125, 125, 123, // 2768-2775
124, 123, 123, 123, 123, 123, 124, 124, // 2776-2783
124, 124, 125, 125, 125, 125, 125, 125, // 2784-2791
125, 125, 125, 125, 126, 126, 125, 127, // 2792-2799
128, 127, 129, 129, 129, 129, 130, 129, // 2800-2807
129, 131, 129, 131, 130, 130, 131, 129, // 2808-2815
131, 130, 131, 130, 131, 131, 130, 130, // 2816-2823
129, 129, 129, 126, 126, 125, 124, 125, // 2824-2831
124, 124, 124, 124, 124, 124, 125, 125, // 2832-2839
125, 125, 125, 125, 125, 125, 125, 124, // 2840-2847
125, 124, 124, 125, 124, 125, 125, 125, // 2848-2855
126, 128, 126, 128, 127, 128, 127, 128, // 2856-2863
127, 129, 127, 128, 127, 128, 127, 128, // 2864-2871
129, 128, 128, 129, 128, 129, 129, 128, // 2872-2879
130, 128, 129, 129, 127, 129, 127, 128, // 2880-2887
129, 127, 129, 129, 127, 129, 127, 128, // 2888-2895
127, 128, 127, 128, 129, 128, 127, 128, // 2896-2903
126, 127, 127, 125, 126, 125, 125, 125, // 2904-2911
125, 125, 125, 125, 125, 126, 125, 127, // 2912-2919
128, 126, 128, 128, 127, 128, 127, 128, // 2920-2927
127, 128, 127, 128, 127, 128, 128, 127, // 2928-2935
128, 127, 128, 128, 128, 128, 127, 128, // 2936-2943
127, 128, 127, 128, 128, 127, 128, 128, // 2944-2951
127, 128, 127, 128, 127, 128, 127, 128, // 2952-2959
128, 128, 128, 128, 127, 128, 127, 128, // 2960-2967
127, 128, 127, 128, 127, 128, 128// 2968-2974
};

const char B[3016] = {121, 124, 123, 118, 118, 120, 118, 121, // 0-7
118, 121, 122, 121, 120, 121, 122, 118, // 8-15
121, 120, 119, 120, 119, 121, 124, 125, // 16-23
126, 130, 133, 135, 138, 138, 140, 141, // 24-31
140, 138, 137, 136, 132, 130, 128, 124, // 32-39
121, 116, 114, 113, 107, 108, 106,  98, // 40-47
103, 101,  95, 105, 115, 116, 116, 141, // 48-55
140, 143, 160, 164, 166, 170, 174, 168, // 56-63
166, 157, 157, 142, 134, 130, 121, 108, // 64-71
112, 111, 103, 108, 110, 110, 110, 112, // 72-79
113, 112, 106, 110, 103,  98, 102, 111, // 80-87
108, 106, 132, 130, 129, 154, 158, 160, // 88-95
170, 176, 174, 174, 166, 166, 148, 138, // 96-103
136, 118, 108, 111, 102,  98, 105, 106, // 104-111
109, 114, 119, 123, 121, 124, 124, 114, // 112-119
113, 106,  98, 100, 102,  99,  98, 117, // 120-127
115, 123, 143, 150, 160, 172, 178, 182, // 128-135
182, 178, 176, 157, 151, 140, 121, 114, // 136-143
108,  97,  97,  95,  98, 100, 104, 113, // 144-151
111, 116, 120, 113, 112, 111, 102, 103, // 152-159
108, 103, 102, 121, 116, 124, 143, 147, // 160-167
160, 170, 180, 184, 182, 184, 178, 160, // 168-175
157, 141, 123, 115, 103,  95,  91,  89, // 176-183
 91,  95, 100, 108, 111, 117, 121, 123, // 184-191
121, 118, 113, 111, 109, 112, 104, 109, // 192-199
121, 111, 130, 138, 143, 157, 166, 174, // 200-207
176, 178, 182, 168, 162, 154, 136, 129, // 208-215
115, 106, 100,  95,  95,  95, 101, 105, // 216-223
110, 115, 117, 121, 122, 118, 115, 110, // 224-231
107, 108, 108, 100, 112, 115, 112, 135, // 232-239
136, 146, 160, 168, 176, 178, 182, 180, // 240-247
168, 166, 150, 136, 128, 112, 106, 100, // 248-255
 95,  95,  97,  99, 106, 110, 115, 117, // 256-263
123, 122, 118, 117, 110, 108, 111, 108, // 264-271
102, 116, 113, 114, 135, 135, 148, 157, // 272-279
168, 174, 176, 182, 174, 166, 164, 146, // 280-287
136, 125, 112, 104,  98,  99,  91,  98, // 288-295
104, 102, 114, 116, 116, 125, 121, 119, // 296-303
116, 111, 108, 108, 108, 100, 113, 111, // 304-311
112, 133, 131, 146, 157, 166, 174, 176, // 312-319
184, 176, 170, 166, 148, 139, 129, 113, // 320-327
108, 100,  97,  93,  97, 103, 101, 113, // 328-335
114, 115, 124, 120, 119, 116, 111, 108, // 336-343
108, 109, 101, 111, 113, 111, 131, 132, // 344-351
143, 155, 166, 174, 176, 184, 176, 172, // 352-359
168, 151, 141, 131, 117, 108, 101,  99, // 360-367
 93,  97, 100, 101, 111, 113, 114, 121, // 368-375
121, 117, 116, 111, 108, 110, 108, 103, // 376-383
112, 114, 111, 130, 132, 143, 154, 164, // 384-391
172, 176, 182, 176, 172, 168, 152, 143, // 392-399
133, 118, 110, 103,  98,  93,  97,  99, // 400-407
 99, 109, 111, 113, 119, 119, 117, 116, // 408-415
112, 108, 111, 111, 103, 114, 114, 112, // 416-423
133, 130, 144, 153, 164, 170, 174, 184, // 424-431
174, 174, 168, 151, 143, 131, 119, 111, // 432-439
103, 101,  91,  99,  98,  99, 111, 108, // 440-447
115, 116, 118, 116, 113, 112, 106, 112, // 448-455
110, 103, 118, 112, 116, 133, 131, 146, // 456-463
154, 166, 170, 176, 182, 172, 174, 166, // 464-471
152, 144, 131, 119, 111, 106,  97,  95, // 472-479
 99,  95, 103, 107, 109, 113, 116, 116, // 480-487
115, 113, 108, 109, 112, 108, 106, 118, // 488-495
113, 118, 136, 133, 148, 156, 166, 170, // 496-503
178, 180, 172, 174, 162, 149, 143, 130, // 504-511
118, 111, 104,  98,  95, 100,  95, 104, // 512-519
107, 108, 114, 115, 116, 115, 113, 108, // 520-527
109, 112, 108, 108, 121, 111, 123, 135, // 528-535
134, 150, 156, 168, 168, 180, 178, 170, // 536-543
174, 160, 149, 143, 128, 118, 109, 104, // 544-551
 97,  95, 100,  95, 106, 106, 110, 114, // 552-559
114, 118, 115, 114, 109, 109, 112, 108, // 560-567
108, 118, 112, 121, 133, 133, 147, 154, // 568-575
166, 168, 180, 176, 172, 174, 160, 152, // 576-583
143, 130, 119, 112, 104,  99,  99,  97, // 584-591
 97, 103, 105, 111, 112, 114, 116, 116, // 592-599
113, 110, 110, 111, 111, 106, 118, 112, // 600-607
118, 134, 129, 148, 151, 162, 168, 176, // 608-615
178, 170, 176, 160, 153, 145, 130, 122, // 616-623
112, 105, 100,  97,  98,  95, 104, 103, // 624-631
111, 113, 113, 118, 116, 115, 112, 111, // 632-639
112, 112, 106, 116, 116, 113, 133, 128, // 640-647
143, 149, 160, 166, 172, 180, 170, 176, // 648-655
162, 154, 147, 133, 124, 115, 106, 102, // 656-663
 99,  97,  99, 101, 105, 109, 113, 113, // 664-671
118, 118, 114, 113, 111, 110, 113, 106, // 672-679
112, 117, 111, 127, 128, 138, 147, 156, // 680-687
166, 168, 180, 170, 176, 168, 157, 151, // 688-695
138, 128, 118, 111, 102, 100,  97,  97, // 696-703
101, 103, 107, 112, 113, 116, 118, 116, // 704-711
113, 113, 109, 113, 111, 107, 119, 111, // 712-719
120, 130, 130, 146, 149, 164, 164, 176, // 720-727
174, 172, 174, 158, 155, 144, 133, 122, // 728-735
113, 106, 102, 100,  97, 101, 103, 107, // 736-743
111, 115, 116, 119, 120, 116, 115, 111, // 744-751
111, 113, 106, 111, 117, 108, 126, 125, // 752-759
134, 146, 154, 164, 168, 180, 170, 176, // 760-767
168, 157, 153, 138, 130, 118, 112, 103, // 768-775
102, 100,  97, 104, 103, 109, 113, 115, // 776-783
118, 121, 121, 116, 116, 111, 112, 113, // 784-791
106, 112, 115, 110, 126, 124, 136, 146, // 792-799
155, 164, 168, 180, 170, 176, 166, 157, // 800-807
150, 137, 128, 117, 112, 101, 102,  99, // 808-815
 95, 106, 103, 110, 116, 116, 121, 122, // 816-823
123, 118, 118, 111, 112, 113, 106, 108, // 824-831
114, 107, 118, 128, 127, 145, 151, 160, // 832-839
168, 178, 172, 174, 170, 157, 153, 140, // 840-847
129, 120, 112, 104, 101, 100,  97, 103, // 848-855
105, 108, 115, 116, 119, 123, 122, 120, // 856-863
119, 112, 111, 113, 107, 103, 113, 106, // 864-871
112, 126, 122, 142, 148, 160, 164, 176, // 872-879
174, 172, 176, 158, 156, 143, 132, 122, // 880-887
114, 106, 101, 102,  95, 103, 104, 106, // 888-895
116, 116, 121, 124, 126, 124, 124, 118, // 896-903
112, 113, 109, 106, 104, 112, 103, 116, // 904-911
123, 124, 145, 148, 162, 168, 176, 174, // 912-919
174, 172, 157, 155, 140, 130, 121, 111, // 920-927
106, 101,  99,  98, 102, 104, 109, 116, // 928-935
117, 123, 125, 124, 125, 123, 116, 113, // 936-943
111, 108, 106, 102, 111, 105, 115, 125, // 944-951
126, 146, 150, 164, 168, 176, 174, 172, // 952-959
172, 156, 154, 140, 129, 120, 111, 104, // 960-967
101,  98,  98, 104, 104, 112, 116, 119, // 968-975
126, 128, 129, 128, 126, 118, 115, 110, // 976-983
108, 108,  98, 108, 106, 107, 124, 122, // 984-991
141, 149, 160, 168, 174, 178, 172, 176, // 992-999
160, 155, 146, 132, 124, 113, 107, 102, // 1000-1007
101,  97, 103, 105, 108, 116, 118, 124, // 1008-1015
127, 129, 129, 128, 122, 117, 112, 108, // 1016-1023
108, 103, 100, 109, 106, 113, 128, 128, // 1024-1031
146, 152, 164, 170, 178, 174, 172, 170, // 1032-1039
154, 152, 138, 128, 119, 111, 104, 101, // 1040-1047
100,  99, 106, 106, 112, 118, 121, 127, // 1048-1055
130, 130, 130, 129, 121, 118, 111, 106, // 1056-1063
107, 102,  99, 109, 106, 113, 127, 128, // 1064-1071
146, 152, 162, 168, 176, 174, 170, 170, // 1072-1079
154, 152, 138, 126, 121, 110, 105, 103, // 1080-1087
100, 100, 105, 108, 112, 118, 120, 127, // 1088-1095
130, 129, 130, 128, 122, 118, 112, 106, // 1096-1103
106, 104,  99, 106, 109, 108, 126, 127, // 1104-1111
141, 152, 160, 168, 172, 176, 168, 170, // 1112-1119
157, 150, 143, 129, 120, 114, 105, 103, // 1120-1127
103,  98, 106, 108, 111, 118, 121, 124, // 1128-1135
131, 131, 130, 131, 124, 121, 116, 108, // 1136-1143
106, 105, 102, 100, 107, 109, 112, 130, // 1144-1151
129, 145, 155, 160, 170, 172, 172, 168, // 1152-1159
168, 153, 148, 138, 124, 120, 111, 105, // 1160-1167
104, 102, 101, 108, 109, 112, 121, 121, // 1168-1175
127, 132, 130, 132, 130, 124, 121, 116, // 1176-1183
108, 108, 103, 103, 100, 106, 111, 110, // 1184-1191
130, 127, 145, 152, 160, 168, 170, 170, // 1192-1199
166, 166, 152, 149, 138, 128, 120, 113, // 1200-1207
107, 105, 104, 103, 108, 111, 113, 120, // 1208-1215
123, 128, 131, 131, 131, 131, 126, 122, // 1216-1223
119, 110, 108, 103, 103, 103, 102, 111, // 1224-1231
111, 121, 131, 136, 151, 154, 166, 166, // 1232-1239
170, 168, 162, 160, 147, 143, 131, 124, // 1240-1247
116, 111, 107, 106, 105, 107, 110, 112, // 1248-1255
118, 120, 128, 129, 131, 133, 132, 130, // 1256-1263
128, 123, 118, 113, 108, 106, 103, 105, // 1264-1271
101, 109, 113, 113, 133, 132, 145, 153, // 1272-1279
157, 166, 166, 168, 160, 162, 148, 143, // 1280-1287
138, 125, 122, 115, 111, 110, 108, 107, // 1288-1295
112, 112, 116, 121, 121, 126, 129, 130, // 1296-1303
130, 130, 128, 125, 122, 117, 113, 109, // 1304-1311
106, 107, 106, 104, 113, 114, 117, 134, // 1312-1319
131, 146, 151, 156, 160, 164, 162, 157, // 1320-1327
160, 146, 144, 137, 127, 124, 117, 112, // 1328-1335
112, 110, 109, 112, 112, 115, 119, 119, // 1336-1343
125, 128, 127, 130, 130, 129, 127, 125, // 1344-1351
121, 118, 112, 109, 107, 108, 106, 107, // 1352-1359
114, 112, 122, 131, 133, 148, 147, 157, // 1360-1367
159, 162, 160, 158, 155, 146, 146, 134, // 1368-1375
130, 124, 117, 113, 112, 108, 109, 111, // 1376-1383
108, 116, 116, 118, 124, 126, 129, 133, // 1384-1391
132, 132, 133, 128, 128, 122, 116, 113, // 1392-1399
108, 107, 107, 103, 107, 113, 111, 125, // 1400-1407
128, 136, 146, 148, 157, 160, 164, 158, // 1408-1415
162, 153, 148, 144, 133, 130, 121, 116, // 1416-1423
112, 111, 106, 108, 109, 108, 114, 115, // 1424-1431
119, 125, 127, 132, 135, 136, 135, 136, // 1432-1439
130, 130, 124, 117, 115, 107, 104, 105, // 1440-1447
101, 102, 109, 109, 114, 130, 128, 143, // 1448-1455
148, 153, 162, 164, 164, 162, 162, 149, // 1456-1463
150, 138, 131, 126, 116, 113, 109, 106, // 1464-1471
104, 108, 106, 111, 114, 116, 124, 128, // 1472-1479
132, 136, 138, 138, 140, 138, 134, 133, // 1480-1487
125, 120, 115, 107, 103, 100,  98, 100, // 1488-1495
 99, 108, 109, 118, 129, 133, 148, 148, // 1496-1503
162, 162, 166, 166, 162, 160, 151, 148, // 1504-1511
136, 132, 121, 116, 112, 107, 106, 105, // 1512-1519
105, 107, 111, 113, 118, 124, 129, 134, // 1520-1527
137, 141, 141, 143, 141, 138, 136, 130, // 1528-1535
124, 116, 111, 103, 100,  95,  95,  97, // 1536-1543
 97, 106, 112, 116, 131, 136, 145, 156, // 1544-1551
160, 168, 168, 170, 166, 164, 154, 149, // 1552-1559
142, 131, 125, 116, 112, 108, 104, 103, // 1560-1567
103, 105, 108, 113, 116, 123, 130, 133, // 1568-1575
139, 141, 143, 143, 143, 142, 138, 133, // 1576-1583
128, 121, 112, 108, 100,  95,  91,  91, // 1584-1591
 95,  97, 101, 111, 117, 124, 140, 141, // 1592-1599
155, 160, 166, 170, 170, 170, 164, 162, // 1600-1607
150, 146, 136, 128, 121, 112, 110, 105, // 1608-1615
103, 103, 104, 106, 111, 115, 119, 126, // 1616-1623
131, 136, 140, 143, 143, 145, 143, 141, // 1624-1631
138, 130, 126, 119, 112, 107, 101,  93, // 1632-1639
 95,  89,  91,  95, 100, 104, 111, 124, // 1640-1647
123, 143, 144, 155, 166, 166, 174, 172, // 1648-1655
172, 166, 164, 152, 146, 138, 126, 122, // 1656-1663
112, 108, 104, 100, 100, 103, 103, 108, // 1664-1671
113, 117, 124, 131, 135, 140, 143, 143, // 1672-1679
147, 143, 143, 139, 133, 129, 121, 114, // 1680-1687
107, 103,  95,  93,  91,  87,  91,  93, // 1688-1695
100, 108, 111, 124, 132, 138, 153, 154, // 1696-1703
166, 170, 174, 176, 174, 172, 164, 160, // 1704-1711
146, 142, 130, 120, 113, 106, 102,  99, // 1712-1719
 97,  97, 102, 103, 110, 115, 120, 129, // 1720-1727
133, 140, 143, 146, 147, 146, 146, 141, // 1728-1735
139, 131, 125, 118, 111, 106, 100,  95, // 1736-1743
 91,  91,  91,  93,  95, 100, 106, 113, // 1744-1751
121, 127, 140, 145, 151, 164, 162, 174, // 1752-1759
172, 174, 174, 168, 164, 154, 148, 136, // 1760-1767
131, 116, 111, 105,  97,  97,  95,  95, // 1768-1775
 99, 104, 108, 116, 121, 128, 136, 139, // 1776-1783
144, 147, 146, 148, 145, 143, 139, 133, // 1784-1791
126, 119, 113, 107, 103,  98,  95,  95, // 1792-1799
 95,  97, 100, 105, 109, 114, 119, 126, // 1800-1807
136, 139, 144, 154, 151, 162, 162, 162, // 1808-1815
170, 162, 164, 158, 154, 145, 141, 130, // 1816-1823
121, 117, 106, 106, 100,  98, 100, 100, // 1824-1831
103, 109, 112, 118, 125, 130, 136, 141, // 1832-1839
142, 146, 145, 144, 144, 141, 137, 133, // 1840-1847
127, 122, 117, 111, 109, 106, 103, 103, // 1848-1855
103, 106, 109, 112, 116, 121, 122, 129, // 1856-1863
130, 133, 136, 138, 139, 140, 145, 141, // 1864-1871
146, 147, 143, 151, 144, 148, 146, 143, // 1872-1879
139, 136, 130, 123, 121, 112, 113, 110, // 1880-1887
108, 111, 109, 112, 115, 117, 121, 128, // 1888-1895
128, 133, 136, 136, 139, 139, 138, 139, // 1896-1903
136, 135, 134, 130, 128, 124, 120, 119, // 1904-1911
116, 114, 114, 113, 113, 116, 116, 118, // 1912-1919
120, 120, 122, 123, 123, 124, 122, 122, // 1920-1927
123, 125, 123, 128, 132, 126, 141, 136, // 1928-1935
143, 148, 144, 152, 147, 148, 143, 143, // 1936-1943
134, 133, 125, 118, 119, 112, 112, 112, // 1944-1951
111, 113, 116, 116, 121, 124, 124, 131, // 1952-1959
131, 134, 137, 136, 138, 138, 138, 136, // 1960-1967
136, 133, 132, 130, 124, 124, 119, 117, // 1968-1975
116, 113, 112, 112, 112, 113, 114, 114, // 1976-1983
117, 117, 118, 119, 119, 121, 120, 122, // 1984-1991
125, 124, 127, 135, 132, 141, 143, 143, // 1992-1999
153, 148, 154, 151, 150, 146, 143, 138, // 2000-2007
132, 129, 119, 119, 113, 112, 113, 111, // 2008-2015
113, 115, 116, 118, 121, 122, 126, 128, // 2016-2023
129, 133, 133, 133, 136, 135, 136, 136, // 2024-2031
133, 134, 131, 129, 128, 123, 121, 119, // 2032-2039
116, 115, 114, 113, 114, 114, 115, 117, // 2040-2047
117, 119, 120, 120, 121, 120, 122, 121, // 2048-2055
124, 127, 126, 130, 136, 133, 143, 143, // 2056-2063
144, 154, 148, 155, 150, 148, 145, 142, // 2064-2071
136, 131, 127, 118, 118, 112, 112, 111, // 2072-2079
111, 112, 113, 113, 117, 120, 121, 125, // 2080-2087
127, 130, 133, 135, 136, 138, 139, 138, // 2088-2095
140, 138, 136, 136, 131, 130, 125, 122, // 2096-2103
120, 116, 115, 113, 112, 112, 113, 113, // 2104-2111
116, 116, 118, 120, 121, 122, 122, 122, // 2112-2119
122, 122, 124, 128, 126, 130, 136, 131, // 2120-2127
143, 140, 145, 150, 146, 152, 148, 148, // 2128-2135
143, 142, 134, 131, 125, 118, 118, 112, // 2136-2143
112, 112, 111, 113, 113, 115, 118, 121, // 2144-2151
122, 128, 129, 130, 134, 135, 138, 138, // 2152-2159
139, 139, 139, 138, 136, 136, 130, 130, // 2160-2167
124, 121, 118, 114, 113, 112, 110, 111, // 2168-2175
112, 113, 114, 116, 118, 120, 121, 122, // 2176-2183
122, 123, 122, 123, 124, 125, 129, 128, // 2184-2191
136, 134, 138, 146, 142, 152, 148, 151, // 2192-2199
151, 148, 146, 142, 138, 130, 128, 118, // 2200-2207
116, 113, 109, 110, 109, 109, 112, 113, // 2208-2215
116, 119, 121, 125, 129, 131, 133, 136, // 2216-2223
137, 140, 139, 141, 141, 137, 140, 133, // 2224-2231
133, 130, 124, 124, 118, 116, 113, 113, // 2232-2239
112, 112, 112, 113, 116, 116, 120, 121, // 2240-2247
122, 124, 124, 124, 124, 124, 123, 124, // 2248-2255
125, 128, 127, 133, 134, 136, 144, 140, // 2256-2263
148, 148, 147, 151, 146, 145, 141, 137, // 2264-2271
130, 127, 118, 115, 113, 109, 110, 110, // 2272-2279
109, 112, 113, 116, 121, 123, 126, 131, // 2280-2287
133, 136, 138, 138, 141, 141, 141, 142, // 2288-2295
138, 140, 134, 133, 130, 123, 122, 117, // 2296-2303
116, 113, 112, 111, 111, 112, 112, 115, // 2304-2311
116, 118, 121, 122, 124, 125, 124, 126, // 2312-2319
124, 123, 124, 121, 126, 127, 124, 137, // 2320-2327
131, 137, 145, 138, 151, 146, 148, 151, // 2328-2335
144, 144, 140, 136, 127, 126, 117, 114, // 2336-2343
113, 108, 111, 111, 110, 115, 115, 119, // 2344-2351
124, 126, 131, 134, 136, 138, 140, 140, // 2352-2359
142, 141, 140, 139, 136, 134, 132, 127, // 2360-2367
124, 121, 117, 116, 114, 112, 112, 112, // 2368-2375
112, 114, 115, 117, 119, 121, 123, 126, // 2376-2383
125, 128, 127, 126, 126, 124, 124, 121, // 2384-2391
126, 129, 124, 135, 137, 130, 150, 137, // 2392-2399
146, 153, 141, 154, 143, 143, 141, 134, // 2400-2407
127, 124, 118, 112, 114, 108, 108, 113, // 2408-2415
109, 115, 118, 118, 127, 129, 131, 136, // 2416-2423
138, 138, 142, 139, 140, 141, 136, 138, // 2424-2431
134, 130, 130, 123, 121, 119, 116, 115, // 2432-2439
114, 112, 113, 114, 113, 116, 118, 119, // 2440-2447
122, 124, 125, 128, 127, 128, 127, 126, // 2448-2455
124, 124, 121, 121, 121, 126, 128, 126, // 2456-2463
139, 131, 142, 146, 139, 154, 144, 147, // 2464-2471
148, 141, 139, 133, 128, 121, 118, 112, // 2472-2479
111, 112, 108, 112, 113, 113, 121, 122, // 2480-2487
128, 133, 134, 137, 139, 139, 140, 141, // 2488-2495
138, 138, 136, 132, 133, 128, 124, 123, // 2496-2503
118, 118, 116, 115, 114, 114, 115, 115, // 2504-2511
117, 118, 120, 121, 123, 124, 125, 126, // 2512-2519
127, 128, 125, 125, 124, 122, 121, 120, // 2520-2527
121, 123, 128, 126, 134, 139, 135, 147, // 2528-2535
143, 143, 152, 143, 146, 143, 136, 135, // 2536-2543
128, 121, 117, 114, 110, 111, 111, 111, // 2544-2551
116, 117, 120, 128, 128, 133, 137, 137, // 2552-2559
139, 140, 139, 138, 138, 135, 133, 131, // 2560-2567
128, 125, 124, 121, 120, 118, 117, 118, // 2568-2575
116, 116, 118, 118, 119, 121, 121, 123, // 2576-2583
124, 124, 125, 125, 126, 124, 125, 124, // 2584-2591
122, 124, 120, 121, 122, 120, 129, 128, // 2592-2599
132, 138, 138, 143, 145, 145, 146, 146, // 2600-2607
144, 141, 138, 133, 127, 124, 117, 116, // 2608-2615
113, 111, 113, 113, 116, 120, 123, 129, // 2616-2623
132, 135, 137, 138, 139, 138, 138, 135, // 2624-2631
133, 130, 126, 124, 123, 121, 121, 121, // 2632-2639
121, 121, 121, 121, 123, 123, 122, 124, // 2640-2647
124, 123, 124, 122, 122, 122, 121, 122, // 2648-2655
122, 121, 123, 122, 122, 123, 122, 123, // 2656-2663
123, 124, 130, 132, 133, 141, 140, 142, // 2664-2671
148, 142, 146, 145, 139, 141, 134, 129, // 2672-2679
125, 120, 116, 114, 113, 112, 115, 117, // 2680-2687
118, 124, 128, 131, 136, 136, 137, 138, // 2688-2695
136, 134, 133, 129, 126, 125, 122, 122, // 2696-2703
122, 121, 123, 123, 124, 124, 125, 125, // 2704-2711
124, 124, 123, 122, 122, 120, 120, 120, // 2712-2719
120, 121, 121, 122, 123, 124, 126, 126, // 2720-2727
125, 126, 126, 124, 124, 124, 124, 129, // 2728-2735
131, 130, 139, 138, 138, 146, 141, 143, // 2736-2743
143, 137, 137, 133, 126, 124, 120, 116, // 2744-2751
115, 116, 115, 117, 121, 121, 127, 131, // 2752-2759
131, 136, 136, 135, 135, 133, 130, 128, // 2760-2767
126, 124, 124, 123, 122, 124, 124, 125, // 2768-2775
127, 127, 127, 128, 125, 125, 123, 121, // 2776-2783
121, 119, 119, 119, 120, 120, 122, 123, // 2784-2791
124, 128, 128, 128, 130, 126, 126, 128, // 2792-2799
123, 124, 124, 121, 123, 128, 129, 132, // 2800-2807
137, 138, 141, 143, 143, 141, 140, 137, // 2808-2815
133, 130, 126, 121, 120, 118, 117, 118, // 2816-2823
119, 121, 124, 127, 130, 132, 133, 134, // 2824-2831
133, 133, 130, 129, 126, 124, 123, 122, // 2832-2839
122, 124, 124, 125, 128, 127, 129, 129, // 2840-2847
128, 127, 124, 124, 121, 120, 119, 118, // 2848-2855
119, 120, 121, 122, 124, 126, 128, 129, // 2856-2863
129, 127, 129, 128, 126, 125, 124, 124, // 2864-2871
124, 122, 125, 125, 125, 130, 129, 133, // 2872-2879
136, 134, 138, 139, 135, 138, 135, 132, // 2880-2887
133, 129, 128, 126, 125, 125, 124, 126, // 2888-2895
126, 126, 128, 127, 128, 129, 129, 128, // 2896-2903
127, 128, 126, 128, 126, 126, 126, 126, // 2904-2911
126, 126, 126, 126, 126, 125, 125, 125, // 2912-2919
124, 124, 124, 123, 123, 123, 124, 124, // 2920-2927
124, 125, 126, 126, 126, 128, 127, 126, // 2928-2935
127, 126, 126, 126, 126, 125, 128, 126, // 2936-2943
128, 129, 127, 130, 127, 129, 130, 128, // 2944-2951
130, 128, 126, 130, 125, 128, 129, 128, // 2952-2959
130, 129, 131, 133, 131, 133, 133, 131, // 2960-2967
132, 130, 130, 129, 128, 126, 125, 124, // 2968-2975
125, 125, 124, 126, 126, 126, 126, 126, // 2976-2983
128, 125, 125, 125, 124, 124, 124, 124, // 2984-2991
124, 124, 125, 125, 126, 127, 128, 127, // 2992-2999
128, 127, 126, 126, 126, 125, 125, 126, // 3000-3007
126, 126, 127, 128, 127, 128, 127, 128
};

const char C[2622] = {125, 126, 127, 125, 126, 128, 128, 127, // 0-7
128, 128, 129, 127, 128, 127, 129, 126, // 8-15
125, 128, 127, 125, 125, 128, 127, 126, // 16-23
127, 128, 127, 126, 125, 128, 129, 125, // 24-31
126, 128, 127, 128, 125, 128, 129, 126, // 32-39
127, 129, 128, 128, 125, 126, 128, 125, // 40-47
125, 127, 129, 127, 128, 129, 129, 128, // 48-55
127, 129, 129, 126, 125, 127, 128, 125, // 56-63
125, 125, 125, 124, 124, 124, 123, 122, // 64-71
123, 123, 124, 124, 124, 127, 128, 130, // 72-79
131, 133, 135, 136, 136, 138, 138, 136, // 80-87
135, 134, 131, 129, 126, 124, 121, 120, // 88-95
118, 117, 117, 116, 115, 116, 116, 117, // 96-103
115, 114, 115, 115, 118, 125, 126, 126, // 104-111
138, 140, 140, 144, 147, 150, 150, 147, // 112-119
146, 145, 138, 134, 130, 122, 118, 114, // 120-127
112, 114, 112, 115, 120, 119, 119, 121, // 128-135
123, 123, 120, 119, 117, 112, 108, 107, // 136-143
115, 120, 112, 125, 141, 136, 142, 154, // 144-151
157, 157, 155, 155, 157, 143, 134, 135, // 152-159
124, 112, 110, 108, 107, 106, 108, 118, // 160-167
120, 122, 133, 134, 131, 134, 130, 122, // 168-175
118, 112, 106, 100, 102, 112, 107, 112, // 176-183
134, 135, 140, 155, 162, 166, 166, 164, // 184-191
166, 155, 141, 138, 127, 111, 106, 101, // 192-199
 95,  98,  99, 108, 116, 120, 133, 140, // 200-207
138, 142, 142, 135, 129, 120, 112, 104, // 208-215
 95,  97, 106, 101, 105, 130, 133, 138, // 216-223
155, 164, 170, 170, 170, 172, 160, 144, // 224-231
142, 127, 111, 103,  95,  91,  89,  93, // 232-239
105, 110, 118, 133, 138, 140, 143, 144, // 240-247
139, 131, 124, 114, 102,  97, 106, 102, // 248-255
 93, 119, 126, 124, 144, 157, 164, 168, // 256-263
170, 174, 166, 150, 149, 136, 114, 109, // 264-271
101,  89,  89,  89,  95, 104, 112, 130, // 272-279
139, 143, 154, 153, 148, 148, 140, 131, // 280-287
118, 106,  99,  85,  85,  98,  91,  98, // 288-295
127, 128, 138, 160, 166, 174, 176, 176, // 296-303
176, 158, 148, 143, 118, 106, 102,  87, // 304-311
 83,  87,  91, 101, 111, 125, 139, 144, // 312-319
155, 156, 153, 152, 143, 133, 122, 106, // 320-327
 95,  87,  85,  93,  85,  99, 125, 120, // 328-335
140, 162, 164, 176, 180, 180, 176, 160, // 336-343
153, 141, 114, 110,  98,  83,  83,  83, // 344-351
 87,  98, 108, 127, 136, 145, 162, 158, // 352-359
156, 158, 147, 136, 126, 112,  99,  85, // 360-367
 79,  85,  87,  83, 111, 125, 123, 154, // 368-375
168, 170, 180, 184, 184, 172, 158, 153, // 376-383
129, 112, 108,  87,  81,  83,  81,  89, // 384-391
 98, 114, 129, 138, 152, 160, 158, 160, // 392-399
156, 146, 136, 124, 111,  95,  85,  77, // 400-407
 79,  87,  85, 105, 128, 126, 151, 170, // 408-415
172, 184, 184, 184, 174, 162, 152, 131, // 416-423
112, 107,  89,  79,  81,  81,  87,  98, // 424-431
112, 125, 138, 152, 160, 162, 162, 158, // 432-439
149, 139, 127, 112,  99,  87,  79,  79, // 440-447
 87,  87,  99, 124, 125, 146, 168, 170, // 448-455
180, 184, 184, 174, 164, 153, 135, 116, // 456-463
110,  91,  83,  83,  81,  87,  97, 108, // 464-471
121, 134, 148, 156, 162, 164, 157, 153, // 472-479
144, 130, 120, 106,  93,  85,  77,  83, // 480-487
 91,  87, 112, 129, 128, 158, 166, 170, // 488-495
182, 182, 180, 168, 160, 148, 125, 116, // 496-503
106,  87,  87,  85,  83,  91, 101, 112, // 504-511
123, 138, 149, 152, 162, 160, 152, 152, // 512-519
139, 127, 118, 103,  95,  85,  81,  89, // 520-527
 89,  95, 118, 124, 133, 160, 162, 170, // 528-535
180, 178, 174, 164, 158, 143, 125, 119, // 536-543
103,  91,  93,  85,  89,  95, 103, 113, // 544-551
123, 138, 144, 151, 158, 154, 150, 148, // 552-559
136, 126, 118, 105,  97,  89,  87,  93, // 560-567
 93,  99, 120, 120, 137, 158, 155, 170, // 568-575
174, 174, 170, 162, 157, 140, 129, 120, // 576-583
103,  98,  95,  89,  93,  97, 105, 112, // 584-591
123, 135, 142, 149, 153, 151, 149, 144, // 592-599
137, 127, 119, 109, 100,  93,  91,  95, // 600-607
 97,  99, 119, 122, 132, 153, 152, 166, // 608-615
170, 170, 168, 162, 157, 143, 131, 124, // 616-623
108, 103,  98,  91,  97,  97, 105, 111, // 624-631
120, 131, 136, 146, 149, 149, 150, 143, // 632-639
140, 131, 121, 115, 105,  99,  93,  93, // 640-647
100,  99, 108, 125, 122, 143, 152, 153, // 648-655
166, 166, 168, 162, 158, 151, 135, 131, // 656-663
119, 106, 106,  97,  97,  99, 102, 110, // 664-671
114, 125, 131, 139, 146, 146, 148, 146, // 672-679
140, 138, 127, 120, 112, 106, 101,  95, // 680-687
 98, 102, 103, 112, 126, 124, 143, 152, // 688-695
152, 164, 164, 164, 158, 156, 147, 135, // 696-703
130, 118, 108, 108, 100,  99, 103, 105, // 704-711
111, 116, 125, 131, 138, 144, 144, 146, // 712-719
145, 139, 136, 129, 120, 115, 109, 103, // 720-727
 99,  99, 102, 108, 108, 122, 131, 131, // 728-735
151, 149, 156, 162, 160, 160, 152, 150, // 736-743
139, 130, 125, 112, 110, 107, 102, 106, // 744-751
106, 111, 115, 121, 129, 133, 140, 142, // 752-759
143, 143, 140, 135, 131, 124, 118, 114, // 760-767
110, 105, 102, 102, 107, 111, 112, 127, // 768-775
130, 134, 151, 146, 155, 157, 156, 154, // 776-783
148, 147, 135, 131, 125, 113, 112, 110, // 784-791
105, 110, 108, 113, 116, 122, 128, 131, // 792-799
138, 138, 140, 140, 138, 135, 130, 125, // 800-807
120, 116, 112, 108, 107, 106, 107, 112, // 808-815
114, 117, 133, 130, 139, 147, 145, 154, // 816-823
153, 153, 149, 146, 143, 133, 131, 123, // 824-831
115, 116, 110, 111, 112, 112, 116, 118, // 832-839
123, 125, 131, 135, 135, 138, 137, 135, // 840-847
133, 129, 126, 121, 119, 115, 112, 111, // 848-855
108, 110, 112, 116, 115, 126, 133, 129, // 856-863
146, 142, 146, 152, 148, 149, 146, 144, // 864-871
137, 134, 130, 120, 119, 115, 111, 114, // 872-879
112, 114, 115, 119, 122, 125, 131, 131, // 880-887
135, 136, 135, 135, 132, 130, 128, 122, // 888-895
120, 116, 113, 111, 110, 110, 112, 116, // 896-903
114, 127, 128, 131, 144, 140, 149, 149, // 904-911
149, 149, 146, 145, 137, 135, 130, 120, // 912-919
120, 113, 112, 112, 110, 113, 114, 118, // 920-927
121, 125, 131, 132, 137, 137, 137, 138, // 928-935
134, 133, 129, 124, 121, 118, 115, 111, // 936-943
110, 108, 108, 114, 114, 116, 131, 128, // 944-951
136, 145, 142, 151, 149, 152, 149, 147, // 952-959
144, 136, 135, 125, 119, 119, 111, 111, // 960-967
112, 108, 112, 114, 119, 122, 128, 133, // 968-975
134, 139, 138, 139, 139, 134, 133, 130, // 976-983
124, 121, 118, 114, 111, 110, 107, 107, // 984-991
112, 114, 115, 123, 133, 129, 144, 144, // 992-999
144, 154, 149, 151, 148, 146, 140, 135, // 1000-1007
132, 120, 118, 115, 108, 112, 110, 110, // 1008-1015
115, 116, 121, 125, 131, 134, 138, 140, // 1016-1023
139, 141, 138, 134, 133, 127, 123, 120, // 1024-1031
117, 112, 112, 110, 107, 108, 109, 112, // 1032-1039
118, 118, 131, 133, 135, 148, 143, 151, // 1040-1047
151, 150, 150, 145, 143, 135, 133, 125, // 1048-1055
116, 117, 112, 108, 112, 109, 112, 116, // 1056-1063
119, 124, 129, 134, 136, 140, 140, 140, // 1064-1071
142, 136, 135, 133, 125, 124, 120, 116, // 1072-1079
114, 112, 110, 107, 108, 108, 111, 116, // 1080-1087
119, 121, 135, 134, 140, 149, 144, 152, // 1088-1095
151, 150, 147, 144, 142, 133, 131, 121, // 1096-1103
115, 115, 110, 109, 112, 110, 113, 118, // 1104-1111
121, 125, 132, 135, 138, 142, 142, 141, // 1112-1119
141, 137, 134, 131, 126, 123, 120, 116, // 1120-1127
114, 112, 110, 109, 110, 108, 110, 112, // 1128-1135
115, 121, 124, 131, 139, 136, 147, 147, // 1136-1143
147, 153, 147, 149, 144, 142, 135, 129, // 1144-1151
125, 117, 115, 112, 110, 112, 111, 112, // 1152-1159
117, 120, 125, 130, 135, 137, 140, 142, // 1160-1167
140, 142, 138, 135, 134, 129, 125, 121, // 1168-1175
118, 116, 113, 112, 111, 111, 111, 108, // 1176-1183
112, 112, 112, 117, 121, 126, 129, 138, // 1184-1191
139, 141, 149, 145, 149, 151, 147, 147, // 1192-1199
143, 139, 133, 129, 122, 116, 115, 111, // 1200-1207
111, 112, 112, 115, 119, 122, 127, 132, // 1208-1215
136, 138, 142, 140, 140, 140, 136, 135, // 1216-1223
133, 129, 125, 122, 119, 116, 114, 112, // 1224-1231
111, 111, 110, 111, 111, 112, 112, 115, // 1232-1239
118, 122, 129, 130, 136, 143, 141, 148, // 1240-1247
149, 147, 153, 148, 147, 143, 140, 134, // 1248-1255
129, 124, 116, 114, 112, 109, 112, 112, // 1256-1263
112, 118, 120, 125, 130, 134, 137, 140, // 1264-1271
142, 141, 143, 139, 137, 137, 130, 129, // 1272-1279
124, 119, 118, 113, 112, 111, 111, 110, // 1280-1287
111, 112, 112, 115, 116, 118, 121, 121, // 1288-1295
127, 130, 135, 135, 142, 144, 142, 151, // 1296-1303
146, 148, 149, 143, 143, 139, 135, 129, // 1304-1311
124, 119, 113, 112, 110, 108, 112, 111, // 1312-1319
115, 119, 123, 129, 133, 136, 139, 142, // 1320-1327
142, 142, 142, 138, 136, 132, 126, 125, // 1328-1335
119, 118, 115, 112, 112, 112, 112, 112, // 1336-1343
114, 116, 118, 121, 123, 124, 126, 126, // 1344-1351
127, 128, 130, 131, 133, 134, 137, 140, // 1352-1359
137, 143, 142, 142, 143, 140, 140, 136, // 1360-1367
133, 127, 123, 120, 115, 114, 112, 112, // 1368-1375
114, 114, 118, 121, 124, 130, 133, 135, // 1376-1383
138, 139, 139, 139, 138, 134, 133, 130, // 1384-1391
124, 124, 120, 118, 118, 116, 116, 116, // 1392-1399
118, 119, 120, 123, 124, 125, 127, 128, // 1400-1407
128, 127, 125, 124, 123, 121, 123, 124, // 1408-1415
124, 126, 131, 133, 134, 141, 138, 142, // 1416-1423
143, 140, 141, 138, 134, 130, 126, 121, // 1424-1431
118, 116, 113, 113, 115, 114, 118, 121, // 1432-1439
124, 129, 132, 134, 136, 137, 137, 136, // 1440-1447
136, 133, 131, 130, 125, 124, 124, 121, // 1448-1455
122, 121, 120, 122, 122, 123, 124, 124, // 1456-1463
124, 125, 125, 124, 124, 123, 121, 121, // 1464-1471
119, 118, 118, 116, 119, 122, 124, 126, // 1472-1479
133, 136, 136, 143, 143, 143, 146, 143, // 1480-1487
143, 139, 135, 130, 126, 121, 117, 116, // 1488-1495
114, 112, 115, 115, 119, 123, 124, 130, // 1496-1503
132, 134, 135, 136, 136, 135, 135, 133, // 1504-1511
130, 131, 126, 125, 126, 121, 124, 123, // 1512-1519
121, 124, 123, 123, 123, 123, 123, 124, // 1520-1527
124, 122, 123, 123, 121, 122, 120, 119, // 1528-1535
120, 118, 120, 120, 121, 126, 129, 130, // 1536-1543
138, 136, 139, 144, 141, 144, 143, 142, // 1544-1551
141, 136, 133, 129, 125, 121, 118, 118, // 1552-1559
114, 115, 117, 116, 121, 123, 124, 129, // 1560-1567
130, 131, 133, 133, 133, 133, 132, 131, // 1568-1575
131, 129, 130, 128, 128, 127, 124, 127, // 1576-1583
125, 124, 125, 123, 124, 123, 123, 122, // 1584-1591
122, 122, 121, 122, 121, 121, 121, 120, // 1592-1599
121, 121, 121, 122, 122, 125, 128, 129, // 1600-1607
132, 136, 136, 138, 143, 139, 143, 142, // 1608-1615
139, 139, 135, 132, 129, 125, 121, 119, // 1616-1623
118, 115, 116, 117, 117, 120, 121, 123, // 1624-1631
126, 128, 130, 131, 132, 133, 133, 133, // 1632-1639
133, 132, 132, 131, 130, 130, 129, 128, // 1640-1647
127, 125, 125, 124, 123, 123, 121, 121, // 1648-1655
121, 121, 121, 121, 121, 121, 122, 122, // 1656-1663
122, 123, 122, 122, 123, 121, 123, 124, // 1664-1671
126, 129, 129, 135, 134, 136, 142, 138, // 1672-1679
143, 142, 139, 140, 136, 134, 130, 128, // 1680-1687
123, 120, 119, 116, 116, 116, 116, 119, // 1688-1695
120, 121, 125, 125, 128, 131, 131, 132, // 1696-1703
133, 133, 133, 134, 132, 131, 133, 129, // 1704-1711
130, 129, 125, 129, 124, 123, 124, 121, // 1712-1719
121, 121, 120, 120, 120, 120, 120, 123, // 1720-1727
121, 123, 124, 122, 124, 124, 123, 124, // 1728-1735
124, 123, 125, 128, 129, 130, 135, 135, // 1736-1743
136, 142, 138, 142, 142, 138, 140, 136, // 1744-1751
133, 130, 127, 123, 120, 118, 116, 115, // 1752-1759
116, 115, 118, 119, 121, 124, 125, 129, // 1760-1767
131, 131, 133, 133, 134, 134, 134, 134, // 1768-1775
132, 134, 130, 130, 131, 125, 129, 124, // 1776-1783
123, 124, 121, 121, 121, 120, 121, 121, // 1784-1791
121, 121, 123, 123, 123, 124, 123, 124, // 1792-1799
124, 124, 124, 124, 124, 124, 124, 128, // 1800-1807
129, 130, 134, 134, 134, 140, 137, 139, // 1808-1815
141, 137, 139, 136, 133, 131, 128, 123, // 1816-1823
121, 120, 117, 117, 117, 116, 119, 120, // 1824-1831
121, 124, 125, 128, 131, 131, 133, 134, // 1832-1839
134, 134, 135, 134, 134, 133, 131, 131, // 1840-1847
130, 127, 126, 124, 123, 123, 121, 120, // 1848-1855
120, 120, 120, 120, 121, 121, 122, 123, // 1856-1863
124, 124, 124, 125, 125, 125, 125, 125, // 1864-1871
124, 125, 124, 125, 127, 129, 129, 133, // 1872-1879
134, 133, 139, 135, 138, 139, 136, 138, // 1880-1887
135, 133, 131, 128, 124, 122, 120, 119, // 1888-1895
118, 118, 118, 120, 120, 121, 125, 125, // 1896-1903
128, 130, 131, 133, 133, 133, 133, 133, // 1904-1911
133, 133, 131, 130, 130, 128, 127, 126, // 1912-1919
124, 124, 123, 122, 122, 121, 121, 121, // 1920-1927
121, 122, 122, 123, 123, 124, 124, 124, // 1928-1935
125, 125, 125, 126, 125, 125, 125, 125, // 1936-1943
125, 125, 126, 129, 128, 131, 133, 131, // 1944-1951
136, 134, 136, 138, 135, 136, 135, 133, // 1952-1959
131, 129, 125, 124, 122, 120, 119, 119, // 1960-1967
118, 120, 120, 121, 124, 124, 128, 130, // 1968-1975
130, 131, 133, 132, 133, 133, 133, 131, // 1976-1983
131, 131, 129, 129, 127, 124, 127, 123, // 1984-1991
123, 123, 121, 123, 121, 121, 123, 122, // 1992-1999
123, 124, 124, 124, 125, 125, 125, 128, // 2000-2007
125, 125, 128, 125, 125, 125, 124, 125, // 2008-2015
125, 126, 128, 126, 132, 130, 132, 136, // 2016-2023
133, 138, 136, 135, 137, 134, 133, 131, // 2024-2031
129, 126, 124, 123, 120, 121, 120, 119, // 2032-2039
121, 120, 123, 124, 124, 128, 129, 130, // 2040-2047
131, 131, 131, 131, 131, 131, 131, 130, // 2048-2055
130, 130, 127, 129, 126, 124, 126, 124, // 2056-2063
124, 124, 122, 123, 123, 123, 123, 123, // 2064-2071
123, 124, 124, 124, 125, 125, 125, 126, // 2072-2079
125, 125, 127, 125, 125, 125, 124, 125, // 2080-2087
125, 127, 128, 129, 132, 130, 135, 134, // 2088-2095
134, 138, 134, 136, 135, 133, 133, 130, // 2096-2103
128, 125, 124, 122, 121, 120, 119, 121, // 2104-2111
121, 121, 124, 124, 125, 128, 129, 130, // 2112-2119
131, 131, 131, 131, 132, 131, 131, 131, // 2120-2127
129, 130, 129, 126, 128, 124, 125, 124, // 2128-2135
123, 124, 123, 123, 123, 123, 123, 123, // 2136-2143
124, 124, 125, 125, 125, 126, 125, 125, // 2144-2151
126, 125, 126, 125, 125, 125, 125, 125, // 2152-2159
128, 128, 127, 131, 131, 131, 135, 133, // 2160-2167
135, 136, 134, 136, 134, 132, 131, 129, // 2168-2175
128, 125, 123, 121, 121, 121, 120, 121, // 2176-2183
121, 122, 124, 124, 128, 128, 129, 130, // 2184-2191
130, 131, 131, 131, 131, 131, 130, 130, // 2192-2199
130, 128, 129, 126, 125, 126, 124, 124, // 2200-2207
124, 123, 123, 123, 123, 123, 123, 123, // 2208-2215
124, 124, 124, 125, 125, 125, 126, 125, // 2216-2223
126, 126, 125, 125, 125, 125, 125, 125, // 2224-2231
125, 127, 128, 127, 132, 129, 133, 134, // 2232-2239
132, 136, 134, 134, 135, 132, 132, 130, // 2240-2247
128, 125, 124, 123, 121, 121, 120, 121, // 2248-2255
121, 121, 124, 124, 125, 128, 127, 130, // 2256-2263
130, 130, 131, 131, 131, 131, 130, 130, // 2264-2271
130, 129, 128, 127, 126, 125, 125, 124, // 2272-2279
124, 124, 123, 123, 123, 123, 124, 124, // 2280-2287
124, 124, 124, 125, 125, 125, 126, 126, // 2288-2295
126, 126, 126, 125, 125, 125, 125, 125, // 2296-2303
125, 126, 128, 127, 130, 131, 130, 134, // 2304-2311
132, 134, 136, 133, 135, 134, 132, 132, // 2312-2319
130, 127, 126, 124, 123, 122, 121, 121, // 2320-2327
122, 121, 123, 124, 124, 126, 127, 129, // 2328-2335
130, 130, 131, 131, 131, 131, 131, 130, // 2336-2343
130, 130, 127, 128, 128, 125, 126, 124, // 2344-2351
124, 124, 123, 124, 124, 124, 124, 124, // 2352-2359
124, 124, 125, 125, 125, 125, 125, 126, // 2360-2367
126, 126, 126, 126, 126, 125, 125, 125, // 2368-2375
125, 125, 125, 127, 128, 129, 131, 130, // 2376-2383
133, 134, 132, 135, 133, 134, 134, 131, // 2384-2391
132, 130, 127, 126, 125, 123, 122, 122, // 2392-2399
121, 122, 122, 122, 124, 124, 125, 128, // 2400-2407
127, 130, 130, 130, 131, 131, 131, 131, // 2408-2415
130, 130, 129, 129, 127, 128, 126, 125, // 2416-2423
125, 124, 124, 124, 124, 124, 124, 124, // 2424-2431
124, 124, 124, 125, 125, 125, 125, 125, // 2432-2439
126, 126, 126, 126, 126, 126, 126, 125, // 2440-2447
125, 125, 125, 125, 126, 128, 127, 129, // 2448-2455
131, 130, 133, 133, 133, 135, 133, 134, // 2456-2463
133, 131, 131, 129, 128, 125, 124, 123, // 2464-2471
122, 122, 121, 122, 123, 123, 125, 125, // 2472-2479
128, 128, 129, 130, 130, 130, 130, 130, // 2480-2487
130, 130, 130, 129, 129, 128, 126, 126, // 2488-2495
125, 125, 125, 124, 124, 124, 124, 124, // 2496-2503
124, 124, 124, 125, 125, 125, 125, 125, // 2504-2511
125, 125, 125, 126, 125, 126, 125, 126, // 2512-2519
126, 125, 126, 125, 125, 126, 125, 128, // 2520-2527
129, 128, 130, 131, 130, 133, 132, 133, // 2528-2535
134, 132, 133, 132, 131, 130, 129, 126, // 2536-2543
125, 124, 123, 123, 122, 122, 123, 123, // 2544-2551
124, 125, 125, 127, 129, 129, 130, 130, // 2552-2559
130, 130, 130, 130, 129, 129, 129, 128, // 2560-2567
126, 126, 125, 125, 125, 125, 125, 125, // 2568-2575
125, 125, 125, 125, 125, 125, 125, 125, // 2576-2583
125, 125, 125, 125, 126, 126, 126, 127, // 2584-2591
126, 128, 127, 126, 127, 126, 126, 128, // 2592-2599
126, 128, 126, 128, 127, 128, 128, 129, // 2600-2607
131, 130, 132, 132, 132, 133, 132, 131, // 2608-2615
131, 130, 129, 127, 126, 125
};

const char D[3123] = {122, 120, 128, 120, 135, 137, 129, 126, // 0-7
122, 129, 125, 118, 127, 120, 125, 126, // 8-15
123, 126, 125, 125, 128, 125, 127, 129, // 16-23
128, 132, 132, 129, 131, 129, 125, 130, // 24-31
121, 123, 125, 120, 123, 125, 122, 127, // 32-39
123, 125, 129, 128, 130, 131, 127, 129, // 40-47
132, 122, 134, 126, 125, 130, 122, 129, // 48-55
125, 124, 125, 128, 128, 129, 128, 130, // 56-63
131, 127, 131, 129, 130, 125, 128, 128, // 64-71
125, 128, 126, 128, 126, 128, 125, 128, // 72-79
125, 128, 127, 126, 128, 127, 125, 127, // 80-87
125, 128, 126, 128, 129, 125, 127, 126, // 88-95
126, 128, 126, 126, 127, 129, 125, 129, // 96-103
129, 126, 129, 129, 127, 128, 127, 128, // 104-111
126, 127, 126, 128, 127, 124, 127, 128, // 112-119
125, 129, 125, 126, 125, 125, 126, 124, // 120-127
126, 124, 126, 123, 125, 126, 123, 125, // 128-135
126, 125, 128, 128, 129, 132, 130, 132, // 136-143
132, 132, 134, 132, 133, 133, 133, 132, // 144-151
131, 129, 129, 128, 121, 125, 123, 120, // 152-159
121, 117, 122, 116, 115, 120, 113, 117, // 160-167
118, 122, 120, 123, 129, 128, 133, 134, // 168-175
139, 138, 141, 143, 142, 141, 141, 139, // 176-183
136, 135, 132, 131, 129, 124, 129, 126, // 184-191
122, 127, 125, 123, 121, 125, 121, 117, // 192-199
120, 115, 115, 112, 112, 108, 113, 117, // 200-207
113, 116, 126, 123, 126, 134, 136, 142, // 208-215
142, 146, 149, 145, 145, 145, 139, 137, // 216-223
134, 128, 124, 122, 121, 121, 121, 125, // 224-231
123, 125, 129, 128, 129, 130, 122, 127, // 232-239
122, 120, 118, 112, 111, 109, 105, 111, // 240-247
113, 109, 117, 123, 120, 130, 139, 139, // 248-255
148, 149, 154, 154, 150, 153, 146, 138, // 256-263
138, 131, 122, 121, 117, 117, 115, 119, // 264-271
122, 120, 128, 131, 125, 131, 128, 125, // 272-279
124, 118, 115, 111, 106, 105, 105, 106, // 280-287
108, 107, 122, 119, 125, 142, 142, 149, // 288-295
160, 160, 164, 162, 160, 156, 143, 140, // 296-303
134, 118, 117, 114, 108, 109, 112, 115, // 304-311
116, 121, 125, 123, 127, 130, 123, 122, // 312-319
122, 111, 107, 105,  98, 104, 106, 100, // 320-327
117, 120, 118, 141, 142, 148, 162, 164, // 328-335
172, 170, 166, 166, 152, 144, 139, 121, // 336-343
117, 113, 105, 105, 108, 106, 110, 115, // 344-351
121, 121, 125, 132, 121, 122, 122, 108, // 352-359
105, 100,  95, 103,  95,  99, 120, 110, // 360-367
126, 146, 143, 164, 172, 176, 184, 178, // 368-375
182, 170, 154, 153, 133, 119, 115, 101, // 376-383
 98,  95,  93,  99,  98, 108, 111, 112, // 384-391
124, 117, 120, 122, 111, 112, 105, 109, // 392-399
114,  97, 118, 126, 109, 144, 144, 145, // 400-407
170, 170, 176, 176, 178, 178, 156, 157, // 408-415
146, 120, 122, 109,  95,  97,  93,  93, // 416-423
 95, 103, 108, 106, 121, 118, 113, 125, // 424-431
113, 111, 111, 110, 118, 102, 120, 134, // 432-439
109, 145, 147, 142, 168, 170, 172, 176, // 440-447
176, 176, 156, 158, 148, 122, 125, 111, // 448-455
 95,  98,  91,  91,  91, 100, 103, 102, // 456-463
116, 112, 111, 120, 109, 109, 111, 117, // 464-471
116, 107, 140, 124, 124, 160, 143, 156, // 472-479
174, 172, 174, 174, 178, 164, 152, 158, // 480-487
131, 121, 120,  99,  95,  95,  89,  89, // 488-495
 95, 102, 100, 110, 117, 110, 117, 119, // 496-503
109, 112, 112, 122, 112, 112, 145, 114, // 504-511
136, 160, 137, 164, 172, 166, 172, 172, // 512-519
172, 154, 154, 151, 122, 126, 115,  95, // 520-527
103,  95,  91,  97, 102, 106, 107, 118, // 528-535
117, 117, 122, 117, 114, 110, 107, 113, // 536-543
113, 102, 130, 122, 117, 153, 138, 151, // 544-551
168, 164, 172, 172, 176, 166, 154, 160, // 552-559
133, 128, 123, 101, 106,  95,  91,  97, // 560-567
 95, 106, 106, 114, 121, 117, 131, 121, // 568-575
121, 121, 109, 111, 112, 112, 102, 124, // 576-583
120, 113, 146, 136, 146, 164, 164, 170, // 584-591
174, 176, 166, 160, 158, 134, 131, 123, // 592-599
101, 106,  97,  89,  98,  98, 101, 109, // 600-607
115, 118, 122, 132, 123, 123, 126, 109, // 608-615
112, 113, 111, 102, 117, 120, 106, 143, // 616-623
133, 138, 164, 160, 166, 176, 176, 170, // 624-631
164, 164, 141, 134, 130, 103, 108,  99, // 632-639
 87,  97,  95, 100, 106, 115, 119, 122, // 640-647
134, 129, 131, 131, 118, 117, 111, 109, // 648-655
111,  99, 113, 113, 107, 136, 126, 141, // 656-663
158, 156, 172, 174, 178, 174, 166, 164, // 664-671
145, 139, 128, 108, 111,  95,  93,  97, // 672-679
 93, 101, 105, 112, 117, 122, 128, 126, // 680-687
130, 124, 117, 116, 109, 112, 110, 100, // 688-695
122, 109, 113, 140, 123, 150, 158, 162, // 696-703
174, 174, 180, 170, 170, 160, 139, 141, // 704-711
117, 107, 108,  89,  95,  93,  93, 102, // 712-719
106, 114, 118, 128, 129, 130, 135, 124, // 720-727
123, 117, 110, 115, 108, 101, 117, 108, // 728-735
112, 134, 123, 145, 154, 160, 170, 176, // 736-743
178, 170, 170, 160, 143, 141, 120, 111, // 744-751
108,  93,  95,  93,  93,  99, 108, 112, // 752-759
117, 127, 125, 132, 135, 125, 128, 119, // 760-767
111, 115, 112, 101, 112, 113, 105, 131, // 768-775
126, 135, 156, 157, 168, 176, 178, 172, // 776-783
170, 164, 145, 143, 126, 110, 111,  95, // 784-791
 93,  95,  91,  98, 105, 110, 116, 126, // 792-799
128, 131, 138, 129, 129, 126, 113, 113, // 800-807
114, 105, 104, 117, 103, 116, 132, 122, // 808-815
149, 154, 160, 172, 174, 174, 170, 168, // 816-823
152, 143, 139, 113, 113, 104,  91, 100, // 824-831
 91,  95, 103, 108, 113, 122, 129, 128, // 832-839
137, 135, 129, 132, 117, 113, 113, 108, // 840-847
103, 105, 112, 101, 122, 125, 127, 153, // 848-855
152, 164, 174, 174, 172, 172, 164, 149, // 856-863
144, 131, 113, 114,  98,  95,  98,  91, // 864-871
100, 104, 109, 117, 123, 128, 131, 137, // 872-879
132, 131, 129, 116, 113, 111, 108, 102, // 880-887
105, 112, 101, 124, 125, 128, 156, 151, // 888-895
166, 174, 172, 174, 170, 164, 148, 143, // 896-903
131, 112, 115,  97,  95, 100,  89, 102, // 904-911
105, 109, 118, 124, 129, 134, 138, 133, // 912-919
135, 131, 118, 118, 109, 108, 106,  97, // 920-927
112, 105, 111, 131, 122, 147, 153, 158, // 928-935
172, 172, 174, 170, 166, 154, 143, 139, // 936-943
117, 113, 108,  93, 101,  93,  97, 106, // 944-951
106, 117, 122, 129, 132, 136, 136, 134, // 952-959
133, 123, 118, 112, 107, 109,  99, 105, // 960-967
112, 103, 126, 127, 133, 156, 153, 166, // 968-975
172, 172, 170, 168, 160, 145, 142, 126, // 976-983
113, 112,  99,  95, 100,  93, 103, 108, // 984-991
110, 122, 126, 130, 137, 137, 135, 136, // 992-999
129, 122, 118, 109, 107, 109,  98, 105, // 1000-1007
112, 103, 127, 128, 134, 155, 154, 164, // 1008-1015
172, 172, 168, 166, 157, 144, 141, 125, // 1016-1023
114, 112, 100,  98, 101,  95, 105, 110, // 1024-1031
112, 122, 128, 130, 137, 137, 134, 137, // 1032-1039
129, 123, 119, 108, 108, 107, 101, 102, // 1040-1047
112, 108, 117, 133, 130, 150, 156, 160, // 1048-1055
170, 170, 166, 164, 160, 146, 141, 129, // 1056-1063
116, 112, 105,  99, 102, 100, 103, 111, // 1064-1071
112, 120, 128, 129, 136, 138, 134, 136, // 1072-1079
132, 124, 122, 112, 108, 107, 105, 101, // 1080-1087
106, 113, 108, 129, 131, 136, 156, 153, // 1088-1095
164, 170, 166, 164, 162, 151, 143, 136, // 1096-1103
122, 115, 111, 102, 102, 103, 100, 108, // 1104-1111
111, 114, 124, 127, 132, 136, 136, 135, // 1112-1119
135, 129, 123, 120, 112, 108, 106, 105, // 1120-1127
104, 105, 114, 111, 126, 134, 136, 154, // 1128-1135
153, 162, 166, 164, 162, 157, 151, 141, // 1136-1143
137, 122, 115, 112, 103, 105, 104, 104, // 1144-1151
109, 112, 117, 123, 129, 131, 135, 136, // 1152-1159
133, 134, 129, 123, 121, 112, 109, 106, // 1160-1167
105, 106, 103, 113, 114, 118, 138, 131, // 1168-1175
148, 154, 154, 166, 162, 162, 157, 152, // 1176-1183
143, 137, 129, 117, 115, 108, 106, 107, // 1184-1191
105, 109, 112, 115, 121, 128, 130, 133, // 1192-1199
135, 134, 134, 132, 126, 123, 118, 112, // 1200-1207
110, 106, 106, 108, 105, 115, 117, 119, // 1208-1215
137, 132, 147, 151, 153, 162, 157, 160, // 1216-1223
153, 149, 142, 136, 129, 119, 117, 111, // 1224-1231
110, 109, 109, 112, 113, 117, 121, 125, // 1232-1239
129, 131, 132, 132, 131, 129, 125, 122, // 1240-1247
118, 114, 111, 109, 109, 111, 108, 115, // 1248-1255
120, 118, 137, 132, 143, 151, 149, 158, // 1256-1263
155, 156, 151, 149, 142, 137, 132, 120, // 1264-1271
120, 113, 111, 112, 109, 113, 114, 117, // 1272-1279
120, 123, 126, 129, 132, 129, 132, 129, // 1280-1287
128, 125, 120, 120, 115, 112, 111, 111, // 1288-1295
112, 110, 119, 118, 121, 138, 129, 146, // 1296-1303
148, 147, 158, 151, 154, 150, 147, 142, // 1304-1311
137, 132, 122, 123, 113, 114, 113, 111, // 1312-1319
115, 113, 117, 119, 122, 123, 128, 129, // 1320-1327
128, 132, 128, 127, 128, 121, 122, 116, // 1328-1335
113, 113, 112, 112, 111, 119, 117, 122, // 1336-1343
134, 128, 145, 144, 146, 156, 149, 154, // 1344-1351
151, 146, 143, 139, 132, 125, 124, 114, // 1352-1359
117, 113, 110, 115, 112, 116, 118, 120, // 1360-1367
123, 126, 128, 129, 132, 129, 131, 129, // 1368-1375
124, 125, 119, 116, 114, 111, 113, 111, // 1376-1383
111, 118, 115, 124, 131, 131, 143, 143, // 1384-1391
149, 152, 153, 152, 150, 148, 141, 140, // 1392-1399
131, 126, 122, 115, 116, 111, 112, 112, // 1400-1407
112, 115, 116, 120, 122, 126, 129, 130, // 1408-1415
132, 131, 131, 131, 128, 125, 121, 117, // 1416-1423
114, 112, 112, 112, 110, 115, 116, 119, // 1424-1431
131, 129, 141, 143, 146, 153, 153, 153, // 1432-1439
151, 149, 143, 142, 134, 127, 125, 116, // 1440-1447
115, 112, 110, 112, 111, 113, 116, 119, // 1448-1455
122, 125, 129, 130, 133, 133, 132, 132, // 1456-1463
130, 129, 125, 120, 117, 112, 111, 111, // 1464-1471
110, 108, 115, 115, 119, 132, 128, 142, // 1472-1479
143, 147, 154, 153, 154, 152, 150, 143, // 1480-1487
142, 134, 127, 125, 115, 115, 112, 109, // 1488-1495
112, 111, 113, 115, 118, 122, 125, 129, // 1496-1503
131, 134, 133, 134, 134, 131, 131, 126, // 1504-1511
122, 119, 114, 111, 110, 109, 108, 110, // 1512-1519
115, 114, 122, 131, 131, 143, 144, 150, // 1520-1527
155, 154, 155, 153, 149, 144, 141, 132, // 1528-1535
128, 122, 115, 115, 111, 110, 112, 110, // 1536-1543
113, 115, 118, 122, 126, 129, 132, 134, // 1544-1551
134, 136, 134, 134, 131, 127, 125, 119, // 1552-1559
115, 111, 108, 108, 107, 106, 111, 115, // 1560-1567
115, 129, 129, 139, 146, 147, 156, 155, // 1568-1575
158, 155, 153, 147, 143, 138, 129, 126, // 1576-1583
117, 114, 112, 108, 111, 109, 112, 114, // 1584-1591
117, 121, 124, 129, 131, 135, 136, 137, // 1592-1599
137, 134, 134, 131, 126, 123, 117, 113, // 1600-1607
109, 106, 105, 105, 106, 107, 116, 115, // 1608-1615
125, 134, 134, 148, 148, 154, 158, 157, // 1616-1623
159, 154, 150, 143, 141, 131, 125, 121, // 1624-1631
112, 113, 109, 108, 111, 109, 113, 116, // 1632-1639
119, 124, 129, 131, 135, 137, 137, 139, // 1640-1647
137, 136, 134, 129, 125, 120, 115, 112, // 1648-1655
107, 104, 102, 103, 105, 106, 112, 118, // 1656-1663
120, 134, 136, 143, 153, 151, 160, 158, // 1664-1671
157, 156, 151, 146, 141, 135, 125, 123, // 1672-1679
115, 112, 112, 106, 111, 109, 112, 116, // 1680-1687
118, 123, 128, 131, 134, 137, 137, 139, // 1688-1695
139, 136, 135, 131, 126, 123, 117, 113, // 1696-1703
110, 104, 103, 100, 101, 105, 107, 112, // 1704-1711
120, 122, 133, 141, 143, 153, 154, 158, // 1712-1719
162, 158, 156, 153, 146, 142, 137, 126, // 1720-1727
122, 117, 111, 112, 108, 108, 111, 111, // 1728-1735
115, 119, 122, 128, 132, 134, 138, 138, // 1736-1743
139, 140, 137, 136, 132, 129, 123, 120, // 1744-1751
113, 112, 108, 102, 103,  99, 101, 104, // 1752-1759
108, 112, 117, 127, 128, 142, 145, 148, // 1760-1767
160, 155, 162, 162, 157, 156, 150, 143, // 1768-1775
139, 132, 122, 120, 113, 109, 110, 106, // 1776-1783
109, 111, 112, 117, 120, 124, 131, 133, // 1784-1791
136, 139, 139, 140, 139, 137, 135, 131, // 1792-1799
125, 122, 117, 112, 110, 105, 102, 101, // 1800-1807
 99, 101, 103, 108, 113, 116, 126, 134, // 1808-1815
137, 149, 148, 156, 162, 160, 166, 160, // 1816-1823
158, 153, 147, 141, 134, 125, 118, 115, // 1824-1831
108, 108, 107, 105, 109, 110, 113, 118, // 1832-1839
122, 128, 132, 136, 139, 141, 141, 142, // 1840-1847
140, 137, 135, 130, 124, 120, 114, 111, // 1848-1855
107, 104, 101, 101, 100, 102, 105, 106, // 1856-1863
113, 117, 125, 130, 141, 142, 149, 158, // 1864-1871
154, 166, 160, 164, 162, 156, 153, 145, // 1872-1879
139, 131, 124, 115, 112, 108, 103, 104, // 1880-1887
103, 105, 111, 112, 117, 123, 128, 134, // 1888-1895
138, 140, 143, 143, 142, 142, 137, 134, // 1896-1903
130, 123, 119, 114, 110, 107, 103, 103, // 1904-1911
102, 102, 105, 106, 109, 113, 117, 122, // 1912-1919
129, 136, 139, 146, 149, 150, 160, 155, // 1920-1927
162, 160, 154, 156, 148, 145, 139, 131, // 1928-1935
123, 118, 111, 107, 106, 101, 104, 106, // 1936-1943
106, 113, 115, 120, 129, 131, 138, 141, // 1944-1951
142, 143, 143, 142, 139, 137, 131, 127, // 1952-1959
122, 117, 114, 109, 108, 106, 104, 106, // 1960-1967
106, 109, 112, 114, 118, 122, 125, 129, // 1968-1975
132, 136, 140, 142, 143, 148, 145, 149, // 1976-1983
150, 145, 152, 143, 146, 142, 136, 134, // 1984-1991
126, 121, 117, 113, 109, 109, 108, 108, // 1992-1999
111, 112, 117, 121, 123, 131, 134, 137, // 2000-2007
141, 141, 142, 141, 139, 137, 132, 131, // 2008-2015
125, 122, 118, 115, 113, 111, 111, 111, // 2016-2023
112, 112, 115, 118, 120, 123, 126, 129, // 2024-2031
130, 131, 131, 131, 131, 132, 133, 131, // 2032-2039
135, 135, 134, 141, 136, 141, 142, 139, // 2040-2047
142, 138, 136, 134, 130, 125, 122, 118, // 2048-2055
116, 115, 113, 114, 116, 116, 121, 123, // 2056-2063
125, 131, 132, 135, 137, 136, 139, 136, // 2064-2071
135, 136, 129, 132, 125, 123, 123, 118, // 2072-2079
119, 116, 115, 116, 116, 117, 118, 120, // 2080-2087
121, 123, 123, 123, 125, 123, 124, 123, // 2088-2095
122, 122, 123, 125, 125, 129, 133, 132, // 2096-2103
140, 140, 142, 147, 142, 148, 143, 142, // 2104-2111
141, 134, 131, 126, 122, 118, 116, 114, // 2112-2119
113, 115, 115, 118, 121, 123, 129, 130, // 2120-2127
133, 136, 136, 137, 137, 136, 135, 134, // 2128-2135
131, 130, 126, 123, 123, 119, 118, 117, // 2136-2143
115, 117, 116, 116, 118, 118, 120, 122, // 2144-2151
122, 123, 123, 123, 123, 123, 122, 123, // 2152-2159
123, 123, 128, 126, 131, 136, 134, 141, // 2160-2167
142, 142, 148, 143, 145, 145, 140, 140, // 2168-2175
134, 129, 126, 121, 118, 117, 114, 113, // 2176-2183
115, 115, 118, 120, 121, 125, 128, 129, // 2184-2191
132, 132, 133, 136, 132, 134, 133, 129, // 2192-2199
133, 126, 128, 126, 121, 123, 119, 118, // 2200-2207
119, 117, 118, 119, 118, 120, 122, 122, // 2208-2215
123, 123, 123, 124, 123, 123, 123, 122, // 2216-2223
122, 124, 125, 129, 130, 133, 137, 136, // 2224-2231
143, 141, 144, 145, 142, 145, 139, 139, // 2232-2239
135, 129, 126, 122, 118, 116, 114, 113, // 2240-2247
113, 115, 116, 118, 121, 123, 126, 127, // 2248-2255
131, 132, 134, 134, 135, 137, 133, 136, // 2256-2263
134, 131, 134, 125, 129, 124, 122, 122, // 2264-2271
118, 118, 117, 117, 118, 118, 118, 120, // 2272-2279
121, 122, 123, 123, 123, 125, 123, 124, // 2280-2287
123, 122, 124, 123, 126, 129, 128, 136, // 2288-2295
134, 137, 143, 138, 145, 143, 142, 145, // 2296-2303
139, 139, 136, 131, 128, 123, 120, 118, // 2304-2311
116, 115, 115, 116, 117, 120, 120, 123, // 2312-2319
126, 128, 131, 132, 133, 135, 134, 136, // 2320-2327
135, 134, 135, 132, 132, 129, 128, 125, // 2328-2335
122, 121, 118, 118, 117, 116, 117, 117, // 2336-2343
118, 118, 120, 122, 122, 123, 124, 124, // 2344-2351
125, 124, 124, 125, 123, 124, 124, 128, // 2352-2359
129, 129, 135, 136, 137, 143, 141, 144, // 2360-2367
145, 142, 145, 141, 138, 136, 129, 126, // 2368-2375
122, 118, 115, 114, 112, 113, 114, 115, // 2376-2383
118, 120, 122, 126, 127, 131, 133, 134, // 2384-2391
136, 137, 137, 137, 137, 134, 135, 131, // 2392-2399
129, 129, 122, 123, 120, 117, 118, 115, // 2400-2407
116, 117, 116, 118, 119, 120, 122, 124, // 2408-2415
125, 126, 126, 126, 128, 125, 125, 125, // 2416-2423
124, 124, 123, 126, 129, 129, 134, 135, // 2424-2431
135, 142, 139, 142, 143, 139, 143, 139, // 2432-2439
136, 134, 129, 125, 122, 118, 116, 115, // 2440-2447
113, 114, 115, 116, 119, 121, 123, 128, // 2448-2455
129, 132, 134, 135, 136, 137, 137, 136, // 2456-2463
136, 135, 132, 132, 129, 126, 125, 122, // 2464-2471
121, 120, 117, 118, 117, 117, 118, 118, // 2472-2479
119, 120, 121, 123, 124, 124, 125, 126, // 2480-2487
125, 126, 125, 125, 125, 124, 125, 124, // 2488-2495
127, 129, 129, 133, 136, 134, 141, 139, // 2496-2503
140, 143, 138, 142, 138, 134, 134, 128, // 2504-2511
124, 122, 118, 117, 115, 114, 115, 117, // 2512-2519
117, 120, 123, 125, 129, 131, 132, 135, // 2520-2527
136, 137, 137, 136, 136, 134, 132, 132, // 2528-2535
129, 128, 125, 122, 122, 120, 119, 118, // 2536-2543
117, 118, 118, 118, 120, 121, 122, 123, // 2544-2551
125, 125, 126, 128, 128, 128, 128, 126, // 2552-2559
126, 124, 124, 124, 123, 125, 126, 129, // 2560-2567
129, 135, 133, 135, 142, 135, 143, 140, // 2568-2575
137, 141, 134, 134, 132, 125, 124, 121, // 2576-2583
117, 117, 116, 115, 117, 118, 119, 123, // 2584-2591
125, 128, 132, 132, 134, 135, 134, 136, // 2592-2599
135, 134, 134, 131, 131, 130, 125, 127, // 2600-2607
123, 123, 123, 120, 122, 120, 120, 120, // 2608-2615
120, 121, 121, 122, 123, 123, 124, 125, // 2616-2623
125, 125, 126, 125, 128, 125, 124, 126, // 2624-2631
123, 124, 124, 123, 126, 129, 127, 132, // 2632-2639
135, 132, 140, 137, 139, 143, 137, 141, // 2640-2647
138, 134, 134, 129, 125, 123, 120, 118, // 2648-2655
117, 117, 117, 119, 120, 122, 125, 126, // 2656-2663
131, 132, 132, 135, 134, 134, 134, 132, // 2664-2671
132, 131, 130, 127, 126, 126, 123, 124, // 2672-2679
122, 122, 122, 122, 122, 122, 122, 122, // 2680-2687
123, 123, 123, 124, 124, 124, 125, 125, // 2688-2695
125, 125, 125, 125, 125, 125, 125, 124, // 2696-2703
124, 123, 123, 125, 128, 129, 129, 136, // 2704-2711
132, 136, 141, 134, 143, 139, 137, 140, // 2712-2719
132, 133, 130, 123, 123, 120, 117, 117, // 2720-2727
117, 117, 118, 120, 121, 125, 128, 129, // 2728-2735
132, 132, 133, 134, 132, 133, 132, 131, // 2736-2743
131, 129, 127, 126, 126, 124, 125, 124, // 2744-2751
123, 123, 123, 123, 123, 123, 123, 123, // 2752-2759
123, 123, 123, 123, 123, 123, 123, 123, // 2760-2767
124, 125, 124, 125, 125, 125, 125, 124, // 2768-2775
125, 124, 124, 125, 127, 129, 130, 134, // 2776-2783
134, 135, 141, 135, 141, 139, 135, 139, // 2784-2791
132, 131, 130, 123, 123, 120, 118, 118, // 2792-2799
118, 118, 119, 122, 123, 126, 129, 130, // 2800-2807
133, 134, 133, 134, 133, 132, 131, 130, // 2808-2815
129, 127, 126, 126, 125, 125, 125, 125, // 2816-2823
125, 125, 125, 125, 124, 125, 123, 123, // 2824-2831
123, 122, 123, 122, 122, 123, 123, 123, // 2832-2839
124, 125, 125, 126, 127, 126, 127, 127, // 2840-2847
125, 126, 125, 124, 125, 125, 130, 129, // 2848-2855
132, 136, 132, 141, 137, 137, 141, 134, // 2856-2863
137, 134, 128, 129, 125, 122, 121, 118, // 2864-2871
118, 118, 119, 120, 123, 125, 126, 131, // 2872-2879
131, 132, 134, 133, 133, 132, 131, 130, // 2880-2887
129, 127, 125, 126, 124, 125, 125, 124, // 2888-2895
126, 125, 125, 126, 125, 125, 125, 124, // 2896-2903
123, 123, 122, 122, 123, 122, 123, 123, // 2904-2911
123, 125, 126, 126, 128, 129, 128, 128, // 2912-2919
127, 126, 126, 125, 124, 124, 125, 124, // 2920-2927
127, 131, 129, 136, 135, 134, 142, 134, // 2928-2935
139, 139, 133, 135, 131, 128, 125, 122, // 2936-2943
120, 120, 119, 119, 120, 122, 123, 126, // 2944-2951
129, 129, 132, 132, 132, 133, 131, 131, // 2952-2959
130, 127, 128, 127, 124, 126, 125, 123, // 2960-2967
128, 124, 126, 127, 125, 126, 125, 124, // 2968-2975
124, 123, 122, 122, 122, 122, 122, 123, // 2976-2983
123, 125, 125, 125, 128, 128, 128, 129, // 2984-2991
128, 128, 126, 125, 125, 125, 124, 124, // 2992-2999
125, 125, 126, 128, 130, 132, 132, 136, // 3000-3007
135, 135, 138, 134, 134, 134, 130, 130, // 3008-3015
128, 125, 124, 122, 122, 122, 123, 123, // 3016-3023
124, 126, 128, 129, 131, 130, 132, 132, // 3024-3031
131, 132, 129, 129, 129, 125, 126, 124, // 3032-3039
124, 125, 123, 125, 124, 124, 125, 123, // 3040-3047
124, 123, 123, 123, 123, 123, 123, 124, // 3048-3055
124, 124, 125, 125, 125, 128, 126, 128, // 3056-3063
127, 128, 129, 128, 128, 127, 128, 128, // 3064-3071
126, 126, 128, 126, 128, 128, 127, 129, // 3072-3079
127, 129, 129, 129, 132, 131, 132, 133, // 3080-3087
132, 132, 132, 131, 131, 131, 131, 129, // 3088-3095
127, 128, 125, 125, 125, 124, 125, 125, // 3096-3103
125, 125, 125, 126, 126, 126, 126, 125, // 3104-3111
125, 125, 125, 125, 125, 124, 125, 125, // 3112-3119
125, 125, 125};

const char E[2899] = {129, 130, 131, 130, 132, 132, 134, 134, // 0-7
134, 134, 132, 131, 129, 126, 123, 120, // 8-15
117, 113, 110, 105, 101, 100, 100, 105, // 16-23
100, 113, 117, 116, 140, 133, 149, 153, // 24-31
160, 164, 166, 168, 157, 164, 146, 143, // 32-39
134, 124, 118, 113, 108, 105, 108, 105, // 40-47
110, 113, 116, 122, 128, 130, 134, 134, // 48-55
131, 130, 124, 120, 115, 112, 109, 108, // 56-63
107, 104, 117, 108, 124, 130, 132, 148, // 64-71
146, 160, 155, 166, 154, 160, 152, 143, // 72-79
143, 130, 127, 120, 118, 112, 116, 113, // 80-87
115, 118, 116, 119, 118, 118, 115, 112, // 88-95
109, 103, 103, 102, 105, 101, 112, 115, // 96-103
113, 140, 131, 153, 157, 166, 172, 176, // 104-111
178, 166, 172, 151, 150, 135, 124, 113, // 112-119
108,  99,  97,  98,  93, 105, 104, 112, // 120-127
115, 118, 120, 123, 120, 118, 116, 113, // 128-135
116, 113, 110, 124, 112, 126, 134, 131, // 136-143
151, 149, 164, 162, 176, 164, 170, 164, // 144-151
151, 151, 134, 129, 116, 112, 101, 105, // 152-159
 97, 101, 105, 105, 112, 113, 115, 118, // 160-167
119, 114, 115, 110, 111, 112, 110, 107, // 168-175
122, 108, 128, 132, 133, 152, 151, 166, // 176-183
164, 182, 168, 178, 168, 157, 153, 139, // 184-191
130, 118, 112,  99, 104,  93,  98,  99, // 192-199
100, 105, 110, 110, 114, 114, 112, 113, // 200-207
109, 112, 114, 110, 113, 124, 112, 137, // 208-215
132, 141, 154, 156, 166, 168, 178, 166, // 216-223
178, 160, 155, 147, 134, 123, 116, 106, // 224-231
 99, 102,  91, 101, 100, 103, 110, 112, // 232-239
112, 119, 115, 115, 114, 109, 113, 113, // 240-247
108, 114, 121, 111, 136, 130, 141, 153, // 248-255
156, 166, 172, 178, 168, 178, 160, 158, // 256-263
147, 135, 124, 115, 106, 100, 101,  91, // 264-271
100,  99, 103, 109, 111, 112, 117, 113, // 272-279
114, 112, 107, 112, 112, 108, 114, 120, // 280-287
112, 136, 131, 142, 156, 158, 170, 174, // 288-295
180, 170, 180, 162, 160, 149, 134, 124, // 296-303
114, 104,  98,  99,  89,  99,  97, 101, // 304-311
109, 110, 113, 118, 115, 115, 114, 108, // 312-319
112, 112, 108, 112, 120, 110, 132, 132, // 320-327
136, 155, 155, 168, 172, 180, 172, 182, // 328-335
168, 160, 154, 136, 130, 117, 106, 100, // 336-343
 99,  89,  97,  97,  99, 108, 109, 112, // 344-351
117, 115, 115, 115, 107, 112, 112, 109, // 352-359
108, 120, 110, 124, 134, 130, 153, 153, // 360-367
168, 170, 184, 174, 182, 174, 162, 160, // 368-375
141, 132, 118, 111,  97, 100,  89,  93, // 376-383
 97,  97, 106, 109, 112, 116, 119, 114, // 384-391
120, 110, 111, 113, 109, 108, 116, 113, // 392-399
115, 135, 125, 146, 153, 160, 170, 178, // 400-407
178, 178, 180, 164, 164, 146, 134, 124, // 408-415
113, 102,  99,  93,  89,  98,  93, 103, // 416-423
109, 110, 115, 118, 115, 118, 114, 108, // 424-431
114, 110, 109, 111, 118, 110, 129, 130, // 432-439
134, 155, 153, 170, 174, 182, 176, 182, // 440-447
170, 162, 155, 138, 130, 116, 106,  99, // 448-455
 97,  87,  95,  93,  99, 107, 108, 112, // 456-463
118, 117, 116, 119, 109, 113, 113, 108, // 464-471
110, 116, 112, 118, 134, 125, 149, 151, // 472-479
162, 172, 180, 178, 182, 178, 162, 162, // 480-487
143, 134, 121, 111, 101,  99,  91,  91, // 488-495
 95,  95, 105, 108, 111, 116, 118, 115, // 496-503
119, 112, 108, 115, 110, 106, 113, 113, // 504-511
110, 130, 124, 138, 151, 154, 168, 176, // 512-519
180, 176, 184, 166, 166, 153, 138, 130, // 520-527
115, 105,  99,  95,  89,  97,  93, 100, // 528-535
108, 108, 113, 119, 116, 118, 118, 109, // 536-543
113, 113, 108, 110, 116, 109, 120, 130, // 544-551
125, 149, 149, 162, 170, 180, 176, 182, // 552-559
174, 164, 162, 142, 135, 121, 111, 102, // 560-567
 99,  91,  93,  97,  97, 106, 108, 112, // 568-575
118, 118, 117, 120, 112, 111, 115, 109, // 576-583
109, 113, 114, 111, 131, 122, 140, 151, // 584-591
153, 170, 174, 180, 176, 182, 164, 164, // 592-599
150, 136, 129, 114, 105, 101,  93,  91, // 600-607
 97,  95, 102, 109, 109, 115, 119, 116, // 608-615
120, 115, 110, 113, 112, 106, 112, 115, // 616-623
109, 123, 126, 127, 149, 149, 162, 172, // 624-631
178, 176, 182, 172, 164, 160, 141, 134, // 632-639
122, 107, 103,  99,  89,  97,  93,  99, // 640-647
106, 110, 112, 120, 118, 119, 122, 112, // 648-655
113, 114, 111, 108, 114, 111, 112, 128, // 656-663
120, 139, 146, 152, 166, 174, 176, 178, // 664-671
180, 166, 166, 150, 140, 130, 118, 106, // 672-679
104,  95,  93,  99,  93, 105, 107, 112, // 680-687
115, 122, 118, 122, 119, 112, 113, 113, // 688-695
110, 108, 115, 108, 116, 124, 122, 142, // 696-703
144, 157, 166, 176, 176, 180, 176, 166, // 704-711
162, 146, 138, 125, 114, 105, 102,  93, // 712-719
 95,  97,  97, 106, 109, 113, 118, 122, // 720-727
122, 122, 120, 113, 113, 113, 109, 108, // 728-735
113, 108, 113, 124, 119, 142, 143, 156, // 736-743
166, 174, 176, 180, 176, 164, 164, 144, // 744-751
139, 124, 115, 104, 103,  93,  95,  97, // 752-759
 97, 107, 109, 115, 118, 123, 123, 124, // 760-767
121, 117, 113, 113, 110, 105, 111, 108, // 768-775
108, 121, 118, 134, 143, 152, 162, 174, // 776-783
176, 178, 180, 166, 166, 150, 141, 129, // 784-791
118, 107, 103,  95,  93,  97,  97, 103, // 792-799
110, 113, 119, 123, 124, 128, 122, 122, // 800-807
113, 113, 112, 108, 103, 112, 104, 112, // 808-815
122, 119, 142, 145, 158, 166, 178, 174, // 816-823
180, 174, 164, 160, 144, 134, 124, 112, // 824-831
103, 101,  91,  98,  97, 100, 108, 112, // 832-839
115, 124, 124, 129, 129, 124, 122, 113, // 840-847
112, 111, 106, 103, 112, 102, 115, 120, // 848-855
124, 143, 149, 162, 170, 178, 174, 182, // 856-863
172, 164, 156, 143, 131, 122, 109, 103, // 864-871
100,  91,  99,  97, 102, 108, 115, 118, // 872-879
127, 125, 131, 130, 124, 124, 113, 112, // 880-887
110, 105,  99, 110, 102, 109, 123, 118, // 888-895
142, 146, 160, 168, 178, 176, 178, 176, // 896-903
162, 160, 143, 134, 122, 112, 101, 103, // 904-911
 91,  97,  99, 100, 110, 113, 119, 125, // 912-919
130, 129, 135, 125, 126, 118, 110, 110, // 920-927
108, 101, 102, 110, 100, 118, 120, 130, // 928-935
146, 152, 164, 172, 180, 174, 180, 166, // 936-943
162, 151, 137, 128, 117, 106, 101, 100, // 944-951
 91, 102,  98, 107, 112, 118, 122, 131, // 952-959
130, 133, 134, 124, 128, 115, 112, 109, // 960-967
106, 100, 102, 109, 101, 121, 121, 132, // 968-975
149, 151, 166, 172, 178, 174, 178, 162, // 976-983
160, 147, 134, 126, 114, 107, 101, 100, // 984-991
 93, 103, 100, 108, 114, 118, 125, 131, // 992-999
132, 133, 135, 125, 128, 117, 111, 109, // 1000-1007
103, 103,  99, 105, 105, 112, 124, 125, // 1008-1015
145, 149, 162, 170, 174, 174, 174, 170, // 1016-1023
157, 152, 137, 131, 117, 112, 102, 102, // 1024-1031
 97, 100, 103, 105, 114, 116, 125, 128, // 1032-1039
133, 132, 134, 131, 128, 123, 115, 110, // 1040-1047
106, 103, 102, 100, 107, 108, 113, 129, // 1048-1055
129, 147, 151, 164, 168, 172, 172, 170, // 1056-1063
166, 153, 149, 134, 127, 115, 112, 103, // 1064-1071
103, 101, 101, 108, 108, 115, 119, 124, // 1072-1079
130, 133, 133, 133, 131, 126, 122, 117, // 1080-1087
111, 107, 104, 103, 102, 103, 112, 111, // 1088-1095
122, 132, 136, 152, 154, 164, 166, 170, // 1096-1103
166, 166, 156, 149, 141, 130, 123, 112, // 1104-1111
110, 103, 105, 103, 108, 110, 112, 119, // 1112-1119
121, 128, 130, 133, 132, 132, 128, 126, // 1120-1127
121, 116, 112, 106, 105, 105, 104, 105, // 1128-1135
113, 112, 122, 134, 134, 151, 151, 162, // 1136-1143
164, 166, 164, 160, 155, 145, 143, 128, // 1144-1151
125, 115, 112, 109, 108, 108, 108, 112, // 1152-1159
113, 120, 121, 125, 129, 130, 131, 130, // 1160-1167
127, 124, 122, 118, 114, 110, 107, 107, // 1168-1175
108, 106, 111, 117, 115, 132, 132, 141, // 1176-1183
151, 151, 162, 160, 164, 156, 160, 146, // 1184-1191
146, 137, 129, 124, 115, 115, 110, 112, // 1192-1199
110, 112, 112, 115, 119, 120, 125, 126, // 1200-1207
129, 130, 128, 128, 126, 123, 121, 118, // 1208-1215
113, 111, 110, 110, 110, 109, 117, 115, // 1216-1223
122, 134, 131, 146, 146, 154, 156, 160, // 1224-1231
157, 156, 153, 145, 144, 134, 132, 123, // 1232-1239
118, 115, 112, 111, 112, 112, 112, 115, // 1240-1247
116, 120, 122, 124, 128, 129, 130, 130, // 1248-1255
130, 126, 126, 121, 118, 114, 111, 112, // 1256-1263
110, 109, 111, 116, 113, 128, 127, 136, // 1264-1271
144, 145, 155, 155, 160, 155, 160, 149, // 1272-1279
149, 143, 134, 132, 121, 118, 113, 112, // 1280-1287
109, 111, 109, 112, 113, 115, 120, 122, // 1288-1295
128, 129, 132, 132, 132, 132, 130, 128, // 1296-1303
122, 118, 114, 111, 108, 109, 105, 108, // 1304-1311
113, 111, 124, 124, 134, 143, 145, 155, // 1312-1319
157, 160, 157, 160, 151, 150, 143, 135, // 1320-1327
131, 121, 117, 112, 110, 108, 110, 108, // 1328-1335
112, 112, 115, 120, 123, 128, 132, 133, // 1336-1343
135, 136, 134, 134, 131, 127, 123, 118, // 1344-1351
113, 110, 105, 105, 106, 102, 112, 111, // 1352-1359
117, 130, 129, 143, 146, 153, 157, 162, // 1360-1367
160, 160, 157, 149, 147, 137, 132, 124, // 1368-1375
118, 113, 112, 108, 109, 109, 109, 113, // 1376-1383
114, 119, 123, 125, 131, 134, 134, 137, // 1384-1391
136, 136, 134, 130, 128, 122, 116, 112, // 1392-1399
107, 104, 103, 103, 102, 110, 112, 115, // 1400-1407
130, 127, 143, 146, 153, 158, 162, 162, // 1408-1415
160, 157, 149, 149, 137, 134, 125, 118, // 1416-1423
114, 112, 108, 108, 108, 108, 112, 113, // 1424-1431
118, 122, 125, 130, 134, 135, 139, 139, // 1432-1439
137, 137, 133, 130, 126, 120, 115, 110, // 1440-1447
105, 103,  99, 102, 102, 105, 113, 113, // 1448-1455
126, 132, 138, 149, 151, 160, 160, 164, // 1456-1463
160, 160, 153, 149, 143, 134, 130, 120, // 1464-1471
116, 112, 110, 107, 110, 108, 112, 113, // 1472-1479
115, 122, 125, 130, 134, 136, 137, 141, // 1480-1487
138, 138, 136, 132, 128, 123, 116, 113, // 1488-1495
108, 102, 101,  97, 101, 103, 104, 113, // 1496-1503
116, 122, 136, 136, 149, 152, 158, 162, // 1504-1511
164, 162, 160, 157, 147, 146, 135, 132, // 1512-1519
122, 118, 112, 111, 108, 108, 110, 108, // 1520-1527
114, 114, 120, 123, 128, 132, 135, 137, // 1528-1535
139, 139, 139, 138, 134, 132, 126, 122, // 1536-1543
118, 112, 109, 103, 101,  99,  97, 101, // 1544-1551
103, 108, 112, 122, 123, 138, 141, 147, // 1552-1559
157, 156, 164, 162, 164, 160, 158, 149, // 1560-1567
146, 138, 130, 124, 116, 112, 109, 108, // 1568-1575
105, 109, 107, 112, 114, 118, 122, 126, // 1576-1583
130, 135, 136, 139, 141, 139, 139, 136, // 1584-1591
132, 129, 122, 118, 113, 108, 105, 100, // 1592-1599
 99,  98,  97, 101, 105, 111, 114, 125, // 1600-1607
130, 139, 147, 149, 160, 162, 166, 166, // 1608-1615
166, 162, 160, 151, 144, 140, 130, 124, // 1616-1623
116, 112, 108, 106, 103, 105, 106, 108, // 1624-1631
113, 115, 121, 126, 131, 134, 139, 139, // 1632-1639
142, 141, 140, 139, 134, 130, 124, 119, // 1640-1647
114, 110, 105, 103,  99,  99,  99,  99, // 1648-1655
103, 105, 112, 118, 123, 134, 139, 145, // 1656-1663
155, 155, 164, 166, 166, 168, 164, 160, // 1664-1671
153, 147, 139, 134, 121, 117, 110, 105, // 1672-1679
103, 101, 101, 103, 105, 109, 115, 118, // 1680-1687
125, 131, 134, 139, 141, 143, 143, 141, // 1688-1695
140, 137, 132, 128, 122, 117, 113, 109, // 1696-1703
105, 103, 101, 101, 102, 104, 106, 111, // 1704-1711
113, 119, 126, 133, 137, 146, 148, 153, // 1712-1719
160, 157, 164, 160, 162, 157, 155, 147, // 1720-1727
143, 135, 126, 122, 112, 110, 104, 102, // 1728-1735
101, 102, 103, 109, 111, 116, 122, 126, // 1736-1743
132, 136, 139, 142, 143, 141, 143, 139, // 1744-1751
137, 133, 128, 124, 119, 114, 112, 109, // 1752-1759
107, 106, 105, 108, 109, 112, 114, 118, // 1760-1767
121, 125, 130, 134, 139, 141, 143, 148, // 1768-1775
146, 150, 151, 149, 153, 146, 147, 143, // 1776-1783
141, 135, 132, 123, 119, 115, 110, 110, // 1784-1791
107, 108, 109, 111, 113, 117, 120, 125, // 1792-1799
130, 133, 138, 138, 141, 141, 140, 140, // 1800-1807
136, 136, 131, 129, 124, 121, 118, 115, // 1808-1815
113, 112, 112, 112, 113, 113, 115, 118, // 1816-1823
120, 122, 125, 124, 129, 129, 130, 132, // 1824-1831
132, 134, 135, 138, 135, 141, 139, 141, // 1832-1839
143, 141, 143, 140, 138, 134, 132, 126, // 1840-1847
124, 120, 117, 116, 113, 114, 115, 115, // 1848-1855
118, 120, 123, 128, 130, 132, 135, 135, // 1856-1863
136, 138, 134, 138, 133, 134, 132, 127, // 1864-1871
128, 122, 122, 119, 118, 115, 115, 113, // 1872-1879
115, 115, 115, 118, 118, 120, 120, 121, // 1880-1887
121, 123, 121, 124, 124, 128, 130, 132, // 1888-1895
136, 136, 141, 141, 143, 145, 144, 146, // 1896-1903
143, 143, 139, 136, 130, 128, 122, 118, // 1904-1911
117, 114, 114, 114, 115, 118, 120, 122, // 1912-1919
125, 128, 130, 132, 134, 135, 135, 135, // 1920-1927
136, 132, 134, 131, 129, 130, 124, 124, // 1928-1935
121, 120, 118, 117, 115, 115, 115, 115, // 1936-1943
117, 116, 119, 119, 120, 121, 122, 122, // 1944-1951
123, 122, 124, 124, 127, 130, 130, 136, // 1952-1959
136, 139, 143, 143, 146, 146, 146, 146, // 1960-1967
144, 141, 138, 133, 127, 124, 120, 118, // 1968-1975
115, 113, 113, 114, 115, 117, 119, 120, // 1976-1983
124, 124, 128, 130, 130, 132, 133, 134, // 1984-1991
134, 134, 134, 133, 134, 130, 131, 129, // 1992-1999
125, 124, 122, 121, 118, 118, 117, 116, // 2000-2007
117, 117, 118, 118, 119, 120, 120, 121, // 2008-2015
121, 122, 122, 123, 124, 125, 130, 130, // 2016-2023
134, 137, 139, 142, 144, 143, 147, 144, // 2024-2031
145, 144, 140, 139, 133, 130, 124, 121, // 2032-2039
117, 115, 113, 113, 114, 113, 115, 118, // 2040-2047
120, 123, 125, 128, 131, 132, 134, 136, // 2048-2055
136, 136, 139, 136, 138, 136, 134, 134, // 2056-2063
130, 130, 125, 122, 121, 118, 116, 115, // 2064-2071
115, 113, 115, 115, 115, 118, 118, 120, // 2072-2079
120, 121, 122, 122, 124, 122, 124, 122, // 2080-2087
126, 130, 128, 134, 136, 136, 143, 143, // 2088-2095
143, 149, 144, 146, 144, 141, 139, 135, // 2096-2103
130, 125, 122, 116, 116, 113, 112, 113, // 2104-2111
113, 115, 117, 118, 122, 124, 128, 130, // 2112-2119
132, 133, 136, 136, 136, 139, 136, 138, // 2120-2127
136, 133, 134, 130, 128, 124, 122, 120, // 2128-2135
118, 115, 114, 113, 113, 114, 114, 115, // 2136-2143
118, 118, 120, 122, 122, 123, 124, 124, // 2144-2151
124, 124, 125, 125, 129, 130, 133, 134, // 2152-2159
140, 139, 143, 145, 143, 149, 143, 145, // 2160-2167
142, 139, 136, 131, 125, 121, 118, 113, // 2168-2175
113, 112, 112, 112, 113, 115, 118, 120, // 2176-2183
124, 128, 130, 132, 134, 136, 138, 139, // 2184-2191
138, 139, 137, 136, 136, 132, 132, 128, // 2192-2199
124, 123, 120, 118, 117, 115, 114, 115, // 2200-2207
114, 115, 117, 117, 120, 120, 122, 124, // 2208-2215
123, 124, 124, 124, 124, 124, 124, 124, // 2216-2223
126, 127, 131, 132, 137, 137, 140, 144, // 2224-2231
141, 146, 143, 143, 143, 139, 137, 132, // 2232-2239
128, 122, 120, 115, 113, 113, 112, 113, // 2240-2247
113, 115, 119, 121, 124, 129, 131, 133, // 2248-2255
136, 136, 138, 139, 138, 139, 138, 136, // 2256-2263
136, 132, 131, 128, 125, 122, 120, 119, // 2264-2271
117, 116, 115, 115, 115, 115, 117, 118, // 2272-2279
119, 120, 122, 123, 124, 124, 125, 125, // 2280-2287
125, 125, 124, 125, 124, 128, 130, 130, // 2288-2295
132, 137, 136, 141, 144, 141, 146, 143, // 2296-2303
143, 143, 138, 136, 132, 128, 122, 120, // 2304-2311
115, 114, 113, 112, 114, 115, 117, 121, // 2312-2319
122, 126, 130, 132, 134, 136, 136, 137, // 2320-2327
136, 136, 136, 134, 134, 133, 129, 130, // 2328-2335
126, 124, 124, 121, 121, 120, 118, 118, // 2336-2343
118, 118, 119, 118, 119, 120, 120, 121, // 2344-2351
123, 122, 124, 124, 124, 124, 124, 124, // 2352-2359
124, 124, 123, 124, 129, 129, 130, 136, // 2360-2367
134, 139, 143, 139, 145, 142, 142, 143, // 2368-2375
138, 136, 132, 128, 123, 122, 115, 115, // 2376-2383
114, 112, 115, 115, 117, 121, 122, 126, // 2384-2391
130, 132, 134, 136, 136, 136, 136, 135, // 2392-2399
135, 134, 132, 132, 130, 127, 128, 123, // 2400-2407
124, 122, 121, 121, 120, 120, 120, 120, // 2408-2415
120, 120, 120, 121, 121, 122, 122, 122, // 2416-2423
123, 124, 123, 124, 124, 123, 124, 122, // 2424-2431
123, 123, 124, 128, 130, 130, 136, 134, // 2432-2439
138, 143, 139, 145, 143, 143, 143, 139, // 2440-2447
136, 133, 129, 124, 122, 117, 115, 115, // 2448-2455
113, 115, 115, 117, 121, 122, 126, 130, // 2456-2463
132, 133, 135, 134, 135, 135, 134, 134, // 2464-2471
132, 130, 130, 129, 128, 126, 126, 123, // 2472-2479
124, 123, 122, 124, 122, 123, 123, 122, // 2480-2487
123, 122, 121, 122, 121, 121, 122, 122, // 2488-2495
122, 122, 122, 123, 123, 122, 123, 123, // 2496-2503
123, 124, 124, 128, 130, 130, 136, 135, // 2504-2511
136, 143, 137, 143, 143, 139, 143, 136, // 2512-2519
135, 132, 128, 124, 121, 118, 115, 115, // 2520-2527
114, 115, 118, 118, 122, 124, 126, 131, // 2528-2535
132, 134, 135, 135, 135, 135, 133, 133, // 2536-2543
132, 130, 130, 127, 128, 125, 126, 125, // 2544-2551
124, 125, 123, 124, 124, 123, 124, 123, // 2552-2559
122, 122, 122, 121, 121, 121, 121, 122, // 2560-2567
122, 122, 123, 122, 123, 124, 123, 124, // 2568-2575
124, 124, 124, 126, 130, 130, 132, 138, // 2576-2583
134, 141, 141, 139, 145, 139, 141, 140, // 2584-2591
134, 134, 130, 124, 122, 119, 116, 115, // 2592-2599
115, 115, 118, 119, 120, 125, 126, 130, // 2600-2607
133, 133, 135, 136, 134, 134, 133, 132, // 2608-2615
131, 130, 128, 127, 128, 124, 125, 125, // 2616-2623
123, 125, 123, 124, 124, 123, 124, 123, // 2624-2631
122, 123, 122, 122, 121, 121, 121, 122, // 2632-2639
122, 122, 123, 123, 123, 124, 124, 124, // 2640-2647
124, 124, 124, 126, 127, 132, 130, 136, // 2648-2655
138, 134, 143, 138, 141, 143, 137, 139, // 2656-2663
135, 132, 130, 126, 121, 120, 118, 115, // 2664-2671
117, 117, 117, 121, 122, 124, 129, 130, // 2672-2679
132, 134, 134, 135, 134, 132, 132, 130, // 2680-2687
129, 127, 128, 126, 124, 127, 124, 125, // 2688-2695
128, 123, 127, 124, 123, 126, 122, 124, // 2696-2703
123, 121, 122, 121, 120, 121, 120, 121, // 2704-2711
122, 122, 123, 124, 125, 124, 125, 126, // 2712-2719
124, 125, 124, 124, 126, 126, 130, 131, // 2720-2727
133, 139, 135, 140, 142, 136, 143, 138, // 2728-2735
136, 136, 131, 128, 125, 121, 119, 119, // 2736-2743
116, 117, 118, 119, 121, 125, 125, 130, // 2744-2751
132, 132, 134, 134, 133, 133, 132, 130, // 2752-2759
130, 127, 125, 128, 125, 124, 127, 125, // 2760-2767
125, 128, 124, 125, 124, 124, 124, 122, // 2768-2775
122, 121, 120, 120, 120, 120, 121, 122, // 2776-2783
122, 124, 124, 125, 125, 127, 126, 125, // 2784-2791
127, 125, 124, 126, 124, 125, 128, 126, // 2792-2799
131, 133, 133, 138, 138, 137, 142, 137, // 2800-2807
138, 138, 132, 133, 130, 125, 124, 122, // 2808-2815
120, 120, 120, 120, 122, 124, 125, 129, // 2816-2823
130, 131, 132, 132, 132, 133, 131, 130, // 2824-2831
131, 127, 128, 129, 125, 126, 128, 124, // 2832-2839
125, 126, 124, 124, 125, 122, 123, 122, // 2840-2847
120, 122, 121, 121, 122, 122, 123, 124, // 2848-2855
124, 126, 125, 128, 127, 126, 127, 130, // 2856-2863
127, 128, 130, 125, 129, 127, 125, 129, // 2864-2871
128, 127, 129, 128, 130, 131, 131, 132, // 2872-2879
134, 134, 134, 135, 134, 133, 134, 131, // 2880-2887
130, 130, 128, 127, 126, 124, 125, 125, // 2888-2895
125, 126, 126
};

const char F[1625] = {128, 127, 128, 128, 127, 128, 127, 128, // 0-7
130, 133, 130, 131, 134, 129, 129, 130, // 8-15
130, 130, 129, 128, 124, 123, 121, 121, // 16-23
123, 123, 124, 124, 120, 114, 108, 103, // 24-31
102, 107, 114, 121, 133, 140, 178, 170, // 32-39
132, 157, 140, 103, 108, 114, 121, 126, // 40-47
137, 153, 154, 135, 133, 127, 109, 104, // 48-55
114, 131, 143, 143, 153, 155, 133, 124, // 56-63
119, 110, 109, 116, 123, 122, 118, 119, // 64-71
115, 106, 102, 103, 106, 107, 116, 129, // 72-79
149, 184, 162, 141, 170, 122,  97, 109, // 80-87
112, 119, 127, 144, 160, 151, 136, 138, // 88-95
121, 103, 105, 114, 127, 139, 148, 158, // 96-103
153, 140, 129, 116, 108, 104, 112, 116, // 104-111
116, 119, 122, 116, 107, 106, 107, 103, // 112-119
105, 115, 129, 158, 184, 162, 149, 166, // 120-127
116,  93, 103, 107, 114, 124, 146, 162, // 128-135
153, 139, 136, 119, 101, 104, 115, 129, // 136-143
144, 158, 166, 151, 138, 123, 104,  99, // 144-151
104, 111, 116, 120, 124, 124, 111, 104, // 152-159
106, 100, 100, 110, 122, 149, 184, 184, // 160-167
150, 164, 138,  91,  98, 102, 112, 123, // 168-175
143, 162, 162, 142, 136, 123, 102, 101, // 176-183
112, 130, 146, 155, 160, 153, 134, 115, // 184-191
107, 101, 104, 113, 117, 119, 121, 116, // 192-199
105, 105, 104, 100, 110, 112, 124, 160, // 200-207
184, 178, 152, 164, 133,  91,  95, 106, // 208-215
116, 123, 146, 164, 155, 139, 135, 121, // 216-223
108, 110, 116, 130, 143, 147, 149, 145, // 224-231
130, 119, 109, 105, 106, 108, 110, 115, // 232-239
114, 110, 112, 108, 106, 110, 108, 120, // 240-247
148, 178, 184, 162, 160, 152, 101,  93, // 248-255
101, 109, 121, 140, 158, 158, 146, 135, // 256-263
123, 109, 106, 114, 130, 144, 151, 154, // 264-271
147, 131, 117, 107, 102, 105, 110, 112, // 272-279
115, 117, 111, 106, 106, 100, 102, 106, // 280-287
111, 132, 164, 184, 184, 156, 162, 134, // 288-295
 85,  91, 105, 116, 133, 153, 168, 160, // 296-303
139, 128, 115, 102, 106, 121, 141, 153, // 304-311
157, 155, 142, 121, 110, 102, 103, 109, // 312-319
116, 117, 117, 118, 106, 103, 103,  97, // 320-327
106, 105, 110, 135, 168, 184, 184, 157, // 328-335
162, 126,  81,  93, 108, 117, 136, 157, // 336-343
168, 158, 138, 125, 113, 102, 110, 125, // 344-351
142, 154, 157, 151, 138, 120, 108, 102, // 352-359
105, 111, 116, 115, 117, 117, 104, 102, // 360-367
105,  99, 106, 106, 110, 134, 168, 184, // 368-375
184, 153, 158, 125,  83,  91, 107, 122, // 376-383
138, 156, 168, 158, 134, 121, 112, 103, // 384-391
110, 129, 143, 155, 158, 148, 136, 119, // 392-399
107, 103, 108, 114, 119, 115, 119, 115, // 400-407
100, 105, 105,  98, 110, 105, 107, 138, // 408-415
172, 184, 180, 156, 156, 118,  83,  91, // 416-423
108, 124, 142, 158, 168, 156, 131, 118, // 424-431
109, 102, 111, 133, 145, 155, 158, 146, // 432-439
132, 115, 106, 105, 111, 118, 122, 116, // 440-447
118, 114,  98, 102, 105, 100, 110, 109, // 448-455
109, 135, 174, 184, 180, 156, 147, 122, // 456-463
 85,  91, 114, 127, 143, 158, 164, 153, // 464-471
129, 112, 108, 103, 111, 135, 152, 160, // 472-479
156, 144, 130, 111, 102, 105, 112, 123, // 480-487
128, 120, 116, 113,  97,  93, 105,  99, // 488-495
108, 112, 108, 134, 172, 184, 178, 150, // 496-503
147, 121,  83,  93, 114, 132, 144, 158, // 504-511
164, 152, 124, 111, 107, 102, 109, 131, // 512-519
156, 166, 158, 146, 132, 111,  98, 103, // 520-527
114, 128, 134, 130, 118, 112, 103,  89, // 528-535
101, 104, 105, 115, 110, 116, 145, 178, // 536-543
184, 162, 142, 143, 105,  85, 106, 124, // 544-551
140, 148, 157, 160, 141, 114, 109, 106, // 552-559
106, 115, 135, 152, 162, 160, 153, 133, // 560-567
108, 107, 102, 112, 129, 134, 136, 125, // 568-575
112, 109,  98,  93, 110, 105, 108, 112, // 576-583
107, 131, 160, 180, 182, 144, 140, 129, // 584-591
 91,  98, 116, 135, 147, 154, 158, 154, // 592-599
124, 108, 106, 104, 111, 125, 143, 153, // 600-607
150, 142, 137, 136, 129, 109, 117, 132, // 608-615
121, 122, 125, 125, 119, 110, 114, 115, // 616-623
106, 108, 103,  99, 104, 105, 120, 156, // 624-631
184, 182, 144, 143, 132,  95,  91, 112, // 632-639
141, 151, 155, 162, 156, 125, 103,  99, // 640-647
103, 110, 122, 143, 158, 151, 139, 133, // 648-655
126, 123, 120, 118, 133, 136, 124, 125, // 656-663
123, 120, 113, 110, 117, 114, 107, 110, // 664-671
101,  95, 102, 104, 123, 162, 184, 176, // 672-679
143, 148, 121,  91,  98, 114, 143, 154, // 680-687
155, 160, 149, 117, 102,  98, 104, 114, // 688-695
129, 147, 159, 148, 134, 124, 115, 116, // 696-703
123, 135, 143, 140, 136, 124, 116, 115, // 704-711
114, 116, 117, 119, 116, 110, 104,  97, // 712-719
 95,  98, 104, 124, 157, 184, 184, 144, // 720-727
141, 120,  93,  97, 112, 143, 160, 156, // 728-735
154, 148, 119, 100,  97, 107, 120, 133, // 736-743
148, 160, 149, 130, 118, 112, 114, 121, // 744-751
135, 149, 152, 142, 125, 117, 112, 108, // 752-759
114, 121, 124, 122, 115, 109, 101,  93, // 760-767
 93,  97, 110, 131, 160, 184, 180, 142, // 768-775
135, 113,  93,  97, 116, 147, 162, 157, // 776-783
153, 143, 116,  99,  98, 108, 124, 137, // 784-791
148, 157, 146, 126, 115, 111, 113, 123, // 792-799
140, 152, 155, 142, 128, 116, 111, 112, // 800-807
117, 129, 133, 125, 116, 107,  99,  93, // 808-815
 89,  93, 105, 117, 141, 170, 184, 172, // 816-823
129, 122, 105,  93, 103, 124, 158, 170, // 824-831
157, 146, 134, 109,  95,  97, 115, 135, // 832-839
144, 151, 155, 142, 120, 109, 107, 115, // 840-847
124, 137, 156, 160, 143, 131, 118, 112, // 848-855
113, 118, 130, 139, 133, 118, 108,  98, // 856-863
 95,  93,  93, 102, 113, 122, 139, 157, // 864-871
172, 170, 129, 116, 116, 106, 112, 129, // 872-879
152, 166, 154, 137, 130, 115, 104, 106, // 880-887
118, 137, 146, 144, 143, 139, 120, 111, // 888-895
110, 118, 130, 137, 146, 155, 143, 129, // 896-903
124, 118, 120, 125, 130, 138, 134, 119, // 904-911
110,  99,  95,  97, 100, 106, 108, 112, // 912-919
117, 132, 143, 157, 170, 142, 123, 128, // 920-927
112, 116, 125, 138, 157, 156, 140, 134, // 928-935
123, 112, 111, 113, 128, 142, 141, 140, // 936-943
138, 125, 115, 112, 114, 125, 134, 139, // 944-951
143, 143, 140, 133, 121, 125, 127, 123, // 952-959
129, 130, 126, 119, 110, 105, 105, 101, // 960-967
101, 108, 109, 108, 112, 117, 130, 145, // 968-975
162, 170, 144, 131, 125, 115, 118, 124, // 976-983
142, 156, 155, 142, 133, 122, 112, 110, // 984-991
114, 128, 139, 139, 137, 134, 124, 116, // 992-999
113, 118, 129, 135, 139, 142, 140, 136, // 1000-1007
132, 123, 121, 125, 125, 128, 127, 124, // 1008-1015
121, 114, 109, 108, 106, 106, 107, 105, // 1016-1023
108, 108, 111, 120, 132, 144, 166, 176, // 1024-1031
150, 131, 125, 115, 120, 124, 138, 157, // 1032-1039
157, 143, 132, 119, 112, 109, 110, 123, // 1040-1047
138, 140, 138, 135, 126, 119, 114, 116, // 1048-1055
127, 134, 136, 139, 138, 133, 129, 124, // 1056-1063
121, 123, 125, 126, 129, 126, 122, 119, // 1064-1071
114, 112, 112, 110, 111, 112, 109, 110, // 1072-1079
111, 110, 118, 131, 139, 157, 178, 168, // 1080-1087
137, 129, 120, 116, 121, 124, 144, 158, // 1088-1095
149, 134, 123, 112, 109, 106, 112, 129, // 1096-1103
141, 141, 139, 133, 124, 118, 114, 118, // 1104-1111
129, 135, 138, 139, 135, 130, 124, 119, // 1112-1119
119, 123, 125, 128, 129, 127, 124, 119, // 1120-1127
116, 116, 117, 115, 114, 114, 114, 112, // 1128-1135
112, 112, 115, 127, 137, 148, 166, 176, // 1136-1143
152, 130, 121, 112, 116, 120, 130, 148, // 1144-1151
155, 143, 130, 116, 110, 109, 108, 115, // 1152-1159
134, 143, 143, 139, 130, 124, 118, 114, // 1160-1167
119, 129, 135, 139, 139, 134, 130, 122, // 1168-1175
116, 118, 123, 126, 131, 132, 130, 128, // 1176-1183
121, 116, 116, 116, 115, 115, 116, 118, // 1184-1191
116, 112, 110, 112, 122, 134, 147, 168, // 1192-1199
176, 149, 130, 118, 110, 113, 115, 128, // 1200-1207
148, 156, 144, 133, 118, 110, 107, 105, // 1208-1215
114, 134, 143, 146, 143, 134, 125, 118, // 1216-1223
112, 115, 125, 134, 142, 141, 135, 132, // 1224-1231
124, 115, 116, 119, 125, 134, 134, 134, // 1232-1239
132, 123, 116, 113, 112, 115, 117, 117, // 1240-1247
119, 118, 115, 112, 108, 112, 125, 139, // 1248-1255
156, 174, 164, 141, 130, 112, 110, 112, // 1256-1263
117, 136, 152, 151, 143, 131, 116, 111, // 1264-1271
106, 107, 120, 136, 143, 147, 143, 134, // 1272-1279
125, 117, 113, 118, 125, 134, 140, 139, // 1280-1287
136, 131, 121, 116, 118, 120, 128, 133, // 1288-1295
134, 134, 129, 120, 114, 111, 112, 114, // 1296-1303
116, 118, 119, 115, 112, 111, 110, 116, // 1304-1311
129, 143, 162, 176, 160, 140, 127, 112, // 1312-1319
112, 113, 118, 136, 150, 150, 143, 131, // 1320-1327
118, 112, 109, 108, 119, 133, 143, 147, // 1328-1335
143, 135, 130, 120, 115, 116, 121, 130, // 1336-1343
136, 136, 134, 134, 126, 119, 118, 118, // 1344-1351
125, 131, 130, 131, 130, 121, 116, 112, // 1352-1359
111, 113, 116, 118, 119, 118, 115, 111, // 1360-1367
109, 114, 125, 139, 152, 170, 170, 149, // 1368-1375
136, 120, 112, 113, 115, 123, 140, 147, // 1376-1383
146, 142, 129, 118, 113, 111, 112, 121, // 1384-1391
131, 142, 146, 143, 136, 130, 121, 117, // 1392-1399
116, 118, 125, 133, 134, 135, 136, 130, // 1400-1407
123, 121, 119, 124, 128, 128, 129, 127, // 1408-1415
123, 118, 114, 112, 115, 117, 118, 120, // 1416-1423
120, 117, 114, 112, 112, 120, 133, 140, // 1424-1431
152, 162, 164, 149, 136, 121, 115, 116, // 1432-1439
117, 123, 133, 141, 143, 141, 131, 123, // 1440-1447
118, 116, 116, 120, 126, 135, 140, 139, // 1448-1455
136, 132, 126, 122, 119, 118, 121, 129, // 1456-1463
134, 133, 132, 131, 128, 125, 122, 121, // 1464-1471
123, 125, 125, 123, 119, 116, 115, 115, // 1472-1479
116, 120, 123, 123, 122, 118, 115, 116, // 1480-1487
118, 122, 129, 134, 140, 143, 147, 147, // 1488-1495
143, 136, 130, 125, 124, 125, 126, 129, // 1496-1503
133, 134, 133, 131, 127, 125, 125, 125, // 1504-1511
125, 128, 129, 130, 131, 130, 130, 131, // 1512-1519
131, 129, 127, 125, 124, 123, 121, 122, // 1520-1527
124, 125, 127, 128, 125, 123, 121, 119, // 1528-1535
118, 118, 119, 121, 123, 124, 124, 123, // 1536-1543
120, 119, 121, 123, 124, 125, 128, 129, // 1544-1551
132, 133, 132, 131, 132, 133, 133, 133, // 1552-1559
132, 133, 134, 134, 133, 131, 131, 131, // 1560-1567
131, 131, 130, 130, 130, 130, 129, 127, // 1568-1575
128, 126, 126, 125, 125, 124, 124, 123, // 1576-1583
122, 122, 122, 122, 123, 124, 124, 125, // 1584-1591
124, 124, 124, 124, 124, 125, 125, 125, // 1592-1599
125, 125, 126, 126, 125, 125, 125, 125, // 1600-1607
126, 125, 125, 126, 128, 127, 128, 129, // 1608-1615
129, 129, 129, 129, 127, 129, 129, 129, // 1616-1623
129};

const char G[2978] = {126, 128, 128, 126, 128, 127, 128, 127, // 0-7
128, 127, 131, 131, 119, 125, 134, 118, // 8-15
130, 130, 121, 131, 129, 132, 129, 122, // 16-23
129, 125, 123, 129, 125, 125, 126, 126, // 24-31
125, 126, 128, 126, 128, 129, 125, 127, // 32-39
131, 131, 138, 124, 119, 135, 118, 125, // 40-47
131, 119, 129, 125, 123, 129, 123, 125, // 48-55
129, 126, 128, 126, 131, 129, 124, 131, // 56-63
129, 125, 127, 131, 125, 127, 125, 131, // 64-71
125, 123, 133, 125, 123, 132, 127, 122, // 72-79
132, 128, 123, 131, 123, 124, 135, 122, // 80-87
124, 136, 124, 125, 129, 129, 128, 125, // 88-95
130, 125, 128, 133, 122, 127, 131, 122, // 96-103
133, 125, 123, 134, 125, 125, 129, 128, // 104-111
124, 128, 130, 121, 132, 125, 125, 136, // 112-119
119, 129, 131, 126, 125, 131, 126, 124, // 120-127
135, 119, 128, 130, 123, 132, 120, 132, // 128-135
130, 123, 133, 125, 129, 127, 129, 123, // 136-143
129, 133, 119, 134, 123, 127, 128, 125, // 144-151
132, 120, 133, 122, 125, 135, 121, 125, // 152-159
136, 119, 125, 135, 119, 127, 131, 125, // 160-167
128, 128, 125, 126, 127, 128, 126, 129, // 168-175
129, 120, 135, 125, 121, 136, 119, 128, // 176-183
135, 118, 131, 128, 123, 132, 124, 126, // 184-191
130, 126, 127, 123, 133, 123, 121, 139, // 192-199
118, 127, 134, 123, 128, 129, 129, 125, // 200-207
125, 135, 112, 138, 131, 110, 144, 118, // 208-215
122, 138, 114, 137, 126, 119, 140, 118, // 216-223
133, 129, 121, 128, 136, 116, 129, 135, // 224-231
112, 142, 120, 132, 122, 133, 125, 121, // 232-239
136, 121, 128, 131, 123, 124, 136, 115, // 240-247
136, 123, 125, 131, 120, 133, 124, 123, // 248-255
133, 127, 119, 135, 128, 119, 133, 131, // 256-263
119, 133, 124, 122, 136, 121, 121, 140, // 264-271
111, 138, 124, 123, 135, 118, 137, 118, // 272-279
132, 136, 107, 146, 125, 104, 160, 112, // 280-287
115, 152, 111, 123, 143, 112, 131, 130, // 288-295
123, 128, 128, 125, 124, 139, 114, 135, // 296-303
136, 111, 140, 135, 102, 152, 124, 100, // 304-311
166, 110, 112, 160, 102, 131, 135, 118, // 312-319
135, 120, 129, 130, 129, 123, 127, 139, // 320-327
103, 146, 125, 109, 153, 110, 123, 144, // 328-335
112, 125, 143, 112, 124, 146, 108, 130, // 336-343
145, 101, 146, 125, 111, 148, 112, 133, // 344-351
133, 117, 129, 138, 116, 121, 150, 102, // 352-359
135, 143, 107, 133, 140, 112, 130, 142, // 360-367
110, 135, 136, 111, 142, 126, 114, 142, // 368-375
122, 121, 129, 135, 114, 135, 132, 112, // 376-383
139, 131, 114, 139, 131, 112, 146, 116, // 384-391
125, 136, 120, 123, 137, 125, 116, 143, // 392-399
119, 121, 143, 109, 137, 137, 109, 141, // 400-407
129, 121, 130, 135, 117, 129, 133, 121, // 408-415
130, 127, 123, 127, 139, 111, 142, 120, // 416-423
131, 130, 117, 140, 120, 123, 135, 123, // 424-431
123, 135, 116, 136, 122, 124, 131, 130, // 432-439
118, 133, 138, 110, 138, 135, 112, 141, // 440-447
121, 127, 135, 120, 130, 137, 134, 106, // 448-455
150, 111, 129, 130, 111, 146, 112, 119, // 456-463
139, 126, 112, 138, 131, 116, 138, 126, // 464-471
125, 138, 115, 138, 127, 119, 134, 119, // 472-479
135, 118, 132, 127, 123, 134, 122, 135, // 480-487
114, 140, 125, 112, 151, 106, 138, 129, // 488-495
119, 129, 131, 123, 117, 146, 107, 136, // 496-503
128, 119, 135, 116, 131, 132, 123, 121, // 504-511
142, 119, 123, 138, 122, 119, 142, 118, // 512-519
123, 143, 116, 135, 123, 135, 125, 126, // 520-527
135, 123, 135, 123, 136, 130, 124, 137, // 528-535
124, 121, 120, 129, 113, 115, 130, 108, // 536-543
124, 114, 114, 127, 112, 123, 128, 129, // 544-551
128, 127, 143, 133, 140, 146, 137, 145, // 552-559
142, 140, 143, 135, 138, 136, 129, 129, // 560-567
135, 125, 124, 130, 100, 123, 104,  95, // 568-575
119,  93, 106, 105, 103, 104, 108, 114, // 576-583
125, 123, 126, 150, 143, 142, 164, 155, // 584-591
155, 160, 154, 155, 148, 142, 143, 135, // 592-599
121, 126, 119, 111, 116, 115, 110, 120, // 600-607
115, 115, 120, 112, 121, 112, 111, 115, // 608-615
106, 104, 106, 105, 114, 114, 110, 137, // 616-623
139, 122, 162, 155, 151, 168, 164, 166, // 624-631
160, 153, 150, 142, 123, 123, 118, 104, // 632-639
108, 113, 108, 112, 123, 123, 125, 127, // 640-647
128, 127, 121, 116, 118, 106, 100,  99, // 648-655
 89,  97, 104, 101, 111, 136, 129, 143, // 656-663
166, 160, 176, 176, 178, 180, 168, 162, // 664-671
151, 137, 121, 116, 102,  95,  99,  93, // 672-679
101, 105, 110, 123, 123, 127, 136, 135, // 680-687
122, 125, 118, 101, 103,  91,  99, 104, // 688-695
 93, 111, 134, 120, 142, 168, 156, 178, // 696-703
182, 182, 184, 170, 166, 156, 133, 122, // 704-711
114,  95,  89,  95,  87,  87, 106, 110, // 712-719
114, 130, 129, 138, 140, 129, 133, 121, // 720-727
106, 107,  95, 100, 101,  91, 116, 121, // 728-735
116, 150, 155, 156, 178, 182, 180, 180, // 736-743
174, 166, 151, 134, 126, 109,  95,  93, // 744-751
 89,  85,  95, 102, 109, 119, 127, 133, // 752-759
132, 143, 131, 127, 129, 108, 106, 102, // 760-767
102, 100,  93, 115, 118, 115, 146, 150, // 768-775
156, 174, 180, 180, 178, 176, 166, 150, // 776-783
138, 128, 110,  98,  93,  89,  85,  93, // 784-791
102, 108, 114, 129, 131, 129, 144, 129, // 792-799
128, 131, 107, 112, 106, 105, 104,  98, // 800-807
122, 114, 121, 148, 144, 157, 170, 176, // 808-815
174, 176, 172, 162, 146, 137, 125, 107, // 816-823
101,  95,  89,  87,  97, 102, 110, 116, // 824-831
129, 129, 129, 143, 127, 125, 126, 108, // 832-839
111, 106, 107, 104, 102, 123, 114, 125, // 840-847
148, 145, 160, 170, 174, 174, 174, 168, // 848-855
162, 143, 138, 123, 107, 102,  95,  89, // 856-863
 89,  97, 101, 110, 118, 129, 129, 131, // 864-871
141, 128, 125, 128, 107, 110, 111, 103, // 872-879
105, 108, 120, 114, 129, 145, 145, 160, // 880-887
170, 174, 172, 176, 168, 160, 145, 140, // 888-895
121, 110, 103,  95,  89,  91,  98,  99, // 896-903
110, 118, 125, 133, 132, 138, 134, 125, // 904-911
128, 112, 110, 112, 107, 102, 110, 120, // 912-919
110, 133, 141, 142, 160, 166, 170, 172, // 920-927
174, 170, 160, 146, 143, 121, 112, 105, // 928-935
 97,  89,  93,  95,  97, 110, 116, 123, // 936-943
129, 133, 135, 133, 127, 125, 114, 112, // 944-951
113, 110, 105, 114, 119, 111, 137, 138, // 952-959
143, 158, 164, 166, 170, 172, 164, 157, // 960-967
148, 139, 121, 113, 106,  95,  91,  95, // 968-975
 93, 100, 110, 114, 123, 129, 131, 133, // 976-983
135, 128, 123, 119, 112, 112, 113, 105, // 984-991
114, 121, 112, 135, 136, 142, 155, 160, // 992-999
166, 168, 170, 166, 156, 150, 141, 124, // 1000-1007
117, 110,  99,  95,  97,  93, 101, 107, // 1008-1015
112, 119, 126, 128, 131, 133, 126, 123, // 1016-1023
119, 112, 114, 116, 106, 118, 120, 112, // 1024-1031
136, 135, 142, 154, 157, 164, 164, 168, // 1032-1039
164, 153, 152, 140, 124, 120, 109, 100, // 1040-1047
 99,  95,  95, 101, 106, 112, 118, 128, // 1048-1055
126, 128, 134, 125, 121, 121, 112, 115, // 1056-1063
118, 106, 120, 121, 114, 138, 132, 143, // 1064-1071
152, 154, 164, 162, 166, 162, 152, 152, // 1072-1079
138, 125, 121, 108, 104, 100,  97,  99, // 1080-1087
101, 108, 112, 118, 126, 124, 127, 131, // 1088-1095
124, 121, 119, 114, 113, 119, 108, 119, // 1096-1103
124, 114, 138, 134, 143, 153, 154, 164, // 1104-1111
162, 164, 162, 151, 150, 137, 125, 121, // 1112-1119
108, 104, 100,  97,  99, 102, 108, 112, // 1120-1127
118, 126, 125, 129, 133, 125, 124, 120, // 1128-1135
114, 114, 118, 111, 113, 125, 114, 132, // 1136-1143
137, 138, 152, 153, 162, 162, 164, 162, // 1144-1151
151, 152, 141, 126, 125, 110, 105, 103, // 1152-1159
 97, 101, 101, 107, 111, 117, 126, 126, // 1160-1167
131, 133, 127, 128, 121, 117, 114, 114, // 1168-1175
115, 107, 122, 118, 118, 139, 133, 145, // 1176-1183
153, 157, 162, 162, 166, 156, 151, 149, // 1184-1191
131, 125, 119, 103, 105, 101,  95, 102, // 1192-1199
103, 110, 114, 123, 127, 129, 135, 131, // 1200-1207
131, 128, 118, 117, 112, 114, 111, 108, // 1208-1215
123, 113, 124, 138, 133, 150, 153, 160, // 1216-1223
162, 164, 164, 153, 152, 143, 128, 125, // 1224-1231
112, 102, 106,  95,  97, 104, 104, 112, // 1232-1239
117, 126, 129, 134, 136, 132, 134, 128, // 1240-1247
119, 118, 111, 112, 110, 106, 119, 112, // 1248-1255
120, 136, 133, 150, 153, 160, 164, 164, // 1256-1263
166, 154, 153, 144, 129, 123, 114, 102, // 1264-1271
102,  99,  95, 102, 106, 111, 118, 125, // 1272-1279
131, 135, 138, 135, 135, 131, 122, 117, // 1280-1287
112, 109, 111, 104, 111, 117, 112, 132, // 1288-1295
134, 143, 154, 157, 164, 166, 166, 160, // 1296-1303
152, 149, 135, 123, 118, 106,  99, 101, // 1304-1311
 95,  99, 106, 108, 116, 123, 131, 135, // 1312-1319
139, 138, 135, 135, 126, 119, 115, 108, // 1320-1327
108, 108, 101, 114, 113, 118, 136, 135, // 1328-1335
150, 155, 162, 166, 164, 166, 155, 150, // 1336-1343
143, 129, 119, 112, 104,  95, 101,  95, // 1344-1351
 99, 110, 110, 120, 127, 133, 138, 141, // 1352-1359
140, 136, 133, 125, 117, 112, 104, 107, // 1360-1367
105, 100, 113, 112, 118, 136, 136, 152, // 1368-1375
157, 164, 168, 166, 166, 154, 150, 142, // 1376-1383
128, 118, 111, 102,  95, 100,  93, 102, // 1384-1391
109, 111, 122, 129, 135, 139, 142, 140, // 1392-1399
137, 134, 123, 118, 112, 104, 106, 104, // 1400-1407
100, 112, 113, 118, 138, 138, 151, 160, // 1408-1415
166, 168, 168, 166, 154, 150, 141, 127, // 1416-1423
119, 110, 103,  97,  98,  97, 100, 111, // 1424-1431
112, 122, 130, 135, 142, 142, 142, 139, // 1432-1439
135, 127, 118, 112, 104, 102, 104,  99, // 1440-1447
105, 116, 112, 131, 141, 144, 160, 162, // 1448-1455
168, 168, 168, 160, 151, 146, 132, 121, // 1456-1463
113, 104,  97,  99,  95,  99, 107, 110, // 1464-1471
119, 127, 133, 139, 143, 143, 140, 138, // 1472-1479
130, 123, 116, 108, 102, 102, 102, 100, // 1480-1487
111, 117, 117, 140, 142, 151, 164, 164, // 1488-1495
170, 168, 166, 155, 147, 140, 124, 117, // 1496-1503
109, 101,  97,  97,  97, 102, 110, 113, // 1504-1511
124, 131, 136, 143, 143, 143, 140, 136, // 1512-1519
128, 121, 113, 104, 101,  99, 101, 101, // 1520-1527
108, 119, 116, 140, 143, 150, 166, 164, // 1528-1535
170, 168, 164, 155, 147, 140, 125, 117, // 1536-1543
110, 101,  98,  98,  97, 103, 110, 114, // 1544-1551
124, 131, 136, 142, 143, 143, 141, 136, // 1552-1559
129, 121, 114, 105, 102,  99, 100, 102, // 1560-1567
102, 119, 118, 131, 147, 144, 162, 164, // 1568-1575
168, 168, 164, 159, 147, 142, 129, 118, // 1576-1583
112, 104,  98, 100,  98, 101, 110, 112, // 1584-1591
121, 131, 135, 141, 143, 143, 141, 138, // 1592-1599
130, 123, 116, 109, 102,  99,  97, 102, // 1600-1607
101, 111, 121, 121, 143, 146, 153, 166, // 1608-1615
164, 168, 166, 162, 152, 143, 136, 122, // 1616-1623
114, 107, 101,  97, 100,  99, 104, 113, // 1624-1631
116, 128, 133, 138, 143, 143, 143, 140, // 1632-1639
135, 128, 121, 114, 107, 102,  97,  97, // 1640-1647
104, 101, 111, 125, 123, 143, 149, 153, // 1648-1655
166, 166, 168, 164, 162, 151, 142, 136, // 1656-1663
121, 113, 108, 101,  98, 101, 100, 106, // 1664-1671
114, 117, 129, 134, 138, 143, 143, 142, // 1672-1679
140, 135, 127, 121, 114, 108, 103,  97, // 1680-1687
 97, 102, 104, 108, 124, 126, 136, 153, // 1688-1695
150, 162, 166, 164, 166, 162, 152, 143, // 1696-1703
137, 124, 114, 110, 104,  99, 102, 102, // 1704-1711
104, 114, 117, 125, 135, 136, 142, 143, // 1712-1719
142, 141, 137, 129, 124, 117, 111, 106, // 1720-1727
101,  97,  98, 104, 107, 112, 128, 130, // 1728-1735
140, 153, 152, 162, 166, 164, 162, 157, // 1736-1743
150, 140, 135, 122, 114, 110, 105, 101, // 1744-1751
103, 105, 107, 116, 119, 128, 134, 136, // 1752-1759
142, 142, 141, 139, 135, 129, 123, 118, // 1760-1767
112, 109, 104, 101,  99, 103, 110, 111, // 1768-1775
119, 133, 133, 146, 153, 152, 164, 160, // 1776-1783
160, 157, 152, 143, 136, 131, 119, 114, // 1784-1791
111, 106, 105, 108, 108, 112, 118, 120, // 1792-1799
129, 133, 136, 140, 139, 138, 137, 133, // 1800-1807
128, 123, 118, 113, 112, 107, 105, 105, // 1808-1815
102, 111, 113, 116, 128, 135, 136, 149, // 1816-1823
150, 153, 160, 156, 155, 153, 147, 140, // 1824-1831
136, 129, 119, 116, 112, 106, 111, 109, // 1832-1839
109, 117, 116, 123, 129, 131, 135, 136, // 1840-1847
137, 136, 136, 131, 127, 125, 119, 116, // 1848-1855
114, 109, 108, 106, 103, 109, 112, 114, // 1856-1863
120, 132, 131, 142, 150, 146, 158, 157, // 1864-1871
155, 157, 150, 144, 140, 133, 125, 118, // 1872-1879
114, 110, 107, 110, 106, 111, 114, 116, // 1880-1887
125, 127, 133, 137, 137, 139, 139, 137, // 1888-1895
134, 131, 126, 121, 118, 113, 110, 108, // 1896-1903
104, 103, 104, 108, 112, 114, 127, 132, // 1904-1911
135, 151, 146, 155, 162, 156, 160, 155, // 1912-1919
150, 143, 138, 130, 121, 116, 110, 106, // 1920-1927
106, 105, 107, 111, 114, 120, 128, 131, // 1928-1935
137, 140, 141, 143, 141, 138, 136, 131, // 1936-1943
125, 121, 116, 112, 110, 107, 104, 102, // 1944-1951
102, 104, 111, 114, 119, 133, 134, 143, // 1952-1959
152, 150, 162, 160, 160, 158, 152, 146, // 1960-1967
140, 134, 123, 116, 112, 107, 105, 106, // 1968-1975
105, 109, 114, 117, 125, 131, 135, 140, // 1976-1983
142, 142, 143, 142, 137, 136, 130, 124, // 1984-1991
122, 116, 112, 111, 106, 105, 102, 102, // 1992-1999
103, 106, 112, 116, 121, 135, 137, 144, // 2000-2007
154, 152, 160, 160, 157, 158, 151, 145, // 2008-2015
139, 132, 122, 116, 112, 107, 106, 105, // 2016-2023
107, 111, 114, 119, 125, 131, 136, 141, // 2024-2031
142, 143, 144, 141, 140, 136, 131, 127, // 2032-2039
121, 118, 114, 111, 109, 106, 104, 102, // 2040-2047
102, 103, 104, 111, 117, 120, 132, 140, // 2048-2055
140, 153, 153, 155, 164, 157, 158, 154, // 2056-2063
148, 142, 135, 127, 118, 114, 108, 107, // 2064-2071
106, 105, 109, 112, 116, 123, 128, 134, // 2072-2079
138, 142, 143, 144, 143, 141, 140, 135, // 2080-2087
131, 129, 122, 119, 116, 112, 110, 108, // 2088-2095
104, 105, 103, 102, 106, 105, 110, 114, // 2096-2103
120, 125, 133, 143, 143, 152, 155, 155, // 2104-2111
162, 158, 157, 155, 148, 143, 136, 128, // 2112-2119
119, 115, 110, 106, 108, 104, 109, 112, // 2120-2127
114, 123, 126, 132, 138, 140, 142, 143, // 2128-2135
143, 142, 140, 136, 133, 130, 123, 119, // 2136-2143
116, 111, 109, 106, 104, 102, 102, 102, // 2144-2151
103, 106, 108, 112, 116, 123, 130, 135, // 2152-2159
144, 146, 152, 160, 155, 164, 160, 157, // 2160-2167
157, 148, 143, 136, 127, 119, 114, 110, // 2168-2175
105, 105, 104, 105, 110, 112, 118, 125, // 2176-2183
129, 135, 140, 142, 143, 144, 143, 143, // 2184-2191
139, 135, 132, 125, 121, 116, 112, 108, // 2192-2199
106, 103, 102, 102, 103, 105, 108, 110, // 2200-2207
112, 116, 119, 125, 132, 136, 141, 148, // 2208-2215
151, 152, 162, 155, 160, 160, 153, 153, // 2216-2223
146, 140, 133, 125, 117, 112, 108, 104, // 2224-2231
104, 104, 105, 111, 112, 119, 125, 130, // 2232-2239
137, 140, 143, 144, 144, 143, 142, 138, // 2240-2247
134, 130, 123, 119, 115, 111, 108, 106, // 2248-2255
105, 106, 106, 108, 110, 112, 116, 118, // 2256-2263
121, 125, 125, 130, 133, 136, 140, 140, // 2264-2271
146, 146, 147, 153, 147, 153, 151, 146, // 2272-2279
146, 139, 135, 129, 121, 116, 112, 109, // 2280-2287
106, 107, 108, 110, 114, 117, 122, 128, // 2288-2295
133, 136, 142, 142, 143, 144, 139, 141, // 2296-2303
135, 130, 129, 121, 119, 116, 112, 112, // 2304-2311
111, 110, 112, 112, 113, 117, 119, 121, // 2312-2319
125, 125, 128, 129, 128, 129, 129, 130, // 2320-2327
133, 133, 135, 139, 136, 142, 143, 142, // 2328-2335
146, 144, 143, 142, 138, 134, 129, 123, // 2336-2343
118, 116, 112, 111, 112, 111, 113, 117, // 2344-2351
119, 125, 128, 132, 136, 137, 140, 140, // 2352-2359
139, 140, 135, 133, 132, 125, 125, 121, // 2360-2367
119, 118, 116, 116, 116, 116, 116, 118, // 2368-2375
119, 121, 123, 123, 124, 123, 123, 123, // 2376-2383
121, 121, 121, 119, 124, 124, 125, 133, // 2384-2391
134, 137, 143, 142, 146, 148, 145, 147, // 2392-2399
143, 139, 136, 130, 123, 119, 115, 112, // 2400-2407
112, 111, 112, 115, 116, 121, 125, 129, // 2408-2415
133, 135, 136, 139, 139, 137, 138, 135, // 2416-2423
132, 132, 126, 125, 123, 119, 120, 118, // 2424-2431
117, 118, 116, 117, 118, 118, 119, 120, // 2432-2439
120, 121, 121, 121, 121, 120, 119, 121, // 2440-2447
119, 121, 123, 125, 127, 134, 136, 138, // 2448-2455
144, 143, 147, 149, 146, 147, 143, 139, // 2456-2463
136, 131, 125, 122, 117, 114, 114, 112, // 2464-2471
114, 116, 117, 121, 124, 126, 130, 132, // 2472-2479
133, 135, 135, 134, 134, 133, 131, 130, // 2480-2487
130, 125, 128, 124, 123, 124, 120, 121, // 2488-2495
121, 119, 120, 119, 119, 121, 120, 121, // 2496-2503
121, 121, 121, 121, 120, 120, 120, 120, // 2504-2511
121, 123, 125, 129, 131, 136, 138, 140, // 2512-2519
144, 144, 147, 146, 145, 144, 142, 138, // 2520-2527
134, 129, 124, 120, 117, 114, 114, 113, // 2528-2535
114, 116, 117, 120, 123, 124, 128, 130, // 2536-2543
131, 133, 133, 133, 135, 133, 133, 134, // 2544-2551
130, 131, 130, 126, 128, 125, 123, 123, // 2552-2559
120, 120, 119, 118, 119, 119, 119, 119, // 2560-2567
119, 119, 120, 120, 120, 121, 121, 121, // 2568-2575
123, 123, 125, 128, 131, 133, 136, 139, // 2576-2583
140, 143, 143, 144, 144, 142, 143, 139, // 2584-2591
136, 133, 128, 124, 121, 118, 117, 116, // 2592-2599
115, 116, 118, 118, 121, 123, 124, 128, // 2600-2607
129, 130, 132, 132, 133, 134, 133, 134, // 2608-2615
133, 132, 133, 130, 130, 128, 126, 125, // 2616-2623
123, 121, 120, 119, 118, 118, 118, 118, // 2624-2631
118, 119, 119, 119, 120, 121, 121, 122, // 2632-2639
122, 122, 124, 123, 126, 128, 129, 133, // 2640-2647
135, 138, 139, 143, 144, 143, 146, 142, // 2648-2655
144, 140, 136, 134, 129, 125, 121, 118, // 2656-2663
116, 114, 114, 114, 116, 116, 118, 121, // 2664-2671
122, 125, 128, 129, 131, 132, 133, 134, // 2672-2679
134, 135, 134, 133, 134, 131, 131, 130, // 2680-2687
126, 126, 124, 122, 121, 119, 119, 119, // 2688-2695
118, 118, 119, 119, 119, 120, 121, 121, // 2696-2703
122, 122, 123, 123, 123, 124, 125, 125, // 2704-2711
126, 129, 131, 132, 135, 137, 138, 141, // 2712-2719
142, 142, 143, 140, 140, 138, 135, 133, // 2720-2727
127, 124, 121, 118, 116, 115, 114, 114, // 2728-2735
116, 117, 119, 121, 123, 126, 129, 131, // 2736-2743
133, 133, 135, 135, 135, 135, 135, 134, // 2744-2751
133, 133, 130, 129, 127, 125, 125, 122, // 2752-2759
121, 121, 119, 119, 119, 119, 119, 119, // 2760-2767
120, 121, 121, 122, 123, 123, 123, 124, // 2768-2775
123, 124, 125, 124, 126, 126, 128, 130, // 2776-2783
132, 133, 136, 137, 137, 141, 139, 140, // 2784-2791
141, 138, 138, 135, 132, 131, 126, 123, // 2792-2799
121, 118, 117, 117, 116, 117, 119, 119, // 2800-2807
122, 125, 126, 130, 131, 132, 134, 134, // 2808-2815
135, 135, 134, 133, 133, 131, 130, 129, // 2816-2823
126, 125, 123, 123, 122, 121, 121, 120, // 2824-2831
120, 121, 121, 121, 121, 122, 123, 123, // 2832-2839
124, 124, 125, 125, 125, 125, 125, 125, // 2840-2847
125, 125, 125, 126, 128, 128, 129, 131, // 2848-2855
131, 134, 135, 135, 137, 137, 137, 138, // 2856-2863
136, 135, 135, 131, 130, 128, 124, 123, // 2864-2871
121, 119, 119, 119, 119, 121, 122, 123, // 2872-2879
125, 127, 129, 131, 132, 133, 133, 133, // 2880-2887
133, 132, 132, 131, 129, 129, 126, 125, // 2888-2895
124, 123, 123, 122, 122, 122, 122, 122, // 2896-2903
123, 123, 123, 124, 124, 125, 125, 125, // 2904-2911
125, 125, 125, 125, 125, 125, 124, 125, // 2912-2919
125, 125, 125, 125, 127, 128, 129, 130, // 2920-2927
130, 133, 133, 134, 135, 135, 135, 135, // 2928-2935
135, 134, 133, 131, 130, 128, 125, 125, // 2936-2943
123, 122, 121, 121, 121, 122, 123, 124, // 2944-2951
125, 128, 127, 130, 130, 131, 131, 131, // 2952-2959
131, 129, 129, 129, 126, 126, 125, 124, // 2960-2967
124, 123, 123, 123, 122, 123, 123, 123, // 2968-2975
123, 123};

const char H[3944] = {128, 128, 127, 128, 127, 128, 127, 127, // 0-7
128, 127, 128, 127, 128, 128, 127, 128, // 8-15
128, 128, 128, 128, 129, 134, 141, 130, // 16-23
132, 141, 118, 125, 127, 116, 122, 124, // 24-31
125, 123, 128, 123, 112, 110, 110, 102, // 32-39
103, 111, 119, 139, 155, 143, 170, 164, // 40-47
134, 151, 125, 114, 110, 111, 108, 112, // 48-55
124, 134, 135, 144, 148, 140, 138, 134, // 56-63
123, 115, 121, 118, 118, 129, 133, 134, // 64-71
141, 142, 135, 133, 130, 119, 114, 111, // 72-79
105, 103, 104, 105, 102, 106, 116, 130, // 80-87
151, 149, 150, 180, 142, 142, 147, 112, // 88-95
114, 110, 110, 107, 119, 130, 134, 140, // 96-103
151, 144, 140, 140, 133, 124, 122, 121, // 104-111
119, 123, 126, 131, 131, 135, 131, 125, // 112-119
122, 115, 107, 106, 104,  99, 102, 106, // 120-127
112, 128, 150, 164, 152, 172, 168, 129, // 128-135
143, 121, 102, 104, 106, 104, 110, 129, // 136-143
135, 140, 148, 152, 142, 142, 136, 125, // 144-151
119, 121, 119, 124, 129, 136, 140, 135, // 152-159
139, 126, 116, 114, 104, 100, 100,  97, // 160-167
 99, 101, 112, 121, 139, 164, 166, 157, // 168-175
184, 151, 135, 143, 110, 103, 101, 103, // 176-183
100, 115, 130, 136, 143, 156, 149, 144, // 184-191
143, 132, 122, 121, 118, 116, 129, 125, // 192-199
133, 134, 132, 121, 117, 114, 105, 104, // 200-207
101,  95,  98, 105, 112, 136, 162, 162, // 208-215
166, 184, 152, 149, 147, 111, 108,  99, // 216-223
 97,  91, 109, 118, 128, 140, 152, 151, // 224-231
152, 153, 146, 137, 131, 127, 117, 116, // 232-239
118, 115, 113, 118, 110, 109, 112, 105, // 240-247
103, 103, 103, 105, 116, 145, 157, 148, // 248-255
184, 180, 144, 174, 138, 116, 114, 106, // 256-263
 93,  93, 109, 108, 118, 136, 143, 143, // 264-271
157, 155, 149, 146, 143, 129, 123, 120, // 272-279
110, 110, 109, 102, 101, 106, 103, 101, // 280-287
106, 105, 107, 116, 136, 160, 151, 166, // 288-295
184, 146, 162, 160, 118, 122, 112, 102, // 296-303
 93, 107, 106, 110, 123, 136, 135, 147, // 304-311
155, 152, 151, 151, 144, 131, 134, 116, // 312-319
110, 112,  99,  95,  99,  98,  93,  99, // 320-327
103, 101, 112, 125, 147, 164, 153, 184, // 328-335
180, 145, 176, 136, 121, 119, 108,  95, // 336-343
 97, 106, 102, 114, 126, 134, 139, 152, // 344-351
152, 157, 155, 152, 147, 135, 129, 119, // 352-359
107, 106,  97,  91,  98,  93,  93,  99, // 360-367
100, 107, 116, 135, 162, 157, 164, 184, // 368-375
155, 160, 168, 120, 125, 113, 102,  91, // 376-383
104, 101, 104, 117, 129, 132, 143, 153, // 384-391
153, 160, 155, 153, 145, 133, 129, 114, // 392-399
105, 106,  89,  93,  95,  89,  95,  99, // 400-407
 99, 112, 121, 143, 168, 153, 180, 184, // 408-415
144, 176, 148, 120, 126, 108,  97,  93, // 416-423
104,  95, 107, 118, 126, 133, 148, 153, // 424-431
158, 160, 160, 151, 143, 136, 119, 113, // 432-439
104,  98,  89,  93,  91,  89,  98,  98, // 440-447
102, 117, 127, 154, 166, 156, 184, 172, // 448-455
153, 178, 131, 129, 120, 106,  93,  99, // 456-463
 98,  95, 111, 116, 124, 137, 148, 152, // 464-471
162, 160, 157, 152, 143, 130, 121, 111, // 472-479
102,  93,  89,  89,  91,  91,  97,  99, // 480-487
108, 118, 134, 160, 162, 164, 184, 164, // 488-495
160, 172, 128, 133, 118, 105,  95, 101, // 496-503
 95,  97, 111, 114, 124, 138, 149, 155, // 504-511
162, 160, 162, 149, 144, 131, 119, 111, // 512-519
100,  93,  87,  91,  87,  89,  97,  99, // 520-527
108, 119, 136, 160, 160, 166, 184, 160, // 528-535
166, 168, 126, 137, 117, 105,  97, 101, // 536-543
 93,  98, 110, 112, 123, 138, 145, 154, // 544-551
162, 160, 162, 151, 146, 132, 121, 112, // 552-559
100,  95,  87,  87,  91,  89,  95, 101, // 560-567
107, 118, 133, 156, 160, 160, 184, 162, // 568-575
162, 172, 129, 140, 121, 108,  99, 102, // 576-583
 93,  95, 108, 110, 119, 134, 143, 151, // 584-591
162, 162, 162, 153, 151, 135, 125, 116, // 592-599
104,  97,  91,  87,  89,  89,  93, 100, // 600-607
105, 116, 129, 149, 162, 157, 184, 174, // 608-615
154, 178, 138, 137, 130, 110, 102, 102, // 616-623
 95,  91, 105, 106, 115, 129, 142, 146, // 624-631
160, 160, 162, 156, 153, 141, 131, 120, // 632-639
110, 101,  91,  89,  87,  89,  91,  98, // 640-647
103, 112, 123, 141, 157, 157, 168, 184, // 648-655
152, 174, 158, 130, 143, 115, 108, 103, // 656-663
101,  91, 101, 104, 109, 120, 134, 140, // 664-671
152, 158, 158, 162, 153, 149, 138, 130, // 672-679
115, 110,  99,  91,  91,  89,  91,  95, // 680-687
 99, 107, 114, 125, 143, 156, 155, 170, // 688-695
180, 149, 176, 147, 136, 141, 114, 112, // 696-703
104, 100,  93, 104, 103, 111, 121, 132, // 704-711
140, 151, 156, 157, 158, 154, 146, 140, // 712-719
130, 115, 112, 101,  93,  93,  91,  93, // 720-727
 99,  99, 110, 113, 123, 139, 152, 153, // 728-735
160, 180, 148, 168, 156, 133, 144, 119, // 736-743
114, 108, 105,  95, 105, 105, 108, 120, // 744-751
128, 135, 147, 149, 154, 158, 151, 149, // 752-759
142, 133, 121, 116, 106, 100,  97,  93, // 760-767
 95, 100, 100, 107, 113, 116, 129, 141, // 768-775
151, 147, 164, 168, 143, 170, 142, 137, // 776-783
140, 117, 116, 112, 106, 101, 111, 105, // 784-791
112, 121, 125, 135, 145, 144, 152, 152, // 792-799
147, 146, 140, 130, 123, 116, 107, 106, // 800-807
101,  98, 101, 103, 104, 111, 112, 116, // 808-815
125, 135, 146, 144, 151, 166, 139, 162, // 816-823
147, 132, 147, 121, 123, 118, 112, 106, // 824-831
113, 108, 112, 120, 120, 129, 139, 139, // 832-839
143, 148, 144, 143, 142, 134, 129, 123, // 840-847
113, 113, 107, 105, 105, 106, 106, 111, // 848-855
111, 113, 119, 121, 135, 142, 135, 156, // 856-863
152, 138, 166, 136, 143, 145, 124, 130, // 864-871
123, 115, 113, 116, 108, 115, 117, 117, // 872-879
126, 132, 133, 142, 142, 142, 143, 140, // 880-887
136, 134, 128, 119, 119, 112, 110, 111, // 888-895
107, 108, 112, 108, 112, 114, 115, 126, // 896-903
135, 131, 143, 156, 134, 160, 149, 138, // 904-911
155, 133, 135, 133, 122, 116, 119, 110, // 912-919
112, 115, 112, 118, 125, 123, 135, 138, // 920-927
136, 146, 140, 142, 140, 134, 130, 125, // 928-935
119, 116, 113, 111, 110, 111, 110, 110, // 936-943
112, 111, 114, 118, 129, 131, 132, 152, // 944-951
136, 149, 157, 136, 158, 140, 139, 139, // 952-959
129, 121, 120, 113, 110, 112, 109, 112, // 960-967
118, 120, 123, 138, 131, 143, 144, 140, // 968-975
146, 140, 135, 134, 126, 120, 119, 113, // 976-983
112, 112, 110, 110, 111, 110, 112, 112, // 984-991
115, 125, 130, 125, 149, 140, 140, 164, // 992-999
134, 157, 148, 138, 144, 133, 125, 123, // 1000-1007
117, 109, 113, 108, 108, 114, 115, 119, // 1008-1015
131, 131, 138, 144, 141, 146, 144, 139, // 1016-1023
138, 133, 125, 123, 118, 113, 114, 111, // 1024-1031
111, 112, 110, 112, 112, 111, 115, 119, // 1032-1039
127, 123, 139, 143, 131, 162, 139, 148, // 1040-1047
157, 138, 149, 139, 131, 128, 122, 111, // 1048-1055
114, 107, 106, 112, 111, 114, 125, 124, // 1056-1063
135, 140, 139, 146, 143, 143, 140, 139, // 1064-1071
131, 130, 123, 119, 118, 114, 113, 114, // 1072-1079
112, 112, 112, 111, 112, 111, 112, 119, // 1080-1087
123, 120, 141, 136, 136, 160, 137, 157, // 1088-1095
152, 143, 152, 138, 135, 130, 121, 112, // 1096-1103
113, 106, 106, 110, 109, 113, 122, 122, // 1104-1111
133, 138, 139, 145, 143, 144, 143, 140, // 1112-1119
135, 132, 125, 122, 120, 117, 116, 116, // 1120-1127
114, 115, 114, 112, 112, 110, 110, 111, // 1128-1135
114, 120, 121, 128, 141, 131, 151, 147, // 1136-1143
144, 162, 143, 153, 145, 138, 135, 127, // 1144-1151
118, 116, 111, 106, 110, 108, 111, 116, // 1152-1159
120, 124, 134, 135, 140, 143, 143, 143, // 1160-1167
143, 138, 136, 133, 128, 126, 121, 120, // 1168-1175
120, 117, 116, 116, 114, 114, 112, 111, // 1176-1183
110, 110, 110, 112, 118, 120, 121, 139, // 1184-1191
133, 142, 155, 140, 162, 150, 149, 154, // 1192-1199
142, 140, 134, 124, 118, 115, 107, 108, // 1200-1207
108, 107, 112, 116, 118, 129, 130, 136, // 1208-1215
141, 140, 143, 143, 142, 139, 138, 133, // 1216-1223
131, 127, 123, 123, 119, 118, 116, 114, // 1224-1231
113, 112, 112, 111, 111, 109, 110, 112, // 1232-1239
112, 120, 123, 124, 140, 136, 143, 156, // 1240-1247
143, 162, 152, 150, 154, 143, 142, 134, // 1248-1255
126, 119, 116, 110, 108, 108, 107, 110, // 1256-1263
114, 116, 123, 129, 132, 138, 141, 141, // 1264-1271
144, 143, 142, 142, 136, 135, 131, 126, // 1272-1279
122, 120, 115, 115, 112, 111, 112, 111, // 1280-1287
112, 112, 112, 114, 113, 115, 118, 119, // 1288-1295
125, 130, 130, 143, 139, 143, 154, 143, // 1296-1303
157, 149, 147, 149, 141, 139, 132, 125, // 1304-1311
118, 115, 110, 107, 108, 106, 109, 113, // 1312-1319
115, 123, 128, 133, 139, 140, 143, 143, // 1320-1327
143, 142, 140, 136, 131, 129, 123, 120, // 1328-1335
116, 114, 112, 112, 112, 112, 114, 115, // 1336-1343
117, 119, 120, 121, 121, 121, 123, 122, // 1344-1351
127, 128, 130, 134, 138, 136, 143, 144, // 1352-1359
143, 151, 143, 146, 143, 138, 135, 129, // 1360-1367
122, 118, 114, 110, 110, 109, 109, 112, // 1368-1375
115, 118, 125, 129, 134, 139, 140, 142, // 1376-1383
142, 141, 139, 136, 133, 129, 125, 120, // 1384-1391
119, 116, 114, 115, 114, 115, 117, 118, // 1392-1399
120, 123, 124, 126, 127, 128, 126, 125, // 1400-1407
124, 123, 125, 127, 123, 133, 131, 130, // 1408-1415
142, 135, 140, 145, 139, 144, 142, 137, // 1416-1423
136, 131, 124, 121, 118, 112, 112, 112, // 1424-1431
111, 115, 116, 119, 125, 128, 133, 136, // 1432-1439
138, 140, 139, 139, 137, 135, 133, 127, // 1440-1447
128, 122, 120, 120, 116, 118, 118, 118, // 1448-1455
121, 121, 124, 125, 126, 127, 127, 128, // 1456-1463
125, 124, 123, 120, 120, 122, 121, 121, // 1464-1471
129, 129, 130, 140, 135, 140, 144, 141, // 1472-1479
143, 142, 138, 136, 131, 125, 121, 119, // 1480-1487
114, 112, 114, 112, 115, 118, 119, 125, // 1488-1495
129, 132, 135, 138, 138, 138, 139, 136, // 1496-1503
134, 133, 128, 127, 124, 121, 121, 119, // 1504-1511
119, 120, 120, 121, 122, 124, 124, 125, // 1512-1519
126, 125, 125, 124, 123, 122, 121, 119, // 1520-1527
119, 120, 122, 123, 128, 130, 131, 137, // 1528-1535
139, 140, 143, 143, 142, 142, 139, 135, // 1536-1543
132, 127, 123, 120, 118, 115, 115, 116, // 1544-1551
116, 119, 122, 124, 129, 131, 133, 134, // 1552-1559
135, 135, 134, 133, 131, 129, 127, 124, // 1560-1567
123, 123, 121, 121, 121, 121, 123, 123, // 1568-1575
124, 125, 125, 127, 128, 127, 128, 126, // 1576-1583
125, 125, 124, 124, 123, 123, 124, 124, // 1584-1591
125, 125, 128, 129, 130, 131, 131, 132, // 1592-1599
133, 133, 133, 132, 132, 131, 130, 130, // 1600-1607
129, 127, 128, 127, 128, 127, 129, 129, // 1608-1615
129, 129, 128, 127, 126, 125, 124, 123, // 1616-1623
123, 122, 121, 121, 121, 122, 123, 124, // 1624-1631
124, 125, 127, 129, 129, 130, 130, 130, // 1632-1639
130, 130, 129, 129, 127, 126, 125, 125, // 1640-1647
125, 124, 124, 124, 125, 125, 125, 126, // 1648-1655
128, 127, 129, 129, 129, 129, 129, 129, // 1656-1663
129, 129, 128, 127, 128, 127, 128, 126, // 1664-1671
126, 126, 128, 128, 127, 128, 128, 128, // 1672-1679
127, 128, 126, 126, 126, 125, 125, 125, // 1680-1687
125, 125, 126, 126, 126, 128, 127, 128, // 1688-1695
128, 129, 129, 129, 129, 128, 127, 128, // 1696-1703
127, 128, 127, 126, 126, 126, 126, 126, // 1704-1711
126, 126, 128, 127, 128, 127, 128, 127, // 1712-1719
128, 127, 128, 128, 127, 126, 126, 126, // 1720-1727
126, 126, 126, 127, 126, 128, 127, 128, // 1728-1735
129, 128, 129, 129, 129, 129, 127, 128, // 1736-1743
128, 127, 128, 126, 126, 126, 125, 126, // 1744-1751
125, 126, 125, 126, 126, 126, 128, 127, // 1752-1759
128, 127, 128, 128, 128, 127, 128, 127, // 1760-1767
128, 128, 127, 128, 127, 128, 127, 128, // 1768-1775
127, 128, 128, 126, 128, 127, 126, 128, // 1776-1783
126, 128, 126, 128, 127, 128, 127, 128, // 1784-1791
128, 127, 128, 127, 128, 129, 129, 129, // 1792-1799
129, 128, 127, 128, 127, 128, 127, 126, // 1800-1807
127, 126, 127, 126, 126, 126, 126, 126, // 1808-1815
126, 126, 127, 128, 127, 128, 127, 128, // 1816-1823
127, 128, 127, 128, 127, 128, 128, 127, // 1824-1831
128, 127, 128, 127, 128, 127, 127, 128, // 1832-1839
127, 128, 127, 128, 127, 128, 127, 127, // 1840-1847
128, 127, 128, 127, 127, 126, 126, 128, // 1848-1855
127, 128, 127, 128, 127, 128, 127, 128, // 1856-1863
128, 127, 128, 127, 128, 128, 126, 126, // 1864-1871
126, 126, 126, 126, 126, 126, 126, 126, // 1872-1879
128, 127, 128, 127, 128, 128, 127, 128, // 1880-1887
127, 128, 128, 127, 128, 128, 127, 128, // 1888-1895
127, 128, 127, 128, 127, 128, 127, 128, // 1896-1903
127, 128, 128, 126, 126, 126, 126, 126, // 1904-1911
126, 126, 126, 126, 126, 126, 127, 128, // 1912-1919
127, 128, 127, 128, 127, 128, 128, 127, // 1920-1927
128, 127, 128, 127, 128, 127, 128, 128, // 1928-1935
127, 128, 128, 127, 128, 127, 128, 127, // 1936-1943
128, 127, 128, 128, 127, 128, 127, 128, // 1944-1951
127, 128, 128, 127, 128, 127, 128, 127, // 1952-1959
128, 127, 128, 127, 128, 127, 128, 128, // 1960-1967
127, 126, 126, 126, 128, 127, 128, 127, // 1968-1975
128, 127, 128, 127, 128, 127, 128, 127, // 1976-1983
128, 127, 128, 127, 128, 128, 128, 128, // 1984-1991
127, 128, 127, 128, 127, 128, 127, 128, // 1992-1999
128, 127, 128, 127, 128, 127, 128, 128, // 2000-2007
127, 128, 127, 128, 127, 128, 128, 127, // 2008-2015
128, 128, 128, 127, 128, 128, 128, 128, // 2016-2023
127, 128, 127, 128, 127, 128, 128, 128, // 2024-2031
128, 128, 128, 128, 128, 128, 128, 128, // 2032-2039
128, 128, 128, 127, 128, 127, 128, 128, // 2040-2047
127, 128, 128, 127, 128, 127, 128, 127, // 2048-2055
128, 128, 128, 127, 128, 127, 127, 128, // 2056-2063
127, 128, 127, 128, 127, 128, 128, 127, // 2064-2071
128, 128, 128, 127, 128, 128, 128, 127, // 2072-2079
128, 128, 127, 128, 127, 128, 127, 128, // 2080-2087
127, 128, 127, 128, 127, 128, 128, 127, // 2088-2095
128, 127, 128, 127, 128, 127, 128, 127, // 2096-2103
128, 127, 128, 127, 128, 128, 127, 128, // 2104-2111
127, 128, 127, 128, 128, 127, 128, 128, // 2112-2119
127, 128, 127, 128, 127, 128, 128, 128, // 2120-2127
128, 127, 128, 128, 128, 128, 128, 127, // 2128-2135
128, 127, 128, 127, 128, 128, 127, 128, // 2136-2143
128, 127, 128, 127, 128, 128, 127, 128, // 2144-2151
127, 127, 128, 127, 128, 127, 128, 127, // 2152-2159
128, 128, 128, 127, 128, 128, 128, 128, // 2160-2167
127, 128, 128, 128, 128, 127, 128, 127, // 2168-2175
128, 127, 128, 128, 127, 128, 127, 128, // 2176-2183
128, 127, 128, 127, 128, 127, 128, 127, // 2184-2191
128, 127, 128, 127, 128, 127, 128, 127, // 2192-2199
128, 128, 128, 127, 128, 127, 127, 128, // 2200-2207
127, 128, 128, 127, 128, 127, 128, 127, // 2208-2215
128, 127, 128, 127, 128, 127, 128, 127, // 2216-2223
128, 127, 128, 128, 127, 128, 127, 128, // 2224-2231
128, 127, 128, 127, 128, 127, 128, 127, // 2232-2239
128, 128, 127, 128, 128, 127, 128, 127, // 2240-2247
128, 128, 127, 128, 128, 128, 127, 128, // 2248-2255
127, 128, 127, 128, 127, 128, 127, 128, // 2256-2263
127, 128, 127, 128, 127, 128, 128, 127, // 2264-2271
128, 127, 128, 127, 128, 128, 127, 128, // 2272-2279
127, 128, 128, 127, 128, 128, 127, 128, // 2280-2287
127, 128, 128, 127, 128, 127, 128, 127, // 2288-2295
128, 127, 128, 128, 127, 128, 127, 128, // 2296-2303
127, 128, 128, 127, 128, 128, 127, 128, // 2304-2311
127, 128, 127, 128, 127, 128, 127, 128, // 2312-2319
127, 128, 127, 128, 127, 128, 127, 128, // 2320-2327
127, 128, 128, 128, 127, 128, 127, 128, // 2328-2335
127, 128, 128, 127, 128, 127, 128, 127, // 2336-2343
128, 127, 128, 127, 128, 128, 127, 128, // 2344-2351
127, 128, 127, 128, 128, 127, 128, 127, // 2352-2359
128, 127, 128, 128, 127, 128, 127, 128, // 2360-2367
128, 127, 128, 127, 128, 127, 128, 128, // 2368-2375
127, 128, 128, 127, 128, 128, 128, 128, // 2376-2383
127, 128, 127, 128, 127, 128, 127, 128, // 2384-2391
127, 128, 127, 128, 128, 127, 128, 127, // 2392-2399
128, 127, 128, 127, 128, 127, 128, 129, // 2400-2407
132, 131, 119, 127, 130, 119, 134, 128, // 2408-2415
128, 126, 128, 125, 124, 131, 122, 131, // 2416-2423
125, 126, 130, 124, 129, 129, 128, 133, // 2424-2431
134, 123, 124, 130, 120, 129, 128, 121, // 2432-2439
131, 123, 126, 126, 125, 136, 131, 122, // 2440-2447
133, 123, 125, 131, 120, 131, 123, 125, // 2448-2455
129, 122, 130, 125, 124, 131, 124, 129, // 2456-2463
129, 128, 129, 126, 129, 126, 127, 128, // 2464-2471
126, 127, 125, 127, 128, 125, 129, 126, // 2472-2479
129, 129, 125, 129, 128, 127, 126, 128, // 2480-2487
129, 126, 126, 129, 126, 127, 130, 125, // 2488-2495
129, 125, 126, 129, 125, 128, 128, 125, // 2496-2503
129, 128, 126, 129, 127, 126, 129, 128, // 2504-2511
127, 128, 126, 129, 125, 129, 125, 126, // 2512-2519
129, 123, 130, 125, 128, 129, 125, 131, // 2520-2527
126, 127, 130, 125, 129, 128, 125, 130, // 2528-2535
123, 130, 129, 123, 131, 127, 126, 129, // 2536-2543
126, 127, 129, 126, 127, 128, 125, 129, // 2544-2551
126, 128, 128, 125, 129, 125, 129, 126, // 2552-2559
126, 130, 124, 127, 130, 125, 127, 128, // 2560-2567
128, 125, 129, 127, 125, 129, 126, 125, // 2568-2575
131, 125, 125, 132, 124, 129, 128, 127, // 2576-2583
131, 124, 128, 131, 123, 128, 131, 124, // 2584-2591
130, 128, 125, 129, 127, 126, 130, 125, // 2592-2599
125, 131, 124, 129, 130, 124, 129, 129, // 2600-2607
124, 130, 128, 124, 130, 125, 127, 129, // 2608-2615
124, 130, 129, 123, 131, 125, 128, 131, // 2616-2623
123, 129, 129, 124, 127, 128, 126, 127, // 2624-2631
125, 130, 126, 126, 129, 126, 128, 128, // 2632-2639
129, 125, 129, 127, 127, 128, 127, 129, // 2640-2647
124, 130, 125, 124, 131, 123, 131, 128, // 2648-2655
124, 131, 124, 129, 128, 125, 129, 129, // 2656-2663
124, 131, 124, 128, 129, 126, 129, 123, // 2664-2671
130, 129, 124, 130, 125, 125, 132, 122, // 2672-2679
130, 125, 125, 129, 121, 131, 125, 129, // 2680-2687
130, 124, 129, 125, 126, 129, 125, 131, // 2688-2695
124, 128, 129, 120, 134, 128, 120, 135, // 2696-2703
124, 124, 132, 124, 125, 134, 116, 133, // 2704-2711
130, 116, 138, 120, 127, 132, 119, 135, // 2712-2719
124, 123, 135, 119, 133, 129, 118, 138, // 2720-2727
122, 124, 133, 121, 130, 127, 122, 131, // 2728-2735
129, 124, 131, 124, 130, 126, 122, 137, // 2736-2743
118, 129, 136, 116, 131, 130, 121, 131, // 2744-2751
127, 123, 131, 128, 123, 134, 123, 124, // 2752-2759
136, 118, 131, 132, 118, 134, 129, 123, // 2760-2767
129, 130, 123, 129, 133, 116, 134, 129, // 2768-2775
116, 140, 119, 125, 133, 124, 129, 125, // 2776-2783
128, 125, 129, 128, 123, 133, 126, 121, // 2784-2791
134, 123, 125, 132, 121, 131, 130, 118, // 2792-2799
136, 121, 129, 130, 125, 126, 130, 126, // 2800-2807
123, 133, 123, 129, 126, 129, 125, 130, // 2808-2815
124, 132, 125, 121, 139, 116, 135, 122, // 2816-2823
128, 134, 116, 136, 122, 129, 129, 124, // 2824-2831
129, 129, 124, 131, 124, 129, 130, 120, // 2832-2839
134, 124, 126, 132, 123, 130, 131, 118, // 2840-2847
134, 128, 121, 134, 124, 130, 128, 131, // 2848-2855
119, 133, 129, 123, 130, 130, 121, 136, // 2856-2863
125, 119, 140, 115, 130, 136, 115, 136, // 2864-2871
125, 120, 144, 108, 138, 131, 112, 142, // 2872-2879
118, 128, 136, 114, 139, 124, 118, 142, // 2880-2887
112, 135, 130, 117, 136, 125, 125, 125, // 2888-2895
133, 123, 125, 134, 120, 132, 131, 112, // 2896-2903
149, 112, 125, 142, 110, 140, 124, 123, // 2904-2911
130, 133, 119, 130, 133, 118, 134, 130, // 2912-2919
118, 137, 125, 117, 142, 119, 122, 142, // 2920-2927
111, 136, 129, 119, 137, 119, 129, 131, // 2928-2935
119, 136, 121, 129, 133, 116, 139, 118, // 2936-2943
128, 134, 116, 136, 125, 119, 136, 122, // 2944-2951
125, 130, 128, 125, 126, 130, 122, 131, // 2952-2959
125, 123, 132, 123, 128, 130, 124, 127, // 2960-2967
130, 121, 130, 131, 121, 130, 129, 123, // 2968-2975
133, 120, 130, 132, 119, 133, 124, 129, // 2976-2983
129, 125, 130, 120, 137, 118, 130, 130, // 2984-2991
121, 133, 122, 132, 122, 131, 124, 126, // 2992-2999
130, 124, 129, 129, 123, 132, 128, 119, // 3000-3007
139, 121, 125, 135, 118, 132, 131, 119, // 3008-3015
131, 131, 121, 133, 128, 118, 143, 115, // 3016-3023
123, 144, 110, 139, 129, 113, 143, 120, // 3024-3031
119, 140, 120, 123, 136, 118, 131, 132, // 3032-3039
114, 139, 123, 123, 133, 122, 131, 124, // 3040-3047
130, 121, 131, 131, 117, 133, 131, 120, // 3048-3055
124, 140, 112, 135, 134, 110, 143, 129, // 3056-3063
108, 143, 129, 112, 141, 125, 116, 143, // 3064-3071
119, 121, 142, 113, 130, 137, 113, 136, // 3072-3079
130, 119, 131, 130, 120, 132, 129, 121, // 3080-3087
133, 128, 118, 138, 121, 121, 142, 112, // 3088-3095
135, 135, 111, 140, 127, 116, 141, 119, // 3096-3103
121, 144, 112, 129, 136, 118, 130, 130, // 3104-3111
121, 129, 132, 121, 130, 129, 121, 136, // 3112-3119
118, 130, 133, 118, 137, 119, 134, 123, // 3120-3127
130, 128, 123, 135, 121, 127, 131, 129, // 3128-3135
119, 138, 121, 123, 140, 111, 136, 134, // 3136-3143
112, 140, 125, 118, 139, 123, 119, 140, // 3144-3151
122, 119, 140, 120, 121, 139, 119, 123, // 3152-3159
142, 116, 129, 134, 119, 133, 128, 123, // 3160-3167
129, 131, 122, 126, 134, 122, 125, 128, // 3168-3175
135, 117, 130, 134, 122, 130, 122, 131, // 3176-3183
130, 120, 131, 128, 130, 119, 131, 133, // 3184-3191
114, 140, 119, 127, 135, 117, 132, 131, // 3192-3199
116, 136, 123, 124, 134, 120, 132, 127, // 3200-3207
124, 124, 135, 121, 121, 140, 117, 128, // 3208-3215
133, 123, 125, 128, 133, 115, 136, 124, // 3216-3223
118, 143, 112, 131, 136, 113, 136, 132, // 3224-3231
112, 143, 123, 118, 140, 123, 119, 137, // 3232-3239
123, 125, 131, 123, 135, 118, 130, 135, // 3240-3247
114, 136, 125, 120, 137, 119, 130, 127, // 3248-3255
129, 124, 128, 129, 124, 129, 125, 126, // 3256-3263
126, 129, 125, 128, 125, 130, 128, 125, // 3264-3271
127, 131, 123, 126, 135, 115, 142, 119, // 3272-3279
121, 143, 110, 139, 123, 123, 138, 117, // 3280-3287
129, 126, 133, 119, 125, 140, 114, 133, // 3288-3295
133, 112, 140, 128, 112, 146, 119, 120, // 3296-3303
143, 110, 134, 129, 120, 131, 125, 129, // 3304-3311
126, 131, 121, 124, 136, 119, 124, 136, // 3312-3319
120, 130, 127, 123, 135, 120, 129, 130, // 3320-3327
122, 133, 123, 128, 131, 125, 125, 125, // 3328-3335
131, 125, 125, 125, 135, 121, 122, 140, // 3336-3343
112, 135, 127, 119, 137, 118, 136, 123, // 3344-3351
121, 133, 124, 127, 126, 124, 134, 120, // 3352-3359
127, 133, 118, 138, 120, 129, 131, 123, // 3360-3367
131, 122, 131, 125, 124, 132, 123, 130, // 3368-3375
127, 124, 134, 120, 132, 128, 124, 133, // 3376-3383
120, 134, 120, 131, 134, 114, 143, 117, // 3384-3391
127, 135, 115, 140, 115, 134, 131, 121, // 3392-3399
130, 125, 131, 123, 127, 130, 122, 131, // 3400-3407
128, 124, 133, 122, 135, 121, 131, 129, // 3408-3415
120, 131, 125, 127, 126, 128, 123, 133, // 3416-3423
123, 130, 125, 129, 130, 122, 131, 125, // 3424-3431
133, 123, 129, 130, 119, 131, 125, 124, // 3432-3439
130, 124, 130, 123, 130, 130, 124, 134, // 3440-3447
121, 134, 122, 126, 131, 116, 139, 116, // 3448-3455
133, 125, 123, 135, 118, 135, 121, 134, // 3456-3463
129, 118, 135, 120, 131, 124, 124, 135, // 3464-3471
120, 129, 124, 130, 129, 123, 131, 123, // 3472-3479
130, 124, 124, 134, 123, 128, 125, 129, // 3480-3487
129, 124, 129, 131, 125, 124, 129, 126, // 3488-3495
128, 124, 129, 124, 131, 123, 130, 129, // 3496-3503
120, 134, 124, 128, 130, 122, 134, 121, // 3504-3511
130, 123, 130, 129, 116, 140, 116, 135, // 3512-3519
123, 125, 134, 119, 134, 122, 132, 124, // 3520-3527
125, 129, 125, 129, 125, 128, 131, 123, // 3528-3535
127, 131, 128, 131, 128, 130, 125, 128, // 3536-3543
123, 125, 123, 125, 125, 128, 125, 128, // 3544-3551
126, 125, 130, 125, 129, 129, 129, 127, // 3552-3559
126, 124, 128, 124, 124, 128, 124, 129, // 3560-3567
125, 127, 129, 125, 129, 125, 128, 129, // 3568-3575
124, 129, 125, 125, 127, 124, 127, 128, // 3576-3583
125, 127, 128, 129, 128, 126, 130, 125, // 3584-3591
129, 126, 128, 128, 124, 129, 125, 129, // 3592-3599
126, 127, 129, 125, 130, 125, 127, 126, // 3600-3607
126, 125, 125, 129, 125, 127, 126, 127, // 3608-3615
128, 126, 128, 129, 126, 129, 127, 127, // 3616-3623
128, 125, 126, 127, 127, 125, 126, 128, // 3624-3631
128, 127, 128, 127, 129, 126, 129, 127, // 3632-3639
128, 125, 126, 128, 125, 126, 125, 128, // 3640-3647
126, 125, 128, 128, 127, 128, 127, 128, // 3648-3655
128, 127, 128, 128, 126, 128, 127, 128, // 3656-3663
127, 126, 129, 127, 128, 127, 128, 127, // 3664-3671
126, 127, 128, 127, 128, 128, 126, 128, // 3672-3679
126, 126, 127, 128, 127, 128, 127, 128, // 3680-3687
127, 126, 127, 128, 128, 127, 129, 127, // 3688-3695
128, 126, 126, 128, 126, 128, 127, 128, // 3696-3703
128, 127, 128, 127, 128, 126, 127, 128, // 3704-3711
127, 128, 128, 127, 128, 126, 128, 127, // 3712-3719
128, 127, 128, 127, 128, 127, 128, 127, // 3720-3727
127, 126, 126, 126, 126, 126, 126, 126, // 3728-3735
128, 128, 127, 128, 127, 128, 127, 128, // 3736-3743
126, 127, 127, 126, 125, 126, 126, 126, // 3744-3751
128, 126, 127, 126, 127, 126, 127, 128, // 3752-3759
128, 128, 128, 126, 126, 126, 126, 128, // 3760-3767
127, 128, 127, 128, 128, 127, 128, 128, // 3768-3775
127, 126, 126, 128, 127, 126, 127, 128, // 3776-3783
127, 128, 127, 128, 128, 128, 128, 128, // 3784-3791
128, 128, 126, 128, 128, 126, 126, 127, // 3792-3799
128, 127, 128, 127, 128, 127, 128, 127, // 3800-3807
128, 126, 128, 127, 128, 127, 128, 128, // 3808-3815
128, 127, 128, 127, 128, 128, 127, 128, // 3816-3823
127, 128, 128, 127, 128, 128, 128, 128, // 3824-3831
127, 128, 127, 127, 128, 127, 128, 127, // 3832-3839
126, 128, 126, 126, 126, 127, 126, 126, // 3840-3847
126, 126, 126, 126, 126, 126, 126, 126, // 3848-3855
126, 126, 128, 126, 126, 128, 128, 128, // 3856-3863
127, 127, 128, 128, 128, 128, 128, 127, // 3864-3871
128, 127, 128, 128, 128, 128, 127, 128, // 3872-3879
126, 126, 128, 128, 127, 128, 127, 128, // 3880-3887
127, 128, 128, 128, 128, 128, 128, 128, // 3888-3895
127, 128, 128, 127, 128, 127, 128, 127, // 3896-3903
128, 128, 128, 127, 128, 127, 128, 127, // 3904-3911
128, 127, 128, 127, 127, 128, 127, 128, // 3912-3919
127, 127, 128, 128, 128, 128, 127, 128, // 3920-3927
127, 128, 127, 128, 127, 128, 127, 127, // 3928-3935
128, 127, 128, 127, 128, 127, 128, 128};

const char I[2701] = {129, 131, 135, 129, 126, 125, 125, 129, // 0-7
130, 131, 132, 128, 121, 115, 112, 117, // 8-15
125, 131, 129, 117, 105, 102, 112, 138, // 16-23
162, 170, 151, 124, 103, 101, 118, 136, // 24-31
149, 147, 139, 130, 120, 115, 112, 115, // 32-39
126, 138, 146, 143, 136, 124, 115, 117, // 40-47
123, 134, 139, 136, 130, 121, 120, 121, // 48-55
126, 129, 126, 120, 114, 112, 115, 118, // 56-63
119, 114, 110, 110, 130, 172, 178, 156, // 64-71
120,  77,  97, 116, 155, 166, 145, 132, // 72-79
113, 115, 119, 117, 120, 125, 138, 148, // 80-87
142, 130, 112, 110, 124, 141, 148, 142, // 88-95
125, 118, 114, 121, 129, 133, 136, 129, // 96-103
123, 112, 109, 112, 119, 125, 120, 111, // 104-111
105, 103, 120, 160, 184, 166, 136,  89, // 112-119
 87, 109, 138, 166, 152, 143, 123, 116, // 120-127
118, 116, 119, 125, 134, 143, 142, 134, // 128-135
121, 115, 122, 136, 146, 142, 127, 113, // 136-143
112, 119, 131, 137, 135, 125, 114, 107, // 144-151
108, 113, 118, 117, 111, 107, 113, 145, // 152-159
184, 180, 146,  99,  69, 103, 131, 176, // 160-167
170, 142, 120, 102, 114, 120, 124, 129, // 168-175
131, 141, 143, 134, 125, 112, 123, 134, // 176-183
143, 143, 126, 116, 113, 119, 130, 132, // 184-191
131, 123, 114, 112, 111, 115, 115, 112, // 192-199
108, 106, 118, 154, 184, 182, 144,  91, // 200-207
 69,  98, 133, 180, 172, 145, 118, 101, // 208-215
111, 118, 124, 130, 133, 141, 141, 135, // 216-223
124, 117, 128, 134, 142, 137, 124, 118, // 224-231
115, 123, 130, 131, 129, 119, 114, 112, // 232-239
112, 117, 114, 110, 103, 104, 124, 172, // 240-247
184, 178, 135,  71,  69, 101, 146, 184, // 248-255
168, 143, 110, 103, 112, 120, 129, 131, // 256-263
133, 138, 135, 132, 126, 123, 129, 133, // 264-271
136, 132, 124, 116, 118, 123, 130, 130, // 272-279
125, 116, 114, 115, 117, 118, 112, 106, // 280-287
101, 105, 133, 184, 184, 174, 123,  69, // 288-295
 73, 107, 159, 184, 164, 136, 107, 106, // 296-303
115, 124, 132, 131, 131, 134, 130, 132, // 304-311
130, 130, 131, 130, 130, 127, 122, 119, // 312-319
120, 123, 128, 125, 122, 116, 116, 116, // 320-327
118, 115, 108, 102,  99, 112, 156, 184, // 328-335
184, 158,  91,  69,  81, 125, 180, 180, // 336-343
155, 120, 101, 109, 118, 131, 134, 131, // 344-351
132, 129, 130, 133, 129, 132, 127, 131, // 352-359
130, 125, 121, 117, 120, 124, 126, 125, // 360-367
119, 116, 116, 118, 119, 112, 105,  97, // 368-375
 99, 123, 178, 184, 184, 138,  69,  69, // 376-383
 93, 148, 184, 172, 143, 111, 104, 113, // 384-391
124, 135, 133, 130, 130, 126, 133, 131, // 392-399
131, 130, 129, 131, 127, 124, 119, 118, // 400-407
121, 124, 125, 122, 117, 116, 118, 120, // 408-415
116, 108,  99,  95, 108, 149, 184, 184, // 416-423
168, 103,  69,  73, 116, 172, 184, 162, // 424-431
128, 103, 108, 117, 132, 136, 131, 130, // 432-439
125, 129, 132, 131, 133, 127, 130, 129, // 440-447
125, 121, 118, 119, 122, 124, 123, 119, // 448-455
117, 118, 119, 119, 112, 103,  95,  98, // 456-463
125, 180, 184, 184, 135,  73,  69,  95, // 464-471
148, 184, 172, 143, 111, 105, 114, 127, // 472-479
136, 131, 129, 125, 126, 133, 133, 134, // 480-487
128, 127, 127, 128, 125, 120, 119, 119, // 488-495
123, 123, 121, 119, 118, 119, 119, 115, // 496-503
108,  99,  95, 111, 155, 184, 184, 164, // 504-511
 99,  69,  79, 120, 172, 176, 157, 124, // 512-519
107, 112, 120, 134, 134, 129, 128, 124, // 520-527
131, 133, 133, 131, 127, 129, 127, 128, // 528-535
123, 119, 119, 121, 123, 123, 120, 119, // 536-543
119, 119, 116, 111, 103,  98, 106, 140, // 544-551
184, 184, 176, 116,  69,  73, 108, 160, // 552-559
178, 162, 134, 108, 110, 118, 131, 135, // 560-567
130, 129, 125, 129, 133, 131, 131, 127, // 568-575
129, 129, 129, 124, 120, 119, 120, 121, // 576-583
122, 121, 120, 119, 119, 117, 112, 106, // 584-591
100, 104, 131, 176, 184, 180, 132,  79, // 592-599
 71, 100, 147, 174, 164, 140, 112, 110, // 600-607
116, 128, 134, 131, 129, 125, 127, 133, // 608-615
132, 132, 127, 128, 129, 129, 126, 121, // 616-623
119, 119, 121, 121, 121, 120, 119, 119, // 624-631
118, 114, 108, 101, 101, 122, 166, 184, // 632-639
184, 143,  89,  71,  93, 137, 170, 166, // 640-647
144, 118, 110, 115, 124, 132, 131, 129, // 648-655
128, 126, 131, 130, 131, 131, 129, 131, // 656-663
128, 125, 121, 119, 121, 123, 124, 121, // 664-671
118, 118, 119, 120, 118, 112, 103,  99, // 672-679
112, 149, 184, 184, 158, 106,  75,  85, // 680-687
121, 160, 168, 152, 125, 112, 114, 121, // 688-695
129, 131, 130, 130, 129, 129, 129, 129, // 696-703
130, 132, 131, 130, 125, 122, 121, 121, // 704-711
124, 124, 123, 120, 118, 119, 121, 120, // 712-719
115, 108, 102, 104, 124, 164, 184, 176, // 720-727
140,  93,  79, 101, 137, 164, 160, 143, // 728-735
119, 114, 118, 124, 130, 129, 130, 130, // 736-743
128, 129, 127, 129, 131, 131, 132, 129, // 744-751
124, 120, 120, 121, 124, 125, 123, 119, // 752-759
119, 119, 120, 119, 114, 108, 103, 108, // 760-767
134, 170, 184, 168, 125,  89,  85, 110, // 768-775
146, 164, 156, 135, 118, 115, 120, 125, // 776-783
130, 129, 129, 129, 126, 129, 129, 130, // 784-791
132, 132, 131, 126, 123, 121, 121, 124, // 792-799
125, 125, 121, 119, 119, 120, 121, 118, // 800-807
112, 106, 104, 112, 141, 174, 182, 160, // 808-815
119,  87,  91, 116, 149, 162, 149, 132, // 816-823
116, 116, 121, 125, 129, 128, 130, 130, // 824-831
129, 129, 128, 129, 131, 133, 132, 128, // 832-839
123, 120, 120, 124, 126, 128, 123, 119, // 840-847
118, 119, 120, 118, 113, 108, 105, 112, // 848-855
138, 170, 180, 162, 122,  89,  91, 114, // 856-863
147, 160, 151, 133, 118, 118, 121, 125, // 864-871
129, 128, 129, 129, 127, 129, 128, 130, // 872-879
131, 133, 131, 126, 122, 120, 121, 124, // 880-887
128, 128, 123, 120, 119, 119, 119, 118, // 888-895
114, 110, 107, 108, 126, 158, 178, 170, // 896-903
137,  98,  89, 106, 138, 157, 154, 140, // 904-911
122, 118, 119, 123, 126, 127, 129, 131, // 912-919
129, 129, 126, 128, 131, 132, 133, 129, // 920-927
123, 120, 120, 124, 128, 129, 125, 120, // 928-935
118, 118, 120, 120, 118, 112, 108, 106, // 936-943
114, 139, 170, 178, 155, 120,  91,  97, // 944-951
120, 146, 157, 146, 133, 120, 119, 121, // 952-959
123, 126, 128, 130, 131, 128, 127, 125, // 960-967
130, 132, 133, 131, 125, 122, 120, 123, // 968-975
126, 130, 129, 125, 120, 118, 119, 120, // 976-983
119, 117, 112, 110, 108, 112, 133, 162, // 984-991
174, 160, 128,  97,  97, 114, 143, 155, // 992-999
148, 136, 122, 119, 119, 121, 125, 129, // 1000-1007
131, 131, 128, 127, 126, 130, 131, 132, // 1008-1015
132, 126, 123, 120, 123, 126, 129, 130, // 1016-1023
125, 121, 118, 118, 119, 119, 118, 114, // 1024-1031
111, 109, 111, 126, 155, 174, 166, 136, // 1032-1039
103,  93, 109, 137, 154, 153, 140, 124, // 1040-1047
118, 118, 120, 124, 130, 132, 134, 130, // 1048-1055
125, 125, 126, 132, 133, 133, 129, 123, // 1056-1063
121, 122, 126, 130, 131, 129, 123, 119, // 1064-1071
117, 118, 120, 120, 119, 114, 111, 109, // 1072-1079
112, 128, 156, 172, 162, 135, 103,  97, // 1080-1087
111, 138, 153, 150, 139, 124, 118, 118, // 1088-1095
120, 125, 131, 134, 134, 129, 124, 124, // 1096-1103
128, 133, 134, 133, 129, 123, 121, 123, // 1104-1111
127, 130, 131, 130, 124, 120, 116, 117, // 1112-1119
120, 121, 120, 115, 111, 108, 108, 120, // 1120-1127
145, 170, 168, 146, 113,  97, 106, 127, // 1128-1135
148, 151, 143, 129, 119, 118, 119, 124, // 1136-1143
130, 134, 133, 130, 123, 122, 125, 131, // 1144-1151
136, 134, 130, 123, 120, 123, 125, 131, // 1152-1159
132, 130, 125, 121, 118, 117, 119, 121, // 1160-1167
121, 119, 113, 109, 107, 110, 124, 151, // 1168-1175
170, 164, 140, 110,  99, 111, 132, 148, // 1176-1183
146, 139, 125, 121, 120, 121, 124, 130, // 1184-1191
134, 132, 129, 123, 123, 128, 134, 137, // 1192-1199
134, 129, 123, 120, 124, 127, 131, 131, // 1200-1207
130, 125, 121, 119, 118, 120, 122, 122, // 1208-1215
119, 112, 108, 107, 109, 120, 143, 168, // 1216-1223
168, 147, 118,  99, 107, 123, 143, 148, // 1224-1231
142, 133, 122, 121, 121, 123, 128, 131, // 1232-1239
133, 130, 125, 123, 127, 131, 136, 135, // 1240-1247
131, 125, 120, 121, 126, 131, 133, 131, // 1248-1255
127, 123, 119, 118, 119, 122, 123, 121, // 1256-1263
115, 110, 108, 108, 112, 125, 149, 170, // 1264-1271
164, 143, 111,  97, 107, 127, 149, 149, // 1272-1279
142, 131, 121, 121, 119, 122, 126, 132, // 1280-1287
136, 132, 129, 123, 124, 131, 134, 136, // 1288-1295
131, 125, 121, 120, 126, 131, 134, 133, // 1296-1303
128, 122, 118, 119, 120, 123, 124, 120, // 1304-1311
115, 110, 107, 108, 111, 121, 143, 166, // 1312-1319
170, 150, 118,  95, 101, 120, 146, 153, // 1320-1327
146, 134, 122, 120, 119, 121, 124, 130, // 1328-1335
136, 138, 131, 125, 121, 125, 132, 134, // 1336-1343
135, 130, 125, 123, 124, 127, 132, 133, // 1344-1351
131, 125, 121, 119, 121, 124, 123, 120, // 1352-1359
116, 114, 111, 108, 109, 111, 119, 139, // 1360-1367
164, 172, 152, 121,  95,  99, 120, 144, // 1368-1375
155, 147, 135, 123, 120, 119, 119, 123, // 1376-1383
129, 136, 139, 135, 125, 122, 122, 129, // 1384-1391
133, 133, 131, 129, 126, 125, 125, 127, // 1392-1399
131, 132, 130, 124, 121, 121, 122, 123, // 1400-1407
120, 116, 114, 112, 111, 108, 110, 112, // 1408-1415
121, 139, 160, 166, 149, 121, 100, 101, // 1416-1423
123, 143, 155, 147, 136, 124, 119, 119, // 1424-1431
119, 124, 131, 138, 139, 133, 125, 120, // 1432-1439
123, 127, 131, 132, 130, 130, 128, 128, // 1440-1447
125, 126, 131, 131, 132, 126, 123, 121, // 1448-1455
121, 121, 119, 117, 114, 113, 113, 111, // 1456-1463
112, 112, 116, 124, 140, 158, 162, 144, // 1464-1471
119, 102, 109, 130, 147, 153, 143, 134, // 1472-1479
123, 121, 120, 120, 125, 133, 139, 137, // 1480-1487
130, 123, 121, 124, 129, 130, 130, 129, // 1488-1495
130, 131, 129, 127, 128, 130, 131, 130, // 1496-1503
126, 122, 121, 121, 121, 120, 116, 115, // 1504-1511
114, 115, 114, 111, 112, 113, 118, 128, // 1512-1519
140, 156, 160, 142, 122, 108, 114, 133, // 1520-1527
144, 149, 142, 134, 126, 121, 120, 120, // 1528-1535
127, 135, 138, 135, 126, 121, 122, 124, // 1536-1543
128, 129, 130, 130, 131, 133, 130, 129, // 1544-1551
125, 126, 130, 129, 127, 122, 120, 121, // 1552-1559
121, 120, 117, 115, 115, 115, 116, 113, // 1560-1567
112, 114, 117, 123, 130, 143, 157, 157, // 1568-1575
141, 120, 111, 119, 136, 146, 148, 140, // 1576-1583
133, 125, 121, 119, 120, 129, 135, 136, // 1584-1591
131, 123, 120, 121, 125, 130, 130, 131, // 1592-1599
130, 129, 129, 131, 130, 129, 129, 128, // 1600-1607
128, 125, 123, 121, 121, 123, 121, 118, // 1608-1615
115, 114, 115, 116, 117, 115, 114, 117, // 1616-1623
120, 125, 131, 143, 158, 158, 141, 120, // 1624-1631
112, 120, 139, 146, 146, 138, 132, 125, // 1632-1639
119, 116, 119, 128, 135, 135, 129, 121, // 1640-1647
120, 124, 128, 129, 130, 131, 131, 129, // 1648-1655
125, 127, 131, 131, 132, 127, 123, 122, // 1656-1663
121, 124, 125, 124, 123, 119, 118, 115, // 1664-1671
115, 118, 119, 119, 117, 116, 119, 123, // 1672-1679
125, 129, 142, 157, 162, 143, 120, 112, // 1680-1687
118, 137, 142, 142, 137, 132, 128, 118, // 1688-1695
113, 116, 125, 135, 135, 127, 122, 121, // 1696-1703
124, 126, 127, 130, 133, 133, 129, 123, // 1704-1711
122, 128, 134, 136, 130, 124, 119, 120, // 1712-1719
123, 124, 128, 125, 124, 121, 116, 115, // 1720-1727
117, 121, 123, 120, 119, 118, 119, 122, // 1728-1735
123, 126, 135, 150, 162, 152, 130, 115, // 1736-1743
114, 126, 135, 137, 139, 137, 133, 121, // 1744-1751
112, 113, 122, 132, 134, 130, 126, 125, // 1752-1759
125, 124, 125, 129, 133, 134, 130, 125, // 1760-1767
123, 125, 129, 129, 130, 132, 131, 124, // 1768-1775
121, 119, 124, 130, 130, 129, 123, 120, // 1776-1783
118, 116, 119, 123, 125, 124, 119, 116, // 1784-1791
115, 118, 123, 124, 131, 143, 154, 155, // 1792-1799
135, 117, 116, 120, 131, 134, 137, 141, // 1800-1807
135, 124, 114, 112, 120, 129, 132, 133, // 1808-1815
132, 131, 127, 124, 123, 125, 130, 133, // 1816-1823
131, 129, 125, 125, 125, 125, 129, 132, // 1824-1831
131, 128, 124, 124, 125, 128, 130, 130, // 1832-1839
126, 123, 119, 118, 120, 121, 124, 125, // 1840-1847
124, 119, 114, 114, 116, 122, 126, 130, // 1848-1855
139, 148, 153, 142, 123, 119, 119, 126, // 1856-1863
132, 134, 141, 139, 130, 119, 114, 119, // 1864-1871
125, 130, 133, 134, 134, 130, 124, 123, // 1872-1879
124, 128, 131, 131, 130, 129, 125, 123, // 1880-1887
123, 124, 128, 130, 132, 133, 128, 125, // 1888-1895
125, 125, 126, 125, 126, 125, 122, 121, // 1896-1903
120, 120, 121, 122, 124, 122, 117, 115, // 1904-1911
117, 120, 125, 126, 129, 136, 146, 151, // 1912-1919
142, 125, 121, 121, 124, 128, 133, 141, // 1920-1927
140, 131, 121, 118, 119, 123, 125, 132, // 1928-1935
136, 136, 131, 125, 123, 123, 123, 127, // 1936-1943
130, 130, 129, 125, 124, 123, 124, 126, // 1944-1951
129, 131, 133, 133, 128, 124, 124, 124, // 1952-1959
126, 128, 125, 125, 123, 120, 120, 120, // 1960-1967
123, 123, 121, 120, 116, 118, 120, 122, // 1968-1975
124, 125, 131, 136, 144, 148, 138, 127, // 1976-1983
124, 121, 123, 125, 133, 140, 138, 131, // 1984-1991
124, 121, 120, 120, 124, 131, 135, 134, // 1992-1999
131, 129, 124, 121, 121, 124, 127, 129, // 2000-2007
129, 128, 127, 125, 124, 126, 129, 131, // 2008-2015
131, 133, 134, 126, 124, 124, 124, 125, // 2016-2023
124, 128, 127, 123, 121, 120, 120, 121, // 2024-2031
120, 121, 120, 119, 119, 120, 123, 125, // 2032-2039
125, 130, 136, 145, 147, 135, 130, 129, // 2040-2047
121, 121, 124, 133, 138, 135, 133, 130, // 2048-2055
124, 120, 119, 124, 130, 131, 133, 134, // 2056-2063
132, 126, 122, 121, 122, 123, 125, 129, // 2064-2071
131, 130, 127, 128, 126, 125, 126, 129, // 2072-2079
132, 134, 131, 126, 125, 123, 121, 122, // 2080-2087
124, 127, 125, 124, 123, 120, 119, 119, // 2088-2095
119, 120, 120, 122, 122, 124, 123, 123, // 2096-2103
126, 130, 136, 144, 143, 135, 134, 129, // 2104-2111
122, 121, 124, 133, 134, 134, 136, 133, // 2112-2119
128, 123, 121, 123, 124, 128, 132, 134, // 2120-2127
131, 129, 125, 123, 121, 120, 123, 126, // 2128-2135
129, 130, 131, 131, 129, 128, 126, 128, // 2136-2143
130, 131, 129, 130, 129, 125, 123, 122, // 2144-2151
124, 123, 124, 125, 124, 123, 121, 120, // 2152-2159
120, 119, 119, 120, 123, 123, 124, 125, // 2160-2167
128, 129, 135, 143, 142, 137, 135, 133, // 2168-2175
125, 123, 125, 129, 130, 132, 134, 133, // 2176-2183
130, 126, 124, 123, 122, 124, 127, 129, // 2184-2191
130, 130, 128, 127, 124, 123, 122, 123, // 2192-2199
124, 128, 130, 131, 131, 131, 130, 127, // 2200-2207
128, 129, 131, 129, 128, 130, 125, 124, // 2208-2215
123, 123, 123, 123, 125, 125, 123, 123, // 2216-2223
121, 120, 119, 118, 120, 121, 122, 125, // 2224-2231
125, 128, 131, 135, 142, 139, 137, 138, // 2232-2239
133, 125, 126, 125, 125, 128, 130, 133, // 2240-2247
131, 131, 130, 126, 124, 123, 122, 123, // 2248-2255
124, 128, 129, 130, 129, 127, 125, 123, // 2256-2263
123, 123, 124, 127, 130, 131, 133, 131, // 2264-2271
130, 129, 127, 128, 129, 129, 128, 129, // 2272-2279
127, 125, 123, 123, 123, 123, 124, 125, // 2280-2287
124, 123, 122, 121, 119, 118, 119, 120, // 2288-2295
122, 124, 126, 128, 130, 133, 138, 140, // 2296-2303
138, 138, 138, 130, 127, 128, 123, 124, // 2304-2311
127, 129, 130, 131, 132, 130, 127, 125, // 2312-2319
123, 121, 122, 124, 125, 127, 129, 129, // 2320-2327
128, 127, 125, 124, 125, 125, 126, 129, // 2328-2335
130, 131, 131, 130, 130, 130, 130, 128, // 2336-2343
127, 128, 124, 124, 124, 123, 124, 124, // 2344-2351
125, 124, 124, 123, 121, 120, 120, 120, // 2352-2359
119, 120, 121, 121, 124, 128, 125, 130, // 2360-2367
136, 138, 140, 139, 139, 136, 130, 129, // 2368-2375
125, 123, 124, 126, 126, 129, 131, 131, // 2376-2383
130, 129, 126, 124, 123, 123, 124, 124, // 2384-2391
125, 127, 128, 129, 129, 129, 128, 127, // 2392-2399
128, 127, 129, 129, 129, 129, 129, 130, // 2400-2407
130, 129, 130, 129, 126, 126, 124, 124, // 2408-2415
124, 123, 124, 124, 125, 124, 124, 123, // 2416-2423
122, 121, 122, 120, 120, 121, 121, 124, // 2424-2431
124, 125, 129, 130, 134, 138, 138, 139, // 2432-2439
139, 136, 132, 130, 128, 123, 124, 124, // 2440-2447
125, 126, 129, 129, 129, 129, 129, 126, // 2448-2455
125, 125, 124, 124, 124, 125, 125, 128, // 2456-2463
129, 129, 130, 130, 130, 129, 129, 129, // 2464-2471
127, 128, 127, 128, 128, 128, 129, 130, // 2472-2479
126, 127, 129, 122, 124, 124, 121, 124, // 2480-2487
124, 123, 124, 124, 123, 122, 123, 122, // 2488-2495
121, 121, 123, 123, 123, 125, 125, 129, // 2496-2503
132, 135, 138, 138, 139, 137, 135, 131, // 2504-2511
129, 125, 123, 123, 123, 124, 125, 128, // 2512-2519
127, 129, 129, 129, 127, 128, 125, 125, // 2520-2527
124, 124, 124, 125, 126, 127, 129, 130, // 2528-2535
130, 130, 130, 130, 129, 127, 128, 126, // 2536-2543
128, 127, 128, 129, 128, 126, 128, 124, // 2544-2551
124, 124, 124, 124, 124, 124, 123, 123, // 2552-2559
124, 123, 123, 123, 123, 123, 123, 124, // 2560-2567
124, 124, 125, 128, 130, 133, 135, 136, // 2568-2575
138, 138, 136, 133, 131, 129, 124, 124, // 2576-2583
123, 123, 123, 125, 125, 128, 129, 129, // 2584-2591
129, 129, 129, 128, 126, 125, 124, 124, // 2592-2599
125, 125, 128, 127, 129, 130, 130, 130, // 2600-2607
130, 129, 129, 128, 127, 125, 125, 128, // 2608-2615
125, 125, 128, 125, 125, 126, 124, 125, // 2616-2623
125, 124, 124, 124, 124, 123, 123, 123, // 2624-2631
122, 123, 123, 124, 123, 125, 125, 125, // 2632-2639
129, 130, 131, 135, 136, 136, 136, 136, // 2640-2647
133, 131, 130, 126, 125, 124, 123, 123, // 2648-2655
124, 125, 125, 128, 129, 129, 129, 130, // 2656-2663
129, 129, 127, 126, 125, 125, 125, 125, // 2664-2671
126, 127, 129, 129, 130, 130, 130, 130, // 2672-2679
129, 129, 128, 125, 126, 125, 124, 125, // 2680-2687
124, 124, 125, 125, 125, 125, 125, 125, // 2688-2695
124, 124, 124, 123, 123};

const char J[3352] = {125, 131, 121, 128, 129, 123, 129, 128, // 0-7
125, 128, 128, 125, 128, 127, 128, 127, // 8-15
128, 128, 128, 129, 130, 129, 123, 127, // 16-23
129, 122, 129, 128, 124, 128, 126, 125, // 24-31
127, 128, 126, 128, 128, 126, 128, 127, // 32-39
126, 129, 127, 128, 127, 128, 128, 127, // 40-47
126, 126, 129, 125, 128, 127, 126, 128, // 48-55
126, 128, 126, 126, 128, 126, 128, 127, // 56-63
127, 128, 125, 128, 127, 128, 128, 126, // 64-71
128, 127, 125, 129, 127, 125, 129, 126, // 72-79
125, 129, 125, 128, 129, 125, 127, 128, // 80-87
125, 128, 129, 124, 129, 128, 127, 128, // 88-95
127, 128, 128, 127, 129, 126, 128, 129, // 96-103
126, 126, 129, 128, 125, 129, 127, 126, // 104-111
127, 125, 129, 128, 126, 129, 129, 125, // 112-119
127, 129, 125, 126, 128, 126, 128, 126, // 120-127
128, 130, 126, 125, 130, 127, 125, 127, // 128-135
129, 126, 126, 130, 125, 129, 126, 129, // 136-143
126, 123, 133, 124, 128, 128, 127, 128, // 144-151
125, 130, 124, 127, 133, 119, 132, 130, // 152-159
116, 139, 120, 125, 133, 123, 126, 131, // 160-167
123, 128, 133, 117, 134, 126, 122, 132, // 168-175
125, 128, 127, 125, 129, 125, 127, 128, // 176-183
126, 130, 123, 130, 130, 120, 130, 133, // 184-191
116, 135, 126, 120, 139, 117, 131, 131, // 192-199
121, 131, 128, 123, 135, 121, 128, 133, // 200-207
119, 135, 121, 129, 128, 124, 131, 123, // 208-215
131, 124, 124, 134, 120, 130, 131, 120, // 216-223
130, 131, 120, 131, 131, 119, 132, 126, // 224-231
125, 125, 129, 126, 128, 128, 129, 124, // 232-239
128, 131, 121, 133, 123, 129, 125, 126, // 240-247
132, 120, 131, 127, 129, 123, 129, 127, // 248-255
130, 123, 127, 132, 120, 133, 122, 128, // 256-263
127, 131, 120, 135, 119, 133, 130, 116, // 264-271
144, 112, 132, 136, 113, 132, 135, 115, // 272-279
130, 133, 119, 131, 134, 116, 132, 133, // 280-287
112, 140, 124, 121, 133, 128, 124, 124, // 288-295
132, 123, 128, 131, 129, 118, 140, 119, // 296-303
123, 145, 106, 137, 136, 111, 144, 112, // 304-311
138, 124, 117, 143, 112, 136, 125, 124, // 312-319
130, 130, 121, 130, 130, 118, 138, 118, // 320-327
132, 130, 117, 138, 127, 118, 135, 127, // 328-335
123, 129, 129, 123, 134, 121, 125, 133, // 336-343
120, 133, 119, 134, 127, 121, 134, 123, // 344-351
128, 131, 118, 139, 120, 120, 143, 114, // 352-359
135, 129, 120, 135, 120, 125, 135, 121, // 360-367
125, 133, 125, 128, 122, 134, 123, 128, // 368-375
127, 126, 130, 128, 123, 130, 132, 114, // 376-383
139, 123, 124, 134, 116, 135, 126, 121, // 384-391
131, 128, 130, 116, 140, 118, 130, 133, // 392-399
115, 138, 123, 125, 127, 135, 116, 135, // 400-407
125, 123, 134, 118, 134, 126, 120, 133, // 408-415
129, 118, 138, 122, 125, 135, 119, 133, // 416-423
126, 123, 128, 131, 119, 134, 128, 123, // 424-431
144, 129, 121, 130, 124, 120, 129, 122, // 432-439
125, 133, 112, 138, 119, 124, 135, 118, // 440-447
135, 121, 135, 121, 129, 139, 111, 142, // 448-455
125, 115, 147, 107, 139, 131, 113, 142, // 456-463
116, 136, 124, 124, 134, 119, 138, 117, // 464-471
131, 134, 115, 140, 119, 125, 136, 117, // 472-479
132, 130, 129, 122, 130, 131, 119, 130, // 480-487
127, 125, 128, 123, 130, 124, 125, 133, // 488-495
112, 146, 114, 125, 143, 109, 143, 121, // 496-503
129, 130, 126, 132, 118, 142, 121, 122, // 504-511
139, 116, 132, 130, 119, 134, 125, 125, // 512-519
125, 131, 123, 125, 130, 118, 134, 118, // 520-527
128, 124, 121, 129, 119, 124, 124, 125, // 528-535
122, 125, 130, 126, 130, 131, 130, 138, // 536-543
129, 134, 139, 134, 133, 133, 133, 131, // 544-551
131, 127, 129, 133, 116, 125, 129, 115, // 552-559
129, 123, 122, 130, 118, 115, 120, 115, // 560-567
112, 119, 113, 116, 118, 117, 127, 123, // 568-575
133, 134, 141, 140, 142, 148, 142, 146, // 576-583
143, 141, 140, 132, 133, 126, 124, 121, // 584-591
119, 121, 116, 120, 121, 121, 123, 119, // 592-599
129, 121, 119, 121, 118, 115, 110, 116, // 600-607
104, 112, 113, 121, 124, 119, 144, 138, // 608-615
142, 150, 149, 157, 148, 149, 149, 142, // 616-623
135, 127, 128, 115, 112, 114, 112, 114, // 624-631
116, 123, 128, 129, 132, 134, 130, 128, // 632-639
129, 119, 115, 112, 105, 102,  97,  97, // 640-647
104, 114, 118, 122, 146, 149, 148, 166, // 648-655
166, 168, 164, 157, 157, 143, 130, 122, // 656-663
115, 103, 101, 101, 100, 108, 112, 123, // 664-671
132, 135, 143, 143, 139, 140, 134, 120, // 672-679
116, 106,  93,  89,  79,  85,  97, 108, // 680-687
114, 134, 162, 162, 172, 184, 184, 180, // 688-695
170, 164, 150, 130, 112, 107,  91,  81, // 696-703
 83,  93, 100, 107, 129, 142, 143, 153, // 704-711
153, 150, 146, 133, 123, 112,  93,  85, // 712-719
 75,  69,  73,  91, 112, 119, 143, 180, // 720-727
180, 184, 184, 184, 182, 162, 148, 134, // 728-735
106,  93,  85,  79,  75,  81, 105, 118, // 736-743
131, 151, 166, 166, 162, 158, 146, 133, // 744-751
115, 103,  93,  75,  69,  69,  69,  73, // 752-759
 97, 130, 151, 160, 184, 184, 184, 184, // 760-767
182, 166, 133, 116, 107,  89,  77,  79, // 768-775
 89,  95, 105, 125, 151, 155, 164, 176, // 776-783
170, 152, 143, 131, 112,  99,  95,  87, // 784-791
 81,  83,  83,  89,  91, 100, 117, 140, // 792-799
162, 166, 172, 184, 178, 160, 153, 143, // 800-807
122, 107, 110, 105,  99, 103, 112, 120, // 808-815
126, 134, 150, 153, 145, 149, 148, 132, // 816-823
123, 120, 113, 105, 106, 106,  98,  95, // 824-831
 93,  93,  95,  95, 112, 146, 157, 149, // 832-839
184, 184, 166, 160, 155, 145, 117, 110, // 840-847
112, 105,  97, 106, 114, 118, 124, 140, // 848-855
151, 146, 147, 148, 142, 131, 124, 122, // 856-863
114, 108, 111, 105,  95,  93,  91,  91, // 864-871
 87,  98, 121, 152, 158, 157, 184, 184, // 872-879
162, 155, 148, 136, 106, 108, 112, 102, // 880-887
102, 115, 123, 124, 131, 143, 154, 147, // 888-895
142, 145, 139, 122, 121, 120, 114, 106, // 896-903
112, 112,  97,  95,  95,  91,  89,  91, // 904-911
114, 150, 160, 153, 184, 184, 162, 148, // 912-919
149, 136, 102, 105, 114, 105, 104, 119, // 920-927
128, 129, 131, 140, 148, 143, 142, 142, // 928-935
136, 129, 121, 123, 119, 113, 113, 114, // 936-943
109,  98,  98,  95,  87,  85, 100, 130, // 944-951
158, 160, 170, 184, 180, 152, 145, 141, // 952-959
112,  93, 108, 110, 104, 114, 130, 135, // 960-967
135, 136, 143, 143, 134, 138, 140, 127, // 968-975
128, 133, 125, 120, 120, 116, 109, 106, // 976-983
101,  97,  87,  87,  91,  99, 130, 168, // 984-991
170, 170, 184, 184, 146, 138, 133, 103, // 992-999
 89, 105, 108, 110, 121, 135, 142, 140, // 1000-1007
136, 143, 139, 125, 131, 136, 129, 129, // 1008-1015
136, 134, 125, 123, 117, 107, 102,  99, // 1016-1023
 95,  93,  87,  93, 101, 118, 160, 182, // 1024-1031
166, 184, 184, 150, 131, 124, 109,  87, // 1032-1039
 97, 110, 115, 125, 138, 146, 146, 136, // 1040-1047
136, 136, 119, 121, 130, 129, 133, 139, // 1048-1055
140, 136, 128, 119, 109,  98,  95,  95, // 1056-1063
 95,  93,  95, 102, 111, 134, 172, 182, // 1064-1071
166, 184, 180, 134, 118, 115,  99,  89, // 1072-1079
106, 119, 129, 138, 144, 149, 142, 129, // 1080-1087
130, 123, 114, 123, 130, 133, 141, 143, // 1088-1095
140, 134, 123, 114, 102,  93,  97,  99, // 1096-1103
 98,  99, 104, 108, 112, 136, 172, 182, // 1104-1111
160, 180, 172, 127, 116, 112, 102,  97, // 1112-1119
110, 127, 136, 139, 144, 147, 135, 122, // 1120-1127
124, 119, 115, 126, 135, 138, 143, 144, // 1128-1135
140, 131, 118, 112, 103,  95,  99, 105, // 1136-1143
105, 106, 106, 107, 113, 123, 148, 180, // 1144-1151
168, 160, 180, 144, 115, 114, 107, 102, // 1152-1159
106, 121, 135, 139, 140, 146, 139, 123, // 1160-1167
122, 123, 117, 123, 134, 139, 141, 143, // 1168-1175
142, 133, 122, 115, 111, 102,  99, 106, // 1176-1183
108, 106, 110, 108, 112, 114, 126, 157, // 1184-1191
176, 158, 162, 172, 134, 114, 112, 107, // 1192-1199
105, 111, 128, 138, 138, 141, 144, 133, // 1200-1207
121, 124, 121, 119, 127, 136, 138, 139, // 1208-1215
142, 139, 128, 120, 117, 109, 105, 104, // 1216-1223
108, 110, 109, 113, 112, 111, 115, 125, // 1224-1231
150, 172, 160, 156, 170, 137, 114, 115, // 1232-1239
110, 107, 111, 127, 137, 136, 139, 144, // 1240-1247
134, 122, 125, 122, 119, 125, 134, 137, // 1248-1255
138, 140, 139, 127, 120, 118, 112, 107, // 1256-1263
107, 108, 112, 112, 112, 114, 111, 112, // 1264-1271
119, 137, 164, 166, 152, 170, 153, 120, // 1272-1279
116, 112, 108, 107, 118, 134, 136, 138, // 1280-1287
144, 141, 127, 126, 124, 119, 121, 130, // 1288-1295
134, 135, 138, 139, 131, 123, 120, 114, // 1296-1303
111, 108, 109, 112, 112, 112, 114, 112, // 1304-1311
111, 114, 126, 152, 168, 155, 160, 166, // 1312-1319
129, 116, 113, 107, 106, 112, 130, 137, // 1320-1327
138, 145, 146, 133, 125, 125, 119, 118, // 1328-1335
124, 131, 134, 136, 140, 136, 126, 123, // 1336-1343
118, 112, 111, 111, 112, 112, 114, 115, // 1344-1351
116, 113, 112, 116, 124, 147, 166, 152, // 1352-1359
155, 164, 130, 116, 116, 109, 109, 112, // 1360-1367
130, 137, 138, 144, 146, 134, 129, 125, // 1368-1375
119, 119, 122, 129, 132, 135, 138, 136, // 1376-1383
128, 124, 120, 114, 112, 112, 112, 114, // 1384-1391
115, 116, 118, 115, 113, 114, 119, 142, // 1392-1399
160, 152, 150, 162, 137, 118, 117, 111, // 1400-1407
111, 112, 129, 137, 138, 143, 147, 136, // 1408-1415
127, 128, 118, 116, 121, 126, 131, 133, // 1416-1423
138, 136, 129, 124, 122, 116, 113, 114, // 1424-1431
114, 114, 116, 118, 116, 115, 114, 112, // 1432-1439
114, 129, 151, 157, 148, 160, 152, 125, // 1440-1447
119, 116, 112, 109, 121, 134, 137, 141, // 1448-1455
146, 142, 131, 128, 121, 116, 117, 123, // 1456-1463
128, 131, 136, 138, 133, 128, 125, 120, // 1464-1471
115, 115, 115, 115, 115, 118, 117, 116, // 1472-1479
116, 113, 112, 115, 134, 152, 152, 148, // 1480-1487
158, 146, 123, 121, 116, 112, 112, 124, // 1488-1495
135, 136, 142, 146, 137, 130, 125, 118, // 1496-1503
116, 118, 124, 129, 133, 138, 136, 133, // 1504-1511
129, 124, 120, 116, 116, 116, 115, 116, // 1512-1519
119, 117, 117, 117, 112, 112, 113, 130, // 1520-1527
151, 151, 149, 158, 148, 128, 121, 118, // 1528-1535
113, 111, 124, 134, 135, 142, 146, 138, // 1536-1543
130, 128, 119, 115, 118, 124, 127, 131, // 1544-1551
137, 138, 133, 129, 125, 121, 116, 116, // 1552-1559
118, 116, 115, 119, 119, 116, 118, 115, // 1560-1567
112, 112, 123, 143, 150, 147, 154, 154, // 1568-1575
131, 125, 122, 112, 114, 119, 131, 134, // 1576-1583
138, 144, 140, 131, 130, 120, 116, 118, // 1584-1591
121, 127, 129, 136, 138, 134, 131, 128, // 1592-1599
122, 118, 116, 118, 117, 116, 119, 120, // 1600-1607
117, 118, 118, 113, 112, 114, 128, 144, // 1608-1615
149, 147, 155, 151, 130, 125, 120, 113, // 1616-1623
114, 121, 131, 134, 139, 144, 138, 131, // 1624-1631
129, 119, 116, 118, 122, 128, 131, 136, // 1632-1639
137, 134, 130, 126, 121, 118, 118, 119, // 1640-1647
119, 119, 120, 121, 119, 118, 118, 113, // 1648-1655
111, 112, 123, 142, 148, 148, 155, 152, // 1656-1663
135, 128, 121, 114, 112, 120, 129, 133, // 1664-1671
139, 143, 139, 133, 129, 120, 116, 117, // 1672-1679
121, 125, 130, 136, 137, 134, 131, 128, // 1680-1687
121, 119, 118, 120, 120, 120, 120, 121, // 1688-1695
120, 117, 118, 114, 112, 111, 114, 133, // 1696-1703
145, 148, 151, 156, 144, 130, 125, 118, // 1704-1711
112, 115, 124, 130, 135, 142, 143, 135, // 1712-1719
131, 125, 118, 116, 119, 123, 126, 133, // 1720-1727
137, 136, 132, 130, 124, 120, 119, 119, // 1728-1735
121, 121, 122, 121, 121, 119, 116, 117, // 1736-1743
112, 112, 112, 116, 135, 145, 148, 151, // 1744-1751
155, 144, 129, 124, 118, 112, 116, 124, // 1752-1759
131, 135, 142, 142, 135, 131, 124, 119, // 1760-1767
116, 119, 124, 127, 133, 136, 136, 132, // 1768-1775
129, 125, 120, 119, 120, 122, 123, 123, // 1776-1783
123, 121, 118, 116, 116, 114, 112, 112, // 1784-1791
114, 127, 143, 148, 148, 156, 148, 131, // 1792-1799
129, 119, 114, 115, 122, 130, 133, 139, // 1800-1807
143, 135, 132, 129, 119, 118, 119, 123, // 1808-1815
125, 131, 136, 135, 133, 130, 126, 122, // 1816-1823
120, 121, 123, 124, 124, 123, 122, 121, // 1824-1831
117, 116, 116, 112, 112, 112, 116, 132, // 1832-1839
144, 146, 149, 156, 143, 132, 127, 118, // 1840-1847
115, 115, 124, 129, 131, 140, 141, 134, // 1848-1855
134, 128, 120, 119, 120, 124, 125, 131, // 1856-1863
135, 134, 133, 130, 126, 123, 121, 122, // 1864-1871
123, 124, 124, 122, 121, 120, 117, 116, // 1872-1879
116, 114, 112, 112, 115, 127, 142, 144, // 1880-1887
148, 153, 146, 136, 129, 121, 117, 115, // 1888-1895
120, 126, 129, 136, 140, 136, 135, 131, // 1896-1903
124, 120, 119, 123, 123, 128, 133, 134, // 1904-1911
132, 130, 129, 125, 122, 123, 124, 123, // 1912-1919
125, 123, 120, 120, 118, 116, 116, 116, // 1920-1927
114, 112, 113, 120, 133, 143, 146, 149, // 1928-1935
152, 143, 133, 128, 120, 115, 116, 122, // 1936-1943
125, 130, 139, 140, 135, 135, 130, 123, // 1944-1951
120, 120, 122, 123, 130, 133, 133, 133, // 1952-1959
131, 128, 125, 123, 123, 123, 124, 125, // 1960-1967
123, 121, 120, 119, 116, 118, 116, 113, // 1968-1975
114, 112, 115, 125, 139, 144, 148, 152, // 1976-1983
148, 139, 129, 123, 116, 113, 118, 124, // 1984-1991
128, 135, 142, 140, 137, 134, 126, 121, // 1992-1999
119, 120, 122, 125, 132, 134, 134, 133, // 2000-2007
131, 128, 124, 123, 123, 124, 125, 125, // 2008-2015
124, 121, 120, 119, 116, 117, 115, 112, // 2016-2023
114, 112, 114, 125, 138, 145, 149, 152, // 2024-2031
150, 139, 129, 124, 116, 112, 118, 123, // 2032-2039
129, 135, 143, 143, 136, 134, 131, 118, // 2040-2047
120, 121, 121, 127, 131, 135, 134, 134, // 2048-2055
133, 128, 124, 124, 122, 124, 125, 125, // 2056-2063
125, 123, 121, 120, 118, 116, 116, 113, // 2064-2071
112, 112, 112, 118, 127, 142, 146, 149, // 2072-2079
153, 146, 136, 129, 121, 115, 114, 120, // 2080-2087
125, 131, 138, 142, 141, 136, 134, 128, // 2088-2095
120, 121, 121, 121, 127, 131, 133, 133, // 2096-2103
133, 131, 127, 125, 125, 123, 124, 125, // 2104-2111
125, 125, 124, 121, 119, 118, 115, 115, // 2112-2119
114, 112, 112, 112, 115, 120, 131, 143, // 2120-2127
147, 151, 149, 143, 135, 125, 120, 116, // 2128-2135
117, 122, 129, 133, 138, 140, 141, 134, // 2136-2143
132, 129, 120, 121, 122, 123, 127, 130, // 2144-2151
133, 131, 131, 131, 127, 125, 125, 124, // 2152-2159
125, 126, 128, 125, 123, 121, 118, 116, // 2160-2167
114, 114, 114, 112, 113, 113, 115, 119, // 2168-2175
125, 138, 144, 147, 148, 145, 140, 130, // 2176-2183
127, 121, 118, 123, 125, 131, 134, 138, // 2184-2191
139, 138, 134, 129, 129, 121, 122, 124, // 2192-2199
123, 127, 129, 131, 131, 130, 130, 128, // 2200-2207
126, 126, 125, 125, 126, 126, 124, 123, // 2208-2215
121, 117, 115, 115, 114, 115, 115, 114, // 2216-2223
115, 116, 118, 122, 127, 136, 143, 145, // 2224-2231
144, 146, 142, 133, 131, 126, 123, 123, // 2232-2239
127, 129, 131, 135, 136, 135, 135, 130, // 2240-2247
127, 126, 121, 124, 122, 124, 126, 127, // 2248-2255
130, 130, 131, 130, 129, 127, 126, 125, // 2256-2263
124, 123, 123, 121, 120, 118, 116, 116, // 2264-2271
116, 115, 116, 117, 117, 117, 119, 119, // 2272-2279
120, 126, 131, 140, 144, 146, 147, 146, // 2280-2287
139, 135, 132, 124, 124, 124, 126, 128, // 2288-2295
131, 134, 133, 133, 133, 130, 124, 125, // 2296-2303
124, 119, 125, 124, 125, 130, 130, 132, // 2304-2311
130, 131, 129, 125, 125, 124, 121, 123, // 2312-2319
122, 121, 121, 121, 120, 118, 118, 118, // 2320-2327
117, 118, 118, 118, 121, 120, 121, 125, // 2328-2335
126, 133, 139, 144, 146, 146, 148, 142, // 2336-2343
136, 135, 127, 124, 123, 123, 124, 125, // 2344-2351
129, 129, 130, 131, 129, 128, 126, 125, // 2352-2359
125, 123, 126, 126, 126, 129, 129, 130, // 2360-2367
129, 127, 128, 125, 124, 123, 122, 123, // 2368-2375
122, 122, 122, 122, 122, 121, 120, 120, // 2376-2383
120, 120, 120, 121, 121, 123, 123, 124, // 2384-2391
125, 128, 132, 138, 143, 144, 144, 145, // 2392-2399
142, 134, 133, 125, 121, 121, 120, 120, // 2400-2407
122, 125, 128, 129, 130, 130, 128, 129, // 2408-2415
128, 126, 125, 127, 125, 125, 129, 126, // 2416-2423
128, 129, 128, 127, 126, 125, 124, 123, // 2424-2431
124, 123, 124, 125, 125, 125, 125, 125, // 2432-2439
123, 123, 123, 121, 122, 123, 121, 122, // 2440-2447
123, 123, 122, 125, 125, 126, 133, 135, // 2448-2455
141, 142, 140, 143, 135, 133, 131, 123, // 2456-2463
123, 121, 120, 121, 122, 125, 125, 129, // 2464-2471
131, 130, 131, 131, 130, 129, 129, 127, // 2472-2479
125, 126, 125, 125, 126, 125, 127, 128, // 2480-2487
128, 128, 127, 128, 127, 128, 127, 128, // 2488-2495
127, 126, 125, 124, 123, 123, 121, 121, // 2496-2503
121, 121, 122, 121, 121, 122, 120, 121, // 2504-2511
121, 122, 123, 125, 131, 134, 140, 140, // 2512-2519
140, 143, 136, 134, 133, 124, 124, 121, // 2520-2527
121, 121, 123, 125, 126, 130, 132, 131, // 2528-2535
133, 132, 131, 130, 127, 126, 125, 124, // 2536-2543
124, 123, 124, 125, 126, 129, 129, 130, // 2544-2551
130, 130, 130, 129, 129, 127, 125, 124, // 2552-2559
123, 123, 122, 123, 123, 122, 123, 124, // 2560-2567
123, 124, 123, 121, 121, 121, 121, 121, // 2568-2575
122, 123, 124, 128, 130, 134, 139, 140, // 2576-2583
140, 143, 138, 136, 136, 128, 127, 124, // 2584-2591
122, 121, 123, 124, 124, 127, 130, 129, // 2592-2599
131, 131, 130, 130, 128, 125, 124, 123, // 2600-2607
123, 122, 123, 124, 125, 128, 130, 130, // 2608-2615
133, 132, 132, 131, 130, 129, 126, 124, // 2616-2623
123, 123, 122, 123, 123, 123, 124, 124, // 2624-2631
125, 125, 125, 124, 123, 123, 121, 121, // 2632-2639
121, 120, 121, 123, 123, 125, 129, 132, // 2640-2647
137, 139, 139, 143, 140, 136, 136, 131, // 2648-2655
128, 126, 123, 121, 121, 122, 122, 124, // 2656-2663
126, 127, 129, 131, 130, 130, 129, 128, // 2664-2671
126, 125, 124, 123, 124, 125, 125, 128, // 2672-2679
130, 130, 131, 134, 131, 132, 131, 128, // 2680-2687
127, 125, 123, 123, 121, 121, 121, 122, // 2688-2695
123, 123, 125, 124, 125, 125, 124, 124, // 2696-2703
123, 121, 121, 121, 120, 121, 122, 122, // 2704-2711
124, 128, 129, 133, 137, 138, 140, 142, // 2712-2719
138, 138, 137, 131, 130, 127, 124, 123, // 2720-2727
122, 121, 122, 123, 124, 125, 127, 129, // 2728-2735
129, 130, 129, 129, 129, 126, 126, 125, // 2736-2743
125, 125, 125, 126, 129, 129, 130, 131, // 2744-2751
130, 131, 130, 129, 129, 125, 124, 124, // 2752-2759
123, 122, 121, 122, 122, 123, 124, 124, // 2760-2767
125, 124, 125, 125, 124, 124, 124, 124, // 2768-2775
123, 123, 124, 124, 125, 126, 127, 129, // 2776-2783
133, 135, 136, 137, 140, 136, 136, 136, // 2784-2791
131, 131, 129, 125, 124, 123, 121, 121, // 2792-2799
121, 122, 123, 125, 125, 128, 129, 130, // 2800-2807
130, 130, 129, 129, 129, 128, 126, 126, // 2808-2815
127, 128, 128, 129, 129, 129, 130, 130, // 2816-2823
129, 129, 128, 125, 125, 124, 123, 122, // 2824-2831
122, 121, 123, 123, 123, 124, 125, 125, // 2832-2839
125, 125, 125, 125, 125, 124, 124, 125, // 2840-2847
124, 124, 125, 124, 128, 129, 131, 134, // 2848-2855
134, 137, 137, 135, 138, 134, 133, 132, // 2856-2863
127, 126, 124, 122, 122, 121, 121, 122, // 2864-2871
123, 125, 125, 129, 130, 130, 131, 131, // 2872-2879
131, 131, 130, 129, 128, 127, 128, 126, // 2880-2887
128, 127, 126, 129, 126, 127, 128, 126, // 2888-2895
126, 125, 124, 124, 123, 122, 122, 122, // 2896-2903
122, 123, 124, 124, 125, 125, 125, 126, // 2904-2911
126, 126, 126, 125, 125, 125, 125, 125, // 2912-2919
126, 126, 128, 129, 132, 132, 133, 136, // 2920-2927
134, 136, 135, 132, 134, 130, 129, 128, // 2928-2935
124, 124, 123, 122, 122, 123, 124, 124, // 2936-2943
126, 127, 129, 130, 130, 131, 131, 130, // 2944-2951
130, 129, 128, 128, 127, 128, 125, 126, // 2952-2959
127, 124, 128, 125, 125, 126, 125, 125, // 2960-2967
124, 124, 123, 123, 123, 123, 124, 124, // 2968-2975
124, 125, 125, 125, 127, 125, 127, 127, // 2976-2983
125, 126, 126, 125, 127, 125, 126, 127, // 2984-2991
128, 130, 131, 131, 134, 134, 133, 135, // 2992-2999
133, 133, 133, 130, 130, 128, 125, 124, // 3000-3007
123, 123, 122, 123, 123, 124, 125, 126, // 3008-3015
127, 129, 129, 130, 130, 131, 130, 129, // 3016-3023
131, 128, 128, 127, 123, 127, 124, 123, // 3024-3031
125, 123, 124, 125, 123, 124, 124, 124, // 3032-3039
124, 125, 124, 124, 125, 124, 125, 125, // 3040-3047
124, 125, 125, 125, 125, 125, 125, 125, // 3048-3055
126, 126, 126, 128, 126, 129, 129, 129, // 3056-3063
132, 130, 133, 134, 131, 134, 132, 132, // 3064-3071
133, 130, 130, 127, 126, 125, 124, 124, // 3072-3079
123, 124, 124, 124, 126, 126, 128, 129, // 3080-3087
129, 130, 130, 129, 129, 127, 128, 126, // 3088-3095
125, 125, 124, 124, 124, 124, 124, 124, // 3096-3103
125, 125, 125, 126, 126, 126, 126, 125, // 3104-3111
125, 125, 125, 125, 125, 125, 125, 125, // 3112-3119
125, 125, 126, 128, 127, 128, 127, 129, // 3120-3127
129, 129, 130, 130, 131, 131, 132, 132, // 3128-3135
133, 133, 133, 132, 132, 130, 130, 129, // 3136-3143
128, 128, 125, 125, 124, 124, 124, 125, // 3144-3151
125, 125, 126, 126, 128, 128, 128, 127, // 3152-3159
128, 126, 126, 125, 125, 125, 125, 125, // 3160-3167
125, 125, 125, 125, 125, 125, 125, 125, // 3168-3175
125, 125, 125, 125, 125, 125, 125, 125, // 3176-3183
125, 126, 126, 126, 126, 128, 127, 128, // 3184-3191
129, 129, 130, 130, 131, 132, 132, 133, // 3192-3199
133, 133, 133, 132, 132, 131, 130, 128, // 3200-3207
128, 126, 125, 124, 124, 123, 123, 123, // 3208-3215
124, 124, 125, 125, 126, 126, 128, 128, // 3216-3223
127, 126, 125, 125, 125, 124, 124, 124, // 3224-3231
124, 125, 124, 125, 125, 125, 126, 126, // 3232-3239
126, 127, 126, 126, 126, 125, 126, 126, // 3240-3247
125, 128, 125, 126, 127, 126, 129, 129, // 3248-3255
129, 131, 130, 132, 131, 131, 133, 132, // 3256-3263
132, 132, 131, 131, 130, 129, 127, 126, // 3264-3271
125, 124, 124, 124, 124, 124, 124, 124, // 3272-3279
124, 125, 125, 125, 126, 126, 126, 126, // 3280-3287
125, 125, 125, 124, 124, 124, 124, 125, // 3288-3295
125, 125, 126, 126, 127, 128, 127, 128, // 3296-3303
128, 127, 126, 126, 126, 125, 125, 126, // 3304-3311
125, 126, 128, 125, 128, 129, 128, 130, // 3312-3319
129, 129, 131, 130, 130, 131, 130, 130, // 3320-3327
131, 130, 130, 130, 129, 130, 129, 128, // 3328-3335
127, 127, 125, 126, 125, 125, 125, 124, // 3336-3343
125, 125, 125, 125, 125, 125, 125, 125};

const char K[3532] = {128, 127, 128, 127, 128, 127, 128, 127, // 0-7
128, 127, 128, 127, 128, 128, 128, 128, // 8-15
127, 128, 130, 136, 129, 120, 134, 118, // 16-23
121, 134, 125, 134, 119, 124, 118, 116, // 24-31
130, 144, 122, 116, 151, 103, 139, 133, // 32-39
110, 146, 108, 135, 130, 129, 146, 117, // 40-47
136, 121, 114, 134, 114, 133, 125, 121, // 48-55
143, 115, 128, 125, 115, 139, 116, 126, // 56-63
133, 140, 124, 124, 140, 111, 144, 111, // 64-71
125, 139, 106, 142, 131, 124, 136, 118, // 72-79
130, 125, 123, 133, 115, 139, 120, 123, // 80-87
134, 116, 134, 120, 124, 125, 116, 129, // 88-95
129, 123, 143, 127, 130, 136, 122, 136, // 96-103
115, 129, 117, 126, 133, 119, 146, 125, // 104-111
131, 134, 130, 133, 128, 116, 129, 134, // 112-119
120, 130, 124, 123, 129, 121, 129, 129, // 120-127
121, 132, 122, 130, 129, 124, 130, 124, // 128-135
128, 125, 123, 126, 125, 125, 125, 125, // 136-143
128, 127, 126, 127, 129, 125, 128, 126, // 144-151
128, 129, 123, 129, 125, 125, 130, 124, // 152-159
128, 126, 125, 132, 123, 126, 131, 120, // 160-167
133, 123, 128, 132, 132, 130, 120, 138, // 168-175
120, 139, 126, 120, 142, 112, 136, 121, // 176-183
121, 134, 115, 134, 119, 132, 130, 125, // 184-191
135, 123, 132, 127, 126, 131, 122, 129, // 192-199
125, 124, 126, 125, 129, 126, 133, 125, // 200-207
131, 128, 129, 130, 124, 130, 123, 127, // 208-215
122, 126, 122, 124, 125, 122, 129, 125, // 216-223
129, 130, 130, 130, 129, 129, 129, 126, // 224-231
129, 124, 128, 128, 124, 128, 124, 126, // 232-239
128, 126, 129, 126, 130, 126, 130, 128, // 240-247
125, 130, 123, 129, 125, 125, 128, 125, // 248-255
127, 128, 127, 129, 129, 129, 128, 129, // 256-263
127, 128, 129, 126, 126, 128, 127, 125, // 264-271
130, 125, 129, 129, 125, 130, 127, 124, // 272-279
128, 125, 125, 128, 126, 128, 126, 130, // 280-287
129, 126, 130, 129, 126, 129, 129, 125, // 288-295
128, 129, 126, 126, 127, 128, 125, 128, // 296-303
127, 126, 129, 125, 129, 127, 129, 126, // 304-311
126, 129, 124, 129, 125, 126, 125, 125, // 312-319
126, 124, 129, 125, 128, 126, 129, 126, // 320-327
125, 129, 125, 126, 127, 130, 124, 129, // 328-335
129, 125, 127, 126, 127, 128, 127, 125, // 336-343
127, 127, 125, 125, 130, 124, 129, 127, // 344-351
125, 129, 125, 126, 125, 129, 125, 128, // 352-359
129, 129, 129, 128, 130, 128, 129, 129, // 360-367
125, 128, 125, 125, 128, 125, 128, 125, // 368-375
128, 127, 128, 126, 129, 127, 128, 130, // 376-383
125, 129, 126, 126, 128, 124, 126, 125, // 384-391
125, 126, 128, 128, 130, 128, 130, 128, // 392-399
125, 129, 124, 124, 125, 124, 123, 128, // 400-407
127, 125, 129, 130, 129, 130, 130, 129, // 408-415
129, 125, 127, 125, 126, 128, 124, 129, // 416-423
125, 127, 129, 124, 130, 126, 125, 129, // 424-431
125, 124, 128, 128, 123, 129, 128, 126, // 432-439
129, 127, 128, 127, 129, 126, 128, 129, // 440-447
125, 129, 126, 123, 127, 125, 124, 130, // 448-455
127, 128, 130, 129, 129, 128, 127, 129, // 456-463
125, 127, 128, 124, 125, 127, 125, 126, // 464-471
129, 127, 125, 130, 129, 124, 129, 126, // 472-479
125, 128, 125, 125, 129, 125, 126, 128, // 480-487
126, 128, 126, 128, 130, 126, 129, 130, // 488-495
127, 126, 127, 129, 123, 128, 127, 125, // 496-503
130, 129, 126, 129, 128, 124, 128, 125, // 504-511
125, 126, 125, 124, 124, 124, 124, 127, // 512-519
124, 125, 127, 128, 125, 130, 126, 129, // 520-527
134, 126, 132, 131, 129, 134, 133, 130, // 528-535
131, 135, 130, 129, 134, 129, 128, 129, // 536-543
127, 125, 124, 128, 121, 123, 123, 120, // 544-551
121, 121, 121, 119, 120, 119, 118, 120, // 552-559
123, 119, 123, 125, 123, 125, 125, 132, // 560-567
131, 131, 143, 135, 137, 142, 135, 138, // 568-575
138, 136, 134, 133, 130, 132, 128, 125, // 576-583
131, 125, 128, 126, 124, 123, 120, 121, // 584-591
120, 119, 120, 119, 118, 118, 116, 114, // 592-599
115, 115, 116, 116, 116, 120, 120, 123, // 600-607
130, 134, 142, 143, 144, 154, 143, 145, // 608-615
144, 135, 137, 134, 132, 131, 126, 131, // 616-623
129, 124, 129, 125, 122, 123, 121, 118, // 624-631
119, 117, 118, 118, 118, 116, 116, 115, // 632-639
114, 114, 112, 115, 118, 116, 120, 124, // 640-647
127, 144, 147, 145, 164, 151, 143, 149, // 648-655
133, 130, 129, 129, 128, 129, 131, 126, // 656-663
125, 125, 124, 123, 124, 124, 123, 120, // 664-671
119, 118, 116, 113, 116, 114, 112, 113, // 672-679
111, 110, 112, 115, 116, 114, 128, 143, // 680-687
146, 156, 166, 162, 153, 153, 140, 128, // 688-695
130, 122, 123, 130, 128, 127, 128, 125, // 696-703
121, 120, 121, 119, 122, 121, 118, 118, // 704-711
116, 113, 112, 113, 109, 107, 108, 108, // 712-719
110, 104, 114, 125, 139, 157, 164, 180, // 720-727
176, 164, 156, 142, 125, 120, 120, 120, // 728-735
129, 132, 131, 131, 125, 120, 115, 114, // 736-743
116, 117, 120, 120, 117, 115, 113, 111, // 744-751
109, 112, 105, 107, 107, 102, 103, 118, // 752-759
136, 153, 168, 176, 184, 168, 155, 146, // 760-767
123, 118, 120, 119, 124, 135, 139, 136, // 768-775
136, 131, 122, 118, 116, 115, 116, 120, // 776-783
120, 118, 115, 117, 114, 109, 112, 111, // 784-791
101, 102,  99,  93, 106, 136, 158, 158, // 792-799
182, 184, 162, 152, 148, 117, 107, 115, // 800-807
113, 118, 135, 145, 143, 142, 143, 129, // 808-815
116, 116, 112, 112, 120, 125, 127, 124, // 816-823
120, 116, 117, 107, 106, 110,  95,  99, // 824-831
 95,  89, 118, 155, 166, 172, 184, 184, // 832-839
156, 146, 122, 107,  95, 109, 112, 120, // 840-847
138, 146, 145, 148, 143, 123, 118, 116, // 848-855
109, 114, 124, 129, 135, 135, 129, 115, // 856-863
115, 110,  93, 103, 104,  87,  93,  99, // 864-871
108, 152, 178, 166, 184, 184, 150, 141, // 872-879
124, 102,  89, 105, 115, 120, 142, 151, // 880-887
149, 144, 143, 128, 112, 115, 114, 112, // 888-895
129, 136, 139, 138, 133, 116, 108, 108, // 896-903
 95,  91, 104,  93,  85,  98, 107, 143, // 904-911
184, 168, 184, 184, 153, 136, 130, 102, // 912-919
 87, 101, 118, 121, 142, 155, 151, 142, // 920-927
139, 125, 109, 109, 122, 116, 129, 148, // 928-935
143, 140, 139, 124, 108, 101,  99,  98, // 936-943
 99, 103,  95,  93,  97, 103, 146, 184, // 944-951
162, 184, 184, 146, 131, 130, 103,  87, // 952-959
104, 126, 124, 142, 155, 147, 136, 133, // 960-967
121, 107, 111, 124, 125, 136, 148, 146, // 968-975
140, 131, 121, 107,  98,  98, 101, 101, // 976-983
102,  98,  95,  93, 102, 145, 184, 162, // 984-991
180, 184, 147, 123, 136, 101,  83, 104, // 992-999
126, 122, 140, 156, 147, 134, 131, 121, // 1000-1007
105, 110, 124, 124, 136, 150, 148, 141, // 1008-1015
135, 124, 110, 102,  99, 100, 105, 106, // 1016-1023
102,  99,  97,  98, 121, 174, 178, 158, // 1024-1031
184, 182, 120, 135, 113,  89,  95, 117, // 1032-1039
128, 131, 150, 153, 136, 131, 129, 111, // 1040-1047
107, 120, 126, 130, 144, 148, 144, 137, // 1048-1055
130, 119, 108, 101,  99, 104, 105, 105, // 1056-1063
104,  98,  99, 104, 135, 184, 170, 166, // 1064-1071
184, 162, 118, 131, 106,  89, 100, 123, // 1072-1079
128, 136, 152, 151, 134, 130, 125, 107, // 1080-1087
111, 121, 126, 134, 144, 146, 143, 137, // 1088-1095
129, 117, 112, 102,  98, 106, 105, 104, // 1096-1103
106, 101,  99, 109, 127, 176, 180, 157, // 1104-1111
184, 172, 113, 130, 107,  93, 101, 120, // 1112-1119
133, 135, 151, 152, 136, 129, 128, 109, // 1120-1127
111, 120, 128, 132, 143, 146, 143, 138, // 1128-1135
128, 120, 112, 102,  99, 102, 105, 106, // 1136-1143
105, 108, 101, 107, 124, 164, 182, 156, // 1144-1151
184, 184, 118, 124, 116,  93, 100, 116, // 1152-1159
133, 132, 148, 153, 139, 127, 129, 112, // 1160-1167
110, 119, 125, 131, 139, 144, 143, 137, // 1168-1175
129, 121, 114, 106, 102, 104, 105, 107, // 1176-1183
106, 106, 103, 106, 114, 150, 182, 162, // 1184-1191
170, 184, 138, 118, 123,  99,  99, 110, // 1192-1199
130, 133, 140, 151, 143, 130, 130, 118, // 1200-1207
111, 116, 124, 130, 136, 143, 142, 138, // 1208-1215
131, 122, 116, 110, 103, 103, 105, 107, // 1216-1223
106, 108, 107, 105, 107, 130, 174, 172, // 1224-1231
156, 184, 168, 117, 125, 112,  95, 101, // 1232-1239
120, 131, 133, 147, 149, 135, 130, 129, // 1240-1247
112, 114, 120, 127, 131, 139, 143, 140, // 1248-1255
134, 127, 120, 114, 109, 105, 106, 106, // 1256-1263
107, 107, 109, 107, 107, 112, 135, 174, // 1264-1271
172, 155, 184, 162, 112, 123, 112,  95, // 1272-1279
105, 123, 130, 135, 146, 148, 135, 131, // 1280-1287
127, 114, 115, 122, 128, 130, 139, 142, // 1288-1295
138, 133, 128, 120, 114, 110, 107, 106, // 1296-1303
108, 109, 107, 110, 108, 108, 112, 132, // 1304-1311
172, 172, 152, 184, 166, 115, 123, 112, // 1312-1319
 98, 101, 120, 133, 133, 145, 151, 138, // 1320-1327
133, 130, 116, 115, 120, 126, 129, 136, // 1328-1335
141, 138, 133, 129, 121, 116, 112, 108, // 1336-1343
108, 108, 110, 110, 110, 111, 107, 111, // 1344-1351
123, 157, 176, 153, 172, 180, 124, 118, // 1352-1359
119, 101,  99, 112, 132, 130, 142, 152, // 1360-1367
142, 134, 134, 120, 115, 118, 123, 125, // 1368-1375
131, 139, 138, 134, 131, 124, 118, 114, // 1376-1383
110, 108, 108, 110, 110, 111, 112, 111, // 1384-1391
111, 114, 134, 168, 168, 151, 180, 160, // 1392-1399
113, 124, 112, 101, 105, 122, 133, 133, // 1400-1407
146, 148, 138, 134, 130, 118, 116, 119, // 1408-1415
125, 125, 134, 138, 135, 133, 129, 121, // 1416-1423
118, 114, 111, 111, 111, 111, 111, 112, // 1424-1431
114, 111, 110, 114, 130, 164, 166, 151, // 1432-1439
176, 158, 116, 124, 113, 102, 106, 119, // 1440-1447
132, 133, 146, 150, 140, 137, 131, 119, // 1448-1455
116, 117, 122, 123, 132, 136, 135, 134, // 1456-1463
130, 123, 120, 114, 112, 112, 111, 111, // 1464-1471
112, 112, 114, 112, 111, 113, 120, 153, // 1472-1479
170, 147, 164, 172, 123, 121, 121, 106, // 1480-1487
105, 116, 132, 130, 143, 150, 142, 136, // 1488-1495
134, 122, 116, 116, 122, 121, 129, 136, // 1496-1503
135, 134, 131, 125, 122, 117, 114, 114, // 1504-1511
112, 112, 112, 114, 112, 115, 113, 110, // 1512-1519
112, 130, 162, 158, 145, 174, 156, 117, // 1520-1527
128, 120, 105, 108, 123, 131, 131, 144, // 1528-1535
149, 137, 136, 131, 119, 116, 118, 121, // 1536-1543
122, 131, 136, 135, 133, 131, 125, 122, // 1544-1551
117, 115, 116, 112, 112, 114, 114, 112, // 1552-1559
114, 112, 110, 112, 127, 158, 158, 145, // 1560-1567
172, 156, 118, 133, 119, 105, 111, 121, // 1568-1575
131, 131, 144, 149, 137, 136, 134, 118, // 1576-1583
116, 118, 120, 122, 130, 135, 135, 134, // 1584-1591
133, 128, 123, 119, 116, 117, 114, 112, // 1592-1599
114, 115, 113, 114, 114, 110, 110, 117, // 1600-1607
140, 160, 149, 154, 170, 138, 125, 131, // 1608-1615
112, 108, 115, 126, 129, 135, 147, 142, // 1616-1623
134, 138, 124, 116, 119, 118, 121, 124, // 1624-1631
133, 135, 135, 135, 132, 125, 123, 118, // 1632-1639
116, 117, 114, 114, 116, 116, 113, 116, // 1640-1647
114, 110, 111, 114, 135, 154, 149, 152, // 1648-1655
170, 147, 125, 135, 115, 109, 114, 124, // 1656-1663
126, 132, 144, 143, 134, 139, 129, 117, // 1664-1671
120, 119, 120, 123, 133, 135, 135, 135, // 1672-1679
133, 128, 123, 119, 116, 119, 116, 115, // 1680-1687
116, 118, 115, 116, 114, 109, 110, 108, // 1688-1695
120, 146, 152, 149, 164, 168, 131, 134, // 1696-1703
131, 108, 112, 118, 124, 124, 139, 145, // 1704-1711
136, 136, 139, 120, 119, 120, 120, 121, // 1712-1719
126, 135, 133, 135, 135, 130, 124, 123, // 1720-1727
118, 119, 119, 119, 116, 118, 119, 114, // 1728-1735
115, 114, 107, 108, 108, 116, 143, 154, // 1736-1743
147, 162, 168, 138, 134, 130, 112, 109, // 1744-1751
116, 123, 124, 135, 144, 138, 135, 139, // 1752-1759
123, 120, 122, 120, 120, 127, 133, 133, // 1760-1767
134, 134, 131, 125, 123, 119, 119, 121, // 1768-1775
121, 118, 119, 119, 114, 114, 114, 110, // 1776-1783
108, 107, 110, 125, 147, 152, 149, 170, // 1784-1791
157, 134, 138, 121, 112, 111, 118, 122, // 1792-1799
124, 139, 143, 134, 139, 136, 121, 123, // 1800-1807
122, 121, 121, 130, 132, 133, 134, 133, // 1808-1815
129, 126, 124, 120, 122, 123, 121, 120, // 1816-1823
119, 117, 114, 113, 114, 110, 110, 109, // 1824-1831
105, 116, 140, 149, 148, 162, 170, 144, // 1832-1839
136, 135, 115, 110, 115, 119, 119, 130, // 1840-1847
142, 139, 136, 142, 131, 123, 124, 123, // 1848-1855
120, 123, 131, 131, 132, 135, 133, 129, // 1856-1863
129, 124, 123, 123, 124, 121, 118, 117, // 1864-1871
116, 113, 113, 113, 110, 110, 108, 106, // 1872-1879
115, 137, 149, 149, 160, 172, 144, 138, // 1880-1887
139, 114, 110, 114, 116, 118, 129, 141, // 1888-1895
140, 136, 144, 134, 123, 128, 122, 119, // 1896-1903
121, 130, 130, 131, 135, 135, 130, 130, // 1904-1911
127, 123, 124, 123, 121, 120, 118, 116, // 1912-1919
116, 114, 114, 112, 111, 108, 105, 107, // 1920-1927
116, 135, 151, 154, 160, 172, 149, 135, // 1928-1935
136, 114, 107, 112, 115, 119, 130, 142, // 1936-1943
143, 138, 143, 136, 122, 126, 121, 119, // 1944-1951
121, 130, 131, 132, 137, 134, 131, 130, // 1952-1959
128, 123, 124, 123, 122, 120, 119, 116, // 1960-1967
115, 116, 113, 112, 111, 108, 105, 105, // 1968-1975
110, 124, 143, 156, 157, 166, 164, 142, // 1976-1983
135, 124, 111, 109, 113, 118, 124, 136, // 1984-1991
143, 142, 139, 141, 130, 124, 125, 120, // 1992-1999
122, 124, 130, 131, 133, 134, 133, 130, // 2000-2007
129, 125, 124, 125, 123, 123, 121, 119, // 2008-2015
115, 116, 114, 112, 111, 109, 107, 105, // 2016-2023
104, 109, 118, 139, 153, 156, 162, 166, // 2024-2031
149, 135, 133, 115, 111, 113, 118, 121, // 2032-2039
131, 140, 143, 139, 139, 138, 125, 126, // 2040-2047
125, 120, 124, 127, 129, 131, 133, 133, // 2048-2055
131, 131, 129, 125, 126, 124, 123, 123, // 2056-2063
121, 118, 115, 115, 112, 111, 110, 109, // 2064-2071
106, 105, 107, 109, 120, 135, 150, 157, // 2072-2079
157, 164, 153, 138, 134, 123, 114, 116, // 2080-2087
119, 123, 129, 137, 140, 140, 138, 137, // 2088-2095
133, 125, 129, 123, 122, 129, 126, 130, // 2096-2103
133, 131, 131, 131, 130, 129, 128, 128, // 2104-2111
125, 124, 123, 119, 115, 112, 112, 108, // 2112-2119
108, 110, 106, 108, 109, 110, 114, 120, // 2120-2127
134, 147, 155, 154, 158, 158, 138, 138, // 2128-2135
132, 118, 120, 122, 123, 126, 133, 136, // 2136-2143
136, 138, 137, 131, 131, 128, 124, 124, // 2144-2151
123, 128, 125, 130, 132, 131, 133, 133, // 2152-2159
130, 130, 129, 126, 124, 122, 119, 116, // 2160-2167
112, 111, 111, 109, 108, 110, 109, 111, // 2168-2175
112, 112, 117, 119, 125, 140, 149, 153, // 2176-2183
152, 164, 152, 139, 144, 130, 123, 124, // 2184-2191
123, 121, 125, 131, 131, 132, 136, 136, // 2192-2199
129, 131, 129, 121, 124, 124, 122, 127, // 2200-2207
130, 131, 134, 134, 133, 132, 130, 126, // 2208-2215
123, 121, 119, 116, 115, 112, 111, 112, // 2216-2223
112, 110, 112, 112, 112, 113, 113, 115, // 2224-2231
118, 121, 130, 141, 150, 156, 155, 164, // 2232-2239
153, 143, 145, 130, 125, 123, 120, 119, // 2240-2247
122, 125, 128, 129, 133, 132, 130, 130, // 2248-2255
127, 125, 123, 124, 123, 124, 129, 133, // 2256-2263
133, 134, 135, 131, 130, 126, 121, 120, // 2264-2271
118, 116, 116, 116, 114, 113, 115, 114, // 2272-2279
112, 115, 115, 113, 118, 116, 117, 121, // 2280-2287
123, 127, 135, 148, 153, 152, 160, 162, // 2288-2295
146, 145, 140, 125, 123, 120, 115, 114, // 2296-2303
119, 120, 121, 127, 130, 129, 131, 132, // 2304-2311
130, 129, 129, 125, 124, 125, 125, 126, // 2312-2319
131, 132, 130, 133, 131, 126, 124, 123, // 2320-2327
119, 118, 119, 116, 116, 117, 116, 117, // 2328-2335
118, 118, 119, 119, 120, 120, 121, 121, // 2336-2343
121, 124, 125, 130, 142, 148, 148, 153, // 2344-2351
158, 146, 143, 142, 125, 123, 119, 114, // 2352-2359
112, 115, 116, 119, 123, 129, 129, 132, // 2360-2367
135, 133, 134, 133, 130, 128, 127, 124, // 2368-2375
123, 125, 126, 129, 131, 129, 133, 129, // 2376-2383
123, 129, 120, 120, 123, 119, 121, 121, // 2384-2391
120, 120, 119, 119, 120, 120, 120, 121, // 2392-2399
120, 120, 119, 119, 123, 121, 130, 140, // 2400-2407
144, 143, 152, 155, 140, 146, 139, 125, // 2408-2415
125, 121, 114, 114, 116, 114, 118, 123, // 2416-2423
126, 129, 135, 136, 137, 138, 136, 133, // 2424-2431
130, 126, 123, 121, 121, 122, 124, 129, // 2432-2439
128, 131, 133, 129, 130, 131, 124, 128, // 2440-2447
125, 121, 122, 120, 117, 118, 117, 117, // 2448-2455
119, 119, 121, 121, 120, 121, 119, 118, // 2456-2463
121, 121, 123, 132, 141, 142, 144, 155, // 2464-2471
146, 143, 148, 134, 131, 129, 120, 116, // 2472-2479
116, 115, 114, 119, 123, 125, 132, 137, // 2480-2487
137, 139, 140, 136, 133, 131, 125, 121, // 2488-2495
120, 118, 118, 121, 124, 125, 130, 134, // 2496-2503
131, 134, 134, 129, 130, 126, 121, 120, // 2504-2511
117, 115, 115, 115, 115, 118, 120, 121, // 2512-2519
123, 123, 122, 123, 119, 120, 122, 118, // 2520-2527
125, 133, 138, 141, 144, 153, 143, 147, // 2528-2535
148, 134, 136, 130, 120, 119, 117, 112, // 2536-2543
114, 118, 120, 123, 131, 134, 136, 139, // 2544-2551
138, 136, 135, 130, 124, 122, 118, 116, // 2552-2559
116, 118, 122, 124, 127, 135, 133, 135, // 2560-2567
139, 132, 133, 130, 123, 121, 119, 115, // 2568-2575
114, 115, 115, 116, 120, 121, 121, 125, // 2576-2583
124, 123, 124, 121, 120, 121, 120, 124, // 2584-2591
129, 136, 139, 141, 151, 143, 145, 149, // 2592-2599
137, 138, 134, 124, 121, 119, 114, 114, // 2600-2607
116, 116, 120, 125, 129, 132, 136, 137, // 2608-2615
136, 136, 133, 129, 126, 122, 119, 119, // 2616-2623
118, 120, 124, 127, 131, 134, 137, 136, // 2624-2631
136, 136, 130, 129, 125, 119, 119, 115, // 2632-2639
114, 115, 115, 116, 119, 121, 123, 125, // 2640-2647
125, 123, 125, 123, 120, 123, 120, 121, // 2648-2655
125, 130, 136, 135, 143, 145, 142, 149, // 2656-2663
143, 139, 140, 133, 128, 124, 119, 116, // 2664-2671
116, 116, 116, 120, 124, 125, 131, 134, // 2672-2679
134, 135, 135, 132, 130, 128, 124, 122, // 2680-2687
120, 120, 121, 124, 127, 129, 133, 133, // 2688-2695
134, 135, 133, 131, 129, 124, 121, 119, // 2696-2703
116, 115, 115, 115, 116, 118, 120, 121, // 2704-2711
124, 125, 124, 125, 124, 122, 124, 121, // 2712-2719
123, 124, 128, 135, 134, 140, 146, 142, // 2720-2727
146, 147, 140, 143, 138, 131, 129, 123, // 2728-2735
118, 116, 115, 114, 116, 119, 121, 125, // 2736-2743
130, 131, 134, 134, 134, 133, 131, 129, // 2744-2751
126, 124, 123, 123, 124, 124, 128, 129, // 2752-2759
131, 131, 133, 132, 131, 131, 126, 125, // 2760-2767
122, 119, 118, 117, 116, 118, 118, 119, // 2768-2775
121, 123, 124, 125, 125, 124, 125, 123, // 2776-2783
123, 124, 123, 125, 130, 134, 135, 140, // 2784-2791
144, 140, 146, 144, 140, 143, 135, 131, // 2792-2799
129, 122, 118, 117, 115, 114, 116, 118, // 2800-2807
119, 124, 127, 129, 133, 134, 134, 134, // 2808-2815
132, 130, 129, 126, 124, 125, 125, 124, // 2816-2823
129, 130, 129, 133, 131, 130, 132, 129, // 2824-2831
127, 126, 122, 120, 120, 118, 117, 118, // 2832-2839
118, 119, 120, 121, 123, 124, 124, 125, // 2840-2847
124, 124, 124, 124, 125, 124, 129, 131, // 2848-2855
134, 136, 140, 143, 140, 144, 141, 140, // 2856-2863
139, 134, 131, 128, 122, 119, 118, 115, // 2864-2871
115, 117, 118, 120, 124, 125, 129, 131, // 2872-2879
132, 133, 133, 132, 131, 130, 129, 127, // 2880-2887
128, 127, 128, 127, 129, 128, 129, 130, // 2888-2895
127, 129, 127, 124, 124, 122, 120, 120, // 2896-2903
119, 118, 119, 119, 120, 121, 122, 123, // 2904-2911
124, 123, 124, 125, 123, 124, 125, 124, // 2912-2919
125, 128, 129, 134, 134, 136, 142, 139, // 2920-2927
142, 143, 138, 139, 135, 131, 130, 125, // 2928-2935
121, 120, 118, 116, 117, 118, 119, 121, // 2936-2943
124, 125, 130, 131, 132, 133, 133, 133, // 2944-2951
133, 130, 130, 129, 127, 129, 127, 126, // 2952-2959
130, 126, 127, 129, 125, 127, 125, 124, // 2960-2967
125, 122, 121, 121, 120, 120, 120, 120, // 2968-2975
120, 122, 122, 123, 124, 124, 125, 125, // 2976-2983
125, 125, 126, 125, 126, 128, 128, 130, // 2984-2991
131, 134, 134, 137, 138, 136, 139, 136, // 2992-2999
135, 135, 131, 130, 128, 123, 121, 120, // 3000-3007
119, 119, 119, 120, 121, 124, 124, 127, // 3008-3015
130, 130, 131, 133, 132, 132, 132, 131, // 3016-3023
130, 130, 127, 128, 129, 125, 128, 125, // 3024-3031
124, 126, 124, 124, 124, 123, 123, 123, // 3032-3039
123, 122, 123, 123, 122, 123, 123, 123, // 3040-3047
124, 124, 124, 125, 124, 125, 125, 125, // 3048-3055
128, 126, 128, 128, 127, 130, 130, 133, // 3056-3063
133, 133, 136, 134, 135, 136, 133, 134, // 3064-3071
132, 130, 129, 126, 124, 123, 122, 121, // 3072-3079
121, 121, 122, 123, 125, 125, 129, 129, // 3080-3087
130, 132, 131, 132, 133, 131, 130, 130, // 3088-3095
129, 125, 128, 124, 123, 124, 121, 123, // 3096-3103
123, 122, 124, 123, 123, 124, 124, 124, // 3104-3111
125, 124, 124, 125, 125, 124, 125, 124, // 3112-3119
124, 125, 124, 125, 126, 125, 127, 129, // 3120-3127
128, 130, 130, 130, 133, 133, 133, 135, // 3128-3135
134, 133, 135, 132, 132, 131, 129, 129, // 3136-3143
128, 125, 124, 124, 123, 123, 124, 124, // 3144-3151
125, 126, 128, 129, 130, 130, 131, 130, // 3152-3159
131, 130, 129, 129, 128, 126, 125, 125, // 3160-3167
124, 124, 124, 124, 124, 124, 124, 124, // 3168-3175
124, 124, 125, 125, 125, 125, 125, 125, // 3176-3183
125, 124, 125, 124, 125, 125, 125, 125, // 3184-3191
128, 127, 128, 128, 129, 129, 130, 130, // 3192-3199
130, 131, 132, 132, 133, 133, 133, 132, // 3200-3207
133, 131, 131, 131, 129, 129, 128, 126, // 3208-3215
126, 125, 125, 125, 124, 125, 125, 125, // 3216-3223
125, 126, 128, 127, 128, 128, 126, 128, // 3224-3231
125, 125, 125, 124, 124, 124, 124, 124, // 3232-3239
124, 124, 125, 124, 125, 125, 125, 125, // 3240-3247
125, 125, 125, 125, 125, 125, 125, 126, // 3248-3255
125, 127, 128, 127, 129, 127, 130, 129, // 3256-3263
130, 131, 131, 132, 132, 133, 133, 133, // 3264-3271
133, 132, 132, 130, 130, 129, 127, 128, // 3272-3279
125, 125, 125, 124, 124, 124, 124, 124, // 3280-3287
124, 125, 125, 125, 125, 126, 125, 125, // 3288-3295
125, 125, 125, 125, 124, 124, 124, 124, // 3296-3303
124, 124, 124, 125, 125, 125, 125, 126, // 3304-3311
126, 126, 126, 126, 126, 127, 126, 126, // 3312-3319
128, 128, 127, 128, 129, 128, 129, 129, // 3320-3327
129, 130, 129, 130, 130, 130, 130, 130, // 3328-3335
130, 130, 130, 130, 129, 129, 129, 128, // 3336-3343
127, 128, 126, 125, 125, 125, 125, 124, // 3344-3351
124, 124, 124, 124, 124, 125, 125, 125, // 3352-3359
125, 125, 125, 125, 125, 125, 125, 125, // 3360-3367
125, 125, 125, 125, 125, 125, 126, 126, // 3368-3375
126, 126, 126, 126, 126, 126, 126, 126, // 3376-3383
126, 126, 126, 127, 128, 127, 129, 128, // 3384-3391
129, 129, 127, 129, 129, 129, 129, 129, // 3392-3399
129, 129, 129, 129, 129, 129, 129, 129, // 3400-3407
129, 129, 129, 129, 129, 128, 129, 127, // 3408-3415
128, 127, 128, 127, 126, 126, 126, 125, // 3416-3423
125, 125, 125, 125, 126, 125, 126, 126, // 3424-3431
126, 126, 126, 126, 125, 126, 125, 125, // 3432-3439
126, 125, 125, 125, 125, 126, 126, 126, // 3440-3447
128, 126, 128, 128, 127, 128, 127, 127, // 3448-3455
128, 127, 128, 127, 128, 127, 128, 127, // 3456-3463
129, 127, 129, 129, 129, 129, 129, 129, // 3464-3471
129, 129, 129, 129, 129, 127, 128, 129, // 3472-3479
128, 128, 129, 128, 128, 129, 127, 129, // 3480-3487
128, 127, 128, 127, 128, 128, 128, 127, // 3488-3495
128, 128, 128, 127, 128, 127, 128, 126, // 3496-3503
127, 128, 126, 128, 126, 126, 127, 126, // 3504-3511
126, 127, 126, 127, 128, 127, 128, 128, // 3512-3519
127, 128, 127, 128, 128, 127, 128, 127, // 3520-3527
128, 128, 127, 128};

const char L[2826] = {128, 128, 128, 128, 128, 127, 128, 127, // 0-7
128, 128, 127, 128, 127, 128, 128, 128, // 8-15
127, 128, 127, 128, 127, 127, 128, 128, // 16-23
128, 127, 129, 131, 142, 136, 123, 147, // 24-31
132, 106, 134, 121, 111, 129, 129, 130, // 32-39
125, 129, 129, 115, 117, 121, 115, 118, // 40-47
124, 124, 129, 129, 112, 117, 128, 112, // 48-55
121, 130, 138, 144, 146, 147, 138, 133, // 56-63
124, 123, 119, 123, 131, 134, 141, 147, // 64-71
147, 138, 130, 129, 116, 114, 123, 125, // 72-79
131, 134, 134, 124, 112, 104,  95,  93, // 80-87
 98, 103, 112, 120, 135, 162, 180, 146, // 88-95
149, 158, 106, 110, 118, 118, 124, 135, // 96-103
153, 147, 137, 136, 125, 107, 111, 115, // 104-111
118, 132, 146, 147, 148, 144, 135, 123, // 112-119
115, 116, 112, 119, 119, 119, 118, 115, // 120-127
110, 104, 103, 103, 107, 113, 129, 162, // 128-135
184, 147, 155, 164, 104, 109, 112, 116, // 136-143
123, 134, 153, 147, 137, 133, 121, 105, // 144-151
107, 112, 123, 134, 149, 155, 153, 146, // 152-159
130, 120, 110, 105, 113, 115, 115, 120, // 160-167
120, 112, 105, 106, 103, 105, 111, 123, // 168-175
150, 184, 174, 147, 170, 128,  97, 108, // 176-183
106, 118, 124, 145, 155, 142, 136, 130, // 184-191
111, 106, 111, 119, 132, 145, 157, 157, // 192-199
146, 135, 125, 107, 106, 111, 114, 116, // 200-207
116, 120, 113, 104, 105, 101, 104, 112, // 208-215
119, 143, 176, 184, 149, 158, 147,  95, // 216-223
103, 108, 116, 127, 143, 157, 148, 134, // 224-231
130, 113, 104, 111, 118, 133, 145, 160, // 232-239
158, 146, 131, 121, 104, 101, 109, 112, // 240-247
117, 116, 120, 113, 104, 102, 101, 102, // 248-255
112, 121, 149, 184, 184, 151, 168, 134, // 256-263
 93, 103, 104, 118, 128, 147, 160, 146, // 264-271
133, 126, 108, 102, 110, 120, 138, 152, // 272-279
166, 160, 141, 129, 112,  98, 103, 108, // 280-287
119, 119, 120, 120, 110, 100, 100,  97, // 288-295
102, 112, 124, 158, 184, 182, 152, 166, // 296-303
125,  91, 102, 105, 122, 132, 152, 162, // 304-311
144, 129, 121, 105, 102, 111, 124, 143, // 312-319
157, 168, 158, 136, 123, 108,  99, 103, // 320-327
112, 121, 119, 119, 116, 105,  98,  98, // 328-335
 98, 106, 112, 132, 170, 184, 174, 153, // 336-343
162, 114,  89, 100, 111, 125, 137, 158, // 344-351
160, 140, 125, 116, 102, 103, 115, 133, // 352-359
150, 166, 166, 147, 133, 115, 101, 101, // 360-367
109, 119, 124, 120, 117, 110,  98,  95, // 368-375
 97, 102, 111, 116, 138, 176, 184, 166, // 376-383
152, 155, 107,  93, 102, 116, 134, 140, // 384-391
158, 156, 135, 120, 112, 103, 108, 119, // 392-399
138, 159, 166, 157, 143, 124, 111, 101, // 400-407
105, 114, 122, 124, 118, 113, 106,  97, // 408-415
 97,  99, 105, 112, 120, 142, 182, 184, // 416-423
157, 156, 146, 103,  95, 102, 121, 136, // 424-431
143, 158, 152, 130, 116, 108, 105, 111, // 432-439
121, 143, 164, 162, 149, 138, 119, 106, // 440-447
103, 110, 119, 124, 123, 115, 109, 102, // 448-455
 95,  97, 103, 108, 113, 122, 147, 182, // 456-463
184, 156, 153, 142, 102,  97, 106, 125, // 464-471
139, 143, 157, 148, 125, 113, 107, 107, // 472-479
114, 124, 148, 164, 157, 145, 133, 117, // 480-487
105, 105, 114, 122, 124, 121, 112, 108, // 488-495
100,  95, 102, 105, 111, 115, 121, 147, // 496-503
184, 184, 153, 153, 138, 104,  98, 106, // 504-511
130, 142, 143, 156, 147, 124, 112, 106, // 512-519
110, 117, 127, 151, 164, 153, 143, 129, // 520-527
115, 108, 107, 116, 124, 124, 118, 110, // 528-535
106, 100,  98, 105, 107, 112, 115, 120, // 536-543
152, 184, 180, 154, 151, 133, 104,  97, // 544-551
108, 134, 143, 147, 155, 145, 124, 109, // 552-559
105, 112, 118, 130, 153, 164, 153, 138, // 560-567
125, 114, 107, 109, 118, 128, 125, 115, // 568-575
108, 106, 100,  98, 107, 109, 112, 114, // 576-583
120, 151, 184, 180, 156, 148, 131, 107, // 584-591
 95, 109, 135, 144, 148, 152, 143, 124, // 592-599
107, 105, 112, 121, 133, 150, 164, 153, // 600-607
136, 122, 115, 109, 111, 119, 130, 127, // 608-615
115, 106, 105, 103,  99, 106, 111, 115, // 616-623
115, 116, 142, 180, 184, 157, 146, 136, // 624-631
112,  98, 104, 131, 147, 147, 148, 143, // 632-639
130, 111, 103, 112, 125, 133, 147, 160, // 640-647
154, 137, 120, 115, 112, 113, 118, 127, // 648-655
129, 115, 103, 103, 105, 102, 106, 111, // 656-663
117, 115, 113, 137, 176, 184, 160, 143, // 664-671
139, 113, 100, 102, 126, 149, 147, 147, // 672-679
143, 130, 112, 102, 110, 126, 135, 143, // 680-687
156, 156, 139, 118, 114, 114, 115, 119, // 688-695
126, 131, 118, 102, 101, 106, 106, 108, // 696-703
111, 115, 118, 113, 121, 162, 184, 168, // 704-711
147, 137, 122, 108,  97, 116, 144, 151, // 712-719
147, 140, 134, 119, 104, 106, 120, 136, // 720-727
143, 147, 154, 144, 125, 114, 114, 119, // 728-735
122, 123, 129, 124, 110,  98, 103, 111, // 736-743
111, 111, 112, 118, 118, 113, 133, 176, // 744-751
184, 158, 139, 126, 116, 104, 103, 129, // 752-759
150, 154, 144, 133, 128, 113, 106, 112, // 760-767
127, 143, 146, 149, 147, 135, 119, 112, // 768-775
116, 124, 125, 125, 124, 114, 103, 101, // 776-783
107, 112, 113, 112, 115, 115, 113, 118, // 784-791
155, 184, 172, 147, 131, 118, 112,  98, // 792-799
114, 143, 156, 155, 136, 128, 119, 108, // 800-807
108, 116, 138, 148, 147, 147, 140, 126, // 808-815
115, 112, 120, 127, 128, 125, 119, 108, // 816-823
100, 104, 112, 115, 114, 112, 114, 114, // 824-831
112, 133, 174, 184, 162, 138, 119, 115, // 832-839
106, 105, 129, 151, 162, 147, 129, 121, // 840-847
112, 109, 111, 125, 144, 149, 149, 142, // 848-855
131, 121, 113, 117, 124, 129, 130, 123, // 856-863
114, 102, 101, 111, 115, 116, 112, 112, // 864-871
114, 112, 115, 149, 184, 180, 152, 125, // 872-879
116, 112, 105, 112, 135, 158, 160, 141, // 880-887
123, 115, 112, 112, 115, 132, 145, 150, // 888-895
147, 135, 125, 118, 116, 121, 124, 130, // 896-903
127, 120, 110, 101, 106, 112, 116, 115, // 904-911
112, 112, 112, 111, 121, 160, 184, 174, // 912-919
145, 120, 111, 112, 107, 116, 142, 158, // 920-927
160, 138, 118, 113, 112, 115, 118, 133, // 928-935
147, 149, 146, 131, 121, 119, 119, 123, // 936-943
124, 129, 128, 118, 107,  99, 108, 116, // 944-951
118, 114, 111, 112, 112, 112, 129, 170, // 952-959
184, 170, 140, 112, 111, 110, 111, 123, // 960-967
142, 162, 155, 135, 116, 109, 114, 116, // 968-975
121, 135, 144, 152, 143, 129, 119, 116, // 976-983
122, 123, 125, 127, 125, 119, 105, 100, // 984-991
108, 117, 121, 112, 110, 112, 113, 114, // 992-999
130, 172, 184, 170, 139, 110, 110, 111, // 1000-1007
113, 125, 141, 160, 155, 136, 116, 107, // 1008-1015
114, 118, 123, 134, 142, 150, 143, 130, // 1016-1023
119, 115, 124, 124, 125, 125, 124, 121, // 1024-1031
107, 101, 107, 118, 124, 115, 110, 111, // 1032-1039
112, 113, 124, 164, 184, 174, 145, 112, // 1040-1047
107, 110, 114, 124, 136, 155, 157, 143, // 1048-1055
123, 108, 111, 118, 123, 132, 138, 146, // 1056-1063
146, 135, 123, 115, 120, 125, 125, 128, // 1064-1071
124, 124, 114, 104, 106, 112, 120, 119, // 1072-1079
112, 111, 112, 114, 118, 143, 176, 178, // 1080-1087
160, 125, 107, 111, 112, 124, 130, 143, // 1088-1095
154, 148, 136, 114, 110, 114, 121, 129, // 1096-1103
133, 139, 144, 141, 131, 120, 118, 123, // 1104-1111
125, 128, 126, 124, 121, 112, 107, 108, // 1112-1119
115, 121, 120, 113, 111, 111, 112, 118, // 1120-1127
145, 174, 176, 158, 126, 108, 109, 112, // 1128-1135
123, 131, 143, 152, 149, 139, 119, 110, // 1136-1143
112, 120, 129, 131, 137, 142, 142, 135, // 1144-1151
123, 118, 120, 125, 129, 129, 125, 121, // 1152-1159
117, 111, 109, 113, 120, 123, 117, 112, // 1160-1167
107, 109, 115, 135, 166, 174, 166, 140, // 1168-1175
114, 111, 111, 119, 127, 136, 147, 150, // 1176-1183
145, 130, 114, 110, 114, 124, 130, 134, // 1184-1191
139, 140, 138, 129, 121, 119, 123, 129, // 1192-1199
130, 127, 124, 120, 116, 112, 112, 114, // 1200-1207
120, 123, 117, 111, 105, 107, 116, 141, // 1208-1215
168, 172, 160, 135, 114, 112, 112, 120, // 1216-1223
126, 137, 148, 151, 144, 127, 112, 110, // 1224-1231
114, 124, 129, 134, 138, 140, 138, 129, // 1232-1239
122, 120, 125, 129, 130, 126, 123, 123, // 1240-1247
120, 118, 113, 114, 118, 120, 119, 112, // 1248-1255
108, 107, 111, 120, 144, 166, 170, 155, // 1256-1263
131, 115, 112, 115, 121, 128, 138, 147, // 1264-1271
149, 143, 127, 114, 110, 115, 123, 127, // 1272-1279
133, 136, 139, 138, 131, 124, 120, 124, // 1280-1287
125, 127, 128, 124, 125, 123, 121, 117, // 1288-1295
115, 115, 116, 118, 112, 110, 107, 109, // 1296-1303
116, 136, 160, 170, 162, 142, 120, 113, // 1304-1311
112, 119, 125, 133, 143, 146, 146, 135, // 1312-1319
121, 112, 111, 119, 125, 132, 136, 138, // 1320-1327
139, 134, 130, 123, 120, 123, 125, 130, // 1328-1335
129, 127, 126, 124, 122, 116, 114, 114, // 1336-1343
116, 117, 114, 111, 108, 109, 115, 134, // 1344-1351
156, 168, 162, 145, 125, 114, 112, 116, // 1352-1359
123, 130, 138, 143, 144, 139, 128, 116, // 1360-1367
112, 115, 123, 131, 136, 137, 137, 135, // 1368-1375
131, 126, 121, 121, 124, 127, 131, 130, // 1376-1383
129, 125, 123, 120, 116, 114, 114, 116, // 1384-1391
117, 115, 111, 107, 108, 113, 133, 154, // 1392-1399
168, 166, 148, 130, 116, 112, 115, 120, // 1400-1407
126, 135, 140, 145, 143, 134, 121, 112, // 1408-1415
112, 118, 127, 134, 138, 138, 136, 134, // 1416-1423
130, 125, 121, 121, 125, 130, 133, 132, // 1424-1431
130, 125, 122, 119, 116, 114, 115, 117, // 1432-1439
117, 114, 110, 106, 106, 112, 130, 152, // 1440-1447
168, 170, 155, 134, 116, 109, 111, 117, // 1448-1455
125, 134, 141, 145, 145, 139, 126, 114, // 1456-1463
110, 112, 123, 133, 139, 140, 137, 134, // 1464-1471
130, 125, 122, 121, 123, 129, 133, 134, // 1472-1479
133, 129, 124, 121, 120, 119, 116, 114, // 1480-1487
113, 113, 112, 111, 108, 106, 112, 123, // 1488-1495
144, 164, 170, 160, 140, 118, 110, 109, // 1496-1503
118, 125, 134, 140, 142, 145, 139, 132, // 1504-1511
119, 112, 112, 118, 131, 138, 141, 138, // 1512-1519
132, 129, 125, 124, 124, 124, 128, 130, // 1520-1527
133, 133, 131, 128, 123, 122, 121, 120, // 1528-1535
117, 114, 112, 111, 112, 111, 110, 110, // 1536-1543
112, 118, 133, 147, 162, 162, 152, 135, // 1544-1551
120, 113, 114, 121, 129, 135, 137, 139, // 1552-1559
139, 137, 133, 124, 118, 116, 119, 128, // 1560-1567
134, 138, 136, 133, 129, 126, 125, 125, // 1568-1575
125, 126, 129, 131, 134, 133, 131, 126, // 1576-1583
122, 120, 119, 118, 115, 112, 111, 111, // 1584-1591
112, 112, 114, 113, 114, 118, 125, 138, // 1592-1599
151, 158, 156, 147, 133, 123, 118, 120, // 1600-1607
125, 131, 134, 135, 137, 136, 136, 132, // 1608-1615
125, 121, 118, 120, 124, 130, 134, 134, // 1616-1623
133, 130, 129, 129, 129, 129, 128, 129, // 1624-1631
130, 130, 130, 128, 124, 121, 119, 118, // 1632-1639
118, 118, 115, 112, 111, 112, 112, 114, // 1640-1647
115, 116, 117, 119, 124, 133, 143, 155, // 1648-1655
158, 156, 144, 133, 123, 119, 123, 126, // 1656-1663
132, 134, 134, 135, 134, 133, 129, 124, // 1664-1671
119, 117, 119, 123, 130, 135, 136, 135, // 1672-1679
132, 130, 129, 127, 128, 125, 125, 125, // 1680-1687
127, 128, 127, 124, 121, 120, 119, 120, // 1688-1695
120, 119, 116, 114, 113, 114, 116, 118, // 1696-1703
119, 120, 120, 121, 124, 131, 139, 149, // 1704-1711
157, 159, 153, 141, 130, 120, 118, 121, // 1712-1719
124, 130, 129, 131, 130, 131, 131, 128, // 1720-1727
124, 119, 119, 120, 125, 131, 135, 136, // 1728-1735
134, 131, 128, 125, 125, 124, 125, 124, // 1736-1743
125, 126, 126, 125, 124, 122, 121, 121, // 1744-1751
122, 123, 123, 121, 119, 116, 116, 118, // 1752-1759
120, 122, 122, 121, 120, 121, 124, 130, // 1760-1767
137, 144, 152, 154, 151, 143, 131, 121, // 1768-1775
115, 116, 119, 125, 128, 130, 131, 130, // 1776-1783
130, 129, 127, 123, 121, 121, 124, 129, // 1784-1791
131, 134, 133, 131, 129, 125, 124, 124, // 1792-1799
124, 125, 124, 127, 125, 129, 127, 128, // 1800-1807
126, 125, 125, 124, 125, 123, 121, 119, // 1808-1815
118, 119, 120, 122, 121, 121, 119, 118, // 1816-1823
118, 119, 124, 130, 136, 143, 151, 152, // 1824-1831
152, 142, 131, 120, 115, 116, 118, 125, // 1832-1839
128, 131, 130, 130, 131, 131, 131, 127, // 1840-1847
125, 123, 124, 126, 130, 132, 132, 131, // 1848-1855
129, 126, 125, 124, 125, 125, 126, 128, // 1856-1863
130, 130, 131, 130, 129, 126, 124, 123, // 1864-1871
121, 122, 121, 120, 120, 119, 120, 121, // 1872-1879
121, 120, 119, 117, 116, 116, 119, 123, // 1880-1887
130, 134, 140, 145, 149, 149, 146, 137, // 1888-1895
127, 118, 116, 118, 122, 127, 130, 131, // 1896-1903
130, 131, 131, 133, 131, 130, 127, 124, // 1904-1911
124, 125, 129, 129, 130, 127, 126, 125, // 1912-1919
125, 125, 125, 127, 128, 129, 130, 131, // 1920-1927
131, 129, 127, 124, 122, 121, 121, 121, // 1928-1935
121, 122, 121, 122, 121, 123, 122, 121, // 1936-1943
120, 118, 116, 116, 119, 121, 125, 130, // 1944-1951
133, 138, 143, 148, 149, 147, 140, 131, // 1952-1959
121, 118, 118, 122, 128, 129, 131, 130, // 1960-1967
131, 130, 133, 133, 131, 127, 124, 122, // 1968-1975
122, 124, 125, 128, 126, 125, 124, 124, // 1976-1983
126, 129, 131, 131, 131, 131, 131, 131, // 1984-1991
129, 128, 124, 123, 121, 121, 122, 123, // 1992-1999
123, 122, 122, 121, 122, 122, 123, 121, // 2000-2007
120, 118, 118, 118, 120, 123, 125, 129, // 2008-2015
131, 135, 139, 145, 146, 148, 143, 135, // 2016-2023
126, 120, 119, 120, 124, 126, 129, 129, // 2024-2031
129, 129, 130, 132, 131, 130, 128, 124, // 2032-2039
122, 121, 123, 124, 125, 125, 125, 126, // 2040-2047
128, 130, 131, 133, 134, 134, 132, 130, // 2048-2055
127, 125, 123, 124, 123, 123, 123, 123, // 2056-2063
123, 123, 122, 121, 121, 121, 122, 122, // 2064-2071
122, 120, 119, 119, 118, 119, 121, 124, // 2072-2079
126, 130, 133, 138, 143, 146, 147, 143, // 2080-2087
138, 130, 124, 121, 120, 123, 124, 128, // 2088-2095
127, 129, 129, 130, 131, 131, 131, 129, // 2096-2103
125, 122, 121, 121, 123, 124, 125, 126, // 2104-2111
127, 127, 129, 130, 131, 133, 134, 133, // 2112-2119
132, 130, 128, 125, 123, 123, 122, 122, // 2120-2127
123, 123, 123, 123, 123, 123, 123, 122, // 2128-2135
122, 122, 121, 120, 119, 119, 119, 120, // 2136-2143
121, 124, 128, 131, 135, 140, 144, 147, // 2144-2151
147, 143, 138, 131, 123, 120, 120, 121, // 2152-2159
123, 125, 125, 128, 127, 129, 130, 131, // 2160-2167
130, 129, 125, 123, 121, 121, 122, 123, // 2168-2175
125, 126, 128, 129, 129, 130, 131, 131, // 2176-2183
132, 132, 132, 132, 131, 129, 125, 124, // 2184-2191
121, 121, 121, 123, 124, 125, 125, 124, // 2192-2199
124, 123, 121, 121, 121, 121, 121, 121, // 2200-2207
120, 120, 120, 121, 123, 125, 130, 133, // 2208-2215
138, 142, 144, 146, 144, 140, 134, 126, // 2216-2223
122, 120, 120, 122, 124, 125, 126, 128, // 2224-2231
128, 129, 130, 131, 130, 128, 125, 123, // 2232-2239
122, 122, 123, 124, 126, 129, 130, 130, // 2240-2247
131, 132, 132, 132, 132, 131, 131, 130, // 2248-2255
129, 127, 125, 123, 122, 122, 122, 123, // 2256-2263
124, 125, 124, 124, 123, 122, 121, 121, // 2264-2271
121, 121, 121, 121, 120, 120, 120, 121, // 2272-2279
123, 125, 129, 133, 136, 140, 143, 144, // 2280-2287
144, 141, 135, 129, 123, 120, 120, 122, // 2288-2295
123, 125, 125, 125, 126, 127, 130, 130, // 2296-2303
131, 129, 128, 124, 123, 123, 123, 125, // 2304-2311
128, 129, 130, 130, 130, 131, 131, 131, // 2312-2319
131, 131, 130, 129, 128, 125, 124, 124, // 2320-2327
123, 122, 123, 123, 124, 124, 124, 124, // 2328-2335
123, 123, 122, 122, 122, 122, 122, 121, // 2336-2343
121, 121, 121, 122, 123, 124, 127, 130, // 2344-2351
134, 137, 141, 144, 143, 142, 137, 132, // 2352-2359
125, 122, 120, 121, 123, 124, 125, 125, // 2360-2367
126, 128, 129, 130, 131, 130, 128, 125, // 2368-2375
124, 123, 123, 125, 126, 128, 129, 130, // 2376-2383
130, 131, 131, 131, 131, 130, 130, 129, // 2384-2391
127, 128, 125, 124, 123, 123, 123, 123, // 2392-2399
124, 124, 124, 124, 124, 123, 123, 123, // 2400-2407
122, 123, 123, 123, 122, 121, 121, 121, // 2408-2415
122, 123, 125, 129, 131, 134, 137, 141, // 2416-2423
143, 143, 140, 136, 131, 125, 122, 121, // 2424-2431
122, 123, 124, 125, 125, 128, 127, 130, // 2432-2439
131, 131, 129, 128, 125, 124, 124, 124, // 2440-2447
125, 128, 129, 129, 129, 130, 130, 131, // 2448-2455
131, 131, 130, 129, 128, 125, 124, 124, // 2456-2463
123, 123, 123, 124, 124, 124, 124, 124, // 2464-2471
124, 124, 123, 123, 123, 123, 123, 123, // 2472-2479
123, 122, 121, 121, 122, 124, 125, 128, // 2480-2487
130, 131, 134, 136, 140, 142, 142, 139, // 2488-2495
134, 130, 125, 123, 123, 124, 125, 125, // 2496-2503
125, 126, 128, 129, 130, 130, 130, 128, // 2504-2511
125, 124, 124, 125, 126, 128, 127, 128, // 2512-2519
129, 129, 130, 130, 131, 131, 130, 130, // 2520-2527
127, 126, 125, 124, 124, 124, 124, 124, // 2528-2535
125, 124, 124, 124, 123, 123, 123, 124, // 2536-2543
124, 124, 124, 123, 123, 123, 122, 123, // 2544-2551
123, 124, 125, 125, 127, 129, 130, 131, // 2552-2559
133, 134, 135, 136, 137, 136, 134, 130, // 2560-2567
128, 125, 125, 126, 127, 128, 128, 127, // 2568-2575
128, 129, 128, 127, 125, 125, 125, 125, // 2576-2583
126, 128, 127, 128, 127, 129, 130, 130, // 2584-2591
130, 130, 130, 129, 127, 125, 124, 124, // 2592-2599
124, 124, 125, 125, 125, 124, 123, 122, // 2600-2607
121, 121, 122, 123, 124, 125, 124, 124, // 2608-2615
123, 123, 124, 125, 125, 125, 125, 125, // 2616-2623
128, 129, 131, 131, 131, 130, 130, 130, // 2624-2631
130, 130, 131, 132, 133, 133, 132, 131, // 2632-2639
129, 128, 129, 129, 129, 129, 129, 129, // 2640-2647
129, 129, 127, 128, 126, 128, 129, 129, // 2648-2655
129, 128, 128, 125, 125, 125, 125, 125, // 2656-2663
125, 125, 125, 124, 124, 124, 123, 123, // 2664-2671
123, 123, 124, 124, 124, 124, 124, 124, // 2672-2679
124, 124, 124, 125, 125, 125, 126, 128, // 2680-2687
128, 129, 127, 129, 129, 130, 130, 130, // 2688-2695
129, 129, 129, 129, 129, 129, 129, 130, // 2696-2703
130, 130, 131, 137, 141, 137, 131, 120, // 2704-2711
119, 122, 128, 131, 128, 130, 128, 130, // 2712-2719
125, 121, 120, 121, 127, 129, 130, 125, // 2720-2727
124, 124, 124, 125, 123, 125, 125, 127, // 2728-2735
128, 124, 122, 122, 125, 126, 127, 126, // 2736-2743
125, 126, 126, 126, 125, 125, 126, 128, // 2744-2751
128, 128, 127, 128, 129, 130, 130, 129, // 2752-2759
127, 129, 129, 129, 127, 128, 127, 130, // 2760-2767
130, 130, 129, 126, 126, 128, 127, 128, // 2768-2775
128, 128, 129, 129, 128, 126, 126, 129, // 2776-2783
129, 129, 129, 127, 129, 129, 128, 127, // 2784-2791
128, 129, 129, 129, 126, 125, 126, 127, // 2792-2799
128, 127, 128, 127, 128, 127, 126, 125, // 2800-2807
126, 126, 128, 126, 128, 127, 127, 128, // 2808-2815
127, 128, 126, 126, 126, 126, 128, 128, // 2816-2823
128, 127};

const char M[3139] = {128, 129, 134, 135, 129, 136, 134, 129, // 0-7
132, 124, 127, 119, 120, 122, 116, 120, // 8-15
118, 117, 116, 118, 118, 120, 125, 129, // 16-23
131, 135, 136, 137, 133, 134, 131, 119, // 24-31
129, 120, 120, 125, 126, 133, 132, 136, // 32-39
136, 134, 134, 135, 130, 134, 134, 134, // 40-47
135, 135, 134, 125, 125, 117, 112, 110, // 48-55
106, 106, 104, 105, 106, 102, 115, 131, // 56-63
149, 145, 148, 176, 131, 146, 144, 123, // 64-71
130, 125, 135, 120, 133, 132, 120, 120, // 72-79
121, 114, 115, 121, 129, 131, 143, 151, // 80-87
145, 150, 144, 131, 128, 118, 112, 110, // 88-95
110, 108, 105, 111, 104, 102, 105, 107, // 96-103
110, 121, 143, 157, 149, 162, 170, 134, // 104-111
147, 135, 121, 121, 122, 124, 115, 130, // 112-119
125, 121, 125, 125, 123, 128, 134, 138, // 120-127
140, 147, 145, 143, 139, 133, 122, 112, // 128-135
109,  95,  98,  97,  93,  95, 101, 105, // 136-143
113, 128, 147, 168, 152, 170, 174, 134, // 144-151
153, 134, 123, 122, 122, 123, 112, 124, // 152-159
118, 112, 117, 120, 119, 130, 139, 145, // 160-167
149, 158, 151, 145, 143, 124, 118, 110, // 168-175
100,  95,  95,  91,  89,  93,  95, 103, // 176-183
115, 129, 156, 172, 155, 184, 172, 138, // 184-191
160, 130, 124, 119, 123, 116, 111, 123, // 192-199
111, 111, 116, 118, 121, 131, 143, 151, // 200-207
150, 164, 151, 143, 141, 119, 112, 103, // 208-215
 93,  91,  89,  91,  87,  91,  95,  99, // 216-223
118, 134, 164, 174, 164, 184, 164, 148, // 224-231
162, 122, 129, 115, 121, 112, 111, 119, // 232-239
106, 112, 114, 116, 124, 135, 147, 155, // 240-247
160, 164, 151, 148, 133, 118, 111,  97, // 248-255
 93,  87,  87,  87,  85,  85,  91, 102, // 256-263
118, 140, 174, 176, 172, 184, 160, 157, // 264-271
149, 128, 125, 111, 125, 106, 113, 114, // 272-279
107, 110, 112, 118, 123, 139, 154, 155, // 280-287
168, 164, 152, 148, 128, 120, 104,  98, // 288-295
 89,  87,  87,  87,  87,  85,  91, 100, // 296-303
112, 137, 170, 180, 172, 184, 174, 146, // 304-311
160, 122, 123, 111, 121, 108, 108, 119, // 312-319
106, 110, 114, 118, 120, 137, 152, 158, // 320-327
162, 172, 153, 149, 135, 118, 111,  97, // 328-335
 93,  87,  89,  87,  89,  87,  91,  98, // 336-343
106, 121, 152, 178, 176, 184, 184, 156, // 344-351
151, 147, 117, 116, 112, 118, 105, 114, // 352-359
115, 108, 113, 120, 120, 129, 146, 155, // 360-367
160, 166, 162, 149, 142, 125, 114, 102, // 368-375
 98,  87,  87,  87,  87,  89,  89,  95, // 376-383
 99, 111, 131, 158, 182, 176, 184, 184, // 384-391
144, 153, 138, 113, 115, 112, 116, 105, // 392-399
118, 115, 110, 116, 122, 120, 133, 146, // 400-407
157, 158, 166, 162, 145, 140, 121, 110, // 408-415
101,  95,  89,  87,  93,  91,  93,  95, // 416-423
 95, 102, 111, 122, 154, 178, 178, 176, // 424-431
184, 160, 135, 150, 112, 112, 112, 119, // 432-439
108, 114, 125, 112, 117, 125, 124, 127, // 440-447
144, 153, 156, 158, 162, 146, 136, 125, // 448-455
112, 100,  98,  91,  89,  93,  93,  93, // 456-463
 95, 101, 102, 109, 121, 146, 174, 178, // 464-471
172, 184, 164, 136, 147, 116, 114, 111, // 472-479
119, 112, 112, 125, 115, 116, 125, 125, // 480-487
128, 141, 150, 154, 157, 158, 148, 140, // 488-495
125, 115, 105,  99,  95,  91,  95,  95, // 496-503
 97,  99, 101, 102, 108, 114, 131, 156, // 504-511
178, 168, 174, 184, 139, 140, 135, 112, // 512-519
112, 115, 123, 112, 123, 125, 117, 120, // 520-527
128, 124, 131, 143, 151, 153, 152, 154, // 528-535
143, 129, 123, 110, 102, 101,  93,  93, // 536-543
 95,  98, 100, 102, 104, 105, 111, 120, // 544-551
140, 168, 172, 168, 182, 166, 133, 142, // 552-559
121, 113, 114, 121, 120, 115, 130, 121, // 560-567
119, 124, 127, 125, 136, 147, 148, 153, // 568-575
156, 144, 138, 125, 114, 107, 102,  99, // 576-583
 93,  99, 100,  99, 103, 104, 103, 106, // 584-591
114, 126, 149, 174, 170, 168, 182, 144, // 592-599
133, 138, 112, 116, 116, 125, 118, 121, // 600-607
130, 118, 120, 124, 125, 129, 140, 149, // 608-615
152, 153, 151, 144, 132, 119, 114, 105, // 616-623
103,  99,  97, 101, 101, 102, 103, 103, // 624-631
103, 108, 117, 138, 160, 174, 164, 174, // 632-639
172, 129, 142, 123, 114, 118, 120, 129, // 640-647
116, 130, 124, 118, 120, 124, 124, 131, // 648-655
143, 151, 149, 156, 150, 134, 133, 114, // 656-663
112, 106, 103, 102,  99, 106, 101, 104, // 664-671
107, 103, 105, 111, 118, 137, 162, 172, // 672-679
160, 174, 164, 125, 137, 124, 115, 116, // 680-687
125, 128, 120, 129, 128, 118, 120, 124, // 688-695
124, 131, 142, 148, 148, 153, 146, 135, // 696-703
131, 115, 112, 109, 106, 105, 103, 108, // 704-711
105, 105, 109, 104, 103, 108, 116, 129, // 712-719
152, 170, 162, 160, 172, 132, 127, 133, // 720-727
116, 120, 124, 134, 125, 127, 131, 120, // 728-735
117, 122, 123, 126, 137, 144, 146, 147, // 736-743
148, 138, 127, 123, 112, 111, 110, 108, // 744-751
107, 107, 110, 105, 108, 107, 105, 105, // 752-759
112, 120, 138, 166, 166, 153, 170, 148, // 760-767
123, 134, 121, 121, 122, 133, 135, 126, // 768-775
130, 125, 117, 116, 121, 123, 130, 140, // 776-783
145, 146, 146, 143, 133, 124, 120, 112, // 784-791
113, 112, 112, 110, 109, 111, 105, 109, // 792-799
108, 103, 107, 112, 121, 143, 162, 164, // 800-807
151, 164, 143, 121, 133, 120, 127, 125, // 808-815
136, 138, 129, 129, 124, 116, 115, 119, // 816-823
124, 129, 139, 146, 143, 143, 142, 134, // 824-831
123, 120, 119, 114, 114, 116, 112, 110, // 832-839
111, 110, 106, 108, 105, 104, 109, 118, // 840-847
131, 156, 164, 148, 157, 155, 119, 132, // 848-855
126, 125, 132, 131, 144, 131, 129, 126, // 856-863
118, 112, 116, 120, 128, 134, 143, 145, // 864-871
142, 140, 136, 129, 123, 119, 123, 118, // 872-879
116, 119, 111, 112, 110, 110, 108, 107, // 880-887
107, 106, 110, 120, 138, 156, 160, 146, // 888-895
158, 146, 120, 134, 125, 133, 132, 136, // 896-903
143, 131, 125, 123, 116, 112, 116, 122, // 904-911
130, 136, 143, 143, 143, 138, 133, 129, // 912-919
125, 121, 123, 123, 120, 117, 112, 110, // 920-927
108, 110, 110, 109, 107, 106, 109, 121, // 928-935
135, 151, 162, 146, 149, 151, 123, 129, // 936-943
131, 133, 138, 133, 143, 135, 123, 120, // 944-951
116, 112, 115, 121, 132, 137, 142, 143, // 952-959
142, 137, 130, 132, 124, 123, 126, 120, // 960-967
121, 117, 112, 109, 108, 110, 108, 110, // 968-975
107, 103, 111, 118, 131, 151, 162, 149, // 976-983
145, 148, 129, 129, 126, 134, 140, 133, // 984-991
141, 136, 125, 119, 114, 114, 116, 118, // 992-999
131, 136, 141, 142, 138, 138, 133, 128, // 1000-1007
128, 129, 124, 125, 123, 120, 116, 112, // 1008-1015
110, 111, 111, 112, 111, 107, 107, 110, // 1016-1023
117, 132, 148, 158, 147, 144, 146, 130, // 1024-1031
129, 129, 138, 142, 136, 139, 136, 127, // 1032-1039
117, 113, 114, 118, 119, 130, 137, 141, // 1040-1047
139, 137, 137, 132, 126, 129, 130, 129, // 1048-1055
125, 124, 121, 116, 111, 109, 111, 111, // 1056-1063
111, 110, 110, 107, 108, 117, 131, 148, // 1064-1071
157, 143, 145, 146, 128, 131, 129, 139, // 1072-1079
143, 136, 140, 135, 124, 118, 112, 114, // 1080-1087
119, 119, 131, 136, 140, 139, 135, 136, // 1088-1095
134, 128, 130, 131, 129, 129, 122, 122, // 1096-1103
118, 112, 111, 111, 112, 112, 110, 110, // 1104-1111
108, 108, 112, 124, 138, 155, 153, 137, // 1112-1119
146, 139, 130, 132, 131, 146, 143, 135, // 1120-1127
135, 129, 120, 115, 110, 117, 122, 123, // 1128-1135
133, 137, 139, 136, 132, 135, 134, 130, // 1136-1143
131, 132, 132, 128, 121, 120, 118, 112, // 1144-1151
110, 110, 113, 112, 110, 110, 108, 108, // 1152-1159
112, 123, 139, 153, 151, 139, 145, 139, // 1160-1167
133, 133, 133, 147, 142, 138, 133, 127, // 1168-1175
121, 115, 111, 117, 121, 125, 132, 134, // 1176-1183
139, 136, 134, 134, 135, 133, 132, 131, // 1184-1191
132, 128, 122, 120, 119, 116, 112, 111, // 1192-1199
112, 112, 112, 112, 109, 107, 110, 114, // 1200-1207
128, 143, 153, 147, 140, 143, 137, 138, // 1208-1215
132, 138, 144, 142, 136, 127, 124, 120, // 1216-1223
116, 112, 118, 121, 129, 131, 134, 137, // 1224-1231
137, 135, 135, 134, 134, 133, 131, 130, // 1232-1239
125, 121, 119, 118, 116, 114, 112, 112, // 1240-1247
113, 112, 111, 107, 108, 110, 112, 124, // 1248-1255
141, 153, 147, 141, 142, 138, 139, 133, // 1256-1263
136, 143, 143, 138, 130, 123, 121, 118, // 1264-1271
112, 115, 120, 127, 133, 134, 136, 138, // 1272-1279
138, 136, 134, 133, 133, 132, 129, 125, // 1280-1287
123, 121, 120, 117, 115, 112, 113, 113, // 1288-1295
112, 112, 111, 109, 106, 107, 115, 127, // 1296-1303
143, 153, 144, 142, 143, 138, 140, 133, // 1304-1311
136, 143, 142, 139, 129, 121, 120, 116, // 1312-1319
112, 114, 119, 129, 134, 136, 137, 138, // 1320-1327
138, 137, 134, 133, 133, 131, 130, 126, // 1328-1335
123, 121, 120, 118, 117, 115, 115, 113, // 1336-1343
112, 112, 111, 108, 106, 105, 111, 119, // 1344-1351
135, 148, 149, 143, 142, 139, 140, 139, // 1352-1359
137, 142, 142, 142, 135, 125, 119, 115, // 1360-1367
113, 115, 116, 123, 130, 135, 138, 138, // 1368-1375
138, 137, 136, 135, 133, 131, 131, 129, // 1376-1383
126, 123, 121, 120, 120, 119, 118, 115, // 1384-1391
113, 112, 112, 111, 107, 105, 103, 107, // 1392-1399
114, 125, 140, 148, 145, 144, 143, 142, // 1400-1407
145, 142, 143, 143, 140, 139, 131, 123, // 1408-1415
118, 115, 114, 116, 118, 124, 130, 134, // 1416-1423
138, 139, 139, 139, 138, 136, 135, 131, // 1424-1431
131, 128, 124, 123, 121, 121, 121, 119, // 1432-1439
119, 116, 114, 112, 112, 111, 108, 107, // 1440-1447
106, 108, 112, 120, 130, 137, 141, 142, // 1448-1455
143, 143, 146, 146, 144, 143, 141, 138, // 1456-1463
133, 129, 124, 122, 121, 122, 124, 125, // 1464-1471
129, 131, 132, 133, 133, 132, 132, 131, // 1472-1479
131, 130, 130, 129, 129, 127, 128, 128, // 1480-1487
126, 126, 125, 124, 123, 122, 119, 117, // 1488-1495
114, 112, 111, 110, 109, 109, 110, 112, // 1496-1503
113, 116, 120, 124, 129, 133, 138, 142, // 1504-1511
144, 146, 147, 147, 147, 146, 143, 142, // 1512-1519
139, 136, 133, 130, 128, 124, 122, 120, // 1520-1527
120, 119, 120, 120, 121, 123, 124, 125, // 1528-1535
128, 129, 130, 130, 130, 130, 129, 127, // 1536-1543
125, 123, 121, 118, 116, 114, 113, 112, // 1544-1551
111, 110, 110, 111, 112, 115, 119, 122, // 1552-1559
125, 131, 136, 140, 144, 147, 148, 150, // 1560-1567
151, 149, 148, 145, 143, 139, 135, 131, // 1568-1575
128, 124, 121, 119, 118, 117, 116, 116, // 1576-1583
118, 119, 120, 121, 124, 125, 128, 130, // 1584-1591
131, 131, 131, 130, 130, 128, 125, 122, // 1592-1599
119, 117, 114, 112, 111, 109, 108, 108, // 1600-1607
110, 112, 116, 120, 123, 129, 134, 140, // 1608-1615
144, 148, 151, 152, 154, 152, 151, 147, // 1616-1623
144, 141, 136, 133, 129, 125, 121, 119, // 1624-1631
117, 116, 115, 115, 116, 116, 118, 119, // 1632-1639
121, 123, 125, 128, 129, 130, 131, 131, // 1640-1647
131, 131, 130, 128, 124, 121, 119, 117, // 1648-1655
114, 112, 111, 110, 110, 110, 111, 114, // 1656-1663
118, 121, 125, 131, 137, 143, 147, 149, // 1664-1671
151, 153, 153, 151, 149, 146, 143, 139, // 1672-1679
134, 130, 125, 122, 119, 117, 115, 114, // 1680-1687
114, 115, 115, 116, 118, 120, 123, 124, // 1688-1695
128, 129, 130, 131, 132, 132, 132, 131, // 1696-1703
129, 128, 124, 121, 119, 117, 115, 112, // 1704-1711
110, 111, 111, 111, 112, 115, 119, 123, // 1712-1719
127, 131, 137, 142, 147, 149, 152, 152, // 1720-1727
153, 151, 148, 144, 142, 138, 133, 129, // 1728-1735
125, 121, 119, 116, 115, 114, 114, 115, // 1736-1743
116, 117, 119, 121, 123, 125, 128, 130, // 1744-1751
131, 133, 133, 133, 133, 132, 131, 129, // 1752-1759
125, 123, 121, 119, 116, 115, 113, 112, // 1760-1767
112, 112, 112, 113, 115, 119, 123, 127, // 1768-1775
131, 135, 140, 143, 147, 148, 149, 149, // 1776-1783
149, 147, 144, 141, 138, 133, 129, 124, // 1784-1791
121, 119, 118, 116, 115, 115, 116, 117, // 1792-1799
118, 120, 121, 124, 125, 129, 130, 131, // 1800-1807
132, 133, 133, 133, 132, 131, 130, 128, // 1808-1815
125, 123, 121, 119, 118, 116, 115, 114, // 1816-1823
113, 113, 113, 114, 116, 118, 120, 124, // 1824-1831
129, 131, 134, 138, 142, 144, 147, 146, // 1832-1839
146, 146, 144, 142, 139, 135, 132, 127, // 1840-1847
124, 122, 120, 119, 118, 118, 118, 119, // 1848-1855
120, 121, 123, 124, 125, 128, 129, 130, // 1856-1863
130, 130, 131, 131, 130, 130, 129, 129, // 1864-1871
126, 125, 124, 122, 120, 119, 118, 117, // 1872-1879
116, 116, 115, 115, 115, 116, 117, 119, // 1880-1887
121, 125, 129, 130, 134, 137, 140, 143, // 1888-1895
144, 144, 144, 144, 143, 140, 137, 134, // 1896-1903
131, 127, 125, 123, 121, 120, 120, 120, // 1904-1911
120, 120, 121, 123, 123, 124, 125, 127, // 1912-1919
128, 129, 129, 129, 129, 129, 129, 129, // 1920-1927
129, 127, 126, 125, 124, 123, 122, 121, // 1928-1935
120, 119, 118, 118, 116, 115, 115, 116, // 1936-1943
117, 118, 120, 123, 126, 129, 131, 134, // 1944-1951
138, 142, 143, 143, 143, 144, 143, 142, // 1952-1959
139, 136, 134, 131, 128, 125, 123, 122, // 1960-1967
121, 121, 121, 121, 121, 123, 123, 124, // 1968-1975
125, 125, 126, 127, 128, 128, 129, 129, // 1976-1983
129, 129, 129, 128, 127, 126, 125, 125, // 1984-1991
124, 123, 122, 121, 120, 119, 118, 118, // 1992-1999
116, 116, 117, 118, 119, 120, 122, 125, // 2000-2007
129, 131, 134, 137, 140, 143, 143, 143, // 2008-2015
143, 143, 142, 139, 136, 134, 131, 129, // 2016-2023
125, 124, 123, 122, 121, 121, 121, 121, // 2024-2031
122, 123, 123, 124, 125, 125, 125, 126, // 2032-2039
126, 127, 128, 128, 128, 128, 128, 127, // 2040-2047
128, 126, 125, 125, 124, 123, 122, 121, // 2048-2055
120, 119, 118, 117, 116, 116, 117, 118, // 2056-2063
119, 120, 123, 126, 129, 131, 134, 138, // 2064-2071
141, 143, 143, 143, 143, 143, 140, 138, // 2072-2079
135, 133, 130, 128, 125, 123, 122, 121, // 2080-2087
121, 121, 121, 122, 123, 123, 123, 124, // 2088-2095
124, 125, 125, 125, 126, 127, 128, 127, // 2096-2103
129, 129, 129, 129, 129, 128, 127, 126, // 2104-2111
125, 124, 123, 121, 120, 120, 119, 118, // 2112-2119
117, 116, 117, 118, 118, 120, 121, 125, // 2120-2127
128, 130, 133, 136, 139, 142, 143, 143, // 2128-2135
143, 143, 141, 139, 136, 134, 131, 129, // 2136-2143
126, 124, 123, 123, 122, 121, 121, 122, // 2144-2151
123, 123, 123, 124, 124, 124, 125, 125, // 2152-2159
125, 126, 128, 127, 128, 129, 129, 129, // 2160-2167
129, 129, 128, 127, 127, 125, 124, 123, // 2168-2175
121, 120, 119, 118, 118, 117, 117, 117, // 2176-2183
118, 118, 120, 122, 125, 128, 130, 133, // 2184-2191
136, 139, 142, 143, 143, 143, 143, 141, // 2192-2199
139, 136, 134, 131, 129, 127, 125, 124, // 2200-2207
123, 122, 122, 122, 123, 123, 123, 123, // 2208-2215
124, 124, 124, 124, 125, 125, 125, 126, // 2216-2223
128, 127, 129, 129, 129, 129, 129, 129, // 2224-2231
128, 128, 126, 125, 124, 123, 121, 120, // 2232-2239
120, 119, 118, 118, 118, 118, 118, 119, // 2240-2247
120, 122, 125, 128, 130, 133, 136, 139, // 2248-2255
141, 142, 143, 143, 142, 141, 139, 136, // 2256-2263
134, 131, 130, 128, 125, 124, 124, 123, // 2264-2271
123, 123, 123, 123, 123, 123, 123, 123, // 2272-2279
123, 123, 124, 124, 125, 125, 128, 128, // 2280-2287
129, 129, 130, 130, 130, 129, 129, 128, // 2288-2295
128, 125, 124, 123, 122, 121, 120, 119, // 2296-2303
119, 118, 118, 118, 118, 119, 120, 121, // 2304-2311
124, 126, 129, 131, 134, 138, 140, 142, // 2312-2319
142, 143, 143, 142, 140, 137, 135, 133, // 2320-2327
130, 129, 126, 125, 124, 123, 123, 122, // 2328-2335
122, 122, 122, 122, 122, 122, 122, 123, // 2336-2343
123, 124, 124, 125, 127, 127, 129, 130, // 2344-2351
130, 130, 130, 130, 130, 129, 127, 126, // 2352-2359
125, 124, 123, 121, 120, 120, 119, 119, // 2360-2367
118, 118, 118, 118, 119, 120, 121, 124, // 2368-2375
126, 129, 131, 135, 138, 140, 142, 143, // 2376-2383
143, 143, 142, 140, 138, 135, 133, 131, // 2384-2391
129, 126, 125, 124, 123, 122, 122, 121, // 2392-2399
121, 121, 121, 121, 121, 121, 122, 123, // 2400-2407
123, 124, 125, 126, 128, 129, 130, 130, // 2408-2415
131, 131, 130, 130, 129, 128, 127, 125, // 2416-2423
124, 123, 122, 121, 120, 120, 119, 119, // 2424-2431
118, 118, 118, 118, 119, 120, 122, 124, // 2432-2439
126, 129, 131, 135, 138, 140, 142, 142, // 2440-2447
143, 143, 142, 140, 137, 135, 133, 130, // 2448-2455
129, 125, 124, 123, 122, 121, 121, 120, // 2456-2463
120, 120, 120, 120, 120, 121, 122, 123, // 2464-2471
124, 124, 125, 127, 129, 130, 131, 131, // 2472-2479
131, 131, 131, 130, 130, 129, 127, 126, // 2480-2487
125, 124, 123, 121, 121, 120, 120, 119, // 2488-2495
119, 119, 118, 119, 119, 120, 121, 123, // 2496-2503
125, 127, 130, 133, 136, 139, 141, 143, // 2504-2511
143, 143, 143, 142, 139, 137, 135, 132, // 2512-2519
130, 127, 125, 123, 123, 121, 121, 120, // 2520-2527
120, 120, 120, 120, 120, 121, 121, 123, // 2528-2535
124, 125, 126, 128, 129, 130, 131, 132, // 2536-2543
132, 132, 132, 131, 130, 130, 127, 128, // 2544-2551
125, 124, 123, 122, 121, 121, 120, 119, // 2552-2559
118, 117, 117, 118, 118, 118, 119, 122, // 2560-2567
126, 130, 131, 134, 135, 139, 143, 146, // 2568-2575
147, 146, 144, 142, 138, 133, 128, 122, // 2576-2583
119, 116, 115, 116, 118, 121, 123, 125, // 2584-2591
129, 131, 133, 133, 133, 131, 131, 129, // 2592-2599
128, 124, 122, 120, 120, 119, 121, 121, // 2600-2607
124, 126, 129, 132, 133, 133, 132, 131, // 2608-2615
129, 125, 123, 121, 119, 118, 115, 114, // 2616-2623
114, 113, 114, 116, 119, 121, 125, 132, // 2624-2631
142, 149, 152, 144, 140, 133, 132, 133, // 2632-2639
130, 131, 130, 132, 131, 128, 123, 120, // 2640-2647
119, 123, 125, 130, 133, 135, 138, 135, // 2648-2655
133, 129, 124, 123, 121, 120, 121, 120, // 2656-2663
121, 121, 121, 123, 124, 126, 129, 131, // 2664-2671
133, 134, 134, 134, 131, 129, 126, 124, // 2672-2679
121, 120, 120, 119, 119, 119, 119, 120, // 2680-2687
121, 121, 122, 122, 121, 119, 119, 120, // 2688-2695
122, 123, 124, 130, 138, 143, 144, 138, // 2696-2703
134, 131, 135, 138, 136, 138, 136, 138, // 2704-2711
134, 129, 121, 119, 119, 123, 123, 125, // 2712-2719
127, 129, 129, 125, 124, 123, 123, 125, // 2720-2727
125, 126, 129, 128, 127, 126, 126, 128, // 2728-2735
129, 130, 130, 131, 131, 130, 129, 127, // 2736-2743
125, 124, 123, 121, 120, 120, 121, 121, // 2744-2751
121, 121, 121, 123, 123, 121, 119, 119, // 2752-2759
120, 122, 123, 123, 123, 124, 129, 136, // 2760-2767
143, 144, 143, 139, 137, 135, 136, 135, // 2768-2775
135, 135, 134, 133, 127, 121, 119, 119, // 2776-2783
121, 124, 124, 129, 129, 131, 129, 128, // 2784-2791
125, 125, 127, 128, 127, 128, 127, 128, // 2792-2799
126, 125, 125, 126, 129, 129, 130, 130, // 2800-2807
130, 130, 129, 126, 124, 123, 121, 120, // 2808-2815
121, 121, 121, 120, 119, 120, 121, 123, // 2816-2823
121, 120, 120, 122, 123, 124, 125, 126, // 2824-2831
130, 133, 137, 139, 141, 141, 139, 136, // 2832-2839
135, 134, 134, 133, 133, 130, 129, 125, // 2840-2847
123, 121, 121, 122, 123, 125, 126, 128, // 2848-2855
129, 128, 128, 126, 127, 128, 127, 128, // 2856-2863
127, 128, 127, 126, 126, 125, 128, 129, // 2864-2871
129, 129, 129, 129, 128, 126, 124, 122, // 2872-2879
121, 121, 121, 120, 120, 120, 120, 120, // 2880-2887
120, 121, 123, 122, 122, 124, 125, 125, // 2888-2895
125, 128, 130, 134, 136, 137, 139, 139, // 2896-2903
139, 136, 134, 133, 133, 134, 133, 131, // 2904-2911
129, 128, 125, 124, 123, 123, 124, 126, // 2912-2919
128, 128, 129, 129, 130, 129, 126, 126, // 2920-2927
126, 126, 125, 125, 125, 125, 125, 124, // 2928-2935
123, 124, 124, 124, 124, 123, 124, 124, // 2936-2943
123, 121, 120, 119, 120, 119, 119, 119, // 2944-2951
121, 123, 124, 125, 128, 130, 131, 133, // 2952-2959
134, 136, 138, 138, 138, 138, 136, 135, // 2960-2967
133, 132, 132, 131, 131, 130, 129, 129, // 2968-2975
127, 128, 125, 125, 125, 126, 127, 127, // 2976-2983
125, 125, 124, 124, 123, 122, 122, 123, // 2984-2991
123, 123, 123, 123, 123, 123, 123, 124, // 2992-2999
125, 125, 125, 124, 124, 123, 123, 123, // 3000-3007
123, 123, 123, 123, 123, 123, 124, 128, // 3008-3015
128, 130, 131, 131, 133, 131, 134, 134, // 3016-3023
135, 136, 134, 134, 133, 133, 133, 132, // 3024-3031
132, 132, 131, 131, 129, 129, 129, 128, // 3032-3039
128, 125, 125, 125, 125, 124, 123, 123, // 3040-3047
123, 122, 122, 121, 123, 123, 123, 123, // 3048-3055
123, 124, 124, 124, 124, 125, 125, 126, // 3056-3063
126, 126, 125, 124, 125, 127, 129, 127, // 3064-3071
124, 125, 126, 129, 129, 128, 130, 130, // 3072-3079
131, 130, 130, 130, 131, 132, 131, 130, // 3080-3087
130, 131, 131, 131, 131, 131, 131, 131, // 3088-3095
130, 130, 129, 130, 129, 129, 129, 127, // 3096-3103
128, 125, 125, 124, 124, 123, 123, 123, // 3104-3111
124, 124, 124, 123, 123, 123, 124, 124, // 3112-3119
124, 125, 125, 125, 125, 125, 125, 128, // 3120-3127
127, 128, 126, 126, 126, 127, 128, 128, // 3128-3135
129, 129, 127};

const char N[3018] = {129, 131, 130, 130, 132, 130, 128, 128, // 0-7
129, 125, 128, 130, 129, 130, 130, 130, // 8-15
127, 128, 128, 124, 123, 124, 122, 121, // 16-23
121, 118, 116, 118, 116, 119, 131, 117, // 24-31
115, 131, 116, 124, 139, 128, 124, 150, // 32-39
130, 123, 144, 130, 133, 132, 143, 135, // 40-47
134, 143, 134, 128, 132, 129, 123, 129, // 48-55
131, 129, 128, 133, 124, 119, 118, 111, // 56-63
105, 107, 105, 103, 105, 105, 105, 102, // 64-71
119, 152, 170, 147, 166, 180, 115, 140, // 72-79
134, 118, 125, 133, 147, 127, 141, 135, // 80-87
115, 112, 116, 108, 118, 133, 142, 146, // 88-95
150, 152, 141, 135, 125, 120, 115, 118, // 96-103
114, 115, 112, 107, 103, 100,  98,  99, // 104-111
103, 110, 111, 121, 147, 172, 164, 153, // 112-119
172, 136, 118, 132, 116, 121, 125, 142, // 120-127
136, 132, 138, 124, 114, 115, 116, 120, // 128-135
130, 146, 147, 147, 152, 138, 132, 123, // 136-143
118, 113, 116, 116, 112, 112, 107, 106, // 144-151
101, 105, 102, 102, 110, 111, 121, 147, // 152-159
180, 168, 148, 180, 132, 110, 130, 111, // 160-167
119, 120, 147, 138, 134, 143, 125, 112, // 168-175
114, 116, 116, 130, 149, 153, 151, 157, // 176-183
144, 127, 123, 112, 108, 113, 112, 114, // 184-191
111, 112, 107, 102, 106, 102,  99, 104, // 192-199
112, 115, 142, 182, 172, 152, 176, 143, // 200-207
107, 129, 115, 116, 121, 145, 143, 131, // 208-215
143, 128, 111, 112, 116, 114, 128, 147, // 216-223
153, 149, 157, 144, 125, 122, 112, 108, // 224-231
112, 114, 112, 112, 112, 107, 102, 107, // 232-239
 99,  98, 110, 112, 120, 154, 184, 168, // 240-247
153, 180, 129, 107, 131, 112, 120, 124, // 248-255
152, 137, 134, 142, 119, 110, 112, 117, // 256-263
117, 136, 155, 160, 157, 153, 138, 121, // 264-271
109, 108, 107, 112, 113, 112, 115, 108, // 272-279
 99, 103,  95,  98, 104, 108, 125, 142, // 280-287
184, 182, 153, 176, 148, 107, 124, 115, // 288-295
120, 121, 143, 144, 128, 138, 124, 112, // 296-303
112, 120, 124, 138, 156, 164, 149, 148, // 304-311
136, 114, 112, 108, 108, 109, 112, 112, // 312-319
105,  93,  99,  95,  93, 107, 109, 118, // 320-327
133, 170, 184, 160, 168, 176, 116, 119, // 328-335
128, 113, 121, 131, 145, 125, 130, 131, // 336-343
112, 112, 122, 124, 134, 152, 164, 153, // 344-351
147, 144, 120, 112, 111, 107, 107, 109, // 352-359
109, 106,  93,  93,  98,  91, 101, 111, // 360-367
114, 131, 164, 184, 170, 164, 180, 129, // 368-375
117, 125, 114, 119, 125, 144, 127, 129, // 376-383
129, 115, 111, 119, 125, 133, 149, 164, // 384-391
158, 148, 147, 125, 112, 111, 107, 106, // 392-399
107, 108, 108,  97,  91,  99,  91,  97, // 400-407
108, 115, 125, 149, 184, 178, 160, 178, // 408-415
147, 112, 127, 115, 117, 120, 139, 136, // 416-423
120, 133, 119, 111, 117, 126, 132, 146, // 424-431
162, 162, 149, 147, 133, 114, 113, 107, // 432-439
107, 105, 107, 104,  97,  91,  98,  95, // 440-447
 95, 108, 115, 120, 147, 184, 178, 162, // 448-455
176, 156, 113, 125, 120, 114, 119, 138, // 456-463
134, 122, 130, 120, 112, 116, 127, 130, // 464-471
144, 160, 162, 151, 146, 138, 117, 112, // 472-479
112, 106, 106, 105, 106, 100,  91,  97, // 480-487
 98,  97, 107, 112, 121, 139, 176, 184, // 488-495
160, 172, 166, 118, 121, 123, 116, 117, // 496-503
132, 138, 120, 127, 124, 113, 115, 127, // 504-511
133, 143, 157, 164, 151, 145, 139, 118, // 512-519
115, 112, 110, 107, 106, 105,  99,  91, // 520-527
 93,  99,  98, 108, 112, 119, 140, 170, // 528-535
184, 164, 168, 172, 121, 122, 125, 114, // 536-543
118, 128, 140, 120, 125, 125, 114, 114, // 544-551
125, 132, 139, 155, 162, 153, 144, 143, // 552-559
121, 114, 114, 110, 108, 106, 105, 103, // 560-567
 95,  91, 101, 100, 104, 112, 118, 129, // 568-575
157, 184, 168, 158, 176, 134, 115, 124, // 576-583
119, 119, 119, 143, 126, 120, 127, 116, // 584-591
112, 120, 131, 135, 147, 162, 158, 147, // 592-599
143, 131, 115, 111, 114, 109, 109, 107, // 600-607
106, 103,  91,  95, 102, 101, 110, 112, // 608-615
123, 143, 176, 182, 155, 170, 155, 114, // 616-623
123, 120, 121, 119, 134, 139, 119, 125, // 624-631
121, 113, 115, 126, 134, 140, 156, 162, // 632-639
150, 143, 138, 121, 112, 112, 112, 110, // 640-647
110, 106, 106, 101,  91,  99, 102, 103, // 648-655
114, 115, 125, 155, 184, 166, 155, 172, // 656-663
135, 112, 125, 119, 122, 121, 143, 133, // 664-671
120, 130, 118, 113, 118, 130, 133, 143, // 672-679
158, 156, 145, 143, 130, 118, 112, 112, // 680-687
114, 112, 111, 105, 108, 102,  91, 103, // 688-695
105, 105, 112, 115, 133, 155, 184, 162, // 696-703
155, 170, 125, 116, 120, 125, 122, 126, // 704-711
145, 130, 124, 124, 118, 113, 118, 130, // 712-719
135, 143, 157, 155, 144, 140, 130, 118, // 720-727
112, 114, 116, 114, 112, 108, 108, 106, // 728-735
 93, 103, 107, 101, 113, 115, 121, 149, // 736-743
180, 166, 146, 170, 136, 110, 125, 125, // 744-751
125, 124, 145, 138, 121, 129, 121, 112, // 752-759
116, 129, 133, 138, 153, 155, 143, 140, // 760-767
135, 119, 115, 115, 118, 117, 115, 112, // 768-775
106, 110,  99,  97, 108, 105, 110, 111, // 776-783
119, 138, 166, 178, 147, 162, 151, 113, // 784-791
121, 123, 132, 122, 139, 144, 125, 125, // 792-799
123, 116, 112, 121, 130, 133, 143, 150, // 800-807
144, 142, 141, 136, 119, 119, 125, 114, // 808-815
118, 119, 116, 108, 109, 116,  99, 105, // 816-823
112, 102, 107, 111, 120, 140, 168, 166, // 824-831
141, 160, 138, 114, 125, 128, 137, 129, // 832-839
146, 143, 125, 125, 119, 113, 112, 121, // 840-847
129, 133, 142, 146, 140, 140, 140, 129, // 848-855
123, 125, 122, 121, 122, 121, 116, 110, // 856-863
110, 112, 107, 102, 111, 105, 105, 110, // 864-871
115, 137, 164, 162, 142, 157, 143, 115, // 872-879
128, 131, 136, 132, 144, 144, 128, 124, // 880-887
120, 112, 111, 120, 126, 132, 141, 145, // 888-895
139, 137, 140, 135, 123, 128, 129, 120, // 896-903
121, 121, 118, 110, 109, 112, 109, 101, // 904-911
110, 108, 100, 110, 112, 125, 153, 168, // 912-919
148, 148, 156, 123, 123, 130, 137, 134, // 920-927
136, 149, 132, 123, 120, 115, 110, 114, // 928-935
124, 130, 136, 145, 142, 137, 138, 136, // 936-943
135, 123, 129, 132, 119, 121, 119, 116, // 944-951
110, 108, 115, 110, 102, 110, 107, 101, // 952-959
109, 112, 127, 154, 168, 143, 149, 155, // 960-967
120, 125, 129, 138, 134, 138, 149, 130, // 968-975
123, 119, 114, 110, 114, 124, 130, 137, // 976-983
145, 142, 136, 137, 136, 134, 125, 130, // 984-991
133, 121, 122, 121, 118, 112, 108, 114, // 992-999
111, 105, 108, 110, 103, 107, 111, 118, // 1000-1007
142, 166, 149, 143, 160, 131, 123, 131, // 1008-1015
136, 139, 133, 149, 137, 124, 121, 115, // 1016-1023
112, 111, 121, 129, 132, 142, 143, 139, // 1024-1031
135, 136, 138, 130, 130, 133, 130, 122, // 1032-1039
122, 121, 115, 111, 112, 112, 112, 106, // 1040-1047
110, 110, 103, 109, 108, 121, 143, 160, // 1048-1055
148, 143, 160, 131, 127, 134, 137, 140, // 1056-1063
133, 146, 135, 122, 120, 115, 112, 112, // 1064-1071
121, 129, 133, 139, 141, 139, 137, 135, // 1072-1079
138, 136, 131, 130, 133, 123, 118, 123, // 1080-1087
116, 112, 110, 115, 114, 105, 110, 112, // 1088-1095
103, 106, 108, 112, 131, 155, 155, 140, // 1096-1103
157, 146, 125, 134, 135, 143, 132, 140, // 1104-1111
143, 124, 121, 116, 115, 112, 115, 128, // 1112-1119
129, 135, 140, 139, 138, 136, 140, 136, // 1120-1127
131, 135, 133, 124, 122, 123, 119, 115, // 1128-1135
114, 112, 112, 113, 110, 108, 111, 105, // 1136-1143
106, 105, 112, 129, 148, 155, 142, 157, // 1144-1151
150, 129, 136, 134, 142, 130, 138, 143, // 1152-1159
125, 122, 119, 115, 112, 112, 124, 128, // 1160-1167
133, 142, 140, 140, 138, 139, 142, 134, // 1168-1175
130, 134, 126, 121, 119, 122, 117, 112, // 1176-1183
116, 112, 114, 110, 108, 112, 103, 104, // 1184-1191
104, 106, 116, 138, 157, 146, 147, 160, // 1192-1199
140, 131, 134, 140, 139, 130, 143, 138, // 1200-1207
123, 120, 116, 114, 108, 115, 127, 130, // 1208-1215
137, 143, 143, 140, 137, 139, 134, 134, // 1216-1223
136, 125, 130, 123, 121, 119, 115, 119, // 1224-1231
112, 114, 117, 112, 108, 109, 107, 100, // 1232-1239
101, 104, 110, 127, 150, 152, 144, 160, // 1240-1247
148, 134, 137, 136, 143, 132, 141, 143, // 1248-1255
129, 121, 116, 115, 111, 112, 123, 129, // 1256-1263
134, 142, 143, 143, 140, 140, 138, 134, // 1264-1271
133, 133, 128, 124, 123, 120, 119, 116, // 1272-1279
116, 112, 114, 116, 109, 108, 108, 103, // 1280-1287
102,  99, 106, 112, 133, 152, 147, 147, // 1288-1295
157, 145, 139, 137, 142, 143, 133, 142, // 1296-1303
137, 128, 120, 115, 116, 112, 114, 124, // 1304-1311
130, 136, 139, 143, 143, 138, 139, 140, // 1312-1319
139, 132, 132, 133, 121, 121, 120, 120, // 1320-1327
118, 116, 119, 114, 116, 111, 107, 108, // 1328-1335
 99, 101,  99, 102, 108, 123, 146, 149, // 1336-1343
143, 157, 153, 143, 142, 142, 148, 136, // 1344-1351
138, 141, 131, 123, 116, 117, 114, 110, // 1352-1359
119, 127, 133, 137, 140, 144, 141, 139, // 1360-1367
139, 138, 139, 133, 129, 131, 121, 120, // 1368-1375
119, 119, 120, 115, 119, 116, 115, 110, // 1376-1383
106, 107,  98,  98,  98, 100, 107, 117, // 1384-1391
140, 148, 143, 154, 157, 149, 146, 144, // 1392-1399
151, 142, 136, 139, 132, 125, 116, 116, // 1400-1407
116, 112, 116, 123, 130, 134, 136, 143, // 1408-1415
143, 141, 142, 142, 142, 134, 130, 131, // 1416-1423
123, 120, 119, 120, 119, 115, 116, 114, // 1424-1431
114, 110, 105, 106, 101,  99,  98, 101, // 1432-1439
106, 112, 129, 143, 143, 147, 157, 154, // 1440-1447
153, 147, 150, 149, 139, 139, 134, 130, // 1448-1455
122, 116, 118, 116, 114, 118, 122, 129, // 1456-1463
130, 133, 138, 139, 139, 139, 139, 140, // 1464-1471
136, 131, 130, 127, 123, 120, 120, 120, // 1472-1479
118, 117, 117, 116, 116, 112, 112, 111, // 1480-1487
110, 108, 107, 109, 110, 111, 114, 121, // 1488-1495
127, 130, 136, 142, 146, 148, 148, 151, // 1496-1503
151, 148, 145, 143, 140, 136, 131, 127, // 1504-1511
124, 122, 120, 119, 119, 119, 120, 121, // 1512-1519
124, 127, 130, 132, 134, 136, 137, 138, // 1520-1527
138, 136, 134, 131, 127, 124, 120, 116, // 1528-1535
114, 112, 110, 107, 106, 106, 105, 105, // 1536-1543
106, 107, 109, 111, 114, 119, 125, 131, // 1544-1551
137, 143, 148, 151, 155, 157, 158, 157, // 1552-1559
154, 151, 147, 143, 138, 132, 127, 123, // 1560-1567
119, 115, 113, 112, 112, 112, 115, 118, // 1568-1575
121, 124, 129, 132, 134, 135, 136, 136, // 1576-1583
135, 132, 128, 125, 121, 118, 114, 112, // 1584-1591
110, 107, 106, 105, 104, 105, 105, 108, // 1592-1599
112, 116, 122, 129, 137, 144, 149, 155, // 1600-1607
160, 162, 162, 160, 156, 152, 147, 142, // 1608-1615
136, 131, 125, 121, 116, 114, 112, 112, // 1616-1623
111, 112, 113, 115, 118, 121, 125, 130, // 1624-1631
133, 135, 136, 137, 137, 135, 134, 131, // 1632-1639
128, 124, 120, 118, 114, 111, 108, 106, // 1640-1647
103, 102, 102, 103, 106, 109, 114, 121, // 1648-1655
128, 136, 143, 149, 155, 160, 162, 164, // 1656-1663
162, 158, 153, 148, 143, 137, 131, 125, // 1664-1671
120, 116, 112, 111, 110, 109, 110, 111, // 1672-1679
114, 116, 120, 124, 129, 133, 135, 138, // 1680-1687
139, 139, 138, 136, 134, 131, 128, 123, // 1688-1695
120, 116, 112, 110, 108, 106, 105, 104, // 1696-1703
105, 106, 108, 112, 116, 122, 129, 135, // 1704-1711
143, 148, 153, 157, 160, 162, 160, 156, // 1712-1719
152, 147, 142, 136, 130, 124, 120, 115, // 1720-1727
112, 111, 110, 109, 110, 112, 114, 117, // 1728-1735
120, 124, 129, 133, 135, 138, 139, 139, // 1736-1743
138, 136, 135, 132, 129, 124, 120, 117, // 1744-1751
114, 112, 109, 108, 107, 106, 106, 107, // 1752-1759
109, 111, 114, 119, 124, 131, 136, 143, // 1760-1767
147, 151, 155, 157, 157, 156, 153, 149, // 1768-1775
144, 140, 134, 129, 123, 119, 115, 112, // 1776-1783
111, 111, 111, 112, 113, 116, 119, 123, // 1784-1791
126, 131, 134, 136, 138, 139, 139, 138, // 1792-1799
136, 135, 132, 129, 125, 121, 119, 115, // 1800-1807
113, 112, 110, 109, 109, 109, 110, 111, // 1808-1815
112, 114, 117, 120, 124, 130, 135, 139, // 1816-1823
144, 147, 151, 153, 153, 153, 151, 147, // 1824-1831
143, 139, 135, 129, 124, 120, 117, 115, // 1832-1839
113, 112, 113, 114, 115, 118, 120, 123, // 1840-1847
126, 130, 133, 135, 136, 137, 138, 136, // 1848-1855
135, 133, 131, 129, 125, 123, 120, 118, // 1856-1863
116, 114, 112, 112, 112, 112, 112, 112, // 1864-1871
113, 115, 116, 118, 120, 124, 129, 132, // 1872-1879
135, 140, 143, 147, 148, 150, 151, 149, // 1880-1887
147, 144, 141, 136, 132, 128, 124, 121, // 1888-1895
118, 116, 116, 116, 116, 117, 119, 121, // 1896-1903
123, 125, 129, 131, 133, 134, 134, 135, // 1904-1911
134, 133, 131, 130, 128, 125, 123, 121, // 1912-1919
120, 118, 117, 116, 115, 115, 114, 114, // 1920-1927
115, 115, 115, 116, 118, 119, 120, 122, // 1928-1935
125, 129, 133, 136, 140, 144, 145, 149, // 1936-1943
149, 149, 147, 144, 142, 138, 134, 130, // 1944-1951
125, 123, 120, 118, 118, 117, 117, 118, // 1952-1959
119, 121, 123, 124, 128, 129, 131, 132, // 1960-1967
133, 133, 133, 132, 130, 129, 127, 125, // 1968-1975
123, 122, 121, 120, 119, 119, 118, 117, // 1976-1983
117, 116, 116, 116, 117, 118, 118, 119, // 1984-1991
120, 121, 123, 125, 129, 131, 135, 139, // 1992-1999
142, 143, 146, 147, 147, 147, 143, 142, // 2000-2007
138, 134, 130, 126, 123, 121, 119, 119, // 2008-2015
118, 118, 119, 120, 121, 123, 124, 126, // 2016-2023
129, 130, 130, 131, 131, 130, 130, 129, // 2024-2031
127, 125, 124, 123, 123, 122, 121, 121, // 2032-2039
120, 120, 119, 119, 118, 118, 118, 118, // 2040-2047
118, 119, 119, 120, 120, 121, 123, 125, // 2048-2055
129, 131, 135, 139, 142, 143, 145, 146, // 2056-2063
146, 144, 143, 140, 136, 133, 130, 125, // 2064-2071
123, 121, 120, 119, 119, 119, 120, 121, // 2072-2079
122, 123, 125, 126, 128, 129, 130, 130, // 2080-2087
130, 130, 129, 128, 127, 125, 125, 124, // 2088-2095
124, 123, 123, 122, 122, 121, 120, 120, // 2096-2103
119, 119, 119, 118, 119, 119, 119, 119, // 2104-2111
120, 121, 121, 124, 126, 130, 133, 136, // 2112-2119
140, 143, 144, 145, 146, 145, 143, 141, // 2120-2127
138, 135, 131, 128, 124, 123, 121, 120, // 2128-2135
120, 120, 120, 121, 122, 123, 124, 125, // 2136-2143
128, 129, 129, 130, 130, 130, 129, 129, // 2144-2151
128, 126, 125, 125, 124, 124, 124, 123, // 2152-2159
123, 122, 121, 120, 119, 119, 119, 118, // 2160-2167
118, 119, 119, 119, 120, 120, 121, 123, // 2168-2175
125, 129, 131, 135, 138, 142, 143, 144, // 2176-2183
146, 145, 144, 143, 140, 136, 133, 130, // 2184-2191
126, 124, 123, 121, 120, 120, 120, 121, // 2192-2199
121, 123, 124, 125, 126, 128, 129, 129, // 2200-2207
129, 129, 129, 127, 126, 125, 124, 124, // 2208-2215
123, 123, 123, 123, 122, 122, 121, 121, // 2216-2223
120, 120, 119, 119, 119, 119, 120, 120, // 2224-2231
120, 121, 122, 123, 125, 128, 131, 133, // 2232-2239
136, 139, 142, 143, 144, 144, 143, 143, // 2240-2247
140, 138, 134, 131, 129, 125, 124, 122, // 2248-2255
121, 121, 121, 121, 121, 123, 124, 124, // 2256-2263
125, 126, 127, 128, 127, 128, 127, 126, // 2264-2271
125, 124, 123, 123, 123, 123, 123, 123, // 2272-2279
122, 122, 122, 121, 121, 121, 120, 120, // 2280-2287
120, 120, 120, 120, 121, 121, 122, 123, // 2288-2295
124, 126, 129, 132, 134, 138, 140, 142, // 2296-2303
143, 143, 143, 143, 140, 138, 135, 132, // 2304-2311
129, 126, 124, 123, 121, 121, 121, 121, // 2312-2319
121, 122, 123, 124, 125, 126, 127, 128, // 2320-2327
127, 128, 127, 126, 125, 124, 123, 123, // 2328-2335
123, 122, 123, 123, 123, 123, 123, 122, // 2336-2343
122, 121, 121, 121, 121, 121, 121, 121, // 2344-2351
121, 122, 123, 123, 124, 125, 128, 130, // 2352-2359
133, 135, 139, 141, 143, 143, 143, 143, // 2360-2367
142, 140, 137, 134, 131, 129, 125, 124, // 2368-2375
123, 122, 121, 121, 121, 122, 122, 123, // 2376-2383
124, 125, 125, 125, 126, 125, 125, 124, // 2384-2391
124, 123, 122, 122, 121, 122, 122, 122, // 2392-2399
123, 123, 123, 123, 123, 123, 122, 122, // 2400-2407
122, 123, 123, 123, 123, 124, 124, 125, // 2408-2415
127, 130, 131, 133, 136, 139, 140, 142, // 2416-2423
143, 143, 142, 140, 138, 135, 133, 130, // 2424-2431
128, 124, 123, 121, 121, 121, 121, 121, // 2432-2439
122, 123, 124, 125, 128, 127, 129, 130, // 2440-2447
129, 129, 127, 128, 125, 124, 123, 122, // 2448-2455
121, 121, 121, 121, 121, 121, 121, 121, // 2456-2463
121, 121, 121, 122, 122, 122, 123, 123, // 2464-2471
124, 124, 124, 125, 126, 127, 130, 132, // 2472-2479
134, 136, 138, 140, 141, 142, 142, 141, // 2480-2487
140, 138, 135, 133, 130, 127, 125, 124, // 2488-2495
123, 122, 121, 121, 122, 123, 123, 124, // 2496-2503
124, 125, 125, 126, 126, 126, 125, 124, // 2504-2511
124, 123, 123, 122, 121, 122, 122, 122, // 2512-2519
123, 123, 123, 123, 123, 123, 123, 123, // 2520-2527
123, 123, 123, 124, 124, 124, 125, 126, // 2528-2535
128, 129, 131, 133, 135, 137, 139, 140, // 2536-2543
141, 141, 141, 140, 138, 135, 133, 131, // 2544-2551
129, 125, 124, 123, 121, 121, 120, 121, // 2552-2559
121, 121, 123, 123, 124, 125, 125, 125, // 2560-2567
125, 125, 124, 124, 123, 123, 121, 121, // 2568-2575
121, 121, 121, 121, 121, 121, 121, 122, // 2576-2583
122, 123, 123, 123, 124, 124, 125, 126, // 2584-2591
127, 129, 131, 133, 134, 136, 138, 139, // 2592-2599
140, 141, 141, 141, 140, 141, 138, 134, // 2600-2607
132, 128, 123, 120, 119, 118, 116, 117, // 2608-2615
118, 120, 121, 123, 125, 129, 129, 130, // 2616-2623
130, 130, 129, 126, 125, 123, 121, 119, // 2624-2631
119, 118, 116, 116, 118, 119, 120, 121, // 2632-2639
122, 124, 125, 125, 127, 129, 130, 131, // 2640-2647
133, 135, 137, 140, 141, 141, 142, 140, // 2648-2655
139, 138, 135, 134, 131, 130, 129, 125, // 2656-2663
123, 121, 121, 121, 120, 122, 124, 125, // 2664-2671
127, 128, 130, 130, 129, 128, 128, 126, // 2672-2679
125, 123, 123, 122, 121, 120, 119, 119, // 2680-2687
119, 118, 118, 120, 121, 120, 121, 123, // 2688-2695
124, 123, 123, 126, 128, 129, 130, 133, // 2696-2703
135, 136, 138, 140, 141, 141, 140, 138, // 2704-2711
138, 134, 132, 131, 130, 129, 125, 125, // 2712-2719
124, 123, 123, 123, 124, 124, 125, 128, // 2720-2727
127, 129, 129, 127, 128, 125, 125, 124, // 2728-2735
123, 123, 122, 121, 120, 120, 119, 119, // 2736-2743
119, 120, 121, 121, 122, 123, 123, 124, // 2744-2751
125, 125, 126, 125, 130, 130, 132, 134, // 2752-2759
134, 136, 135, 135, 136, 135, 135, 135, // 2760-2767
134, 134, 131, 133, 131, 129, 129, 128, // 2768-2775
127, 127, 126, 128, 126, 128, 126, 126, // 2776-2783
125, 125, 125, 125, 125, 124, 124, 124, // 2784-2791
123, 123, 122, 121, 121, 120, 120, 120, // 2792-2799
120, 121, 121, 122, 121, 123, 125, 125, // 2800-2807
125, 129, 130, 131, 129, 131, 133, 131, // 2808-2815
131, 131, 133, 132, 130, 132, 131, 130, // 2816-2823
129, 130, 131, 129, 129, 132, 131, 130, // 2824-2831
131, 131, 131, 129, 129, 130, 129, 127, // 2832-2839
128, 128, 126, 124, 125, 124, 124, 123, // 2840-2847
124, 124, 123, 124, 124, 123, 123, 122, // 2848-2855
123, 122, 121, 122, 123, 124, 124, 123, // 2856-2863
125, 128, 125, 128, 128, 129, 128, 128, // 2864-2871
132, 129, 129, 129, 129, 131, 135, 134, // 2872-2879
128, 133, 133, 126, 128, 129, 133, 125, // 2880-2887
126, 131, 126, 124, 123, 125, 126, 123, // 2888-2895
125, 129, 130, 129, 127, 130, 129, 128, // 2896-2903
129, 129, 129, 128, 128, 127, 128, 125, // 2904-2911
126, 125, 126, 125, 125, 126, 125, 125, // 2912-2919
125, 125, 124, 124, 124, 124, 123, 123, // 2920-2927
124, 125, 125, 124, 125, 126, 125, 125, // 2928-2935
127, 129, 129, 130, 130, 130, 129, 128, // 2936-2943
127, 129, 129, 129, 129, 130, 129, 127, // 2944-2951
126, 127, 128, 126, 129, 130, 129, 129, // 2952-2959
129, 129, 126, 125, 127, 128, 129, 129, // 2960-2967
129, 129, 128, 129, 129, 127, 129, 130, // 2968-2975
130, 129, 129, 129, 129, 129, 129, 128, // 2976-2983
126, 126, 125, 126, 125, 125, 125, 125, // 2984-2991
125, 125, 125, 125, 126, 128, 127, 128, // 2992-2999
126, 125, 125, 125, 125, 125, 125, 126, // 3000-3007
126, 126, 126, 126, 126, 127, 128, 127, // 3008-3015
128, 127};

const char O[2814] = {128, 127, 128, 128, 127, 128, 127, 128, // 0-7
128, 127, 128, 127, 128, 128, 129, 136, // 8-15
143, 142, 140, 121, 112, 110, 112, 128, // 16-23
135, 136, 133, 127, 118, 118, 112, 111, // 24-31
108, 108, 114, 124, 133, 142, 143, 143, // 32-39
142, 137, 131, 124, 119, 119, 125, 132, // 40-47
139, 141, 139, 133, 128, 122, 119, 118, // 48-55
120, 127, 133, 139, 143, 141, 136, 130, // 56-63
123, 121, 122, 123, 125, 124, 123, 121, // 64-71
117, 112, 111, 107, 105, 105, 105, 112, // 72-79
132, 162, 174, 172, 153, 123, 109, 104, // 80-87
112, 124, 135, 133, 139, 139, 145, 145, // 88-95
135, 117, 105, 105, 121, 140, 149, 146, // 96-103
135, 127, 125, 130, 132, 126, 116, 111, // 104-111
109, 115, 118, 115, 109, 102, 100, 108, // 112-119
118, 131, 148, 164, 166, 164, 147, 122, // 120-127
111, 104, 111, 124, 135, 140, 143, 136, // 128-135
136, 132, 124, 117, 112, 111, 121, 136, // 136-143
145, 153, 145, 139, 130, 123, 122, 120, // 144-151
116, 115, 113, 112, 113, 112, 109, 108, // 152-159
106, 108, 115, 124, 143, 164, 170, 168, // 160-167
152, 123, 112, 105, 111, 124, 133, 133, // 168-175
137, 133, 136, 138, 132, 124, 115, 111, // 176-183
117, 130, 142, 149, 145, 137, 132, 124, // 184-191
123, 121, 115, 111, 106, 104, 108, 112, // 192-199
112, 112, 111, 112, 121, 137, 160, 174, // 200-207
170, 156, 129, 112, 106, 112, 122, 133, // 208-215
133, 135, 133, 133, 138, 134, 126, 117, // 216-223
112, 114, 129, 140, 149, 148, 140, 133, // 224-231
126, 122, 119, 114, 109, 105, 102, 107, // 232-239
112, 113, 112, 109, 110, 117, 135, 160, // 240-247
178, 174, 162, 133, 115, 109, 112, 121, // 248-255
132, 131, 132, 132, 133, 139, 135, 127, // 256-263
117, 111, 113, 128, 140, 148, 148, 141, // 264-271
135, 127, 123, 121, 113, 108, 103, 102, // 272-279
107, 112, 114, 112, 108, 108, 115, 131, // 280-287
155, 176, 176, 166, 142, 119, 112, 110, // 288-295
118, 127, 130, 131, 133, 132, 139, 136, // 296-303
129, 119, 113, 113, 124, 137, 146, 149, // 304-311
143, 139, 130, 123, 117, 111, 105, 101, // 312-319
101, 106, 112, 114, 112, 108, 108, 114, // 320-327
132, 157, 178, 178, 168, 142, 119, 112, // 328-335
111, 118, 126, 129, 129, 132, 132, 139, // 336-343
136, 130, 121, 113, 113, 124, 136, 146, // 344-351
150, 146, 141, 132, 122, 117, 110, 104, // 352-359
100, 100, 106, 112, 114, 112, 107, 106, // 360-367
112, 132, 158, 180, 180, 170, 143, 120, // 368-375
111, 110, 118, 126, 128, 128, 130, 131, // 376-383
139, 137, 131, 121, 113, 112, 124, 136, // 384-391
148, 153, 149, 141, 130, 118, 113, 109, // 392-399
104, 102, 102, 106, 112, 112, 111, 107, // 400-407
107, 115, 134, 160, 178, 180, 170, 142, // 408-415
120, 110, 109, 117, 125, 127, 129, 128, // 416-423
130, 136, 135, 131, 122, 114, 114, 123, // 424-431
135, 147, 153, 149, 142, 130, 118, 112, // 432-439
108, 104, 101, 101, 106, 111, 112, 111, // 440-447
108, 109, 116, 135, 160, 178, 180, 170, // 448-455
143, 121, 111, 109, 117, 125, 128, 128, // 456-463
127, 129, 135, 135, 132, 124, 116, 115, // 464-471
124, 135, 146, 153, 148, 141, 129, 117, // 472-479
112, 108, 104, 102, 101, 105, 109, 111, // 480-487
111, 108, 109, 117, 138, 164, 182, 182, // 488-495
168, 140, 118, 108, 110, 118, 126, 128, // 496-503
128, 125, 129, 135, 136, 133, 124, 117, // 504-511
117, 125, 137, 146, 148, 144, 136, 126, // 512-519
120, 115, 111, 104,  99,  98, 102, 108, // 520-527
112, 112, 111, 112, 121, 143, 168, 184, // 528-535
182, 164, 136, 115, 106, 111, 120, 129, // 536-543
129, 129, 125, 129, 134, 135, 133, 124, // 544-551
117, 117, 125, 137, 148, 150, 146, 137, // 552-559
126, 118, 113, 110, 104, 100,  99, 103, // 560-567
108, 112, 112, 111, 111, 118, 139, 164, // 568-575
182, 182, 168, 140, 118, 108, 110, 119, // 576-583
128, 127, 126, 124, 126, 133, 136, 136, // 584-591
129, 119, 117, 123, 135, 145, 149, 146, // 592-599
138, 126, 118, 114, 112, 107, 102,  99, // 600-607
101, 106, 111, 112, 111, 112, 117, 135, // 608-615
160, 178, 184, 172, 144, 121, 107, 107, // 616-623
115, 125, 129, 127, 124, 125, 133, 136, // 624-631
137, 131, 121, 117, 120, 132, 143, 149, // 632-639
149, 139, 128, 119, 115, 112, 110, 104, // 640-647
 99,  99, 103, 109, 112, 112, 112, 115, // 648-655
130, 152, 176, 184, 176, 150, 125, 108, // 656-663
105, 113, 124, 130, 129, 124, 122, 130, // 664-671
135, 139, 135, 125, 119, 119, 128, 139, // 672-679
146, 147, 141, 130, 121, 116, 113, 111, // 680-687
105, 101,  99, 102, 108, 112, 112, 112, // 688-695
115, 127, 148, 172, 182, 178, 156, 130, // 696-703
111, 104, 111, 121, 128, 127, 125, 122, // 704-711
129, 135, 139, 137, 129, 119, 118, 124, // 712-719
137, 145, 145, 142, 132, 123, 119, 116, // 720-727
114, 108, 100,  96,  99, 105, 112, 113, // 728-735
113, 114, 121, 141, 166, 180, 182, 164, // 736-743
137, 115, 104, 109, 118, 127, 129, 125, // 744-751
121, 125, 133, 139, 140, 133, 122, 118, // 752-759
121, 133, 143, 146, 143, 133, 122, 118, // 760-767
116, 115, 112, 105, 100,  99, 103, 109, // 768-775
112, 112, 113, 118, 136, 160, 178, 184, // 776-783
172, 144, 120, 105, 105, 114, 124, 129, // 784-791
128, 122, 124, 132, 138, 142, 137, 128, // 792-799
119, 118, 125, 137, 143, 144, 138, 128, // 800-807
121, 116, 115, 112, 106, 101,  99, 101, // 808-815
107, 111, 112, 114, 118, 133, 154, 174, // 816-823
184, 176, 151, 128, 108, 104, 112, 121, // 824-831
128, 127, 124, 122, 129, 136, 142, 140, // 832-839
132, 122, 118, 121, 132, 141, 143, 141, // 840-847
132, 123, 118, 115, 113, 109, 104, 100, // 848-855
101, 105, 110, 112, 114, 117, 127, 146, // 856-863
168, 180, 180, 160, 136, 114, 105, 108, // 864-871
117, 125, 128, 124, 121, 126, 133, 141, // 872-879
142, 137, 126, 120, 120, 127, 136, 141, // 880-887
140, 133, 125, 120, 118, 117, 112, 107, // 888-895
102, 100, 103, 109, 112, 112, 113, 119, // 896-903
137, 160, 178, 184, 172, 146, 123, 106, // 904-911
105, 112, 121, 125, 124, 119, 122, 130, // 912-919
139, 145, 143, 133, 122, 118, 121, 131, // 920-927
138, 139, 136, 127, 122, 120, 120, 118, // 928-935
112, 105, 100,  99, 104, 110, 112, 114, // 936-943
115, 124, 143, 166, 180, 184, 164, 140, // 944-951
117, 104, 106, 114, 121, 123, 121, 118, // 952-959
124, 133, 143, 147, 143, 133, 122, 118, // 960-967
123, 132, 137, 137, 132, 123, 120, 118, // 968-975
121, 118, 113, 107, 102, 102, 107, 111, // 976-983
112, 112, 113, 122, 143, 166, 182, 182, // 984-991
164, 140, 116, 106, 108, 115, 121, 121, // 992-999
118, 117, 122, 134, 145, 149, 144, 135, // 1000-1007
123, 119, 122, 130, 133, 133, 129, 122, // 1008-1015
121, 122, 124, 122, 115, 108, 102, 102, // 1016-1023
108, 112, 114, 112, 111, 116, 136, 160, // 1024-1031
178, 184, 170, 145, 122, 108, 108, 114, // 1032-1039
120, 121, 117, 114, 119, 130, 143, 151, // 1040-1047
149, 139, 126, 118, 120, 128, 133, 134, // 1048-1055
129, 122, 118, 120, 124, 128, 123, 115, // 1056-1063
107, 103, 105, 110, 112, 112, 111, 111, // 1064-1071
120, 143, 166, 180, 180, 162, 139, 118, // 1072-1079
110, 112, 118, 121, 119, 113, 112, 121, // 1080-1087
134, 147, 151, 146, 136, 124, 119, 122, // 1088-1095
129, 133, 131, 125, 119, 118, 122, 128, // 1096-1103
129, 124, 116, 109, 105, 108, 112, 115, // 1104-1111
113, 109, 106, 113, 134, 157, 174, 180, // 1112-1119
166, 145, 126, 115, 115, 120, 122, 118, // 1120-1127
113, 111, 117, 128, 142, 149, 147, 140, // 1128-1135
129, 122, 122, 127, 132, 132, 128, 121, // 1136-1143
119, 121, 125, 129, 128, 120, 113, 109, // 1144-1151
110, 112, 115, 114, 109, 104, 105, 117, // 1152-1159
140, 162, 176, 174, 160, 143, 128, 119, // 1160-1167
121, 122, 120, 115, 110, 110, 117, 128, // 1168-1175
142, 147, 145, 139, 130, 125, 127, 130, // 1176-1183
132, 130, 123, 119, 118, 121, 128, 130, // 1184-1191
129, 122, 116, 112, 112, 113, 114, 112, // 1192-1199
108, 102, 102, 112, 132, 153, 170, 174, // 1200-1207
166, 150, 137, 125, 124, 123, 120, 115, // 1208-1215
109, 106, 111, 121, 135, 144, 146, 143, // 1216-1223
136, 130, 130, 132, 133, 132, 128, 119, // 1224-1231
116, 115, 120, 125, 128, 127, 122, 117, // 1232-1239
114, 114, 114, 113, 110, 104, 101, 104, // 1240-1247
119, 141, 160, 174, 172, 160, 146, 133, // 1248-1255
128, 124, 122, 118, 112, 105, 105, 112, // 1256-1263
123, 137, 144, 145, 142, 136, 133, 132, // 1264-1271
133, 133, 130, 123, 118, 115, 117, 122, // 1272-1279
126, 130, 127, 122, 118, 116, 117, 117, // 1280-1287
114, 110, 102,  98, 101, 114, 136, 156, // 1288-1295
170, 172, 164, 151, 139, 132, 129, 124, // 1296-1303
119, 112, 105, 103, 107, 117, 131, 142, // 1304-1311
145, 143, 140, 136, 135, 135, 135, 132, // 1312-1319
125, 119, 115, 115, 118, 124, 129, 130, // 1320-1327
127, 123, 120, 118, 117, 115, 111, 105, // 1328-1335
 98,  97, 104, 121, 143, 160, 172, 170, // 1336-1343
162, 149, 139, 133, 129, 124, 117, 109, // 1344-1351
102, 101, 106, 118, 132, 142, 145, 143, // 1352-1359
142, 139, 138, 137, 136, 131, 123, 117, // 1360-1367
112, 113, 118, 124, 130, 132, 130, 125, // 1368-1375
121, 119, 118, 115, 112, 105,  98,  95, // 1376-1383
101, 116, 137, 156, 170, 172, 164, 154, // 1384-1391
143, 137, 132, 126, 118, 111, 102,  99, // 1392-1399
102, 112, 125, 138, 144, 146, 144, 142, // 1400-1407
140, 139, 137, 133, 125, 118, 112, 112, // 1408-1415
115, 121, 129, 133, 133, 130, 125, 121, // 1416-1423
119, 117, 114, 109, 102,  95,  93, 101, // 1424-1431
116, 138, 156, 170, 172, 168, 156, 145, // 1432-1439
139, 132, 125, 117, 109, 100,  98, 100, // 1440-1447
111, 124, 137, 146, 148, 147, 143, 142, // 1448-1455
140, 137, 133, 125, 118, 113, 112, 114, // 1456-1463
119, 127, 132, 134, 133, 129, 124, 121, // 1464-1471
118, 114, 110, 104,  97,  91,  95, 106, // 1472-1479
124, 145, 164, 174, 174, 166, 153, 143, // 1480-1487
135, 129, 120, 112, 105,  99,  97, 102, // 1488-1495
112, 126, 139, 146, 150, 148, 145, 142, // 1496-1503
139, 136, 130, 123, 117, 112, 112, 115, // 1504-1511
121, 129, 134, 136, 135, 131, 126, 122, // 1512-1519
119, 115, 110, 102,  95,  89,  91,  98, // 1520-1527
114, 136, 155, 170, 176, 172, 162, 150, // 1528-1535
141, 133, 125, 117, 111, 102,  98,  98, // 1536-1543
105, 116, 130, 142, 148, 149, 148, 145, // 1544-1551
142, 138, 134, 129, 122, 116, 112, 112, // 1552-1559
116, 122, 130, 135, 137, 137, 134, 130, // 1560-1567
125, 120, 115, 109, 102,  95,  89,  89, // 1568-1575
 93, 105, 121, 143, 160, 174, 176, 172, // 1576-1583
162, 149, 140, 132, 123, 117, 111, 104, // 1584-1591
100, 101, 107, 117, 130, 141, 148, 149, // 1592-1599
148, 144, 141, 136, 132, 128, 122, 117, // 1600-1607
114, 114, 117, 123, 131, 137, 140, 140, // 1608-1615
137, 133, 127, 121, 114, 109, 103,  97, // 1616-1623
 91,  89,  91,  98, 108, 122, 142, 157, // 1624-1631
170, 174, 172, 164, 153, 143, 133, 125, // 1632-1639
118, 113, 109, 105, 105, 108, 114, 124, // 1640-1647
135, 143, 146, 146, 144, 140, 136, 132, // 1648-1655
127, 124, 121, 119, 118, 119, 123, 129, // 1656-1663
135, 139, 139, 137, 133, 128, 121, 114, // 1664-1671
110, 105, 101,  98,  95,  95,  98, 104, // 1672-1679
112, 122, 137, 150, 162, 170, 170, 166, // 1680-1687
157, 146, 139, 131, 124, 119, 115, 112, // 1688-1695
109, 109, 111, 116, 124, 132, 139, 142, // 1696-1703
142, 140, 137, 134, 132, 130, 129, 126, // 1704-1711
124, 123, 122, 124, 128, 132, 135, 135, // 1712-1719
133, 129, 122, 117, 112, 110, 107, 105, // 1720-1727
104, 103, 103, 104, 106, 111, 117, 125, // 1728-1735
139, 149, 160, 166, 168, 164, 156, 147, // 1736-1743
140, 133, 128, 122, 117, 112, 109, 106, // 1744-1751
108, 112, 118, 125, 133, 138, 140, 140, // 1752-1759
139, 137, 136, 135, 133, 130, 128, 123, // 1760-1767
121, 121, 122, 124, 128, 129, 128, 125, // 1768-1775
122, 119, 117, 114, 112, 111, 109, 108, // 1776-1783
107, 106, 108, 111, 114, 121, 131, 143, // 1784-1791
153, 162, 166, 166, 162, 154, 146, 139, // 1792-1799
131, 124, 119, 113, 109, 106, 104, 105, // 1800-1807
110, 117, 125, 133, 139, 142, 143, 142, // 1808-1815
140, 139, 136, 133, 130, 125, 121, 118, // 1816-1823
117, 117, 119, 123, 126, 129, 129, 128, // 1824-1831
124, 121, 119, 117, 115, 114, 113, 112, // 1832-1839
112, 112, 112, 113, 116, 121, 127, 137, // 1840-1847
146, 155, 162, 164, 160, 155, 146, 139, // 1848-1855
132, 125, 120, 115, 112, 108, 105, 105, // 1856-1863
108, 112, 120, 129, 137, 142, 144, 144, // 1864-1871
143, 141, 138, 135, 132, 128, 123, 119, // 1872-1879
116, 115, 115, 118, 121, 125, 129, 130, // 1880-1887
130, 129, 128, 125, 123, 121, 119, 117, // 1888-1895
115, 114, 112, 112, 112, 114, 117, 121, // 1896-1903
129, 137, 145, 153, 158, 158, 155, 149, // 1904-1911
143, 135, 129, 123, 119, 115, 112, 109, // 1912-1919
106, 106, 109, 114, 122, 132, 139, 144, // 1920-1927
145, 145, 143, 140, 137, 133, 130, 125, // 1928-1935
122, 118, 115, 114, 114, 117, 121, 125, // 1936-1943
131, 134, 135, 134, 132, 130, 126, 124, // 1944-1951
121, 118, 116, 114, 112, 111, 111, 111, // 1952-1959
112, 115, 121, 129, 138, 146, 153, 156, // 1960-1967
157, 153, 148, 142, 135, 129, 124, 119, // 1968-1975
115, 112, 109, 108, 108, 111, 116, 124, // 1976-1983
132, 139, 143, 145, 144, 143, 139, 136, // 1984-1991
133, 129, 125, 121, 117, 114, 113, 114, // 1992-1999
117, 121, 125, 131, 134, 136, 135, 133, // 2000-2007
131, 127, 124, 121, 118, 116, 114, 112, // 2008-2015
112, 112, 112, 112, 114, 118, 123, 131, // 2016-2023
139, 145, 151, 155, 155, 152, 146, 140, // 2024-2031
135, 129, 124, 120, 117, 114, 112, 111, // 2032-2039
111, 112, 117, 123, 131, 137, 142, 143, // 2040-2047
143, 142, 139, 135, 131, 128, 124, 120, // 2048-2055
117, 115, 114, 114, 117, 121, 125, 130, // 2056-2063
134, 136, 136, 135, 132, 129, 125, 123, // 2064-2071
121, 118, 116, 114, 113, 112, 112, 114, // 2072-2079
115, 117, 121, 124, 130, 136, 142, 146, // 2080-2087
149, 150, 149, 145, 142, 136, 131, 126, // 2088-2095
123, 121, 118, 116, 114, 113, 113, 116, // 2096-2103
120, 125, 132, 137, 140, 141, 140, 137, // 2104-2111
134, 130, 128, 124, 122, 119, 118, 117, // 2112-2119
118, 119, 122, 125, 130, 133, 135, 136, // 2120-2127
135, 133, 130, 126, 124, 121, 119, 118, // 2128-2135
117, 115, 115, 115, 115, 116, 117, 119, // 2136-2143
121, 125, 129, 135, 139, 143, 146, 148, // 2144-2151
147, 144, 141, 137, 132, 129, 125, 122, // 2152-2159
120, 118, 115, 114, 114, 116, 119, 123, // 2160-2167
129, 133, 137, 139, 138, 137, 135, 132, // 2168-2175
129, 125, 124, 122, 121, 121, 121, 121, // 2176-2183
123, 125, 129, 131, 132, 133, 133, 132, // 2184-2191
130, 127, 124, 122, 120, 119, 118, 117, // 2192-2199
117, 117, 117, 118, 118, 119, 121, 122, // 2200-2207
124, 127, 132, 136, 140, 143, 145, 145, // 2208-2215
143, 140, 137, 133, 130, 128, 125, 123, // 2216-2223
121, 119, 117, 117, 117, 119, 122, 127, // 2224-2231
132, 135, 136, 137, 135, 133, 130, 128, // 2232-2239
125, 124, 123, 123, 122, 122, 123, 124, // 2240-2247
125, 128, 129, 131, 132, 132, 131, 129, // 2248-2255
126, 124, 122, 121, 119, 119, 119, 119, // 2256-2263
119, 119, 119, 119, 120, 121, 121, 122, // 2264-2271
125, 127, 132, 135, 139, 142, 143, 143, // 2272-2279
142, 140, 137, 135, 132, 130, 128, 124, // 2280-2287
122, 119, 118, 117, 117, 118, 121, 124, // 2288-2295
129, 131, 133, 134, 133, 132, 130, 129, // 2296-2303
127, 125, 125, 124, 124, 124, 124, 125, // 2304-2311
125, 127, 129, 129, 130, 130, 129, 128, // 2312-2319
125, 124, 122, 121, 121, 121, 121, 121, // 2320-2327
121, 121, 121, 121, 122, 122, 122, 122, // 2328-2335
123, 124, 127, 130, 134, 137, 140, 142, // 2336-2343
143, 142, 140, 138, 136, 133, 130, 128, // 2344-2351
124, 122, 119, 118, 117, 117, 118, 119, // 2352-2359
123, 126, 130, 132, 133, 133, 132, 131, // 2360-2367
130, 129, 128, 126, 126, 125, 125, 125, // 2368-2375
125, 125, 126, 127, 128, 129, 129, 129, // 2376-2383
128, 126, 125, 123, 122, 121, 121, 121, // 2384-2391
121, 121, 121, 121, 121, 121, 121, 121, // 2392-2399
122, 123, 125, 129, 132, 136, 139, 142, // 2400-2407
143, 143, 142, 140, 138, 135, 132, 129, // 2408-2415
125, 123, 120, 118, 117, 116, 117, 118, // 2416-2423
121, 124, 129, 131, 133, 133, 133, 132, // 2424-2431
131, 130, 128, 127, 125, 125, 125, 125, // 2432-2439
125, 125, 126, 128, 127, 129, 129, 129, // 2440-2447
129, 128, 125, 124, 123, 122, 121, 121, // 2448-2455
121, 121, 122, 122, 122, 122, 122, 122, // 2456-2463
122, 123, 123, 124, 125, 128, 130, 134, // 2464-2471
137, 140, 142, 143, 142, 140, 137, 135, // 2472-2479
132, 129, 126, 124, 121, 119, 118, 117, // 2480-2487
117, 118, 120, 123, 127, 130, 132, 133, // 2488-2495
133, 132, 130, 129, 128, 128, 128, 127, // 2496-2503
128, 126, 126, 126, 126, 128, 127, 129, // 2504-2511
129, 129, 128, 126, 125, 123, 122, 121, // 2512-2519
121, 121, 121, 122, 122, 122, 122, 122, // 2520-2527
122, 122, 122, 122, 123, 124, 125, 128, // 2528-2535
130, 133, 136, 139, 142, 142, 142, 140, // 2536-2543
137, 135, 132, 129, 125, 123, 121, 119, // 2544-2551
118, 117, 117, 118, 121, 124, 128, 130, // 2552-2559
132, 133, 133, 132, 131, 129, 129, 127, // 2560-2567
126, 126, 126, 126, 126, 126, 126, 128, // 2568-2575
127, 129, 129, 129, 128, 126, 124, 123, // 2576-2583
122, 121, 121, 121, 121, 122, 122, 122, // 2584-2591
123, 124, 124, 124, 124, 124, 124, 124, // 2592-2599
125, 125, 126, 129, 131, 134, 137, 139, // 2600-2607
140, 140, 140, 137, 135, 133, 130, 127, // 2608-2615
125, 123, 121, 120, 119, 118, 119, 121, // 2616-2623
123, 126, 129, 131, 132, 132, 131, 130, // 2624-2631
130, 129, 129, 128, 127, 128, 126, 126, // 2632-2639
125, 127, 126, 128, 128, 127, 128, 126, // 2640-2647
125, 124, 122, 122, 121, 121, 121, 121, // 2648-2655
122, 122, 123, 124, 124, 125, 125, 125, // 2656-2663
125, 125, 125, 126, 127, 129, 130, 132, // 2664-2671
133, 135, 136, 138, 139, 138, 137, 135, // 2672-2679
133, 130, 128, 125, 124, 123, 122, 122, // 2680-2687
122, 123, 124, 125, 128, 129, 130, 131, // 2688-2695
130, 130, 129, 128, 125, 124, 124, 123, // 2696-2703
123, 123, 124, 124, 124, 125, 125, 125, // 2704-2711
125, 125, 124, 124, 123, 122, 122, 121, // 2712-2719
121, 121, 122, 124, 125, 128, 129, 131, // 2720-2727
132, 132, 132, 132, 133, 133, 134, 134, // 2728-2735
134, 133, 133, 132, 132, 132, 132, 131, // 2736-2743
130, 130, 129, 128, 126, 125, 125, 125, // 2744-2751
124, 124, 124, 124, 124, 124, 125, 125, // 2752-2759
125, 125, 125, 124, 124, 124, 124, 124, // 2760-2767
124, 124, 124, 124, 124, 125, 125, 125, // 2768-2775
126, 125, 125, 125, 125, 125, 125, 127, // 2776-2783
126, 128, 127, 128, 129, 129, 130, 130, // 2784-2791
131, 131, 131, 131, 130, 130, 130, 129, // 2792-2799
129, 129, 129, 129, 129, 129, 130, 130, // 2800-2807
130, 130, 130, 130, 129, 129};

const char P[3065] = {128, 127, 128, 127, 128, 128, 127, 128, // 0-7
127, 128, 127, 128, 128, 127, 129, 129, // 8-15
128, 129, 129, 129, 129, 129, 126, 129, // 16-23
129, 129, 127, 123, 129, 126, 125, 125, // 24-31
125, 125, 125, 126, 128, 129, 129, 126, // 32-39
125, 132, 133, 131, 123, 131, 130, 125, // 40-47
127, 124, 131, 128, 120, 125, 132, 123, // 48-55
123, 124, 128, 128, 129, 129, 129, 130, // 56-63
129, 130, 129, 130, 126, 125, 125, 123, // 64-71
121, 123, 121, 122, 120, 121, 125, 123, // 72-79
125, 125, 127, 125, 125, 129, 132, 121, // 80-87
129, 129, 120, 124, 128, 123, 122, 123, // 88-95
129, 126, 120, 132, 125, 131, 124, 127, // 96-103
131, 129, 125, 131, 132, 120, 129, 129, // 104-111
132, 118, 125, 132, 125, 120, 133, 131, // 112-119
123, 132, 132, 132, 127, 134, 125, 129, // 120-127
133, 123, 124, 131, 123, 127, 124, 127, // 128-135
126, 125, 133, 123, 131, 133, 129, 125, // 136-143
136, 125, 130, 128, 131, 125, 123, 131, // 144-151
123, 126, 123, 126, 123, 131, 123, 128, // 152-159
127, 133, 125, 123, 136, 123, 131, 131, // 160-167
123, 130, 124, 125, 131, 120, 129, 126, // 168-175
125, 129, 125, 125, 132, 126, 123, 132, // 176-183
126, 129, 123, 129, 128, 124, 129, 126, // 184-191
124, 131, 123, 127, 133, 123, 131, 132, // 192-199
124, 128, 129, 123, 129, 128, 131, 127, // 200-207
129, 125, 125, 129, 127, 123, 130, 129, // 208-215
126, 126, 131, 123, 128, 129, 125, 129, // 216-223
126, 129, 131, 129, 125, 128, 126, 129, // 224-231
123, 129, 126, 125, 129, 125, 129, 128, // 232-239
124, 131, 130, 126, 128, 130, 128, 122, // 240-247
127, 131, 121, 128, 129, 124, 129, 129, // 248-255
128, 127, 131, 125, 129, 131, 122, 129, // 256-263
129, 123, 127, 129, 127, 120, 128, 131, // 264-271
122, 129, 132, 123, 131, 129, 126, 132, // 272-279
126, 125, 130, 125, 128, 126, 125, 129, // 280-287
125, 127, 126, 127, 131, 124, 127, 129, // 288-295
125, 131, 125, 126, 130, 125, 129, 125, // 296-303
131, 128, 125, 129, 126, 126, 128, 125, // 304-311
125, 127, 122, 129, 128, 125, 126, 129, // 312-319
128, 127, 128, 127, 128, 130, 128, 126, // 320-327
128, 129, 123, 128, 126, 124, 129, 125, // 328-335
127, 126, 128, 127, 126, 129, 129, 126, // 336-343
129, 128, 127, 125, 125, 128, 126, 128, // 344-351
123, 126, 129, 125, 127, 126, 127, 130, // 352-359
124, 127, 125, 125, 126, 129, 122, 125, // 360-367
128, 125, 125, 126, 128, 126, 128, 128, // 368-375
129, 126, 129, 125, 127, 128, 129, 125, // 376-383
128, 127, 125, 129, 123, 129, 128, 127, // 384-391
129, 128, 129, 129, 126, 129, 127, 125, // 392-399
129, 126, 127, 125, 127, 126, 125, 125, // 400-407
125, 127, 128, 127, 128, 125, 128, 127, // 408-415
128, 127, 125, 131, 126, 126, 129, 126, // 416-423
128, 125, 126, 129, 126, 127, 126, 126, // 424-431
128, 125, 129, 126, 127, 128, 127, 128, // 432-439
127, 129, 126, 128, 127, 128, 125, 129, // 440-447
126, 126, 127, 125, 126, 124, 125, 124, // 448-455
124, 125, 124, 124, 124, 125, 123, 124, // 456-463
126, 125, 129, 130, 130, 131, 131, 132, // 464-471
132, 133, 133, 133, 133, 132, 132, 131, // 472-479
131, 131, 129, 129, 129, 127, 127, 125, // 480-487
123, 122, 122, 120, 119, 118, 117, 116, // 488-495
117, 117, 116, 119, 117, 119, 120, 120, // 496-503
124, 123, 127, 132, 134, 139, 141, 144, // 504-511
147, 150, 150, 150, 150, 147, 144, 141, // 512-519
135, 129, 123, 117, 113, 109, 107, 105, // 520-527
106, 107, 109, 112, 113, 115, 117, 119, // 528-535
118, 119, 119, 117, 117, 122, 121, 124, // 536-543
135, 135, 142, 148, 154, 156, 164, 166, // 544-551
164, 164, 157, 148, 142, 132, 121, 113, // 552-559
106, 100,  95,  95,  93,  97, 102, 104, // 560-567
111, 115, 117, 121, 121, 120, 119, 119, // 568-575
122, 121, 122, 134, 131, 141, 147, 150, // 576-583
160, 162, 170, 166, 168, 164, 154, 149, // 584-591
137, 126, 116, 106,  99,  93,  91,  89, // 592-599
 93,  97, 100, 109, 110, 115, 120, 119, // 600-607
121, 119, 115, 120, 122, 116, 130, 133, // 608-615
132, 147, 148, 156, 162, 170, 170, 168, // 616-623
172, 160, 154, 147, 131, 122, 112, 101, // 624-631
 95,  91,  89,  89,  95,  95, 101, 110, // 632-639
110, 115, 119, 116, 118, 114, 115, 123, // 640-647
115, 123, 134, 130, 143, 150, 153, 162, // 648-655
168, 172, 168, 172, 164, 154, 151, 136, // 656-663
125, 115, 105,  97,  93,  93,  91,  97, // 664-671
100, 103, 112, 113, 117, 119, 122, 120, // 672-679
116, 114, 114, 122, 113, 122, 135, 123, // 680-687
145, 146, 151, 162, 164, 172, 164, 172, // 688-695
160, 150, 149, 131, 123, 114, 103, 100, // 696-703
 95,  95,  93, 101, 105, 109, 118, 117, // 704-711
125, 125, 123, 127, 116, 116, 112, 119, // 712-719
113, 109, 134, 116, 134, 145, 143, 158, // 720-727
162, 172, 164, 172, 168, 153, 153, 139, // 728-735
124, 118, 105,  98,  95,  91,  91,  98, // 736-743
104, 108, 118, 124, 129, 135, 137, 135, // 744-751
131, 127, 117, 112, 113, 112, 103, 114, // 752-759
119, 112, 137, 135, 145, 156, 164, 168, // 760-767
170, 176, 162, 160, 151, 135, 126, 114, // 768-775
102,  99,  93,  91,  95, 101, 104, 114, // 776-783
121, 125, 134, 137, 137, 133, 132, 120, // 784-791
113, 112, 112, 101, 107, 120, 103, 132, // 792-799
132, 137, 156, 160, 170, 168, 180, 168, // 800-807
162, 162, 139, 132, 121, 103, 101,  91, // 808-815
 89,  91,  95, 104, 108, 123, 127, 136, // 816-823
142, 141, 146, 139, 135, 127, 115, 109, // 824-831
106, 105,  89, 107, 107, 101, 131, 125, // 832-839
143, 155, 166, 174, 174, 182, 168, 168, // 840-847
158, 138, 132, 116, 104,  98,  89,  91, // 848-855
 89, 100, 103, 112, 123, 125, 138, 137, // 856-863
142, 142, 134, 133, 119, 112, 107, 108, // 864-871
 95,  98, 115,  95, 124, 130, 134, 157, // 872-879
160, 174, 174, 184, 174, 166, 164, 141, // 880-887
132, 120, 101,  97,  89,  85,  87,  93, // 888-895
 99, 107, 119, 125, 137, 143, 143, 148, // 896-903
145, 137, 135, 121, 110, 104, 104,  93, // 904-911
 91, 109,  95, 113, 131, 130, 153, 162, // 912-919
174, 174, 184, 178, 166, 168, 144, 133, // 920-927
122, 104,  97,  91,  85,  87,  93,  95, // 928-935
108, 117, 124, 138, 143, 144, 148, 147, // 936-943
139, 135, 125, 110, 104, 102,  95,  87, // 944-951
104, 103, 103, 134, 129, 148, 164, 170, // 952-959
176, 182, 182, 168, 166, 150, 132, 125, // 960-967
107,  95,  93,  85,  85,  91,  95, 103, // 968-975
119, 123, 135, 146, 145, 150, 150, 144, // 976-983
138, 132, 116, 107, 100,  97,  91,  87, // 984-991
105,  99, 112, 133, 132, 155, 164, 174, // 992-999
176, 182, 178, 166, 164, 144, 132, 120, // 1000-1007
105,  98,  91,  87,  89,  95, 100, 108, // 1008-1015
120, 125, 139, 144, 145, 148, 145, 141, // 1016-1023
134, 126, 112, 106,  95,  95,  93,  87, // 1024-1031
109, 102, 116, 137, 136, 160, 166, 176, // 1032-1039
178, 180, 176, 162, 162, 141, 129, 119, // 1040-1047
102,  98,  91,  87,  89,  97, 101, 110, // 1048-1055
123, 126, 142, 146, 146, 152, 145, 143, // 1056-1063
135, 128, 114, 108,  97,  91,  97,  89, // 1064-1071
 97, 110, 107, 129, 140, 146, 164, 170, // 1072-1079
176, 176, 180, 166, 160, 151, 132, 125, // 1080-1087
112, 101,  95,  93,  89,  95, 102, 105, // 1088-1095
117, 125, 132, 143, 143, 145, 145, 143, // 1096-1103
137, 131, 121, 112, 105,  95,  98,  98, // 1104-1111
 91, 110, 112, 116, 140, 140, 156, 164, // 1112-1119
172, 172, 174, 172, 156, 155, 138, 126, // 1120-1127
119, 105, 100,  95,  93,  95, 101, 106, // 1128-1135
112, 123, 129, 138, 144, 143, 146, 143, // 1136-1143
138, 134, 125, 117, 109, 102,  95,  98, // 1144-1151
 98,  93, 112, 113, 119, 142, 141, 157, // 1152-1159
164, 170, 170, 172, 168, 154, 153, 137, // 1160-1167
125, 119, 106, 101,  98,  95,  98, 103, // 1168-1175
107, 113, 123, 129, 136, 143, 141, 145, // 1176-1183
141, 137, 134, 124, 118, 112, 104,  98, // 1184-1191
 98, 101,  97, 107, 118, 115, 139, 141, // 1192-1199
150, 162, 164, 168, 166, 168, 153, 151, // 1200-1207
141, 126, 122, 110, 104, 102, 100,  99, // 1208-1215
105, 109, 112, 123, 127, 134, 141, 140, // 1216-1223
143, 141, 135, 134, 128, 119, 114, 109, // 1224-1231
101, 100, 101, 103, 103, 114, 120, 121, // 1232-1239
144, 141, 154, 162, 162, 166, 162, 162, // 1240-1247
149, 148, 135, 125, 120, 110, 107, 106, // 1248-1255
101, 105, 109, 110, 118, 123, 128, 134, // 1256-1263
138, 137, 140, 138, 132, 132, 124, 118, // 1264-1271
116, 109, 104, 103, 103, 107, 105, 117, // 1272-1279
121, 123, 143, 139, 151, 156, 160, 162, // 1280-1287
160, 157, 147, 146, 135, 128, 122, 112, // 1288-1295
110, 109, 106, 107, 112, 112, 118, 123, // 1296-1303
125, 133, 134, 135, 137, 135, 131, 131, // 1304-1311
125, 119, 119, 112, 108, 107, 105, 109, // 1312-1319
109, 112, 124, 119, 137, 140, 143, 154, // 1320-1327
153, 160, 154, 158, 148, 147, 141, 131, // 1328-1335
129, 118, 114, 112, 110, 109, 112, 113, // 1336-1343
114, 120, 123, 126, 133, 131, 135, 135, // 1344-1351
132, 132, 129, 125, 121, 119, 113, 111, // 1352-1359
109, 108, 112, 109, 115, 122, 120, 136, // 1360-1367
137, 143, 151, 151, 156, 154, 155, 148, // 1368-1375
147, 141, 132, 130, 120, 116, 114, 111, // 1376-1383
110, 112, 112, 114, 119, 120, 125, 130, // 1384-1391
130, 135, 134, 133, 134, 131, 127, 125, // 1392-1399
121, 117, 113, 109, 108, 110, 109, 110, // 1400-1407
120, 116, 126, 137, 135, 147, 148, 153, // 1408-1415
153, 157, 151, 149, 147, 137, 134, 128, // 1416-1423
119, 116, 113, 110, 111, 110, 111, 115, // 1424-1431
116, 120, 125, 128, 132, 134, 134, 134, // 1432-1439
134, 131, 129, 125, 120, 117, 112, 109, // 1440-1447
108, 110, 107, 112, 119, 114, 131, 134, // 1448-1455
137, 148, 148, 154, 154, 156, 150, 150, // 1456-1463
144, 136, 134, 123, 119, 115, 112, 109, // 1464-1471
110, 110, 111, 116, 116, 122, 127, 129, // 1472-1479
134, 135, 135, 137, 135, 132, 131, 126, // 1480-1487
121, 118, 113, 109, 107, 107, 108, 107, // 1488-1495
116, 116, 120, 135, 132, 145, 148, 151, // 1496-1503
156, 156, 155, 150, 150, 140, 137, 130, // 1504-1511
121, 117, 113, 110, 109, 109, 109, 112, // 1512-1519
115, 118, 123, 127, 131, 135, 137, 136, // 1520-1527
138, 135, 134, 132, 125, 122, 118, 111, // 1528-1535
109, 105, 107, 108, 105, 116, 114, 122, // 1536-1543
133, 133, 145, 147, 153, 154, 157, 154, // 1544-1551
151, 150, 141, 138, 129, 122, 117, 112, // 1552-1559
110, 109, 109, 109, 112, 114, 117, 123, // 1560-1567
126, 132, 135, 136, 138, 138, 136, 135, // 1568-1575
132, 128, 123, 120, 113, 110, 107, 104, // 1576-1583
107, 105, 108, 116, 115, 125, 134, 136, // 1584-1591
147, 149, 154, 155, 160, 153, 152, 148, // 1592-1599
139, 137, 127, 120, 117, 112, 109, 109, // 1600-1607
109, 109, 113, 114, 119, 125, 128, 134, // 1608-1615
136, 138, 140, 140, 138, 136, 134, 129, // 1616-1623
124, 120, 114, 110, 107, 102, 106, 104, // 1624-1631
106, 113, 116, 121, 134, 135, 144, 151, // 1632-1639
152, 158, 158, 157, 152, 151, 142, 137, // 1640-1647
131, 121, 118, 112, 110, 109, 108, 109, // 1648-1655
112, 114, 117, 123, 128, 132, 137, 138, // 1656-1663
140, 141, 138, 138, 135, 131, 128, 121, // 1664-1671
117, 111, 109, 103, 102, 105, 103, 108, // 1672-1679
113, 118, 122, 135, 137, 145, 152, 153, // 1680-1687
158, 158, 156, 152, 149, 141, 137, 129, // 1688-1695
120, 117, 112, 109, 109, 108, 109, 112, // 1696-1703
114, 119, 124, 129, 134, 137, 140, 140, // 1704-1711
142, 139, 138, 136, 130, 128, 120, 117, // 1712-1719
111, 108, 103, 100, 104, 102, 107, 109, // 1720-1727
118, 119, 131, 138, 140, 152, 151, 157, // 1728-1735
158, 158, 153, 151, 145, 138, 134, 123, // 1736-1743
119, 114, 110, 109, 109, 108, 110, 113, // 1744-1751
116, 122, 126, 131, 135, 138, 140, 141, // 1752-1759
141, 139, 138, 134, 130, 126, 119, 116, // 1760-1767
112, 106, 104, 100, 101, 103, 106, 109, // 1768-1775
114, 122, 124, 138, 140, 147, 153, 154, // 1776-1783
160, 157, 156, 151, 148, 141, 136, 130, // 1784-1791
120, 118, 112, 110, 109, 108, 110, 112, // 1792-1799
114, 119, 125, 129, 134, 138, 138, 142, // 1800-1807
142, 140, 140, 136, 133, 130, 123, 118, // 1808-1815
115, 109, 106, 104,  98, 101, 101, 104, // 1816-1823
109, 112, 120, 125, 131, 143, 143, 153, // 1824-1831
155, 158, 160, 158, 156, 150, 147, 138, // 1832-1839
134, 126, 119, 116, 111, 109, 108, 108, // 1840-1847
110, 113, 116, 120, 126, 131, 135, 138, // 1848-1855
141, 141, 143, 141, 140, 138, 133, 131, // 1856-1863
124, 119, 114, 111, 106, 103, 101,  98, // 1864-1871
100, 101, 105, 109, 114, 119, 127, 135, // 1872-1879
137, 150, 148, 157, 160, 160, 162, 158, // 1880-1887
156, 148, 145, 135, 131, 123, 115, 113, // 1888-1895
108, 106, 107, 107, 110, 113, 117, 122, // 1896-1903
127, 132, 136, 140, 141, 142, 144, 141, // 1904-1911
140, 138, 132, 129, 122, 117, 113, 108, // 1912-1919
104, 102, 100,  97, 101, 101, 104, 109, // 1920-1927
114, 120, 125, 134, 141, 143, 153, 154, // 1928-1935
160, 162, 162, 162, 158, 154, 147, 143, // 1936-1943
134, 127, 119, 112, 109, 105, 104, 104, // 1944-1951
106, 108, 112, 116, 121, 129, 132, 138, // 1952-1959
141, 142, 145, 143, 144, 141, 137, 134, // 1960-1967
128, 122, 116, 112, 106, 104, 100, 100, // 1968-1975
100, 100, 104, 106, 110, 114, 119, 125, // 1976-1983
133, 137, 144, 148, 150, 158, 156, 162, // 1984-1991
162, 158, 157, 151, 147, 139, 134, 123, // 1992-1999
118, 112, 106, 104, 102, 102, 104, 107, // 2000-2007
110, 115, 120, 125, 132, 137, 140, 143, // 2008-2015
145, 143, 145, 141, 139, 136, 129, 125, // 2016-2023
119, 114, 110, 107, 103, 103, 103, 103, // 2024-2031
107, 109, 113, 117, 120, 125, 130, 133, // 2032-2039
139, 141, 143, 147, 148, 148, 153, 149, // 2040-2047
150, 150, 146, 145, 141, 136, 130, 125, // 2048-2055
117, 114, 110, 107, 107, 106, 107, 110, // 2056-2063
113, 116, 122, 125, 131, 136, 138, 142, // 2064-2071
143, 143, 142, 140, 138, 134, 131, 125, // 2072-2079
121, 117, 113, 112, 109, 109, 108, 110, // 2080-2087
112, 113, 117, 120, 123, 127, 129, 132, // 2088-2095
134, 133, 137, 137, 135, 138, 138, 137, // 2096-2103
141, 138, 140, 142, 139, 140, 138, 135, // 2104-2111
131, 129, 122, 120, 116, 113, 113, 112, // 2112-2119
113, 115, 117, 119, 123, 126, 130, 134, // 2120-2127
135, 138, 139, 139, 138, 138, 136, 132, // 2128-2135
132, 127, 125, 122, 119, 117, 116, 114, // 2136-2143
114, 115, 115, 117, 119, 121, 123, 124, // 2144-2151
125, 128, 125, 126, 125, 125, 128, 128, // 2152-2159
125, 131, 131, 131, 138, 135, 141, 143, // 2160-2167
142, 144, 143, 140, 137, 135, 128, 125, // 2168-2175
120, 116, 116, 113, 114, 115, 116, 119, // 2176-2183
122, 124, 129, 132, 133, 136, 137, 137, // 2184-2191
138, 137, 134, 135, 132, 129, 129, 123, // 2192-2199
123, 120, 118, 117, 117, 115, 116, 117, // 2200-2207
116, 119, 119, 120, 122, 122, 123, 123, // 2208-2215
122, 123, 122, 123, 125, 126, 127, 132, // 2216-2223
132, 135, 141, 139, 144, 145, 144, 145, // 2224-2231
143, 140, 137, 134, 126, 124, 119, 116, // 2232-2239
115, 113, 114, 116, 117, 119, 122, 124, // 2240-2247
128, 131, 131, 133, 134, 133, 134, 132, // 2248-2255
132, 132, 130, 131, 127, 128, 125, 123, // 2256-2263
122, 120, 120, 119, 119, 118, 119, 119, // 2264-2271
120, 121, 121, 122, 122, 122, 122, 123, // 2272-2279
122, 122, 123, 123, 126, 128, 130, 135, // 2280-2287
134, 140, 141, 142, 145, 144, 145, 143, // 2288-2295
141, 137, 134, 129, 123, 121, 116, 116, // 2296-2303
114, 114, 114, 116, 117, 119, 122, 123, // 2304-2311
126, 128, 129, 131, 131, 132, 133, 133, // 2312-2319
133, 134, 134, 132, 133, 131, 131, 129, // 2320-2327
126, 125, 123, 122, 120, 119, 118, 118, // 2328-2335
117, 117, 119, 119, 119, 120, 120, 121, // 2336-2343
122, 122, 123, 123, 124, 128, 129, 130, // 2344-2351
133, 135, 135, 141, 139, 143, 143, 141, // 2352-2359
143, 139, 137, 134, 131, 125, 123, 120, // 2360-2367
117, 117, 115, 116, 117, 117, 119, 121, // 2368-2375
122, 125, 127, 129, 131, 131, 132, 133, // 2376-2383
134, 134, 135, 134, 134, 134, 132, 132, // 2384-2391
130, 128, 128, 124, 123, 121, 119, 119, // 2392-2399
118, 117, 117, 117, 117, 119, 119, 120, // 2400-2407
122, 121, 123, 123, 123, 124, 123, 125, // 2408-2415
128, 129, 130, 134, 136, 136, 142, 140, // 2416-2423
143, 145, 143, 143, 141, 138, 135, 132, // 2424-2431
126, 123, 120, 117, 116, 114, 114, 115, // 2432-2439
116, 117, 119, 121, 123, 127, 129, 131, // 2440-2447
132, 133, 135, 135, 135, 137, 136, 135, // 2448-2455
135, 134, 132, 130, 127, 125, 123, 121, // 2456-2463
120, 119, 118, 117, 117, 117, 118, 119, // 2464-2471
120, 121, 122, 123, 124, 124, 125, 125, // 2472-2479
125, 125, 125, 126, 128, 129, 131, 132, // 2480-2487
135, 135, 137, 141, 139, 143, 141, 140, // 2488-2495
139, 136, 134, 130, 127, 122, 121, 117, // 2496-2503
116, 115, 114, 116, 116, 117, 120, 122, // 2504-2511
124, 127, 129, 131, 133, 134, 135, 135, // 2512-2519
135, 135, 135, 135, 133, 132, 131, 129, // 2520-2527
127, 124, 123, 122, 120, 120, 120, 119, // 2528-2535
119, 119, 120, 120, 120, 122, 122, 122, // 2536-2543
123, 124, 124, 125, 124, 124, 125, 125, // 2544-2551
125, 128, 126, 129, 131, 131, 135, 134, // 2552-2559
137, 139, 138, 140, 139, 138, 137, 135, // 2560-2567
132, 129, 125, 122, 120, 117, 117, 116, // 2568-2575
116, 117, 118, 119, 122, 124, 126, 129, // 2576-2583
132, 133, 134, 135, 135, 136, 135, 135, // 2584-2591
134, 132, 131, 129, 127, 125, 123, 122, // 2592-2599
121, 120, 120, 120, 120, 120, 120, 122, // 2600-2607
122, 123, 124, 125, 125, 125, 126, 126, // 2608-2615
126, 126, 125, 125, 124, 124, 124, 124, // 2616-2623
125, 125, 127, 129, 131, 133, 134, 137, // 2624-2631
137, 137, 140, 137, 138, 135, 134, 131, // 2632-2639
129, 125, 122, 120, 118, 118, 117, 117, // 2640-2647
119, 120, 122, 123, 125, 129, 131, 132, // 2648-2655
133, 134, 134, 134, 134, 133, 132, 131, // 2656-2663
130, 129, 126, 125, 123, 123, 123, 122, // 2664-2671
123, 122, 122, 123, 123, 124, 125, 125, // 2672-2679
125, 125, 125, 127, 125, 126, 126, 125, // 2680-2687
125, 125, 124, 124, 124, 123, 123, 123, // 2688-2695
123, 124, 125, 127, 129, 130, 133, 134, // 2696-2703
135, 137, 137, 139, 138, 138, 136, 135, // 2704-2711
132, 129, 128, 123, 122, 120, 119, 119, // 2712-2719
119, 120, 121, 123, 124, 128, 129, 131, // 2720-2727
132, 133, 133, 134, 133, 132, 131, 130, // 2728-2735
129, 128, 125, 125, 124, 123, 123, 123, // 2736-2743
123, 123, 123, 123, 124, 125, 125, 125, // 2744-2751
125, 125, 125, 125, 125, 125, 125, 125, // 2752-2759
125, 124, 125, 125, 124, 125, 124, 124, // 2760-2767
125, 125, 125, 126, 128, 127, 131, 131, // 2768-2775
133, 134, 134, 137, 135, 136, 136, 135, // 2776-2783
134, 132, 130, 128, 125, 123, 122, 121, // 2784-2791
120, 120, 120, 120, 122, 123, 125, 128, // 2792-2799
127, 130, 131, 131, 132, 131, 131, 131, // 2800-2807
130, 129, 128, 128, 126, 125, 125, 124, // 2808-2815
124, 124, 123, 124, 123, 124, 124, 124, // 2816-2823
125, 125, 125, 125, 125, 125, 125, 125, // 2824-2831
125, 125, 125, 125, 125, 126, 126, 126, // 2832-2839
128, 128, 128, 129, 126, 129, 128, 128, // 2840-2847
129, 129, 129, 130, 130, 131, 131, 131, // 2848-2855
132, 132, 132, 132, 132, 131, 131, 130, // 2856-2863
129, 128, 127, 125, 125, 125, 124, 124, // 2864-2871
124, 125, 125, 125, 126, 126, 128, 128, // 2872-2879
128, 128, 128, 126, 125, 125, 125, 125, // 2880-2887
124, 124, 124, 124, 124, 124, 124, 125, // 2888-2895
125, 125, 125, 126, 128, 125, 128, 126, // 2896-2903
126, 128, 126, 126, 128, 127, 128, 129, // 2904-2911
129, 129, 130, 129, 129, 130, 130, 129, // 2912-2919
130, 129, 128, 129, 126, 128, 126, 126, // 2920-2927
128, 126, 127, 128, 129, 129, 129, 129, // 2928-2935
129, 130, 129, 130, 129, 129, 129, 127, // 2936-2943
126, 127, 125, 125, 125, 125, 125, 125, // 2944-2951
125, 125, 125, 125, 126, 126, 126, 126, // 2952-2959
126, 126, 126, 126, 126, 127, 128, 128, // 2960-2967
127, 128, 127, 128, 127, 128, 128, 127, // 2968-2975
128, 127, 128, 127, 127, 126, 126, 128, // 2976-2983
126, 126, 128, 127, 128, 128, 127, 128, // 2984-2991
127, 128, 127, 128, 127, 128, 128, 127, // 2992-2999
128, 127, 128, 128, 127, 128, 128, 127, // 3000-3007
128, 129, 129, 127, 129, 127, 128, 129, // 3008-3015
128, 129, 129, 129, 129, 128, 127, 128, // 3016-3023
126, 127, 128, 126, 128, 128, 126, 126, // 3024-3031
126, 126, 126, 128, 127, 128, 129, 127, // 3032-3039
129, 128, 127, 128, 127, 126, 126, 126, // 3040-3047
126, 126, 126, 126, 126, 126, 126, 127, // 3048-3055
128, 127, 128, 127, 128, 127, 128, 127, // 3056-3063
128};

const char Q[3335] = {128, 127, 128, 127, 128, 127, 128, 127, // 0-7
128, 128, 127, 128, 127, 128, 127, 128, // 8-15
128, 128, 127, 128, 127, 128, 127, 128, // 16-23
129, 134, 127, 121, 133, 118, 129, 124, // 24-31
124, 131, 120, 133, 127, 134, 122, 135, // 32-39
119, 130, 124, 123, 126, 117, 135, 119, // 40-47
127, 123, 147, 124, 125, 143, 115, 137, // 48-55
122, 136, 120, 128, 122, 119, 125, 117, // 56-63
137, 117, 132, 124, 127, 129, 127, 131, // 64-71
126, 129, 126, 129, 125, 129, 127, 123, // 72-79
130, 120, 131, 122, 127, 129, 125, 129, // 80-87
124, 131, 123, 131, 123, 130, 123, 129, // 88-95
128, 128, 130, 129, 129, 127, 129, 125, // 96-103
129, 125, 131, 125, 126, 129, 124, 128, // 104-111
125, 126, 128, 125, 129, 125, 129, 126, // 112-119
128, 126, 127, 128, 127, 128, 128, 127, // 120-127
125, 129, 126, 129, 128, 127, 128, 127, // 128-135
128, 126, 128, 125, 127, 125, 127, 126, // 136-143
129, 127, 128, 129, 128, 129, 128, 129, // 144-151
128, 128, 126, 128, 126, 127, 128, 126, // 152-159
127, 126, 127, 128, 127, 128, 127, 128, // 160-167
129, 126, 129, 125, 128, 125, 129, 125, // 168-175
127, 126, 127, 129, 126, 129, 125, 129, // 176-183
124, 130, 123, 132, 123, 129, 128, 125, // 184-191
129, 125, 130, 125, 129, 124, 129, 125, // 192-199
128, 126, 128, 127, 128, 126, 129, 126, // 200-207
129, 127, 128, 128, 126, 129, 125, 128, // 208-215
126, 128, 126, 128, 126, 127, 128, 127, // 216-223
128, 128, 127, 128, 128, 125, 128, 127, // 224-231
128, 128, 126, 128, 127, 126, 127, 126, // 232-239
128, 126, 128, 126, 128, 127, 128, 127, // 240-247
128, 127, 128, 126, 128, 126, 128, 129, // 248-255
125, 129, 125, 129, 125, 128, 128, 126, // 256-263
129, 127, 128, 127, 128, 128, 126, 126, // 264-271
127, 125, 127, 126, 128, 125, 129, 126, // 272-279
129, 125, 129, 128, 129, 128, 127, 128, // 280-287
126, 128, 126, 129, 125, 129, 124, 129, // 288-295
125, 130, 125, 127, 128, 126, 130, 124, // 296-303
130, 124, 130, 125, 129, 127, 125, 129, // 304-311
125, 128, 126, 128, 127, 126, 129, 126, // 312-319
128, 129, 126, 129, 128, 126, 128, 127, // 320-327
125, 127, 128, 125, 128, 126, 126, 127, // 328-335
128, 126, 128, 127, 125, 129, 124, 128, // 336-343
128, 128, 127, 125, 129, 125, 129, 126, // 344-351
128, 125, 128, 125, 128, 125, 128, 126, // 352-359
128, 127, 126, 129, 125, 130, 124, 129, // 360-367
125, 128, 127, 125, 129, 125, 129, 125, // 368-375
127, 125, 126, 128, 126, 128, 127, 128, // 376-383
126, 126, 128, 126, 129, 124, 129, 125, // 384-391
128, 126, 126, 129, 126, 128, 125, 129, // 392-399
126, 128, 126, 127, 128, 125, 129, 126, // 400-407
127, 128, 127, 128, 127, 129, 126, 128, // 408-415
125, 129, 124, 130, 125, 125, 129, 126, // 416-423
129, 125, 129, 124, 129, 125, 129, 129, // 424-431
125, 129, 125, 128, 129, 126, 129, 128, // 432-439
127, 128, 125, 129, 126, 127, 128, 125, // 440-447
129, 126, 127, 129, 125, 129, 123, 130, // 448-455
126, 128, 127, 128, 129, 125, 132, 122, // 456-463
132, 123, 131, 125, 125, 132, 120, 131, // 464-471
123, 130, 125, 128, 131, 125, 131, 124, // 472-479
133, 124, 129, 128, 125, 131, 122, 131, // 480-487
125, 128, 126, 124, 130, 124, 131, 125, // 488-495
130, 128, 125, 130, 124, 129, 125, 127, // 496-503
128, 127, 130, 123, 129, 125, 128, 128, // 504-511
125, 130, 125, 130, 124, 131, 125, 128, // 512-519
127, 124, 130, 125, 129, 125, 129, 128, // 520-527
125, 128, 126, 129, 127, 128, 129, 124, // 528-535
131, 124, 127, 129, 123, 130, 124, 131, // 536-543
125, 128, 128, 125, 131, 123, 129, 127, // 544-551
125, 129, 123, 130, 125, 129, 128, 128, // 552-559
129, 125, 130, 124, 129, 127, 126, 128, // 560-567
126, 126, 125, 128, 127, 128, 126, 128, // 568-575
126, 128, 127, 126, 127, 128, 127, 128, // 576-583
128, 128, 128, 128, 125, 129, 125, 126, // 584-591
129, 124, 130, 124, 129, 125, 126, 130, // 592-599
125, 131, 124, 129, 125, 128, 126, 125, // 600-607
128, 124, 130, 124, 129, 124, 129, 125, // 608-615
127, 128, 125, 131, 125, 131, 123, 127, // 616-623
126, 126, 128, 125, 128, 125, 126, 125, // 624-631
127, 126, 128, 127, 128, 127, 128, 127, // 632-639
128, 128, 127, 128, 126, 128, 126, 126, // 640-647
127, 126, 128, 127, 125, 129, 125, 129, // 648-655
125, 127, 129, 125, 129, 126, 128, 128, // 656-663
127, 129, 128, 129, 127, 128, 126, 128, // 664-671
127, 125, 129, 125, 129, 126, 126, 128, // 672-679
125, 127, 126, 126, 128, 126, 128, 127, // 680-687
126, 129, 125, 129, 125, 128, 127, 125, // 688-695
129, 125, 129, 128, 127, 129, 127, 129, // 696-703
129, 129, 131, 130, 131, 131, 129, 131, // 704-711
129, 130, 127, 129, 127, 125, 127, 123, // 712-719
123, 123, 122, 122, 120, 120, 118, 119, // 720-727
119, 118, 120, 120, 123, 123, 129, 130, // 728-735
134, 137, 140, 143, 143, 145, 145, 145, // 736-743
143, 143, 139, 136, 131, 125, 120, 116, // 744-751
112, 111, 108, 108, 107, 109, 109, 112, // 752-759
113, 114, 117, 117, 120, 126, 124, 127, // 760-767
139, 131, 141, 143, 144, 149, 150, 155, // 768-775
149, 153, 148, 143, 140, 134, 125, 121, // 776-783
117, 112, 111, 109, 108, 108, 111, 111, // 784-791
114, 114, 117, 118, 117, 120, 116, 117, // 792-799
122, 121, 117, 132, 128, 130, 143, 140, // 800-807
147, 148, 157, 151, 154, 155, 146, 144, // 808-815
140, 131, 125, 120, 114, 112, 110, 109, // 816-823
108, 111, 109, 112, 114, 112, 116, 115, // 824-831
113, 114, 112, 117, 120, 113, 130, 129, // 832-839
129, 143, 143, 151, 153, 162, 158, 158, // 840-847
162, 151, 146, 143, 132, 125, 118, 113, // 848-855
108, 105, 106, 102, 108, 107, 109, 113, // 856-863
113, 113, 117, 114, 114, 114, 113, 123, // 864-871
115, 119, 138, 121, 143, 145, 146, 155, // 872-879
157, 164, 155, 162, 157, 144, 146, 135, // 880-887
123, 122, 112, 108, 105, 106, 102, 107, // 888-895
111, 110, 116, 117, 120, 120, 120, 122, // 896-903
114, 117, 113, 119, 117, 112, 136, 117, // 904-911
133, 145, 138, 153, 154, 160, 157, 160, // 912-919
160, 147, 145, 142, 123, 125, 114, 108, // 920-927
108, 104, 105, 104, 112, 111, 114, 119, // 928-935
120, 122, 122, 124, 119, 116, 116, 116, // 936-943
122, 108, 131, 125, 119, 148, 135, 148, // 944-951
154, 157, 158, 158, 162, 152, 143, 146, // 952-959
129, 120, 120, 106, 106, 105, 102, 104, // 960-967
108, 112, 114, 120, 123, 126, 129, 127, // 968-975
126, 123, 117, 114, 119, 117, 107, 131, // 976-983
119, 119, 143, 134, 145, 154, 157, 157, // 984-991
160, 162, 152, 145, 145, 129, 120, 120, // 992-999
106, 106, 106, 102, 105, 110, 112, 116, // 1000-1007
123, 125, 128, 132, 129, 126, 125, 117, // 1008-1015
113, 114, 117, 104, 118, 125, 111, 139, // 1016-1023
137, 140, 152, 157, 158, 160, 164, 158, // 1024-1031
147, 147, 137, 120, 122, 111, 103, 106, // 1032-1039
102, 102, 108, 112, 114, 122, 126, 127, // 1040-1047
132, 134, 126, 129, 122, 113, 112, 115, // 1048-1055
112, 101, 127, 114, 114, 143, 132, 144, // 1056-1063
156, 160, 158, 164, 164, 155, 148, 146, // 1064-1071
131, 120, 118, 106, 102, 105, 100, 103, // 1072-1079
111, 112, 117, 128, 128, 130, 136, 133, // 1080-1087
129, 129, 119, 113, 109, 114, 109, 100, // 1088-1095
126, 112, 115, 143, 134, 145, 160, 162, // 1096-1103
160, 168, 164, 155, 149, 145, 129, 117, // 1104-1111
116, 102,  99, 101,  97, 102, 110, 112, // 1112-1119
117, 127, 131, 132, 138, 136, 131, 130, // 1120-1127
122, 114, 109, 111, 112,  97, 115, 122, // 1128-1135
106, 139, 141, 138, 160, 166, 158, 170, // 1136-1143
168, 157, 150, 146, 133, 116, 116, 104, // 1144-1151
 95, 100,  98,  97, 108, 112, 115, 128, // 1152-1159
132, 133, 138, 141, 134, 132, 126, 117, // 1160-1167
111, 105, 112, 102,  98, 124, 109, 117, // 1168-1175
147, 137, 148, 170, 164, 164, 174, 164, // 1176-1183
154, 148, 140, 122, 112, 110,  95,  93, // 1184-1191
 99,  95, 101, 112, 114, 122, 134, 137, // 1192-1199
138, 143, 143, 134, 133, 125, 113, 108, // 1200-1207
102, 105, 100,  95, 121, 110, 117, 147, // 1208-1215
140, 149, 172, 166, 164, 176, 164, 153, // 1216-1223
147, 137, 120, 111, 107,  97,  93,  99, // 1224-1231
 97, 102, 113, 119, 125, 137, 141, 140, // 1232-1239
144, 144, 134, 132, 125, 112, 106,  99, // 1240-1247
102, 101,  91, 115, 116, 112, 146, 147, // 1248-1255
146, 172, 174, 164, 176, 168, 152, 147, // 1256-1263
137, 121, 109, 105,  97,  89,  95,  98, // 1264-1271
100, 112, 120, 125, 137, 143, 143, 144, // 1272-1279
147, 139, 132, 128, 114, 105,  99,  95, // 1280-1287
100,  93,  99, 123, 112, 131, 155, 147, // 1288-1295
160, 182, 170, 168, 176, 158, 146, 141, // 1296-1303
126, 110, 104,  99,  89,  91,  97, 100, // 1304-1311
106, 119, 127, 134, 144, 148, 144, 147, // 1312-1319
145, 134, 129, 120, 107, 100,  93,  93, // 1320-1327
 99,  91, 111, 123, 114, 146, 158, 151, // 1328-1335
172, 182, 166, 172, 170, 149, 141, 135, // 1336-1343
116, 103,  99,  93,  87,  89, 100, 102, // 1344-1351
111, 126, 132, 140, 150, 149, 146, 149, // 1352-1359
143, 132, 126, 115, 103,  95,  89,  93, // 1360-1367
 97,  91, 112, 126, 120, 146, 162, 156, // 1368-1375
172, 184, 168, 170, 168, 147, 137, 130, // 1376-1383
112, 100,  95,  91,  89,  89, 101, 107, // 1384-1391
113, 130, 138, 143, 152, 152, 147, 148, // 1392-1399
143, 131, 123, 113, 102,  95,  87,  87, // 1400-1407
 97,  95, 104, 130, 127, 140, 164, 164, // 1408-1415
166, 182, 174, 164, 166, 151, 135, 125, // 1416-1423
114, 100,  93,  89,  91,  91,  98, 109, // 1424-1431
115, 126, 140, 145, 150, 155, 151, 146, // 1432-1439
143, 133, 122, 114, 103,  95,  87,  83, // 1440-1447
 91, 100,  98, 117, 138, 134, 154, 172, // 1448-1455
166, 172, 182, 168, 160, 157, 141, 124, // 1456-1463
116, 106,  95,  89,  91,  93,  93, 105, // 1464-1471
117, 123, 135, 146, 150, 153, 154, 148, // 1472-1479
143, 137, 125, 114, 107,  97,  89,  85, // 1480-1487
 87,  99, 101, 108, 135, 139, 144, 168, // 1488-1495
172, 168, 178, 176, 160, 157, 146, 129, // 1496-1503
117, 108,  98,  91,  87,  93,  95, 100, // 1504-1511
113, 124, 132, 143, 151, 153, 155, 152, // 1512-1519
145, 140, 130, 118, 111,  99,  93,  87, // 1520-1527
 85,  89, 102, 106, 114, 141, 145, 150, // 1528-1535
170, 174, 170, 176, 172, 157, 149, 140, // 1536-1543
123, 112, 102,  95,  91,  87,  93, 101, // 1544-1551
105, 117, 131, 137, 146, 154, 155, 155, // 1552-1559
149, 143, 137, 124, 114, 108,  97,  91, // 1560-1567
 87,  85,  91, 105, 111, 117, 143, 149, // 1568-1575
152, 170, 176, 168, 172, 170, 154, 146, // 1576-1583
135, 121, 111, 100,  95,  93,  89,  95, // 1584-1591
105, 109, 119, 134, 141, 146, 153, 155, // 1592-1599
154, 148, 141, 135, 122, 112, 106,  98, // 1600-1607
 91,  89,  87,  91, 105, 113, 117, 139, // 1608-1615
153, 152, 164, 176, 170, 166, 166, 155, // 1616-1623
143, 134, 122, 112, 102,  95,  95,  93, // 1624-1631
 95, 105, 112, 118, 131, 141, 146, 151, // 1632-1639
154, 152, 149, 140, 133, 125, 113, 106, // 1640-1647
102,  93,  91,  91,  93, 100, 113, 120, // 1648-1655
128, 147, 156, 155, 166, 172, 166, 162, // 1656-1663
158, 147, 137, 126, 116, 109, 102,  95, // 1664-1671
 99,  99, 102, 111, 119, 125, 135, 143, // 1672-1679
148, 149, 150, 149, 143, 134, 128, 120, // 1680-1687
111, 105, 102,  97,  93,  95,  97, 105, // 1688-1695
116, 125, 131, 146, 157, 155, 162, 168, // 1696-1703
162, 155, 152, 144, 135, 124, 116, 111, // 1704-1711
105,  99, 102, 105, 106, 112, 121, 127, // 1712-1719
135, 141, 146, 148, 146, 145, 143, 132, // 1720-1727
125, 120, 112, 106, 103, 100,  99,  99, // 1728-1735
100, 106, 115, 125, 131, 140, 154, 154, // 1736-1743
155, 162, 162, 154, 150, 145, 138, 129, // 1744-1751
119, 113, 111, 105, 102, 107, 109, 112, // 1752-1759
118, 125, 132, 137, 141, 145, 146, 143, // 1760-1767
142, 137, 127, 122, 117, 112, 108, 105, // 1768-1775
103, 104, 103, 104, 110, 118, 128, 132, // 1776-1783
139, 150, 152, 151, 156, 158, 151, 147, // 1784-1791
143, 138, 131, 121, 115, 114, 109, 105, // 1792-1799
109, 112, 113, 117, 124, 131, 135, 139, // 1800-1807
142, 143, 143, 139, 135, 131, 123, 118, // 1808-1815
114, 112, 109, 106, 106, 106, 106, 108, // 1816-1823
114, 124, 131, 132, 143, 150, 149, 151, // 1824-1831
154, 154, 149, 144, 140, 137, 129, 119, // 1832-1839
116, 114, 110, 108, 111, 113, 116, 119, // 1840-1847
123, 132, 136, 138, 141, 143, 141, 138, // 1848-1855
134, 130, 125, 119, 114, 113, 112, 108, // 1856-1863
107, 108, 108, 108, 112, 120, 129, 131, // 1864-1871
136, 146, 149, 149, 151, 152, 151, 147, // 1872-1879
141, 138, 135, 125, 117, 116, 113, 109, // 1880-1887
108, 110, 114, 117, 119, 125, 134, 137, // 1888-1895
140, 141, 142, 142, 137, 132, 129, 124, // 1896-1903
118, 114, 112, 111, 109, 106, 106, 108, // 1904-1911
108, 112, 122, 129, 131, 138, 146, 149, // 1912-1919
151, 151, 152, 152, 147, 140, 137, 133, // 1920-1927
123, 116, 113, 111, 109, 108, 109, 114, // 1928-1935
118, 121, 128, 134, 139, 141, 142, 143, // 1936-1943
142, 138, 132, 129, 123, 119, 114, 112, // 1944-1951
111, 109, 107, 106, 108, 109, 111, 116, // 1952-1959
125, 131, 134, 143, 148, 149, 151, 151, // 1960-1967
151, 149, 144, 138, 135, 130, 121, 115, // 1968-1975
112, 111, 109, 109, 111, 116, 120, 124, // 1976-1983
131, 136, 141, 143, 143, 142, 142, 137, // 1984-1991
132, 128, 122, 118, 114, 112, 111, 110, // 1992-1999
108, 108, 108, 109, 110, 114, 122, 129, // 2000-2007
132, 139, 145, 149, 150, 150, 151, 151, // 2008-2015
147, 141, 137, 132, 125, 118, 112, 111, // 2016-2023
109, 109, 109, 112, 117, 123, 129, 134, // 2024-2031
139, 143, 143, 143, 143, 140, 137, 132, // 2032-2039
125, 121, 118, 114, 112, 112, 111, 110, // 2040-2047
109, 109, 109, 110, 112, 117, 125, 131, // 2048-2055
135, 141, 146, 149, 151, 151, 151, 151, // 2056-2063
146, 140, 135, 129, 123, 116, 111, 109, // 2064-2071
109, 109, 111, 114, 119, 126, 132, 137, // 2072-2079
140, 143, 145, 145, 143, 139, 136, 132, // 2080-2087
125, 120, 117, 114, 113, 112, 111, 111, // 2088-2095
111, 110, 109, 109, 110, 112, 117, 124, // 2096-2103
131, 134, 140, 145, 149, 151, 151, 151, // 2104-2111
150, 147, 141, 135, 129, 123, 117, 112, // 2112-2119
109, 109, 110, 112, 114, 119, 125, 132, // 2120-2127
137, 140, 143, 145, 145, 143, 140, 136, // 2128-2135
132, 128, 122, 119, 116, 115, 113, 112, // 2136-2143
112, 111, 111, 111, 110, 109, 110, 112, // 2144-2151
114, 122, 129, 133, 138, 143, 148, 152, // 2152-2159
152, 151, 151, 150, 145, 140, 133, 125, // 2160-2167
120, 116, 111, 108, 109, 111, 113, 117, // 2168-2175
121, 128, 135, 139, 143, 144, 145, 144, // 2176-2183
142, 137, 134, 130, 125, 121, 118, 116, // 2184-2191
115, 114, 112, 111, 111, 110, 110, 109, // 2192-2199
109, 110, 111, 112, 117, 125, 132, 136, // 2200-2207
142, 146, 151, 154, 154, 153, 152, 149, // 2208-2215
144, 138, 130, 122, 117, 112, 109, 108, // 2216-2223
108, 111, 114, 118, 123, 130, 135, 140, // 2224-2231
143, 143, 143, 143, 141, 137, 134, 130, // 2232-2239
126, 122, 119, 116, 114, 113, 112, 111, // 2240-2247
109, 109, 109, 109, 109, 109, 111, 112, // 2248-2255
114, 119, 127, 135, 140, 144, 150, 153, // 2256-2263
158, 157, 155, 153, 149, 144, 138, 130, // 2264-2271
121, 116, 112, 108, 106, 106, 109, 113, // 2272-2279
117, 122, 128, 134, 138, 143, 143, 144, // 2280-2287
143, 142, 140, 137, 132, 128, 123, 120, // 2288-2295
117, 114, 112, 111, 111, 111, 110, 111, // 2296-2303
111, 112, 113, 113, 114, 116, 117, 119, // 2304-2311
123, 131, 138, 143, 146, 150, 154, 156, // 2312-2319
157, 154, 151, 147, 143, 137, 129, 119, // 2320-2327
113, 110, 106, 105, 105, 107, 112, 117, // 2328-2335
122, 129, 135, 140, 143, 145, 146, 145, // 2336-2343
143, 140, 136, 131, 125, 120, 116, 114, // 2344-2351
112, 111, 111, 111, 112, 113, 114, 116, // 2352-2359
117, 118, 120, 121, 122, 122, 122, 122, // 2360-2367
123, 126, 134, 139, 142, 145, 147, 150, // 2368-2375
152, 152, 149, 146, 142, 137, 131, 123, // 2376-2383
116, 112, 108, 106, 106, 107, 110, 114, // 2384-2391
120, 126, 133, 138, 141, 143, 145, 145, // 2392-2399
143, 141, 137, 132, 126, 122, 117, 114, // 2400-2407
113, 112, 113, 113, 114, 116, 118, 120, // 2408-2415
123, 124, 125, 125, 126, 125, 124, 122, // 2416-2423
121, 120, 119, 120, 125, 132, 136, 140, // 2424-2431
143, 143, 146, 148, 148, 146, 143, 138, // 2432-2439
133, 128, 121, 115, 111, 108, 108, 109, // 2440-2447
112, 114, 119, 124, 131, 136, 140, 143, // 2448-2455
143, 143, 142, 139, 136, 132, 126, 122, // 2456-2463
119, 117, 116, 116, 117, 118, 120, 122, // 2464-2471
124, 125, 128, 128, 127, 128, 126, 125, // 2472-2479
122, 120, 117, 116, 115, 114, 114, 116, // 2480-2487
119, 125, 132, 138, 143, 144, 146, 148, // 2488-2495
149, 149, 146, 141, 135, 129, 123, 119, // 2496-2503
114, 111, 109, 109, 111, 114, 119, 123, // 2504-2511
129, 133, 137, 140, 142, 143, 141, 138, // 2512-2519
134, 131, 128, 123, 120, 119, 117, 118, // 2520-2527
119, 121, 123, 125, 127, 127, 129, 129, // 2528-2535
128, 127, 125, 123, 120, 119, 117, 116, // 2536-2543
114, 114, 114, 115, 117, 119, 122, 127, // 2544-2551
134, 140, 143, 146, 146, 147, 146, 146, // 2552-2559
144, 141, 136, 131, 124, 120, 116, 114, // 2560-2567
113, 113, 113, 116, 119, 123, 129, 132, // 2568-2575
135, 136, 137, 137, 136, 134, 132, 129, // 2576-2583
125, 123, 122, 121, 122, 122, 123, 124, // 2584-2591
126, 128, 129, 130, 130, 129, 128, 125, // 2592-2599
124, 123, 121, 120, 119, 117, 116, 116, // 2600-2607
116, 117, 119, 120, 121, 123, 125, 129, // 2608-2615
134, 138, 141, 143, 143, 143, 143, 143, // 2616-2623
142, 140, 137, 134, 129, 123, 120, 117, // 2624-2631
116, 116, 116, 116, 117, 119, 122, 125, // 2632-2639
129, 131, 132, 132, 132, 132, 131, 131, // 2640-2647
130, 129, 128, 127, 128, 127, 128, 129, // 2648-2655
129, 129, 129, 129, 127, 126, 125, 123, // 2656-2663
122, 122, 120, 119, 119, 119, 119, 119, // 2664-2671
119, 120, 120, 122, 122, 123, 124, 125, // 2672-2679
125, 127, 131, 133, 137, 139, 141, 141, // 2680-2687
141, 141, 140, 139, 138, 136, 132, 129, // 2688-2695
123, 120, 117, 116, 116, 117, 118, 119, // 2696-2703
120, 122, 125, 128, 130, 132, 132, 133, // 2704-2711
132, 132, 131, 131, 131, 130, 129, 129, // 2712-2719
128, 128, 127, 128, 126, 126, 125, 124, // 2720-2727
123, 122, 122, 121, 121, 120, 120, 120, // 2728-2735
120, 120, 120, 121, 122, 122, 122, 123, // 2736-2743
123, 123, 124, 125, 126, 129, 132, 135, // 2744-2751
138, 140, 142, 142, 141, 141, 140, 138, // 2752-2759
136, 133, 130, 125, 121, 117, 116, 114, // 2760-2767
114, 116, 117, 120, 122, 123, 126, 129, // 2768-2775
131, 132, 133, 134, 134, 133, 132, 131, // 2776-2783
130, 129, 129, 128, 128, 128, 126, 125, // 2784-2791
125, 124, 123, 123, 123, 122, 122, 122, // 2792-2799
122, 122, 122, 122, 122, 122, 122, 123, // 2800-2807
123, 123, 123, 124, 125, 125, 126, 128, // 2808-2815
127, 130, 132, 134, 137, 139, 140, 140, // 2816-2823
139, 138, 136, 134, 132, 131, 127, 124, // 2824-2831
121, 119, 117, 116, 116, 117, 119, 122, // 2832-2839
123, 125, 128, 129, 131, 132, 132, 133, // 2840-2847
134, 133, 132, 131, 130, 129, 129, 128, // 2848-2855
127, 128, 127, 126, 125, 125, 124, 123, // 2856-2863
123, 123, 123, 123, 122, 122, 122, 122, // 2864-2871
122, 122, 123, 123, 123, 124, 124, 125, // 2872-2879
125, 125, 126, 128, 128, 129, 131, 132, // 2880-2887
134, 137, 138, 138, 138, 137, 136, 134, // 2888-2895
132, 131, 128, 125, 123, 121, 119, 117, // 2896-2903
117, 118, 120, 122, 124, 126, 129, 130, // 2904-2911
131, 132, 132, 133, 133, 133, 132, 131, // 2912-2919
130, 129, 127, 128, 126, 127, 125, 125, // 2920-2927
125, 124, 123, 123, 123, 123, 123, 123, // 2928-2935
123, 123, 123, 123, 123, 123, 123, 124, // 2936-2943
124, 125, 125, 125, 125, 125, 125, 126, // 2944-2951
127, 128, 129, 131, 132, 134, 136, 137, // 2952-2959
138, 137, 136, 135, 133, 131, 129, 128, // 2960-2967
125, 123, 121, 120, 119, 119, 120, 122, // 2968-2975
123, 125, 127, 130, 131, 131, 132, 132, // 2976-2983
132, 132, 131, 131, 129, 128, 128, 125, // 2984-2991
125, 125, 125, 125, 125, 125, 124, 123, // 2992-2999
123, 123, 123, 123, 123, 123, 122, 122, // 3000-3007
122, 123, 123, 123, 124, 124, 125, 125, // 3008-3015
125, 125, 126, 128, 127, 129, 129, 131, // 3016-3023
132, 134, 135, 137, 137, 137, 135, 134, // 3024-3031
132, 131, 129, 126, 125, 123, 122, 120, // 3032-3039
120, 120, 120, 122, 124, 126, 129, 130, // 3040-3047
131, 131, 131, 131, 131, 130, 129, 129, // 3048-3055
127, 126, 125, 125, 125, 125, 125, 125, // 3056-3063
125, 125, 125, 125, 124, 124, 123, 123, // 3064-3071
123, 122, 122, 122, 123, 123, 123, 124, // 3072-3079
125, 125, 125, 126, 126, 128, 128, 129, // 3080-3087
129, 128, 130, 131, 132, 134, 135, 136, // 3088-3095
137, 136, 135, 134, 132, 131, 129, 128, // 3096-3103
125, 124, 123, 122, 121, 122, 122, 123, // 3104-3111
125, 127, 129, 130, 131, 130, 130, 130, // 3112-3119
129, 129, 127, 128, 125, 124, 124, 123, // 3120-3127
124, 125, 125, 125, 126, 125, 125, 124, // 3128-3135
124, 123, 123, 123, 123, 123, 123, 123, // 3136-3143
123, 124, 125, 126, 128, 127, 128, 129, // 3144-3151
129, 130, 131, 131, 132, 132, 132, 133, // 3152-3159
134, 134, 134, 134, 134, 132, 131, 129, // 3160-3167
128, 127, 125, 125, 124, 123, 123, 123, // 3168-3175
124, 125, 126, 128, 127, 128, 127, 128, // 3176-3183
126, 126, 125, 125, 124, 124, 123, 123, // 3184-3191
124, 125, 125, 126, 126, 126, 125, 125, // 3192-3199
125, 124, 124, 123, 123, 123, 123, 123, // 3200-3207
124, 125, 126, 128, 129, 129, 129, 130, // 3208-3215
131, 131, 132, 132, 132, 132, 132, 132, // 3216-3223
132, 133, 133, 132, 132, 131, 130, 129, // 3224-3231
129, 128, 127, 125, 125, 124, 124, 124, // 3232-3239
124, 125, 125, 125, 125, 125, 125, 125, // 3240-3247
125, 125, 125, 124, 124, 124, 124, 124, // 3248-3255
125, 125, 125, 125, 125, 126, 126, 126, // 3256-3263
126, 125, 125, 125, 125, 125, 125, 125, // 3264-3271
126, 126, 128, 127, 129, 130, 130, 130, // 3272-3279
130, 130, 130, 130, 130, 130, 130, 129, // 3280-3287
129, 129, 128, 129, 130, 130, 130, 130, // 3288-3295
129, 129, 127, 128, 128, 126, 126, 126, // 3296-3303
125, 125, 125, 124, 124, 125, 125, 125, // 3304-3311
125, 125, 125, 125, 125, 125, 125, 125, // 3312-3319
125, 125, 125, 126, 126, 126, 128, 127, // 3320-3327
126, 126, 127, 126, 127, 126, 126};

const char R[2967] = {128, 128, 128, 127, 128, 127, 128, 127, // 0-7
128, 127, 128, 127, 128, 127, 128, 127, // 8-15
127, 128, 127, 128, 129, 130, 134, 136, // 16-23
136, 136, 124, 120, 114, 116, 126, 130, // 24-31
137, 128, 120, 112, 111, 114, 119, 124, // 32-39
128, 127, 130, 126, 127, 133, 131, 139, // 40-47
134, 135, 132, 127, 131, 127, 131, 131, // 48-55
129, 127, 125, 125, 126, 125, 128, 128, // 56-63
129, 131, 134, 136, 135, 131, 125, 123, // 64-71
123, 128, 132, 131, 128, 120, 114, 111, // 72-79
110, 112, 113, 114, 112, 116, 132, 155, // 80-87
164, 157, 137, 103, 103, 105, 138, 158, // 88-95
162, 152, 120, 109, 100, 112, 124, 134, // 96-103
133, 132, 129, 134, 136, 135, 130, 120, // 104-111
121, 124, 136, 141, 139, 128, 115, 111, // 112-119
114, 122, 128, 124, 116, 110, 108, 112, // 120-127
116, 124, 130, 144, 155, 150, 146, 119, // 128-135
107, 106, 113, 145, 149, 157, 139, 119, // 136-143
109, 105, 117, 129, 138, 138, 134, 129, // 144-151
131, 128, 132, 126, 128, 127, 134, 137, // 152-159
135, 127, 114, 112, 112, 121, 126, 127, // 160-167
120, 111, 103, 106, 111, 125, 141, 160, // 168-175
164, 151, 135, 104, 105, 105, 131, 152, // 176-183
156, 155, 130, 115, 105, 109, 118, 131, // 184-191
135, 138, 133, 134, 131, 129, 129, 124, // 192-199
126, 131, 139, 138, 134, 120, 112, 110, // 200-207
114, 124, 128, 125, 116, 106, 103, 105, // 208-215
114, 130, 148, 168, 162, 151, 123, 101, // 216-223
102, 107, 142, 153, 162, 148, 124, 111, // 224-231
102, 111, 121, 132, 134, 135, 131, 134, // 232-239
131, 134, 129, 127, 129, 132, 136, 134, // 240-247
129, 117, 112, 112, 119, 124, 125, 120, // 248-255
112, 105, 104, 108, 120, 138, 162, 170, // 256-263
160, 143, 107, 100,  98, 122, 151, 160, // 264-271
162, 136, 117, 103, 105, 115, 128, 134, // 272-279
135, 131, 132, 133, 135, 134, 129, 128, // 280-287
127, 133, 134, 131, 121, 115, 111, 114, // 288-295
120, 125, 124, 117, 107, 102, 102, 111, // 296-303
131, 155, 176, 170, 154, 119,  95,  95, // 304-311
108, 143, 158, 166, 147, 123, 107, 101, // 312-319
111, 122, 133, 134, 134, 131, 134, 135, // 320-327
135, 131, 130, 126, 129, 130, 129, 125, // 328-335
116, 114, 112, 116, 121, 122, 119, 111, // 336-343
104, 101, 107, 124, 151, 176, 176, 162, // 344-351
125,  95,  91, 101, 140, 158, 170, 152, // 352-359
126, 107,  99, 110, 121, 133, 134, 133, // 360-367
130, 134, 136, 139, 134, 130, 122, 124, // 368-375
124, 130, 129, 120, 114, 107, 112, 116, // 376-383
122, 121, 113, 104, 100, 103, 128, 160, // 384-391
184, 182, 158, 114,  89,  85, 108, 147, // 392-399
166, 172, 143, 119,  99, 100, 113, 127, // 400-407
136, 135, 131, 132, 138, 142, 141, 130, // 408-415
119, 113, 120, 130, 139, 132, 117, 102, // 416-423
 99, 106, 118, 125, 122, 112,  99, 101, // 424-431
119, 162, 184, 184, 164, 112,  87,  77, // 432-439
111, 150, 172, 176, 142, 112,  89,  95, // 440-447
113, 134, 144, 142, 133, 130, 132, 135, // 448-455
136, 129, 122, 118, 124, 130, 134, 123, // 456-463
110,  99,  97, 107, 117, 125, 121, 111, // 464-471
106, 116, 151, 180, 184, 172, 127,  93, // 472-479
 77, 100, 139, 168, 176, 150, 117,  91, // 480-487
 87, 105, 131, 146, 148, 139, 131, 129, // 488-495
132, 135, 133, 125, 120, 122, 125, 129, // 496-503
121, 112, 102,  98, 105, 112, 119, 119, // 504-511
111, 111, 127, 160, 184, 184, 164, 119, // 512-519
 91,  79, 107, 143, 170, 172, 145, 113, // 520-527
 89,  91, 108, 133, 144, 146, 138, 133, // 528-535
131, 135, 135, 132, 124, 120, 121, 124, // 536-543
125, 117, 111, 101, 100, 107, 113, 119, // 544-551
116, 110, 116, 141, 172, 184, 184, 146, // 552-559
109,  83,  87, 121, 152, 174, 162, 135, // 560-567
103,  89,  95, 115, 138, 147, 143, 137, // 568-575
133, 134, 135, 133, 129, 121, 122, 123, // 576-583
128, 121, 112, 104,  98, 103, 111, 117, // 584-591
119, 112, 112, 130, 160, 184, 184, 162, // 592-599
123,  91,  81, 108, 140, 170, 170, 147, // 600-607
114,  91,  91, 107, 130, 143, 145, 139, // 608-615
135, 133, 136, 135, 131, 123, 120, 121, // 616-623
128, 128, 118, 109,  99,  99, 106, 113, // 624-631
119, 116, 111, 120, 144, 174, 184, 178, // 632-639
140, 105,  83,  93, 125, 156, 172, 156, // 640-647
129,  99,  91,  98, 119, 135, 143, 141, // 648-655
136, 137, 138, 140, 133, 124, 117, 119, // 656-663
124, 133, 129, 116, 103,  95,  99, 111, // 664-671
118, 121, 115, 108, 119, 146, 178, 184, // 672-679
176, 136, 100,  79,  93, 129, 158, 172, // 680-687
154, 125,  98,  91, 102, 123, 138, 142, // 688-695
137, 133, 136, 140, 143, 136, 124, 115, // 696-703
115, 123, 134, 133, 121, 106,  97,  98, // 704-711
110, 121, 124, 119, 108, 110, 133, 166, // 712-719
184, 184, 152, 110,  83,  79, 115, 147, // 720-727
172, 164, 137, 108,  93, 101, 117, 136, // 728-735
140, 138, 130, 133, 139, 144, 142, 131, // 736-743
116, 112, 116, 129, 136, 130, 116, 100, // 744-751
 98, 103, 117, 128, 124, 115, 105, 112, // 752-759
143, 174, 184, 180, 136,  99,  77,  87, // 760-767
125, 156, 172, 157, 129, 104,  97, 108, // 768-775
125, 138, 138, 133, 127, 132, 140, 144, // 776-783
140, 126, 112, 111, 117, 132, 136, 130, // 784-791
114, 100, 101, 108, 122, 130, 123, 112, // 792-799
102, 111, 142, 174, 184, 176, 135,  97, // 800-807
 77,  89, 128, 155, 172, 155, 129, 107, // 808-815
102, 112, 127, 137, 134, 129, 123, 134, // 816-823
142, 146, 139, 123, 111, 110, 118, 133, // 824-831
139, 130, 114, 100, 101, 110, 123, 130, // 832-839
124, 112, 103, 113, 146, 176, 184, 172, // 840-847
126,  93,  75,  93, 133, 160, 172, 152, // 848-855
124, 105, 103, 114, 131, 136, 133, 125, // 856-863
123, 134, 143, 146, 138, 121, 110, 111, // 864-871
119, 135, 138, 129, 112, 101, 103, 112, // 872-879
124, 129, 121, 111, 102, 115, 147, 176, // 880-887
184, 168, 125,  93,  79,  97, 135, 158, // 888-895
170, 149, 123, 107, 106, 117, 131, 134, // 896-903
129, 123, 123, 134, 143, 145, 137, 121, // 904-911
111, 112, 121, 135, 138, 130, 114, 103, // 912-919
105, 112, 124, 130, 121, 112, 102, 107, // 920-927
135, 166, 182, 176, 143, 105,  87,  89, // 928-935
119, 147, 162, 156, 135, 116, 111, 116, // 936-943
126, 131, 126, 123, 120, 130, 141, 144, // 944-951
141, 125, 114, 111, 118, 130, 138, 133, // 952-959
120, 108, 104, 112, 121, 129, 125, 114, // 960-967
106, 102, 116, 148, 172, 180, 164, 125, // 968-975
 98,  87, 101, 133, 152, 160, 147, 128, // 976-983
116, 115, 121, 128, 127, 121, 120, 123, // 984-991
136, 144, 143, 135, 120, 112, 115, 124, // 992-999
135, 138, 128, 116, 107, 108, 116, 124, // 1000-1007
129, 123, 112, 106, 103, 116, 144, 168, // 1008-1015
176, 164, 132, 105,  93, 101, 127, 146, // 1016-1023
155, 148, 133, 121, 119, 121, 124, 124, // 1024-1031
119, 120, 124, 135, 143, 143, 134, 123, // 1032-1039
114, 118, 125, 134, 136, 127, 119, 112, // 1040-1047
111, 116, 123, 127, 124, 114, 109, 106, // 1048-1055
110, 126, 151, 168, 170, 153, 122, 103, // 1056-1063
 98, 109, 134, 146, 152, 144, 132, 122, // 1064-1071
120, 121, 122, 121, 119, 123, 130, 138, // 1072-1079
143, 138, 129, 120, 116, 122, 130, 134, // 1080-1087
133, 124, 118, 114, 115, 121, 124, 124, // 1088-1095
120, 114, 110, 108, 111, 121, 143, 162, // 1096-1103
168, 158, 133, 109,  99, 104, 125, 143, // 1104-1111
153, 149, 137, 125, 119, 119, 120, 121, // 1112-1119
121, 122, 128, 135, 139, 139, 131, 124, // 1120-1127
119, 121, 127, 131, 132, 126, 120, 118, // 1128-1135
118, 120, 123, 123, 120, 115, 112, 109, // 1136-1143
109, 114, 130, 155, 166, 166, 149, 118, // 1144-1151
103,  98, 112, 137, 149, 153, 143, 130, // 1152-1159
120, 119, 119, 121, 121, 119, 124, 131, // 1160-1167
138, 142, 136, 126, 121, 118, 124, 130, // 1168-1175
133, 130, 123, 120, 120, 122, 124, 123, // 1176-1183
119, 116, 112, 112, 112, 112, 114, 125, // 1184-1191
148, 164, 166, 153, 123, 104,  98, 108, // 1192-1199
133, 148, 153, 145, 133, 120, 118, 119, // 1200-1207
121, 123, 120, 124, 130, 138, 140, 137, // 1208-1215
128, 121, 118, 123, 130, 132, 132, 125, // 1216-1223
122, 122, 125, 125, 123, 118, 115, 115, // 1224-1231
115, 116, 114, 112, 111, 123, 147, 166, // 1232-1239
170, 153, 123,  99,  98, 110, 135, 151, // 1240-1247
152, 143, 130, 119, 119, 122, 121, 123, // 1248-1255
119, 123, 131, 139, 142, 136, 125, 119, // 1256-1263
120, 124, 132, 134, 131, 125, 122, 123, // 1264-1271
126, 126, 121, 117, 114, 115, 116, 117, // 1272-1279
115, 111, 110, 118, 144, 166, 170, 156, // 1280-1287
126, 102,  99, 110, 133, 149, 150, 142, // 1288-1295
130, 121, 120, 124, 121, 121, 120, 122, // 1296-1303
132, 139, 140, 135, 125, 119, 121, 128, // 1304-1311
133, 135, 130, 124, 123, 124, 129, 130, // 1312-1319
125, 119, 114, 114, 119, 120, 118, 112, // 1320-1327
107, 106, 116, 142, 166, 170, 156, 133, // 1328-1335
106, 100, 109, 125, 143, 147, 143, 134, // 1336-1343
130, 124, 124, 120, 116, 118, 121, 132, // 1344-1351
140, 142, 134, 125, 120, 120, 127, 133, // 1352-1359
134, 131, 125, 123, 126, 129, 130, 127, // 1360-1367
121, 116, 116, 118, 120, 118, 114, 109, // 1368-1375
106, 110, 121, 145, 168, 170, 154, 130, // 1376-1383
105,  99, 108, 125, 142, 148, 144, 138, // 1384-1391
133, 125, 121, 116, 114, 117, 125, 136, // 1392-1399
142, 142, 134, 124, 119, 119, 125, 132, // 1400-1407
134, 132, 129, 125, 126, 127, 128, 126, // 1408-1415
123, 121, 120, 119, 118, 116, 113, 110, // 1416-1423
108, 108, 112, 125, 148, 170, 168, 149, // 1424-1431
123,  99,  95, 110, 131, 147, 152, 146, // 1432-1439
135, 130, 121, 118, 114, 114, 119, 131, // 1440-1447
141, 144, 142, 129, 118, 115, 118, 127, // 1448-1455
134, 136, 134, 131, 127, 124, 124, 124, // 1456-1463
125, 128, 126, 124, 119, 114, 112, 112, // 1464-1471
112, 111, 111, 111, 118, 136, 157, 170, // 1472-1479
160, 136, 110,  95, 105, 123, 143, 149, // 1480-1487
148, 139, 132, 128, 121, 116, 113, 116, // 1488-1495
125, 139, 144, 143, 134, 120, 115, 117, // 1496-1503
124, 131, 134, 134, 133, 132, 129, 126, // 1504-1511
124, 124, 125, 129, 130, 125, 119, 112, // 1512-1519
110, 111, 113, 113, 112, 112, 115, 126, // 1520-1527
144, 162, 164, 144, 122, 106, 105, 117, // 1528-1535
135, 144, 144, 143, 136, 133, 127, 120, // 1536-1543
114, 114, 121, 133, 143, 143, 137, 125, // 1544-1551
119, 116, 120, 126, 130, 132, 134, 134, // 1552-1559
133, 131, 125, 123, 123, 125, 129, 129, // 1560-1567
124, 117, 112, 111, 112, 114, 114, 112, // 1568-1575
112, 115, 122, 136, 150, 160, 153, 135, // 1576-1583
119, 110, 114, 125, 138, 143, 143, 142, // 1584-1591
136, 131, 123, 117, 114, 119, 129, 136, // 1592-1599
140, 138, 131, 122, 119, 119, 122, 127, // 1600-1607
131, 133, 134, 135, 134, 131, 126, 123, // 1608-1615
121, 124, 126, 128, 124, 120, 115, 112, // 1616-1623
112, 112, 114, 115, 114, 114, 116, 124, // 1624-1631
137, 151, 162, 154, 134, 119, 112, 116, // 1632-1639
126, 139, 141, 141, 141, 138, 131, 123, // 1640-1647
116, 113, 118, 127, 135, 136, 135, 131, // 1648-1655
124, 122, 122, 123, 124, 129, 133, 134, // 1656-1663
133, 130, 129, 128, 125, 124, 123, 124, // 1664-1671
124, 124, 122, 119, 115, 113, 114, 115, // 1672-1679
116, 116, 114, 114, 118, 128, 139, 151, // 1680-1687
162, 154, 136, 121, 115, 118, 125, 136, // 1688-1695
140, 141, 140, 138, 131, 120, 114, 112, // 1696-1703
117, 125, 133, 134, 134, 132, 130, 124, // 1704-1711
123, 122, 124, 127, 131, 133, 132, 131, // 1712-1719
129, 126, 123, 124, 123, 124, 125, 125, // 1720-1727
123, 120, 118, 116, 115, 115, 117, 119, // 1728-1735
119, 117, 116, 118, 125, 135, 148, 162, // 1736-1743
160, 142, 124, 116, 118, 121, 130, 135, // 1744-1751
137, 139, 139, 134, 122, 114, 111, 114, // 1752-1759
121, 131, 134, 135, 133, 133, 129, 123, // 1760-1767
121, 121, 124, 129, 133, 133, 131, 129, // 1768-1775
128, 125, 124, 123, 125, 125, 125, 124, // 1776-1783
123, 122, 121, 120, 119, 118, 118, 120, // 1784-1791
121, 120, 117, 116, 119, 126, 138, 151, // 1792-1799
162, 156, 138, 120, 115, 117, 119, 125, // 1800-1807
132, 137, 140, 140, 133, 120, 112, 111, // 1808-1815
116, 122, 130, 134, 138, 138, 135, 129, // 1816-1823
121, 119, 120, 124, 129, 132, 133, 131, // 1824-1831
129, 128, 123, 121, 122, 126, 130, 131, // 1832-1839
129, 126, 124, 123, 121, 120, 120, 120, // 1840-1847
122, 123, 123, 120, 116, 113, 115, 121, // 1848-1855
133, 143, 157, 162, 145, 124, 114, 115, // 1856-1863
116, 120, 127, 136, 141, 142, 138, 125, // 1864-1871
114, 110, 115, 120, 127, 134, 140, 142, // 1872-1879
138, 131, 121, 117, 118, 124, 129, 131, // 1880-1887
132, 133, 130, 127, 123, 121, 121, 125, // 1888-1895
131, 134, 133, 131, 129, 123, 119, 118, // 1896-1903
121, 123, 126, 129, 127, 123, 118, 115, // 1904-1911
112, 112, 114, 119, 127, 138, 148, 158, // 1912-1919
157, 138, 118, 112, 117, 119, 123, 130, // 1920-1927
138, 142, 140, 134, 122, 115, 113, 120, // 1928-1935
124, 130, 134, 139, 140, 135, 127, 121, // 1936-1943
119, 120, 123, 124, 126, 129, 132, 130, // 1944-1951
128, 125, 124, 125, 127, 130, 130, 130, // 1952-1959
127, 126, 124, 123, 122, 123, 125, 128, // 1960-1967
128, 125, 123, 119, 117, 116, 116, 116, // 1968-1975
116, 121, 128, 133, 140, 150, 157, 143, // 1976-1983
124, 115, 119, 122, 121, 125, 134, 141, // 1984-1991
140, 136, 128, 119, 116, 120, 124, 125, // 1992-1999
130, 135, 139, 136, 130, 122, 120, 119, // 2000-2007
120, 121, 123, 127, 132, 133, 130, 129, // 2008-2015
126, 125, 125, 127, 129, 129, 130, 130, // 2016-2023
127, 124, 123, 123, 124, 125, 128, 127, // 2024-2031
126, 123, 119, 118, 118, 119, 119, 116, // 2032-2039
118, 122, 129, 132, 138, 149, 154, 141, // 2040-2047
123, 118, 123, 122, 120, 125, 134, 140, // 2048-2055
138, 135, 127, 121, 118, 121, 122, 123, // 2056-2063
128, 135, 138, 135, 129, 123, 121, 119, // 2064-2071
119, 120, 124, 129, 133, 134, 133, 130, // 2072-2079
129, 126, 125, 125, 126, 129, 130, 130, // 2080-2087
127, 124, 123, 124, 124, 125, 125, 128, // 2088-2095
129, 126, 123, 120, 120, 121, 121, 121, // 2096-2103
120, 119, 119, 121, 124, 125, 134, 149, // 2104-2111
156, 143, 124, 121, 128, 123, 116, 119, // 2112-2119
132, 140, 139, 136, 131, 126, 122, 121, // 2120-2127
119, 119, 123, 133, 137, 134, 129, 125, // 2128-2135
125, 121, 119, 119, 125, 131, 133, 133, // 2136-2143
133, 131, 129, 125, 123, 124, 126, 129, // 2144-2151
130, 130, 127, 125, 124, 123, 123, 124, // 2152-2159
128, 130, 130, 128, 125, 123, 122, 121, // 2160-2167
120, 121, 123, 124, 123, 120, 119, 120, // 2168-2175
123, 125, 130, 144, 158, 151, 130, 120, // 2176-2183
128, 125, 115, 114, 129, 142, 142, 137, // 2184-2191
133, 129, 121, 118, 116, 117, 120, 130, // 2192-2199
137, 136, 130, 128, 126, 123, 119, 118, // 2200-2207
123, 131, 135, 135, 134, 131, 129, 124, // 2208-2215
123, 123, 125, 129, 131, 131, 129, 126, // 2216-2223
124, 123, 123, 123, 125, 130, 131, 127, // 2224-2231
124, 124, 123, 121, 120, 121, 125, 126, // 2232-2239
125, 124, 123, 121, 119, 119, 122, 126, // 2240-2247
136, 152, 154, 139, 123, 124, 127, 118, // 2248-2255
112, 119, 136, 140, 136, 133, 131, 128, // 2256-2263
121, 117, 116, 119, 124, 133, 134, 133, // 2264-2271
129, 129, 126, 123, 120, 122, 128, 131, // 2272-2279
131, 132, 135, 134, 129, 121, 122, 125, // 2280-2287
128, 128, 129, 130, 130, 126, 123, 121, // 2288-2295
121, 124, 126, 129, 128, 127, 128, 125, // 2296-2303
121, 120, 121, 124, 125, 128, 128, 127, // 2304-2311
124, 121, 119, 118, 121, 125, 131, 143, // 2312-2319
153, 144, 130, 123, 129, 122, 113, 115, // 2320-2327
130, 139, 136, 133, 133, 132, 124, 119, // 2328-2335
116, 119, 122, 129, 133, 133, 132, 131, // 2336-2343
130, 125, 121, 121, 125, 127, 129, 129, // 2344-2351
132, 134, 134, 129, 123, 123, 126, 125, // 2352-2359
123, 125, 130, 130, 125, 123, 123, 124, // 2360-2367
124, 125, 126, 128, 127, 128, 125, 123, // 2368-2375
123, 124, 125, 124, 126, 129, 127, 124, // 2376-2383
121, 120, 121, 121, 122, 123, 129, 139, // 2384-2391
148, 143, 131, 125, 129, 128, 117, 116, // 2392-2399
126, 136, 135, 131, 131, 133, 129, 121, // 2400-2407
118, 120, 123, 127, 130, 131, 132, 132, // 2408-2415
131, 128, 124, 123, 124, 125, 128, 129, // 2416-2423
134, 134, 129, 125, 126, 126, 123, 123, // 2424-2431
128, 130, 129, 126, 125, 124, 124, 123, // 2432-2439
124, 125, 129, 129, 129, 125, 124, 123, // 2440-2447
124, 123, 124, 125, 128, 126, 124, 122, // 2448-2455
123, 124, 124, 124, 125, 133, 143, 146, // 2456-2463
136, 128, 129, 131, 122, 115, 121, 133, // 2464-2471
136, 131, 130, 133, 132, 125, 121, 120, // 2472-2479
123, 124, 127, 129, 130, 130, 130, 128, // 2480-2487
124, 123, 124, 128, 129, 129, 129, 130, // 2488-2495
130, 127, 124, 125, 128, 128, 126, 127, // 2496-2503
128, 127, 125, 123, 124, 124, 125, 125, // 2504-2511
128, 129, 129, 125, 124, 124, 124, 124, // 2512-2519
123, 124, 125, 126, 125, 124, 124, 124, // 2520-2527
124, 124, 125, 125, 126, 133, 142, 142, // 2528-2535
133, 129, 131, 131, 121, 118, 124, 133, // 2536-2543
131, 128, 130, 133, 130, 124, 121, 123, // 2544-2551
124, 124, 125, 128, 130, 130, 131, 129, // 2552-2559
128, 126, 126, 126, 125, 125, 127, 129, // 2560-2567
127, 128, 127, 128, 128, 125, 125, 126, // 2568-2575
126, 125, 125, 124, 124, 124, 125, 125, // 2576-2583
127, 128, 126, 125, 124, 123, 123, 123, // 2584-2591
124, 124, 125, 128, 126, 125, 126, 126, // 2592-2599
124, 125, 129, 134, 138, 138, 135, 132, // 2600-2607
130, 128, 124, 122, 124, 129, 130, 130, // 2608-2615
130, 131, 130, 126, 124, 123, 124, 125, // 2616-2623
126, 128, 129, 129, 129, 127, 126, 125, // 2624-2631
125, 126, 128, 128, 127, 129, 128, 127, // 2632-2639
126, 127, 128, 127, 126, 126, 126, 125, // 2640-2647
125, 124, 124, 124, 125, 125, 126, 126, // 2648-2655
126, 125, 125, 124, 124, 124, 124, 125, // 2656-2663
126, 126, 126, 127, 128, 127, 125, 128, // 2664-2671
129, 130, 130, 131, 133, 133, 131, 130, // 2672-2679
130, 129, 129, 129, 129, 129, 129, 129, // 2680-2687
129, 129, 127, 128, 126, 125, 126, 126, // 2688-2695
126, 126, 126, 126, 126, 126, 126, 126, // 2696-2703
126, 126, 126, 125, 125, 125, 125, 124, // 2704-2711
125, 125, 125, 125, 125, 125, 125, 124, // 2712-2719
124, 124, 124, 125, 126, 128, 127, 128, // 2720-2727
127, 129, 127, 128, 129, 130, 130, 130, // 2728-2735
131, 131, 131, 130, 130, 130, 130, 130, // 2736-2743
130, 130, 129, 129, 129, 128, 127, 128, // 2744-2751
127, 128, 128, 126, 126, 126, 126, 125, // 2752-2759
125, 125, 125, 125, 125, 125, 125, 125, // 2760-2767
125, 125, 125, 125, 125, 125, 125, 125, // 2768-2775
125, 125, 125, 125, 125, 125, 126, 125, // 2776-2783
126, 128, 127, 126, 127, 128, 128, 127, // 2784-2791
128, 127, 128, 127, 129, 129, 129, 129, // 2792-2799
129, 130, 129, 127, 127, 129, 129, 128, // 2800-2807
127, 129, 129, 127, 128, 128, 129, 129, // 2808-2815
127, 128, 128, 127, 128, 126, 127, 128, // 2816-2823
128, 125, 125, 127, 128, 125, 125, 128, // 2824-2831
127, 126, 126, 128, 127, 128, 126, 126, // 2832-2839
128, 128, 126, 126, 126, 126, 126, 126, // 2840-2847
126, 126, 126, 126, 126, 126, 126, 126, // 2848-2855
126, 126, 126, 128, 128, 127, 128, 127, // 2856-2863
128, 127, 128, 128, 128, 127, 128, 127, // 2864-2871
128, 126, 126, 128, 127, 128, 127, 128, // 2872-2879
128, 126, 126, 126, 126, 128, 127, 128, // 2880-2887
127, 127, 128, 126, 128, 127, 128, 127, // 2888-2895
128, 127, 127, 128, 127, 128, 127, 128, // 2896-2903
129, 128, 127, 128, 127, 126, 126, 128, // 2904-2911
127, 126, 126, 128, 127, 126, 126, 128, // 2912-2919
127, 126, 127, 128, 127, 126, 127, 128, // 2920-2927
128, 126, 127, 128, 127, 126, 128, 127, // 2928-2935
128, 127, 128, 127, 128, 128, 128, 128, // 2936-2943
127, 128, 127, 128, 127, 128, 127, 127, // 2944-2951
127, 128, 128, 127, 128, 128, 126, 127, // 2952-2959
128, 127, 128, 127, 128, 127, 128};

const char S[1742] = {127, 128, 127, 128, 127, 128, 128, 127, // 0-7
128, 127, 128, 128, 127, 128, 127, 128, // 8-15
130, 130, 128, 133, 133, 124, 128, 130, // 16-23
123, 125, 127, 128, 130, 128, 129, 134, // 24-31
141, 140, 125, 128, 125, 112, 112, 118, // 32-39
115, 112, 110, 103,  99,  97, 105, 118, // 40-47
137, 178, 174, 146, 174, 148, 115, 115, // 48-55
110, 115, 119, 124, 145, 154, 136, 138, // 56-63
132, 116, 106, 105, 116, 129, 131, 150, // 64-71
164, 152, 144, 134, 120, 108, 105, 111, // 72-79
118, 124, 129, 124, 116, 108,  97,  93, // 80-87
 93,  93, 107, 131, 162, 184, 168, 156, // 88-95
170, 120, 107, 107, 106, 115, 124, 138, // 96-103
156, 149, 137, 138, 120, 110, 106, 112, // 104-111
126, 141, 146, 156, 160, 147, 131, 118, // 112-119
112, 103, 105, 112, 116, 116, 115, 116, // 120-127
111, 101, 100, 104, 103, 117, 141, 176, // 128-135
184, 150, 160, 158, 105, 103, 105, 108, // 136-143
117, 125, 142, 162, 142, 133, 134, 116, // 144-151
106, 109, 120, 138, 147, 151, 162, 155, // 152-159
138, 119, 114, 108, 101, 110, 117, 120, // 160-167
116, 114, 114, 108,  97,  97, 101, 102, // 168-175
121, 148, 184, 184, 149, 164, 149,  99, // 176-183
103, 103, 112, 121, 131, 149, 162, 138, // 184-191
135, 129, 112, 105, 108, 123, 141, 145, // 192-199
155, 166, 149, 127, 116, 112, 101, 102, // 200-207
112, 118, 119, 121, 119, 111, 105,  97, // 208-215
 97, 100, 103, 124, 158, 184, 184, 148, // 216-223
166, 139,  91, 100, 106, 115, 123, 140, // 224-231
157, 160, 135, 131, 122, 108, 103, 111, // 232-239
131, 144, 153, 162, 158, 138, 119, 110, // 240-247
105, 102, 111, 119, 121, 122, 122, 111, // 248-255
103, 102,  98, 100,  96, 106, 139, 166, // 256-263
184, 184, 151, 162, 124,  93, 103, 107, // 264-271
116, 132, 146, 160, 154, 133, 130, 115, // 272-279
106, 106, 119, 142, 152, 152, 155, 146, // 280-287
123, 112, 108, 110, 111, 114, 119, 118, // 288-295
116, 111, 103, 107, 104, 100, 105, 105, // 296-303
114, 149, 184, 184, 164, 158, 153, 106, // 304-311
 99, 107, 115, 124, 139, 153, 157, 143, // 312-319
133, 127, 115, 111, 112, 129, 137, 140, // 320-327
143, 143, 130, 119, 114, 112, 109, 107, // 328-335
108, 108, 108, 105, 110, 113, 108, 112, // 336-343
111, 112, 139, 170, 184, 176, 156, 162, // 344-351
125,  99, 105, 112, 120, 127, 142, 149, // 352-359
142, 130, 131, 125, 118, 118, 129, 139, // 360-367
139, 139, 140, 132, 121, 115, 112, 112, // 368-375
109, 110, 109, 107, 105, 103, 106, 107, // 376-383
108, 105, 110, 135, 168, 184, 184, 162, // 384-391
168, 132,  99, 104, 107, 119, 129, 143, // 392-399
153, 143, 128, 128, 120, 112, 113, 125, // 400-407
138, 143, 143, 144, 135, 123, 115, 111, // 408-415
109, 108, 111, 112, 112, 110, 107, 107, // 416-423
105, 103, 105, 106, 119, 150, 184, 184, // 424-431
174, 162, 151, 112,  95, 101, 113, 126, // 432-439
136, 152, 153, 138, 128, 124, 115, 112, // 440-447
118, 134, 142, 143, 144, 139, 129, 118, // 448-455
111, 109, 106, 105, 109, 110, 108, 108, // 456-463
110, 107, 106, 107, 105, 123, 160, 184, // 464-471
184, 170, 162, 148, 107,  97, 103, 112, // 472-479
125, 137, 148, 151, 134, 129, 125, 116, // 480-487
115, 124, 137, 143, 145, 143, 138, 125, // 488-495
115, 111, 108, 108, 107, 108, 110, 107, // 496-503
104, 108, 107, 105, 105, 106, 132, 166, // 504-511
184, 184, 166, 162, 139, 102,  99, 105, // 512-519
116, 130, 142, 152, 149, 133, 127, 121, // 520-527
112, 114, 123, 139, 144, 144, 143, 135, // 528-535
121, 112, 108, 106, 107, 107, 108, 110, // 536-543
107, 108, 108, 108, 106, 103, 118, 153, // 544-551
184, 184, 174, 164, 155, 110,  95, 102, // 552-559
112, 124, 131, 147, 148, 133, 123, 124, // 560-567
117, 114, 124, 140, 145, 146, 144, 139, // 568-575
127, 114, 111, 110, 110, 109, 110, 112, // 576-583
106, 102, 107, 108, 105, 106, 108, 120, // 584-591
158, 184, 184, 168, 164, 147, 105,  98, // 592-599
106, 113, 129, 137, 147, 149, 133, 124, // 600-607
124, 117, 115, 124, 138, 144, 143, 141, // 608-615
137, 123, 115, 112, 111, 111, 108, 109, // 616-623
111, 106, 103, 107, 110, 108, 107, 111, // 624-631
127, 164, 184, 184, 168, 160, 138, 106, // 632-639
100, 105, 118, 130, 140, 147, 145, 130, // 640-647
121, 120, 116, 117, 128, 142, 148, 143, // 648-655
140, 135, 121, 114, 112, 113, 112, 111, // 656-663
111, 112, 107, 101, 105, 110, 111, 110, // 664-671
109, 119, 153, 178, 184, 170, 156, 147, // 672-679
112,  99, 105, 113, 125, 138, 144, 148, // 680-687
138, 123, 124, 121, 118, 124, 139, 146, // 688-695
143, 140, 137, 125, 115, 112, 114, 114, // 696-703
112, 113, 112, 110, 105, 102, 106, 110, // 704-711
109, 109, 113, 133, 166, 184, 176, 156, // 712-719
154, 128,  99, 101, 110, 121, 132, 143, // 720-727
151, 143, 129, 121, 116, 116, 118, 127, // 728-735
146, 152, 147, 143, 136, 121, 112, 111, // 736-743
116, 119, 120, 123, 119, 114, 112, 103, // 744-751
101, 109, 109, 108, 111, 112, 125, 152, // 752-759
176, 180, 153, 142, 137, 107, 103, 112, // 760-767
121, 135, 143, 147, 149, 137, 123, 118, // 768-775
115, 114, 118, 132, 143, 145, 148, 144, // 776-783
133, 122, 114, 113, 116, 118, 124, 128, // 784-791
125, 120, 116, 113, 106, 105, 109, 103, // 792-799
101, 103, 114, 136, 158, 180, 168, 143, // 800-807
144, 124, 106, 110, 118, 134, 143, 147, // 808-815
152, 144, 129, 119, 112, 110, 112, 119, // 816-823
135, 147, 149, 147, 140, 131, 120, 114, // 824-831
115, 119, 124, 127, 130, 129, 122, 116, // 832-839
112, 105, 101, 102, 101, 101, 103, 112, // 840-847
134, 157, 176, 170, 145, 148, 131, 108, // 848-855
114, 118, 131, 140, 143, 149, 143, 125, // 856-863
119, 112, 108, 112, 118, 133, 143, 147, // 864-871
148, 147, 138, 126, 118, 117, 116, 118, // 872-879
128, 133, 134, 130, 121, 117, 111, 101, // 880-887
 99, 100,  98, 101, 104, 112, 128, 147, // 888-895
172, 174, 148, 147, 139, 112, 112, 113, // 896-903
126, 136, 138, 145, 146, 133, 121, 114, // 904-911
112, 112, 113, 129, 143, 146, 147, 147, // 912-919
141, 130, 118, 117, 119, 119, 126, 134, // 920-927
136, 133, 124, 118, 113, 105,  99, 102, // 928-935
101, 101, 105, 106, 112, 130, 148, 170, // 936-943
170, 145, 152, 139, 111, 114, 115, 123, // 944-951
133, 134, 145, 147, 133, 125, 119, 112, // 952-959
112, 113, 126, 140, 143, 146, 147, 141, // 960-967
133, 123, 121, 121, 120, 126, 134, 135, // 968-975
134, 127, 121, 116, 110, 105, 103, 101, // 976-983
 99, 102, 102, 101, 118, 136, 154, 178, // 984-991
168, 149, 154, 128, 108, 111, 110, 123, // 992-999
132, 139, 152, 149, 135, 129, 115, 109, // 1000-1007
107, 111, 126, 139, 144, 151, 149, 142, // 1008-1015
130, 120, 119, 121, 126, 133, 138, 142, // 1016-1023
136, 127, 123, 114, 112, 112, 107, 106, // 1024-1031
103,  95,  97,  99,  98, 110, 131, 153, // 1032-1039
180, 178, 154, 155, 134, 107, 105, 106, // 1040-1047
120, 133, 140, 155, 156, 140, 130, 117, // 1048-1055
108, 105, 106, 121, 138, 143, 148, 149, // 1056-1063
142, 130, 119, 119, 125, 131, 138, 143, // 1064-1071
143, 140, 130, 124, 119, 112, 112, 113, // 1072-1079
112, 107, 101,  97,  95,  93,  95, 106, // 1080-1087
118, 136, 160, 182, 170, 148, 149, 129, // 1088-1095
111, 108, 114, 130, 136, 141, 152, 150, // 1096-1103
137, 128, 118, 114, 111, 111, 123, 134, // 1104-1111
138, 141, 143, 139, 130, 120, 120, 124, // 1112-1119
133, 137, 143, 149, 143, 134, 128, 119, // 1120-1127
112, 109, 108, 111, 110, 106, 103,  99, // 1128-1135
 98,  99,  99, 108, 116, 125, 148, 170, // 1136-1143
170, 152, 154, 146, 124, 116, 115, 123, // 1144-1151
129, 131, 142, 149, 143, 135, 129, 123, // 1152-1159
115, 110, 114, 123, 127, 131, 138, 142, // 1160-1167
139, 132, 130, 127, 124, 129, 140, 142, // 1168-1175
142, 141, 133, 125, 115, 110, 110, 106, // 1176-1183
106, 112, 111, 107, 103,  99, 100, 102, // 1184-1191
101, 111, 122, 138, 162, 180, 166, 160, // 1192-1199
162, 136, 125, 115, 115, 123, 123, 132, // 1200-1207
145, 145, 142, 137, 128, 121, 111, 106, // 1208-1215
113, 119, 123, 134, 142, 144, 143, 137, // 1216-1223
134, 128, 119, 118, 125, 134, 138, 138, // 1224-1231
140, 135, 123, 115, 111, 106, 103, 104, // 1232-1239
110, 112, 111, 108, 108, 107, 106, 107, // 1240-1247
114, 121, 135, 155, 180, 172, 160, 168, // 1248-1255
147, 130, 117, 111, 116, 116, 118, 135, // 1256-1263
143, 141, 139, 133, 129, 118, 108, 111, // 1264-1271
116, 118, 126, 136, 143, 146, 140, 137, // 1272-1279
133, 123, 116, 115, 123, 125, 128, 137, // 1280-1287
141, 133, 126, 121, 115, 110, 104, 107, // 1288-1295
112, 112, 115, 116, 116, 115, 110, 110, // 1296-1303
115, 118, 126, 144, 170, 178, 162, 164, // 1304-1311
160, 138, 120, 110, 111, 112, 110, 119, // 1312-1319
136, 139, 138, 136, 134, 130, 116, 111, // 1320-1327
116, 118, 119, 127, 135, 143, 141, 137, // 1328-1335
136, 132, 121, 116, 116, 120, 124, 123, // 1336-1343
130, 138, 136, 132, 127, 125, 121, 114, // 1344-1351
112, 115, 114, 112, 116, 119, 116, 112, // 1352-1359
111, 112, 115, 120, 129, 144, 168, 166, // 1360-1367
153, 162, 150, 133, 120, 110, 114, 112, // 1368-1375
107, 118, 130, 132, 135, 133, 136, 135, // 1376-1383
123, 121, 124, 121, 121, 123, 130, 136, // 1384-1391
133, 133, 136, 133, 127, 121, 120, 121, // 1392-1399
120, 123, 129, 133, 135, 134, 134, 135, // 1400-1407
129, 122, 121, 119, 115, 113, 114, 116, // 1408-1415
118, 115, 114, 113, 111, 112, 114, 119, // 1416-1423
131, 146, 162, 158, 155, 160, 147, 135, // 1424-1431
122, 113, 112, 108, 106, 114, 123, 129, // 1432-1439
135, 138, 143, 142, 134, 131, 129, 123, // 1440-1447
120, 119, 123, 128, 126, 129, 133, 132, // 1448-1455
129, 125, 125, 125, 124, 127, 130, 132, // 1456-1463
134, 131, 130, 130, 125, 122, 120, 120, // 1464-1471
120, 118, 118, 119, 118, 119, 116, 113, // 1472-1479
112, 108, 108, 112, 117, 125, 142, 157, // 1480-1487
160, 156, 158, 152, 142, 129, 118, 115, // 1488-1495
112, 107, 111, 119, 125, 132, 135, 142, // 1496-1503
144, 141, 137, 135, 131, 125, 119, 119, // 1504-1511
120, 119, 118, 121, 124, 126, 128, 130, // 1512-1519
133, 135, 135, 133, 133, 133, 128, 124, // 1520-1527
123, 122, 121, 119, 121, 123, 122, 123, // 1528-1535
124, 123, 121, 119, 118, 116, 112, 111, // 1536-1543
111, 112, 116, 121, 129, 137, 149, 154, // 1544-1551
151, 151, 150, 144, 136, 128, 123, 120, // 1552-1559
115, 114, 118, 121, 125, 127, 132, 137, // 1560-1567
138, 136, 136, 134, 131, 125, 121, 119, // 1568-1575
118, 115, 115, 119, 123, 127, 131, 136, // 1576-1583
140, 139, 137, 135, 133, 129, 124, 120, // 1584-1591
119, 119, 118, 118, 120, 121, 123, 124, // 1592-1599
125, 125, 124, 122, 121, 120, 117, 115, // 1600-1607
117, 119, 121, 124, 126, 131, 135, 137, // 1608-1615
140, 142, 143, 142, 140, 138, 135, 132, // 1616-1623
129, 126, 124, 123, 123, 123, 125, 128, // 1624-1631
129, 130, 131, 131, 130, 129, 128, 126, // 1632-1639
125, 124, 124, 124, 124, 125, 127, 129, // 1640-1647
131, 131, 131, 131, 130, 128, 124, 123, // 1648-1655
121, 120, 119, 119, 120, 121, 121, 122, // 1656-1663
124, 125, 125, 126, 127, 128, 127, 125, // 1664-1671
125, 125, 125, 125, 125, 127, 128, 129, // 1672-1679
129, 130, 131, 130, 130, 130, 130, 129, // 1680-1687
129, 129, 129, 129, 129, 129, 130, 131, // 1688-1695
130, 130, 131, 131, 130, 129, 127, 126, // 1696-1703
124, 123, 123, 124, 124, 124, 125, 128, // 1704-1711
127, 128, 129, 130, 129, 129, 129, 128, // 1712-1719
126, 124, 124, 124, 124, 124, 125, 125, // 1720-1727
126, 126, 128, 128, 126, 125, 124, 125, // 1728-1735
125, 125, 124, 125, 124, 125};

const char T[3320] = {134, 125, 120, 125, 130, 134, 121, 139, // 0-7
130, 125, 126, 124, 125, 123, 129, 129, // 8-15
128, 122, 128, 121, 128, 125, 123, 126, // 16-23
121, 125, 128, 131, 131, 129, 133, 129, // 24-31
127, 130, 129, 124, 129, 126, 126, 125, // 32-39
125, 128, 124, 126, 125, 128, 128, 129, // 40-47
128, 131, 128, 127, 129, 129, 129, 128, // 48-55
129, 128, 126, 128, 128, 126, 127, 126, // 56-63
127, 129, 125, 129, 127, 128, 126, 127, // 64-71
126, 125, 128, 126, 128, 125, 129, 125, // 72-79
129, 126, 126, 128, 125, 127, 128, 129, // 80-87
126, 128, 127, 128, 126, 127, 129, 126, // 88-95
127, 128, 127, 128, 125, 129, 125, 129, // 96-103
124, 129, 125, 126, 131, 125, 129, 128, // 104-111
128, 127, 126, 129, 125, 127, 130, 127, // 112-119
130, 125, 126, 121, 124, 124, 125, 123, // 120-127
129, 128, 127, 129, 131, 128, 128, 131, // 128-135
128, 126, 129, 125, 129, 128, 124, 128, // 136-143
125, 126, 125, 128, 129, 125, 129, 129, // 144-151
124, 133, 123, 131, 125, 128, 128, 126, // 152-159
128, 128, 126, 125, 129, 128, 127, 126, // 160-167
131, 125, 127, 128, 125, 131, 123, 129, // 168-175
128, 125, 130, 122, 132, 123, 129, 126, // 176-183
125, 129, 124, 127, 125, 129, 124, 129, // 184-191
129, 128, 127, 128, 131, 125, 129, 129, // 192-199
125, 126, 129, 124, 128, 127, 125, 129, // 200-207
124, 130, 123, 131, 129, 124, 133, 125, // 208-215
129, 124, 131, 125, 125, 127, 128, 124, // 216-223
128, 128, 128, 128, 128, 127, 129, 127, // 224-231
123, 131, 126, 128, 125, 129, 124, 128, // 232-239
125, 125, 127, 126, 126, 126, 129, 126, // 240-247
131, 125, 130, 125, 129, 129, 127, 128, // 248-255
125, 129, 125, 126, 127, 125, 127, 129, // 256-263
123, 131, 125, 129, 126, 126, 129, 128, // 264-271
125, 131, 123, 131, 128, 127, 125, 128, // 272-279
125, 127, 129, 125, 131, 125, 132, 128, // 280-287
129, 127, 129, 124, 131, 123, 125, 129, // 288-295
125, 127, 129, 127, 125, 129, 128, 126, // 296-303
133, 129, 129, 131, 124, 129, 124, 129, // 304-311
125, 128, 123, 126, 125, 128, 127, 128, // 312-319
130, 125, 130, 126, 130, 125, 128, 131, // 320-327
125, 129, 128, 125, 129, 124, 126, 128, // 328-335
125, 128, 126, 128, 128, 124, 128, 126, // 336-343
126, 129, 128, 127, 129, 127, 125, 131, // 344-351
125, 126, 127, 129, 123, 126, 131, 125, // 352-359
126, 131, 127, 128, 127, 126, 125, 125, // 360-367
128, 125, 129, 129, 126, 129, 129, 128, // 368-375
126, 128, 124, 125, 124, 127, 128, 126, // 376-383
131, 128, 127, 129, 125, 129, 125, 125, // 384-391
128, 127, 125, 127, 128, 125, 128, 126, // 392-399
128, 126, 127, 128, 129, 128, 127, 129, // 400-407
125, 127, 128, 127, 125, 127, 128, 124, // 408-415
128, 125, 128, 128, 129, 129, 126, 129, // 416-423
129, 125, 129, 128, 123, 128, 129, 125, // 424-431
127, 128, 128, 127, 128, 131, 125, 125, // 432-439
130, 125, 127, 127, 125, 127, 125, 126, // 440-447
126, 127, 129, 127, 129, 129, 127, 128, // 448-455
127, 129, 125, 127, 125, 126, 126, 129, // 456-463
126, 126, 128, 127, 128, 126, 129, 128, // 464-471
129, 129, 127, 128, 129, 123, 126, 126, // 472-479
125, 127, 125, 129, 124, 129, 130, 128, // 480-487
129, 128, 128, 126, 128, 125, 126, 126, // 488-495
125, 128, 125, 127, 125, 127, 126, 128, // 496-503
128, 129, 126, 127, 128, 126, 128, 128, // 504-511
128, 125, 128, 125, 127, 125, 126, 128, // 512-519
127, 128, 129, 126, 131, 125, 128, 129, // 520-527
126, 129, 129, 125, 128, 125, 128, 127, // 528-535
124, 129, 126, 125, 129, 128, 127, 129, // 536-543
125, 129, 127, 128, 128, 128, 127, 128, // 544-551
124, 129, 126, 125, 127, 129, 125, 125, // 552-559
129, 125, 126, 126, 128, 125, 129, 130, // 560-567
128, 128, 129, 128, 125, 128, 127, 126, // 568-575
125, 128, 125, 126, 129, 128, 126, 129, // 576-583
127, 129, 129, 129, 127, 128, 128, 127, // 584-591
125, 125, 129, 125, 126, 128, 125, 125, // 592-599
128, 125, 128, 127, 125, 129, 128, 125, // 600-607
129, 126, 126, 126, 125, 126, 128, 125, // 608-615
129, 126, 127, 128, 127, 126, 127, 126, // 616-623
128, 128, 127, 125, 128, 128, 126, 127, // 624-631
126, 126, 128, 126, 126, 129, 128, 126, // 632-639
128, 129, 125, 128, 129, 128, 129, 128, // 640-647
128, 125, 128, 126, 126, 126, 128, 126, // 648-655
129, 129, 129, 128, 129, 128, 128, 128, // 656-663
126, 126, 125, 126, 124, 126, 125, 126, // 664-671
125, 126, 128, 127, 125, 127, 126, 125, // 672-679
128, 126, 127, 125, 128, 128, 126, 127, // 680-687
128, 127, 130, 129, 131, 132, 129, 131, // 688-695
131, 129, 132, 129, 129, 129, 126, 128, // 696-703
125, 124, 125, 121, 123, 121, 120, 121, // 704-711
118, 119, 117, 117, 118, 116, 118, 121, // 712-719
120, 125, 128, 130, 136, 139, 143, 147, // 720-727
148, 151, 152, 150, 149, 145, 141, 137, // 728-735
129, 123, 117, 112, 108, 103, 102, 101, // 736-743
101, 104, 106, 108, 112, 113, 113, 115, // 744-751
118, 120, 129, 125, 134, 145, 139, 152, // 752-759
156, 157, 164, 164, 166, 158, 153, 149, // 760-767
136, 129, 121, 109, 106, 101,  99,  98, // 768-775
101, 106, 107, 112, 118, 120, 121, 124, // 776-783
123, 120, 119, 113, 110, 121, 113, 110, // 784-791
136, 124, 133, 151, 149, 160, 164, 172, // 792-799
166, 160, 164, 150, 138, 139, 120, 111, // 800-807
109, 101, 100,  98, 103, 103, 107, 114, // 808-815
113, 119, 121, 118, 118, 116, 112, 106, // 816-823
114, 118, 103, 125, 134, 119, 151, 151, // 824-831
157, 166, 174, 176, 166, 170, 162, 143, // 832-839
143, 130, 112, 110, 100,  93,  91,  95, // 840-847
 98,  99, 113, 113, 118, 129, 127, 125, // 848-855
130, 125, 118, 114, 112, 119, 109, 107, // 856-863
135, 114, 129, 151, 141, 160, 164, 170, // 864-871
168, 166, 170, 150, 143, 143, 116, 114, // 872-879
108,  95,  95,  93,  97,  97, 106, 114, // 880-887
115, 128, 131, 131, 136, 131, 129, 122, // 888-895
114, 112, 118, 109, 101, 133, 107, 125, // 896-903
144, 136, 155, 158, 170, 164, 166, 172, // 904-911
151, 146, 145, 118, 116, 108,  97,  93, // 912-919
 91,  98,  93, 107, 116, 115, 133, 138, // 920-927
136, 144, 142, 136, 132, 125, 114, 106, // 928-935
113, 105,  91, 120, 108, 108, 141, 133, // 936-943
147, 158, 170, 168, 168, 174, 158, 148, // 944-951
149, 125, 116, 112,  95,  95,  93,  95, // 952-959
 97, 105, 114, 117, 133, 137, 138, 143, // 960-967
141, 137, 132, 123, 113, 105, 110, 103, // 968-975
 87, 117, 105, 106, 141, 130, 149, 160, // 976-983
170, 172, 170, 178, 164, 147, 154, 124, // 984-991
116, 113,  93,  95,  89,  93,  93, 104, // 992-999
113, 115, 134, 138, 140, 147, 146, 143, // 1000-1007
138, 132, 120, 110, 101, 100, 101,  81, // 1008-1015
109, 108,  98, 143, 133, 149, 168, 174, // 1016-1023
178, 178, 182, 168, 153, 153, 127, 115, // 1024-1031
112,  91,  91,  87,  89,  91, 100, 112, // 1032-1039
114, 131, 140, 143, 149, 149, 146, 141, // 1040-1047
136, 122, 112, 103,  93, 100,  87,  89, // 1048-1055
114,  98, 125, 143, 142, 168, 172, 182, // 1056-1063
180, 180, 178, 156, 151, 138, 112, 112, // 1064-1071
 95,  87,  89,  85,  91,  95, 109, 116, // 1072-1079
126, 141, 144, 150, 153, 151, 145, 140, // 1080-1087
129, 114, 108,  93,  91,  97,  79,  99, // 1088-1095
112, 101, 140, 143, 152, 174, 176, 184, // 1096-1103
178, 180, 168, 148, 146, 124, 108, 106, // 1104-1111
 87,  87,  85,  87,  95, 101, 114, 122, // 1112-1119
136, 146, 149, 156, 154, 151, 146, 137, // 1120-1127
129, 113, 104,  93,  83,  89,  87,  83, // 1128-1135
110, 112, 116, 153, 147, 168, 180, 180, // 1136-1143
182, 176, 176, 153, 143, 136, 110, 106, // 1144-1151
 98,  83,  89,  87,  93, 100, 112, 121, // 1152-1159
131, 144, 148, 154, 156, 151, 148, 140, // 1160-1167
130, 119, 107,  98,  85,  85,  89,  87, // 1168-1175
 91, 118, 112, 133, 158, 151, 176, 180, // 1176-1183
180, 178, 174, 166, 145, 141, 124, 105, // 1184-1191
105,  91,  85,  93,  87,  97, 106, 116, // 1192-1199
123, 138, 146, 149, 156, 153, 149, 146, // 1200-1207
136, 126, 117, 104,  97,  87,  83,  89, // 1208-1215
 93,  93, 112, 125, 122, 158, 157, 166, // 1216-1223
182, 178, 178, 172, 166, 147, 138, 129, // 1224-1231
109, 103,  98,  87,  93,  93,  95, 107, // 1232-1239
114, 123, 134, 144, 146, 151, 153, 146, // 1240-1247
145, 138, 125, 121, 107, 101,  93,  85, // 1248-1255
 89,  95,  95, 105, 131, 120, 146, 162, // 1256-1263
156, 178, 174, 174, 168, 166, 151, 138, // 1264-1271
134, 114, 105, 105,  91,  93,  98,  95, // 1272-1279
107, 113, 121, 131, 140, 144, 148, 151, // 1280-1287
146, 145, 140, 129, 123, 114, 103, 100, // 1288-1295
 91,  87,  93, 100,  99, 112, 133, 121, // 1296-1303
154, 158, 156, 178, 170, 170, 164, 162, // 1304-1311
144, 137, 131, 112, 108, 105,  93, 100, // 1312-1319
100, 100, 112, 115, 122, 133, 139, 142, // 1320-1327
147, 147, 144, 143, 137, 129, 123, 115, // 1328-1335
107, 105,  95,  91,  97, 100, 106, 108, // 1336-1343
131, 129, 137, 162, 148, 168, 168, 164, // 1344-1351
164, 159, 150, 138, 134, 121, 112, 112, // 1352-1359
102, 100, 107, 101, 110, 114, 118, 127, // 1360-1367
133, 138, 142, 143, 143, 141, 138, 132, // 1368-1375
127, 122, 113, 111, 105,  98,  99, 100, // 1376-1383
106, 109, 112, 133, 125, 141, 157, 146, // 1384-1391
166, 162, 160, 160, 156, 146, 140, 134, // 1392-1399
122, 114, 114, 104, 105, 107, 102, 112, // 1400-1407
112, 116, 125, 129, 134, 140, 141, 140, // 1408-1415
142, 137, 133, 132, 123, 118, 114, 108, // 1416-1423
103, 101, 100, 103, 110, 106, 122, 130, // 1424-1431
124, 153, 144, 153, 166, 156, 162, 157, // 1432-1439
153, 144, 140, 134, 119, 118, 112, 103, // 1440-1447
110, 102, 106, 111, 111, 119, 124, 129, // 1448-1455
136, 140, 141, 142, 141, 138, 136, 131, // 1456-1463
123, 120, 113, 108, 103, 100,  99, 105, // 1464-1471
108, 106, 128, 123, 131, 152, 142, 160, // 1472-1479
162, 160, 162, 158, 153, 144, 141, 131, // 1480-1487
120, 118, 108, 105, 107, 100, 107, 108, // 1488-1495
111, 118, 125, 129, 137, 141, 141, 145, // 1496-1503
143, 140, 139, 131, 125, 121, 112, 110, // 1504-1511
103, 100,  99, 101, 107, 105, 116, 128, // 1512-1519
121, 146, 145, 149, 164, 157, 162, 160, // 1520-1527
156, 147, 143, 136, 123, 120, 112, 104, // 1528-1535
108, 101, 103, 108, 108, 114, 121, 128, // 1536-1543
133, 141, 141, 143, 146, 140, 141, 137, // 1544-1551
129, 126, 118, 112, 108, 103,  99,  98, // 1552-1559
103, 105, 106, 121, 123, 126, 149, 141, // 1560-1567
157, 160, 158, 164, 157, 156, 146, 143, // 1568-1575
133, 123, 120, 110, 107, 107, 100, 105, // 1576-1583
107, 109, 115, 121, 127, 133, 141, 141, // 1584-1591
144, 147, 140, 143, 138, 131, 130, 118, // 1592-1599
115, 110, 105, 101,  98, 101, 103, 107, // 1600-1607
111, 125, 123, 137, 148, 144, 160, 158, // 1608-1615
162, 160, 158, 151, 144, 141, 128, 122, // 1616-1623
116, 107, 108, 104, 101, 107, 106, 112, // 1624-1631
117, 123, 130, 136, 143, 142, 147, 146, // 1632-1639
143, 144, 136, 133, 129, 118, 115, 110, // 1640-1647
103, 101,  97,  98, 101, 107, 108, 121, // 1648-1655
128, 129, 149, 144, 155, 162, 160, 162, // 1656-1663
160, 155, 146, 143, 133, 123, 119, 110, // 1664-1671
106, 106, 100, 105, 106, 109, 114, 121, // 1672-1679
128, 133, 141, 142, 145, 148, 143, 144, // 1680-1687
140, 134, 131, 122, 115, 112, 105, 100, // 1688-1695
 98,  95,  98, 104, 107, 110, 127, 124, // 1696-1703
137, 150, 145, 162, 160, 162, 162, 160, // 1704-1711
151, 145, 141, 127, 123, 116, 107, 108, // 1712-1719
104, 101, 107, 106, 112, 116, 123, 130, // 1720-1727
135, 142, 143, 147, 146, 143, 144, 138, // 1728-1735
134, 129, 121, 116, 112, 105, 101,  99, // 1736-1743
 95,  98, 102, 108, 109, 121, 129, 129, // 1744-1751
149, 144, 154, 162, 157, 162, 158, 154, // 1752-1759
146, 143, 134, 124, 121, 112, 108, 108, // 1760-1767
102, 107, 107, 110, 116, 120, 127, 132, // 1768-1775
140, 141, 144, 147, 143, 144, 140, 135, // 1776-1783
133, 123, 119, 113, 109, 103, 100,  99, // 1784-1791
 95, 100, 105, 108, 112, 125, 125, 136, // 1792-1799
147, 144, 160, 157, 160, 160, 157, 152, // 1800-1807
145, 142, 130, 125, 118, 111, 110, 106, // 1808-1815
104, 108, 107, 112, 117, 121, 129, 134, // 1816-1823
140, 142, 144, 145, 143, 143, 138, 136, // 1824-1831
131, 123, 120, 112, 110, 105, 101, 100, // 1832-1839
 95, 100, 101, 108, 112, 114, 132, 126, // 1840-1847
141, 149, 145, 162, 156, 162, 160, 156, // 1848-1855
151, 144, 141, 129, 125, 118, 111, 112, // 1856-1863
106, 106, 109, 108, 114, 117, 123, 130, // 1864-1871
134, 141, 141, 145, 144, 143, 143, 137, // 1872-1879
136, 130, 123, 120, 112, 110, 105, 101, // 1880-1887
100,  97,  99, 100, 107, 112, 113, 125, // 1888-1895
130, 134, 149, 145, 157, 160, 158, 164, // 1896-1903
158, 156, 147, 144, 134, 129, 122, 113, // 1904-1911
112, 108, 105, 107, 107, 111, 115, 119, // 1912-1919
127, 132, 136, 142, 142, 146, 144, 143, // 1920-1927
143, 136, 136, 129, 123, 118, 112, 108, // 1928-1935
103, 101,  98,  97,  98,  99, 104, 111, // 1936-1943
113, 119, 133, 131, 143, 152, 148, 164, // 1944-1951
160, 164, 162, 158, 153, 147, 142, 131, // 1952-1959
128, 118, 111, 110, 104, 104, 107, 105, // 1960-1967
112, 116, 120, 128, 134, 135, 142, 145, // 1968-1975
143, 147, 143, 143, 140, 134, 130, 123, // 1976-1983
116, 112, 107, 101, 100,  97,  95,  98, // 1984-1991
 98, 103, 107, 113, 119, 122, 139, 135, // 1992-1999
147, 156, 151, 168, 162, 166, 164, 158, // 2000-2007
154, 146, 141, 129, 124, 115, 109, 108, // 2008-2015
101, 103, 105, 104, 111, 113, 118, 125, // 2016-2023
131, 136, 142, 144, 144, 149, 144, 145, // 2024-2031
143, 136, 133, 125, 118, 112, 107, 100, // 2032-2039
100,  97,  93,  98,  98, 102, 106, 110, // 2040-2047
116, 122, 129, 133, 144, 144, 151, 162, // 2048-2055
156, 168, 164, 162, 162, 155, 148, 142, // 2056-2063
134, 123, 118, 111, 104, 103, 100, 100, // 2064-2071
104, 104, 110, 114, 119, 128, 133, 138, // 2072-2079
143, 145, 147, 147, 147, 144, 141, 137, // 2080-2087
129, 124, 116, 110, 106, 100,  98,  97, // 2088-2095
 97, 100, 103, 107, 111, 114, 119, 125, // 2096-2103
132, 137, 140, 147, 150, 149, 162, 153, // 2104-2111
162, 160, 154, 157, 147, 144, 136, 130, // 2112-2119
120, 114, 110, 103, 103, 101, 100, 106, // 2120-2127
107, 112, 118, 121, 129, 134, 139, 142, // 2128-2135
147, 144, 147, 146, 141, 143, 134, 131, // 2136-2143
126, 117, 114, 109, 105, 103, 101, 101, // 2144-2151
105, 108, 110, 116, 119, 123, 129, 130, // 2152-2159
134, 138, 141, 140, 144, 146, 141, 153, // 2160-2167
144, 146, 152, 142, 146, 141, 136, 131, // 2168-2175
126, 119, 115, 113, 107, 109, 108, 107, // 2176-2183
112, 113, 116, 123, 124, 131, 135, 138, // 2184-2191
140, 143, 143, 141, 144, 138, 137, 136, // 2192-2199
127, 128, 120, 116, 114, 111, 109, 110, // 2200-2207
110, 110, 114, 116, 119, 123, 125, 127, // 2208-2215
130, 129, 131, 131, 133, 133, 129, 138, // 2216-2223
131, 134, 143, 133, 144, 141, 140, 144, // 2224-2231
138, 138, 133, 131, 123, 122, 118, 113, // 2232-2239
115, 112, 112, 116, 114, 120, 122, 125, // 2240-2247
130, 133, 135, 136, 140, 139, 138, 140, // 2248-2255
135, 136, 134, 128, 129, 122, 121, 119, // 2256-2263
115, 115, 114, 114, 114, 116, 117, 120, // 2264-2271
121, 122, 125, 124, 125, 125, 122, 125, // 2272-2279
123, 125, 125, 123, 134, 125, 138, 139, // 2280-2287
136, 149, 141, 147, 146, 143, 142, 136, // 2288-2295
133, 126, 123, 117, 115, 115, 112, 114, // 2296-2303
115, 115, 121, 121, 126, 130, 132, 135, // 2304-2311
136, 136, 137, 136, 136, 133, 133, 131, // 2312-2319
128, 127, 123, 121, 119, 117, 116, 115, // 2320-2327
115, 115, 116, 118, 119, 121, 122, 123, // 2328-2335
124, 123, 123, 123, 121, 121, 123, 125, // 2336-2343
123, 129, 133, 129, 143, 138, 143, 149, // 2344-2351
143, 150, 145, 143, 140, 135, 130, 125, // 2352-2359
121, 116, 115, 113, 112, 115, 114, 116, // 2360-2367
121, 121, 125, 129, 129, 132, 133, 133, // 2368-2375
134, 134, 132, 134, 131, 131, 131, 126, // 2376-2383
126, 124, 122, 121, 120, 119, 119, 119, // 2384-2391
119, 120, 120, 121, 123, 122, 123, 123, // 2392-2399
122, 123, 121, 121, 121, 124, 125, 124, // 2400-2407
133, 132, 133, 144, 138, 146, 147, 144, // 2408-2415
149, 143, 141, 138, 133, 127, 123, 119, // 2416-2423
114, 114, 112, 112, 115, 114, 118, 121, // 2424-2431
121, 128, 129, 130, 133, 133, 133, 134, // 2432-2439
134, 134, 134, 133, 132, 132, 129, 128, // 2440-2447
128, 123, 123, 121, 120, 120, 119, 119, // 2448-2455
120, 120, 120, 121, 121, 121, 121, 121, // 2456-2463
121, 121, 121, 121, 122, 125, 125, 127, // 2464-2471
134, 131, 138, 142, 138, 148, 143, 145, // 2472-2479
145, 141, 140, 134, 131, 125, 122, 118, // 2480-2487
116, 116, 113, 115, 117, 116, 121, 121, // 2488-2495
124, 128, 129, 130, 131, 133, 133, 133, // 2496-2503
134, 133, 134, 133, 131, 132, 129, 129, // 2504-2511
128, 124, 123, 121, 120, 120, 119, 118, // 2512-2519
119, 118, 119, 120, 120, 121, 121, 121, // 2520-2527
122, 122, 121, 122, 121, 123, 125, 125, // 2528-2535
128, 134, 131, 138, 141, 139, 147, 143, // 2536-2543
145, 145, 141, 140, 136, 131, 128, 123, // 2544-2551
119, 117, 116, 114, 115, 116, 115, 119, // 2552-2559
119, 121, 124, 125, 128, 130, 131, 132, // 2560-2567
134, 133, 134, 135, 134, 135, 133, 132, // 2568-2575
131, 129, 128, 125, 122, 121, 120, 118, // 2576-2583
118, 117, 116, 118, 118, 119, 120, 121, // 2584-2591
122, 123, 123, 123, 124, 123, 123, 128, // 2592-2599
127, 125, 133, 133, 132, 143, 138, 143, // 2600-2607
146, 141, 146, 142, 140, 138, 133, 128, // 2608-2615
124, 120, 116, 116, 114, 112, 115, 114, // 2616-2623
116, 120, 119, 123, 125, 128, 130, 131, // 2624-2631
133, 134, 134, 135, 136, 136, 136, 135, // 2632-2639
134, 133, 131, 129, 128, 125, 123, 120, // 2640-2647
120, 118, 118, 117, 117, 118, 118, 119, // 2648-2655
120, 121, 122, 123, 123, 124, 124, 123, // 2656-2663
124, 123, 126, 128, 126, 133, 133, 133, // 2664-2671
142, 138, 143, 144, 141, 145, 141, 139, // 2672-2679
136, 131, 127, 124, 120, 117, 116, 114, // 2680-2687
113, 114, 114, 117, 120, 120, 124, 126, // 2688-2695
128, 131, 132, 133, 134, 135, 136, 136, // 2696-2703
136, 136, 135, 134, 133, 131, 129, 127, // 2704-2711
125, 124, 121, 121, 120, 118, 118, 118, // 2712-2719
118, 118, 118, 120, 120, 121, 123, 123, // 2720-2727
125, 125, 125, 125, 125, 126, 125, 129, // 2728-2735
130, 129, 135, 133, 134, 141, 135, 143, // 2736-2743
141, 140, 143, 137, 136, 133, 129, 125, // 2744-2751
122, 118, 116, 116, 114, 114, 116, 115, // 2752-2759
119, 120, 121, 126, 127, 131, 133, 133, // 2760-2767
135, 136, 136, 136, 136, 135, 134, 133, // 2768-2775
131, 131, 127, 126, 124, 123, 121, 121, // 2776-2783
120, 120, 120, 120, 120, 120, 120, 121, // 2784-2791
121, 122, 123, 123, 125, 125, 125, 126, // 2792-2799
125, 125, 125, 125, 125, 126, 128, 126, // 2800-2807
129, 133, 129, 136, 136, 135, 143, 137, // 2808-2815
140, 140, 135, 136, 132, 127, 125, 121, // 2816-2823
118, 118, 116, 115, 116, 117, 118, 121, // 2824-2831
122, 125, 129, 130, 133, 134, 134, 136, // 2832-2839
136, 135, 135, 134, 133, 131, 129, 128, // 2840-2847
126, 124, 123, 122, 121, 121, 121, 121, // 2848-2855
121, 121, 121, 122, 122, 123, 123, 124, // 2856-2863
125, 125, 125, 125, 126, 126, 126, 126, // 2864-2871
125, 125, 124, 123, 123, 124, 125, 124, // 2872-2879
129, 129, 129, 136, 133, 136, 140, 136, // 2880-2887
141, 138, 136, 136, 132, 129, 127, 123, // 2888-2895
121, 119, 118, 117, 118, 118, 119, 121, // 2896-2903
122, 125, 127, 129, 132, 133, 133, 134, // 2904-2911
133, 133, 133, 132, 131, 130, 129, 127, // 2912-2919
126, 125, 123, 124, 123, 123, 123, 123, // 2920-2927
123, 124, 124, 125, 125, 125, 126, 126, // 2928-2935
125, 128, 126, 126, 128, 125, 128, 125, // 2936-2943
125, 126, 123, 124, 123, 122, 122, 124, // 2944-2951
125, 125, 129, 131, 128, 138, 133, 136, // 2952-2959
141, 135, 142, 138, 135, 137, 132, 129, // 2960-2967
129, 121, 121, 120, 117, 118, 118, 118, // 2968-2975
120, 122, 122, 126, 128, 129, 132, 132, // 2976-2983
133, 134, 133, 133, 133, 132, 131, 130, // 2984-2991
129, 128, 127, 125, 125, 124, 123, 124, // 2992-2999
123, 123, 124, 123, 125, 124, 124, 125, // 3000-3007
125, 125, 125, 125, 125, 125, 125, 125, // 3008-3015
125, 125, 125, 125, 125, 125, 125, 125, // 3016-3023
125, 124, 125, 128, 126, 130, 131, 130, // 3024-3031
134, 133, 136, 137, 135, 138, 136, 134, // 3032-3039
133, 130, 127, 125, 123, 121, 120, 119, // 3040-3047
119, 120, 121, 121, 123, 125, 128, 129, // 3048-3055
130, 131, 133, 132, 133, 132, 131, 131, // 3056-3063
129, 129, 129, 126, 126, 125, 124, 124, // 3064-3071
123, 123, 123, 123, 123, 123, 124, 123, // 3072-3079
124, 125, 124, 125, 125, 125, 126, 126, // 3080-3087
126, 126, 128, 127, 128, 128, 127, 128, // 3088-3095
127, 127, 128, 128, 127, 128, 127, 129, // 3096-3103
129, 130, 131, 131, 132, 132, 133, 133, // 3104-3111
132, 132, 131, 131, 129, 127, 126, 125, // 3112-3119
124, 123, 123, 123, 123, 124, 125, 125, // 3120-3127
126, 128, 129, 129, 129, 130, 129, 130, // 3128-3135
129, 128, 129, 125, 126, 125, 123, 124, // 3136-3143
123, 123, 123, 123, 123, 124, 124, 125, // 3144-3151
125, 125, 125, 126, 127, 126, 128, 127, // 3152-3159
128, 127, 128, 128, 127, 128, 127, 128, // 3160-3167
128, 129, 128, 127, 129, 128, 129, 127, // 3168-3175
128, 127, 128, 127, 128, 126, 128, 126, // 3176-3183
126, 127, 128, 127, 129, 129, 129, 129, // 3184-3191
129, 129, 130, 129, 129, 129, 128, 127, // 3192-3199
127, 126, 127, 127, 125, 125, 125, 125, // 3200-3207
126, 126, 126, 128, 126, 128, 127, 128, // 3208-3215
127, 128, 126, 126, 128, 125, 126, 125, // 3216-3223
125, 126, 126, 125, 127, 126, 127, 129, // 3224-3231
127, 128, 129, 127, 128, 127, 127, 127, // 3232-3239
128, 126, 126, 127, 126, 127, 128, 126, // 3240-3247
129, 128, 128, 129, 128, 127, 129, 128, // 3248-3255
127, 128, 126, 128, 127, 128, 127, 128, // 3256-3263
127, 128, 128, 129, 127, 129, 129, 129, // 3264-3271
129, 129, 129, 128, 128, 128, 128, 126, // 3272-3279
125, 126, 125, 126, 126, 126, 127, 128, // 3280-3287
128, 128, 127, 129, 127, 129, 127, 128, // 3288-3295
127, 126, 127, 126, 126, 128, 126, 126, // 3296-3303
128, 128, 128, 127, 128, 127, 128, 128, // 3304-3311
126, 128, 127, 126, 127, 126, 128, 127};

const char U[3414] = {128, 127, 128, 127, 128, 127, 128, 127, // 0-7
128, 127, 128, 127, 128, 127, 126, 126, // 8-15
126, 126, 126, 126, 126, 126, 126, 126, // 16-23
126, 126, 128, 127, 126, 128, 128, 127, // 24-31
128, 126, 126, 126, 125, 124, 124, 124, // 32-39
123, 123, 122, 122, 123, 123, 124, 124, // 40-47
126, 127, 129, 130, 132, 134, 134, 136, // 48-55
136, 136, 135, 135, 134, 132, 131, 130, // 56-63
129, 128, 126, 125, 124, 124, 124, 124, // 64-71
124, 123, 123, 123, 122, 122, 122, 122, // 72-79
122, 122, 121, 121, 120, 120, 121, 121, // 80-87
120, 123, 123, 124, 129, 130, 133, 134, // 88-95
139, 137, 141, 140, 139, 139, 137, 135, // 96-103
132, 132, 127, 128, 124, 123, 122, 122, // 104-111
120, 122, 122, 122, 124, 124, 126, 125, // 112-119
128, 127, 130, 130, 130, 130, 129, 127, // 120-127
127, 124, 122, 121, 119, 118, 117, 117, // 128-135
117, 117, 120, 120, 123, 126, 130, 133, // 136-143
136, 139, 139, 142, 141, 141, 139, 139, // 144-151
136, 134, 132, 130, 129, 125, 124, 122, // 152-159
122, 121, 122, 122, 122, 122, 123, 124, // 160-167
124, 126, 125, 127, 126, 126, 125, 124, // 168-175
122, 120, 119, 118, 119, 115, 117, 119, // 176-183
119, 124, 124, 130, 132, 138, 139, 141, // 184-191
143, 142, 142, 140, 139, 135, 135, 131, // 192-199
130, 126, 124, 123, 122, 121, 121, 121, // 200-207
121, 122, 122, 123, 124, 125, 125, 126, // 208-215
126, 126, 125, 124, 123, 122, 120, 118, // 216-223
117, 118, 116, 117, 120, 119, 124, 126, // 224-231
130, 133, 137, 140, 140, 143, 141, 143, // 232-239
139, 139, 134, 134, 130, 128, 125, 123, // 240-247
122, 121, 122, 121, 122, 122, 124, 124, // 248-255
126, 126, 128, 128, 127, 128, 126, 125, // 256-263
124, 122, 120, 118, 115, 116, 115, 113, // 264-271
117, 117, 119, 124, 126, 132, 134, 141, // 272-279
140, 143, 144, 143, 143, 141, 139, 134, // 280-287
134, 127, 128, 123, 122, 120, 120, 120, // 288-295
120, 122, 120, 124, 124, 125, 127, 128, // 296-303
129, 129, 129, 128, 126, 124, 122, 120, // 304-311
117, 115, 117, 114, 115, 119, 117, 122, // 312-319
125, 130, 134, 138, 142, 141, 146, 143, // 320-327
143, 142, 140, 136, 133, 130, 124, 124, // 328-335
120, 120, 119, 119, 119, 120, 122, 122, // 336-343
124, 125, 127, 129, 130, 130, 129, 130, // 344-351
126, 126, 122, 120, 118, 116, 117, 115, // 352-359
115, 119, 117, 122, 126, 129, 135, 137, // 360-367
143, 141, 147, 143, 143, 143, 139, 137, // 368-375
132, 131, 124, 124, 120, 119, 119, 117, // 376-383
119, 119, 122, 122, 125, 125, 127, 130, // 384-391
130, 130, 129, 129, 125, 124, 121, 119, // 392-399
117, 115, 117, 113, 117, 119, 117, 127, // 400-407
128, 134, 137, 143, 143, 145, 149, 143, // 408-415
145, 141, 139, 133, 131, 125, 121, 120, // 416-423
116, 117, 116, 117, 117, 120, 121, 123, // 424-431
125, 128, 130, 130, 130, 130, 129, 126, // 432-439
124, 122, 118, 117, 115, 115, 114, 114, // 440-447
120, 117, 126, 129, 133, 139, 142, 147, // 448-455
144, 151, 145, 145, 143, 138, 134, 129, // 456-463
126, 119, 120, 115, 115, 115, 114, 117, // 464-471
118, 120, 123, 125, 128, 130, 131, 130, // 472-479
130, 130, 126, 124, 121, 117, 115, 115, // 480-487
113, 113, 113, 122, 117, 127, 132, 134, // 488-495
143, 143, 151, 145, 153, 146, 145, 143, // 496-503
137, 133, 126, 124, 117, 117, 113, 112, // 504-511
114, 114, 116, 120, 121, 124, 129, 129, // 512-519
131, 132, 131, 130, 127, 124, 121, 117, // 520-527
113, 112, 112, 113, 110, 118, 120, 120, // 528-535
135, 133, 143, 143, 153, 152, 151, 155, // 536-543
145, 147, 139, 135, 128, 123, 118, 113, // 544-551
114, 111, 112, 113, 114, 117, 122, 123, // 552-559
129, 130, 132, 132, 132, 131, 128, 126, // 560-567
120, 116, 113, 109, 111, 111, 109, 117, // 568-575
118, 121, 135, 135, 145, 147, 155, 154, // 576-583
154, 156, 146, 146, 139, 132, 128, 120, // 584-591
115, 112, 112, 109, 111, 114, 114, 119, // 592-599
124, 127, 130, 134, 133, 134, 134, 131, // 600-607
127, 124, 117, 112, 110, 107, 109, 107, // 608-615
109, 118, 116, 128, 137, 139, 150, 151, // 616-623
160, 155, 158, 154, 145, 145, 134, 127, // 624-631
122, 115, 112, 109, 109, 109, 111, 115, // 632-639
117, 124, 129, 130, 136, 136, 136, 136, // 640-647
134, 129, 124, 120, 111, 109, 105, 104, // 648-655
107, 104, 114, 117, 121, 139, 137, 150, // 656-663
154, 160, 162, 157, 160, 147, 145, 138, // 664-671
126, 122, 114, 110, 107, 106, 107, 108, // 672-679
114, 116, 123, 131, 132, 139, 139, 139, // 680-687
139, 136, 132, 125, 120, 112, 108, 102, // 688-695
102, 103, 102, 108, 118, 117, 134, 143, // 696-703
145, 160, 160, 164, 162, 162, 153, 144, // 704-711
141, 128, 120, 115, 107, 105, 104, 104, // 712-719
107, 112, 117, 121, 131, 135, 137, 143, // 720-727
140, 139, 138, 131, 124, 119, 111, 105, // 728-735
101, 100, 101, 102, 109, 119, 118, 140, // 736-743
143, 150, 162, 162, 166, 164, 162, 151, // 744-751
143, 137, 122, 115, 111, 102, 101, 102, // 752-759
102, 107, 113, 119, 126, 135, 139, 142, // 760-767
145, 143, 141, 139, 129, 124, 115, 106, // 768-775
102,  95,  98,  98,  99, 111, 118, 121, // 776-783
144, 145, 155, 168, 166, 168, 166, 162, // 784-791
150, 142, 133, 118, 111, 107,  98,  98, // 792-799
 99, 100, 107, 113, 121, 130, 137, 143, // 800-807
143, 147, 145, 140, 139, 127, 122, 112, // 808-815
103,  98,  93,  95,  98,  98, 113, 121, // 816-823
125, 151, 150, 162, 170, 170, 170, 166, // 824-831
160, 147, 138, 128, 114, 106, 102,  93, // 832-839
 95,  98, 100, 109, 117, 124, 134, 143, // 840-847
145, 148, 149, 144, 141, 134, 124, 117, // 848-855
107,  99,  93,  91,  93,  98, 100, 117, // 856-863
124, 131, 155, 154, 166, 176, 172, 170, // 864-871
168, 155, 145, 134, 122, 110, 102,  99, // 872-879
 91,  93, 100, 101, 111, 122, 128, 139, // 880-887
147, 147, 150, 150, 143, 140, 131, 120, // 888-895
112, 102,  93,  91,  89,  93,  98, 105, // 896-903
124, 124, 144, 160, 160, 174, 178, 172, // 904-911
170, 164, 149, 140, 127, 114, 103,  98, // 912-919
 93,  89,  95, 100, 104, 117, 127, 134, // 920-927
145, 151, 151, 153, 149, 143, 136, 125, // 928-935
115, 104,  97,  89,  85,  89,  95,  98, // 936-943
112, 130, 130, 154, 164, 166, 178, 180, // 944-951
172, 168, 160, 144, 133, 120, 109,  97, // 952-959
 93,  89,  87,  95, 102, 109, 122, 133, // 960-967
140, 150, 154, 154, 152, 148, 141, 132, // 968-975
121, 111, 100,  91,  85,  85,  87,  98, // 976-983
100, 119, 133, 137, 162, 168, 170, 180, // 984-991
180, 170, 166, 154, 139, 126, 114, 102, // 992-999
 93,  91,  87,  89,  98, 106, 113, 128, // 1000-1007
138, 145, 153, 156, 155, 150, 144, 137, // 1008-1015
124, 115, 104,  93,  87,  83,  85,  93, // 1016-1023
 99, 111, 130, 134, 153, 168, 168, 180, // 1024-1031
182, 174, 168, 160, 143, 130, 117, 105, // 1032-1039
 93,  89,  87,  87,  93, 103, 111, 122, // 1040-1047
136, 143, 150, 157, 156, 152, 147, 141, // 1048-1055
127, 117, 109,  95,  87,  85,  83,  89, // 1056-1063
 98, 103, 124, 135, 144, 166, 170, 176, // 1064-1071
184, 180, 168, 166, 149, 134, 121, 109, // 1072-1079
 95,  89,  87,  85,  89,  99, 109, 117, // 1080-1087
133, 143, 150, 157, 160, 155, 150, 143, // 1088-1095
133, 120, 112,  99,  87,  83,  81,  83, // 1096-1103
 93, 101, 114, 134, 141, 158, 174, 174, // 1104-1111
182, 184, 174, 166, 157, 140, 124, 113, // 1112-1119
100,  89,  85,  85,  87,  93, 104, 113, // 1120-1127
126, 141, 148, 155, 162, 158, 154, 147, // 1128-1135
139, 125, 114, 105,  91,  83,  81,  81, // 1136-1143
 87,  99, 106, 124, 142, 146, 168, 178, // 1144-1151
178, 182, 184, 170, 162, 150, 132, 117, // 1152-1159
107,  93,  85,  83,  85,  89,  98, 111, // 1160-1167
121, 133, 145, 154, 157, 162, 158, 149, // 1168-1175
143, 134, 118, 109, 100,  87,  81,  81, // 1176-1183
 83,  91, 103, 113, 134, 145, 155, 174, // 1184-1191
178, 180, 184, 178, 164, 156, 142, 124, // 1192-1199
111, 101,  89,  85,  83,  87,  93, 103, // 1200-1207
115, 127, 139, 150, 156, 160, 160, 155, // 1208-1215
145, 139, 128, 113, 104,  95,  83,  79, // 1216-1223
 81,  87,  98, 107, 120, 143, 148, 162, // 1224-1231
178, 178, 178, 184, 174, 158, 151, 135, // 1232-1239
117, 107,  96,  87,  83,  85,  91,  98, // 1240-1247
108, 121, 132, 143, 153, 160, 160, 160, // 1248-1255
153, 143, 135, 123, 111, 102,  93,  83, // 1256-1263
 79,  83,  85,  99, 112, 119, 141, 154, // 1264-1271
158, 176, 182, 176, 176, 174, 157, 146, // 1272-1279
135, 119, 106,  98,  91,  87,  85,  93, // 1280-1287
101, 109, 120, 134, 142, 150, 160, 158, // 1288-1295
156, 153, 143, 133, 124, 112, 102,  95, // 1296-1303
 87,  81,  83,  87,  98, 112, 120, 136, // 1304-1311
154, 158, 168, 180, 178, 172, 174, 160, // 1312-1319
146, 137, 122, 109, 100,  93,  89,  87, // 1320-1327
 93, 101, 109, 117, 132, 143, 148, 155, // 1328-1335
160, 156, 151, 145, 134, 124, 114, 104, // 1336-1343
 97,  91,  85,  83,  87,  93, 107, 120, // 1344-1351
127, 144, 160, 162, 172, 178, 174, 168, // 1352-1359
166, 152, 139, 129, 116, 104,  98,  91, // 1360-1367
 91,  93,  97, 107, 115, 123, 137, 146, // 1368-1375
150, 154, 157, 153, 147, 141, 130, 120, // 1376-1383
112, 104,  98,  91,  87,  87,  91,  98, // 1384-1391
109, 122, 130, 142, 160, 160, 164, 174, // 1392-1399
170, 162, 162, 152, 139, 128, 119, 109, // 1400-1407
101,  97,  95,  97, 100, 108, 116, 122, // 1408-1415
133, 143, 148, 150, 154, 152, 145, 140, // 1416-1423
132, 122, 114, 107, 102,  97,  93,  93, // 1424-1431
 93,  97, 106, 116, 128, 134, 145, 160, // 1432-1439
158, 162, 170, 166, 156, 154, 147, 135, // 1440-1447
125, 118, 110, 103, 100, 100, 102, 104, // 1448-1455
111, 119, 124, 133, 143, 146, 147, 151, // 1456-1463
149, 143, 137, 131, 122, 115, 110, 106, // 1464-1471
102,  98,  98,  99, 100, 104, 113, 124, // 1472-1479
132, 137, 149, 157, 154, 160, 166, 158, // 1480-1487
152, 151, 143, 132, 124, 118, 112, 107, // 1488-1495
104, 105, 105, 107, 113, 120, 124, 133, // 1496-1503
143, 143, 145, 149, 145, 141, 137, 130, // 1504-1511
123, 117, 112, 109, 105, 101, 101, 102, // 1512-1519
102, 104, 111, 120, 127, 132, 141, 153, // 1520-1527
152, 153, 162, 160, 152, 151, 147, 139, // 1528-1535
130, 122, 117, 111, 105, 103, 106, 105, // 1536-1543
109, 115, 121, 128, 137, 143, 144, 148, // 1544-1551
148, 144, 141, 134, 129, 122, 115, 111, // 1552-1559
108, 104, 102, 101, 100, 102, 104, 110, // 1560-1567
118, 128, 132, 140, 153, 152, 154, 162, // 1568-1575
162, 154, 151, 147, 140, 131, 122, 117, // 1576-1583
111, 104, 102, 104, 104, 107, 114, 121, // 1584-1591
128, 137, 144, 147, 150, 150, 147, 143, // 1592-1599
137, 131, 123, 116, 112, 109, 106, 102, // 1600-1607
102, 102, 102, 103, 105, 113, 121, 128, // 1608-1615
133, 142, 153, 152, 153, 160, 160, 152, // 1616-1623
150, 147, 139, 130, 122, 116, 111, 104, // 1624-1631
102, 104, 106, 108, 115, 123, 130, 138, // 1632-1639
145, 148, 150, 150, 147, 143, 137, 130, // 1640-1647
123, 117, 112, 109, 107, 104, 103, 103, // 1648-1655
104, 104, 105, 110, 117, 125, 132, 134, // 1656-1663
147, 153, 150, 154, 160, 156, 150, 148, // 1664-1671
143, 136, 125, 118, 113, 109, 102, 102, // 1672-1679
106, 108, 111, 118, 127, 135, 141, 148, // 1680-1687
151, 151, 149, 146, 141, 134, 127, 121, // 1688-1695
117, 112, 109, 108, 107, 104, 106, 107, // 1696-1703
107, 107, 109, 113, 121, 129, 131, 139, // 1704-1711
149, 149, 151, 156, 160, 154, 150, 147, // 1712-1719
142, 133, 122, 116, 112, 105, 102, 104, // 1720-1727
107, 109, 114, 123, 132, 139, 144, 150, // 1728-1735
152, 150, 147, 144, 139, 132, 124, 119, // 1736-1743
115, 111, 109, 109, 107, 105, 107, 108, // 1744-1751
108, 107, 108, 112, 118, 128, 130, 134, // 1752-1759
146, 150, 150, 154, 160, 156, 151, 148, // 1760-1767
143, 137, 125, 117, 113, 109, 102, 102, // 1768-1775
107, 110, 113, 120, 130, 137, 143, 147, // 1776-1783
152, 152, 149, 144, 141, 134, 127, 120, // 1784-1791
117, 113, 111, 109, 111, 109, 108, 109, // 1792-1799
109, 109, 108, 107, 109, 113, 123, 128, // 1800-1807
129, 141, 149, 149, 151, 158, 160, 155, // 1808-1815
152, 146, 142, 133, 121, 115, 112, 107, // 1816-1823
102, 104, 108, 112, 116, 124, 134, 141, // 1824-1831
144, 149, 153, 150, 146, 142, 137, 132, // 1832-1839
124, 119, 117, 115, 112, 111, 112, 110, // 1840-1847
109, 109, 108, 108, 107, 105, 106, 110, // 1848-1855
117, 124, 127, 135, 146, 151, 152, 157, // 1856-1863
162, 160, 156, 151, 145, 139, 127, 117, // 1864-1871
112, 109, 104, 102, 104, 110, 115, 120, // 1872-1879
128, 138, 143, 147, 150, 151, 150, 143, // 1880-1887
139, 134, 130, 123, 119, 116, 115, 113, // 1888-1895
111, 110, 110, 109, 107, 106, 107, 107, // 1896-1903
105, 104, 108, 115, 124, 129, 133, 145, // 1904-1911
154, 155, 158, 164, 164, 162, 154, 147, // 1912-1919
141, 132, 119, 111, 108, 104, 101, 102, // 1920-1927
107, 113, 119, 124, 133, 141, 145, 147, // 1928-1935
147, 148, 146, 141, 136, 133, 130, 123, // 1936-1943
119, 117, 115, 113, 111, 109, 109, 109, // 1944-1951
107, 105, 106, 107, 106, 106, 107, 112, // 1952-1959
122, 132, 134, 142, 154, 160, 160, 164, // 1960-1967
166, 164, 160, 150, 143, 136, 124, 112, // 1968-1975
107, 104, 102, 100, 102, 109, 115, 121, // 1976-1983
126, 134, 143, 146, 147, 147, 147, 145, // 1984-1991
141, 136, 132, 129, 122, 117, 114, 112, // 1992-1999
111, 109, 107, 108, 109, 108, 108, 109, // 2000-2007
110, 110, 111, 111, 113, 121, 132, 137, // 2008-2015
140, 150, 158, 162, 162, 164, 164, 162, // 2016-2023
155, 143, 137, 130, 117, 109, 104, 101, // 2024-2031
100, 100, 103, 109, 117, 123, 130, 137, // 2032-2039
143, 147, 150, 150, 147, 145, 141, 135, // 2040-2047
130, 124, 120, 115, 112, 110, 109, 108, // 2048-2055
108, 109, 109, 111, 112, 112, 113, 115, // 2056-2063
115, 115, 117, 119, 126, 136, 140, 143, // 2064-2071
151, 158, 160, 160, 162, 160, 156, 149, // 2072-2079
139, 131, 123, 114, 106, 100,  98,  99, // 2080-2087
101, 104, 110, 118, 126, 133, 140, 145, // 2088-2095
150, 152, 150, 147, 143, 140, 134, 126, // 2096-2103
120, 116, 113, 111, 109, 108, 109, 110, // 2104-2111
111, 112, 115, 117, 118, 119, 120, 120, // 2112-2119
121, 120, 120, 122, 128, 136, 139, 141, // 2120-2127
147, 154, 157, 156, 155, 153, 151, 144, // 2128-2135
135, 126, 119, 112, 106, 100,  98, 100, // 2136-2143
104, 108, 113, 121, 130, 137, 142, 145, // 2144-2151
149, 150, 149, 145, 141, 137, 131, 124, // 2152-2159
118, 114, 112, 112, 111, 111, 111, 113, // 2160-2167
115, 117, 119, 121, 124, 124, 123, 122, // 2168-2175
122, 121, 119, 117, 119, 125, 133, 135, // 2176-2183
138, 144, 149, 152, 153, 152, 150, 147, // 2184-2191
143, 134, 125, 118, 113, 108, 103, 101, // 2192-2199
103, 107, 111, 116, 122, 131, 138, 143, // 2200-2207
145, 147, 148, 147, 144, 140, 134, 130, // 2208-2215
124, 119, 115, 112, 112, 113, 113, 114, // 2216-2223
115, 118, 121, 123, 124, 125, 126, 126, // 2224-2231
124, 121, 118, 117, 115, 115, 115, 121, // 2232-2239
129, 134, 137, 143, 147, 152, 155, 153, // 2240-2247
150, 147, 143, 137, 127, 119, 113, 109, // 2248-2255
106, 103, 104, 107, 113, 119, 124, 132, // 2256-2263
138, 143, 147, 148, 147, 146, 143, 139, // 2264-2271
133, 127, 122, 118, 115, 113, 113, 113, // 2272-2279
115, 117, 120, 122, 123, 126, 128, 127, // 2280-2287
128, 125, 124, 122, 119, 116, 113, 112, // 2288-2295
113, 114, 118, 126, 133, 137, 142, 146, // 2296-2303
151, 154, 154, 152, 148, 144, 139, 132, // 2304-2311
122, 115, 111, 107, 106, 106, 108, 112, // 2312-2319
117, 124, 130, 136, 141, 144, 146, 145, // 2320-2327
143, 141, 137, 132, 126, 121, 117, 115, // 2328-2335
114, 115, 115, 117, 120, 122, 124, 128, // 2336-2343
128, 129, 128, 127, 126, 124, 122, 119, // 2344-2351
117, 115, 113, 113, 113, 114, 117, 124, // 2352-2359
132, 137, 141, 144, 147, 151, 153, 151, // 2360-2367
147, 143, 139, 134, 128, 119, 113, 110, // 2368-2375
109, 109, 110, 112, 115, 121, 127, 133, // 2376-2383
137, 139, 141, 141, 141, 138, 134, 130, // 2384-2391
126, 122, 120, 119, 117, 118, 120, 122, // 2392-2399
124, 127, 129, 130, 130, 130, 130, 128, // 2400-2407
126, 124, 122, 120, 117, 116, 115, 113, // 2408-2415
113, 114, 115, 117, 119, 124, 132, 137, // 2416-2423
141, 143, 145, 147, 149, 149, 148, 143, // 2424-2431
139, 134, 129, 123, 118, 114, 111, 111, // 2432-2439
112, 113, 117, 120, 124, 127, 132, 136, // 2440-2447
137, 138, 137, 134, 133, 131, 128, 125, // 2448-2455
124, 123, 123, 124, 125, 127, 128, 129, // 2456-2463
130, 130, 130, 129, 127, 124, 122, 121, // 2464-2471
120, 118, 117, 116, 115, 116, 116, 117, // 2472-2479
117, 119, 120, 122, 124, 129, 133, 137, // 2480-2487
139, 141, 142, 143, 143, 144, 143, 141, // 2488-2495
137, 133, 130, 124, 121, 118, 116, 115, // 2496-2503
115, 116, 119, 122, 124, 128, 130, 132, // 2504-2511
133, 134, 134, 132, 131, 130, 128, 128, // 2512-2519
127, 128, 126, 128, 128, 129, 130, 130, // 2520-2527
129, 128, 127, 126, 124, 123, 122, 120, // 2528-2535
120, 118, 118, 118, 118, 119, 120, 120, // 2536-2543
121, 122, 122, 123, 124, 124, 126, 130, // 2544-2551
133, 136, 138, 139, 141, 141, 143, 143, // 2552-2559
143, 141, 138, 134, 130, 125, 122, 120, // 2560-2567
117, 116, 115, 115, 117, 120, 122, 124, // 2568-2575
126, 128, 130, 131, 132, 132, 132, 131, // 2576-2583
130, 130, 129, 129, 129, 130, 130, 129, // 2584-2591
129, 128, 127, 126, 125, 124, 123, 122, // 2592-2599
121, 120, 120, 120, 120, 120, 120, 120, // 2600-2607
122, 122, 123, 123, 123, 123, 123, 123, // 2608-2615
124, 125, 129, 132, 134, 137, 139, 141, // 2616-2623
141, 142, 142, 142, 140, 137, 133, 129, // 2624-2631
124, 120, 117, 116, 115, 115, 115, 117, // 2632-2639
119, 121, 124, 127, 130, 131, 132, 133, // 2640-2647
133, 133, 132, 132, 131, 130, 130, 129, // 2648-2655
129, 129, 127, 128, 126, 125, 124, 124, // 2656-2663
124, 124, 123, 122, 122, 121, 121, 121, // 2664-2671
122, 122, 122, 122, 122, 122, 123, 123, // 2672-2679
124, 124, 124, 124, 125, 127, 130, 134, // 2680-2687
137, 139, 140, 140, 140, 140, 139, 139, // 2688-2695
137, 134, 130, 125, 122, 119, 117, 116, // 2696-2703
116, 117, 117, 119, 121, 123, 125, 129, // 2704-2711
130, 132, 132, 132, 132, 132, 132, 132, // 2712-2719
131, 130, 130, 129, 128, 128, 128, 126, // 2720-2727
125, 125, 124, 123, 122, 122, 122, 122, // 2728-2735
122, 122, 122, 122, 122, 122, 122, 123, // 2736-2743
124, 124, 124, 124, 124, 124, 125, 125, // 2744-2751
126, 128, 129, 131, 134, 136, 137, 138, // 2752-2759
138, 138, 137, 137, 135, 134, 132, 128, // 2760-2767
124, 121, 119, 117, 117, 118, 119, 120, // 2768-2775
122, 123, 124, 128, 130, 132, 133, 134, // 2776-2783
134, 133, 133, 132, 132, 131, 130, 130, // 2784-2791
128, 127, 125, 124, 124, 124, 124, 123, // 2792-2799
123, 123, 122, 122, 123, 123, 123, 124, // 2800-2807
124, 124, 124, 124, 124, 124, 124, 124, // 2808-2815
124, 124, 124, 124, 125, 126, 128, 130, // 2816-2823
133, 135, 137, 138, 138, 138, 137, 137, // 2824-2831
135, 134, 132, 129, 125, 122, 120, 118, // 2832-2839
118, 118, 120, 121, 122, 124, 126, 127, // 2840-2847
130, 132, 132, 133, 133, 132, 132, 130, // 2848-2855
130, 129, 128, 128, 127, 126, 125, 124, // 2856-2863
124, 124, 124, 124, 124, 124, 123, 123, // 2864-2871
123, 123, 123, 123, 124, 124, 124, 124, // 2872-2879
124, 124, 124, 124, 125, 125, 125, 124, // 2880-2887
124, 125, 128, 128, 132, 134, 136, 137, // 2888-2895
137, 137, 137, 137, 136, 134, 132, 130, // 2896-2903
127, 123, 120, 119, 118, 118, 119, 120, // 2904-2911
122, 124, 125, 128, 129, 131, 132, 133, // 2912-2919
133, 132, 132, 130, 130, 128, 127, 128, // 2920-2927
126, 125, 124, 124, 124, 124, 124, 124, // 2928-2935
124, 124, 124, 123, 123, 123, 123, 124, // 2936-2943
124, 124, 124, 124, 124, 124, 124, 124, // 2944-2951
124, 124, 124, 124, 124, 124, 126, 130, // 2952-2959
133, 136, 138, 139, 139, 138, 137, 137, // 2960-2967
136, 134, 132, 129, 124, 121, 118, 117, // 2968-2975
117, 118, 120, 122, 123, 125, 128, 129, // 2976-2983
131, 132, 133, 133, 133, 132, 130, 129, // 2984-2991
128, 128, 128, 126, 126, 125, 125, 124, // 2992-2999
124, 125, 125, 125, 125, 124, 124, 123, // 3000-3007
122, 122, 122, 123, 123, 123, 123, 123, // 3008-3015
123, 124, 124, 124, 124, 124, 124, 124, // 3016-3023
124, 124, 127, 130, 133, 136, 138, 139, // 3024-3031
139, 138, 137, 137, 136, 134, 132, 128, // 3032-3039
124, 120, 118, 117, 118, 120, 121, 122, // 3040-3047
124, 125, 127, 130, 132, 132, 133, 133, // 3048-3055
132, 130, 129, 128, 128, 127, 128, 126, // 3056-3063
126, 126, 126, 126, 126, 128, 128, 127, // 3064-3071
126, 124, 124, 123, 122, 122, 122, 123, // 3072-3079
123, 123, 124, 124, 124, 125, 125, 125, // 3080-3087
125, 125, 125, 124, 124, 124, 125, 127, // 3088-3095
130, 132, 135, 137, 139, 139, 139, 137, // 3096-3103
137, 135, 133, 131, 128, 124, 121, 119, // 3104-3111
118, 119, 120, 122, 123, 124, 126, 129, // 3112-3119
130, 132, 132, 132, 132, 130, 129, 127, // 3120-3127
128, 127, 126, 126, 126, 126, 126, 126, // 3128-3135
128, 128, 127, 128, 125, 124, 123, 123, // 3136-3143
122, 122, 122, 122, 122, 122, 124, 124, // 3144-3151
125, 126, 126, 126, 125, 125, 127, 126, // 3152-3159
125, 124, 124, 124, 124, 126, 128, 130, // 3160-3167
132, 133, 135, 136, 137, 137, 137, 134, // 3168-3175
133, 131, 129, 127, 125, 124, 122, 122, // 3176-3183
122, 122, 124, 124, 126, 128, 129, 130, // 3184-3191
130, 130, 130, 130, 129, 128, 127, 127, // 3192-3199
128, 127, 128, 126, 126, 126, 126, 126, // 3200-3207
126, 126, 125, 124, 123, 122, 122, 122, // 3208-3215
122, 123, 124, 124, 124, 125, 125, 125, // 3216-3223
125, 126, 126, 128, 126, 127, 125, 125, // 3224-3231
125, 126, 128, 129, 129, 130, 130, 130, // 3232-3239
130, 130, 130, 130, 130, 130, 131, 131, // 3240-3247
130, 130, 130, 130, 130, 130, 130, 129, // 3248-3255
129, 129, 128, 127, 128, 126, 125, 125, // 3256-3263
125, 126, 126, 128, 127, 127, 128, 126, // 3264-3271
127, 126, 125, 125, 124, 124, 124, 124, // 3272-3279
124, 124, 124, 124, 125, 126, 126, 126, // 3280-3287
126, 126, 126, 127, 128, 128, 126, 126, // 3288-3295
125, 126, 126, 128, 128, 128, 128, 129, // 3296-3303
129, 129, 127, 128, 127, 128, 128, 127, // 3304-3311
128, 127, 128, 128, 128, 128, 128, 128, // 3312-3319
128, 129, 129, 130, 130, 129, 129, 129, // 3320-3327
129, 129, 128, 128, 128, 128, 129, 129, // 3328-3335
128, 128, 128, 128, 128, 128, 128, 126, // 3336-3343
126, 126, 126, 126, 128, 126, 126, 126, // 3344-3351
126, 126, 127, 128, 127, 127, 126, 128, // 3352-3359
127, 128, 127, 126, 127, 128, 127, 128, // 3360-3367
127, 128, 126, 128, 128, 127, 128, 127, // 3368-3375
127, 126, 128, 128, 127, 126, 126, 126, // 3376-3383
128, 127, 128, 128, 127, 128, 128, 127, // 3384-3391
128, 128, 127, 128, 127, 128, 127, 128, // 3392-3399
127, 128, 127, 129, 129, 129, 127, 126, // 3400-3407
126, 126, 127, 128, 128, 126};

const char V[3955] = {128, 127, 128, 127, 128, 127, 128, 127, // 0-7
128, 128, 127, 128, 128, 127, 128, 127, // 8-15
128, 127, 128, 127, 128, 128, 128, 126, // 16-23
128, 126, 126, 126, 126, 126, 126, 126, // 24-31
126, 126, 126, 126, 127, 128, 127, 128, // 32-39
127, 128, 127, 128, 129, 129, 129, 129, // 40-47
129, 129, 129, 129, 129, 129, 129, 128, // 48-55
127, 128, 127, 128, 127, 128, 128, 127, // 56-63
128, 126, 126, 126, 126, 125, 125, 125, // 64-71
125, 125, 125, 125, 125, 124, 124, 124, // 72-79
125, 125, 125, 125, 125, 126, 128, 128, // 80-87
129, 129, 130, 131, 131, 131, 131, 131, // 88-95
131, 131, 131, 131, 130, 130, 129, 129, // 96-103
128, 128, 127, 127, 125, 125, 125, 125, // 104-111
125, 124, 124, 124, 124, 124, 124, 124, // 112-119
124, 124, 124, 124, 124, 125, 125, 125, // 120-127
125, 125, 126, 128, 128, 129, 129, 130, // 128-135
131, 131, 131, 132, 132, 132, 132, 132, // 136-143
131, 131, 130, 129, 129, 129, 128, 127, // 144-151
128, 128, 126, 126, 126, 125, 125, 125, // 152-159
125, 125, 124, 124, 124, 123, 123, 123, // 160-167
123, 123, 123, 123, 123, 123, 123, 123, // 168-175
124, 125, 125, 126, 126, 128, 128, 129, // 176-183
130, 131, 131, 132, 132, 132, 132, 132, // 184-191
131, 131, 131, 130, 129, 129, 129, 128, // 192-199
127, 128, 127, 128, 127, 126, 126, 125, // 200-207
125, 125, 125, 124, 124, 124, 124, 123, // 208-215
123, 123, 123, 123, 123, 123, 123, 123, // 216-223
123, 123, 123, 124, 125, 125, 126, 128, // 224-231
129, 130, 131, 131, 132, 132, 133, 133, // 232-239
132, 132, 132, 132, 131, 131, 130, 129, // 240-247
129, 129, 128, 128, 127, 128, 126, 126, // 248-255
125, 125, 125, 125, 124, 124, 123, 123, // 256-263
123, 123, 123, 123, 123, 123, 123, 123, // 264-271
123, 123, 123, 123, 123, 124, 125, 125, // 272-279
126, 127, 129, 128, 131, 131, 132, 133, // 280-287
133, 134, 134, 134, 133, 132, 132, 131, // 288-295
131, 131, 130, 129, 129, 128, 127, 128, // 296-303
126, 126, 125, 125, 125, 124, 124, 123, // 304-311
123, 123, 123, 123, 123, 123, 123, 123, // 312-319
123, 123, 123, 123, 123, 123, 123, 123, // 320-327
124, 125, 125, 126, 128, 127, 129, 130, // 328-335
131, 132, 133, 134, 134, 134, 134, 134, // 336-343
134, 133, 132, 132, 131, 131, 130, 129, // 344-351
129, 127, 128, 126, 125, 125, 125, 124, // 352-359
123, 123, 123, 123, 123, 123, 123, 123, // 360-367
123, 123, 123, 123, 123, 123, 123, 123, // 368-375
123, 123, 124, 124, 125, 125, 126, 128, // 376-383
127, 129, 129, 130, 131, 132, 133, 134, // 384-391
134, 134, 134, 134, 134, 134, 133, 132, // 392-399
131, 131, 130, 129, 128, 128, 126, 125, // 400-407
125, 125, 124, 123, 123, 123, 123, 123, // 408-415
123, 123, 123, 123, 123, 123, 123, 123, // 416-423
123, 123, 123, 124, 124, 124, 125, 125, // 424-431
125, 125, 126, 126, 128, 127, 129, 129, // 432-439
130, 131, 132, 132, 133, 134, 134, 134, // 440-447
134, 134, 133, 132, 132, 131, 130, 129, // 448-455
127, 128, 126, 125, 125, 124, 123, 123, // 456-463
122, 122, 122, 122, 122, 122, 122, 123, // 464-471
123, 123, 123, 123, 124, 124, 125, 125, // 472-479
125, 125, 125, 125, 125, 126, 127, 127, // 480-487
128, 127, 129, 129, 129, 130, 131, 131, // 488-495
132, 132, 133, 133, 133, 133, 133, 132, // 496-503
132, 131, 131, 129, 129, 128, 126, 125, // 504-511
124, 123, 123, 123, 122, 122, 122, 122, // 512-519
122, 122, 123, 123, 123, 124, 125, 125, // 520-527
125, 125, 126, 126, 126, 128, 128, 128, // 528-535
128, 128, 128, 128, 128, 127, 129, 128, // 536-543
129, 129, 130, 131, 131, 131, 131, 132, // 544-551
131, 131, 131, 131, 131, 131, 130, 129, // 552-559
129, 128, 127, 126, 125, 125, 125, 124, // 560-567
123, 123, 123, 123, 123, 123, 123, 123, // 568-575
124, 124, 125, 125, 125, 125, 126, 126, // 576-583
126, 128, 127, 128, 127, 128, 128, 127, // 584-591
128, 128, 127, 128, 129, 129, 129, 129, // 592-599
129, 129, 129, 130, 130, 130, 130, 130, // 600-607
129, 129, 129, 129, 127, 128, 128, 127, // 608-615
126, 126, 125, 125, 125, 125, 125, 125, // 616-623
125, 125, 125, 125, 125, 125, 125, 125, // 624-631
125, 126, 127, 126, 126, 126, 126, 126, // 632-639
126, 128, 127, 128, 128, 128, 127, 128, // 640-647
127, 128, 127, 128, 129, 129, 129, 129, // 648-655
129, 129, 129, 129, 129, 129, 128, 129, // 656-663
128, 127, 128, 128, 126, 126, 126, 126, // 664-671
126, 126, 125, 125, 125, 126, 126, 126, // 672-679
126, 128, 127, 128, 127, 128, 127, 128, // 680-687
127, 128, 128, 127, 128, 128, 126, 126, // 688-695
126, 127, 127, 126, 127, 127, 128, 127, // 696-703
128, 127, 128, 127, 128, 128, 127, 128, // 704-711
127, 128, 127, 128, 128, 127, 128, 128, // 712-719
127, 128, 126, 126, 126, 126, 126, 126, // 720-727
126, 126, 126, 126, 126, 126, 127, 128, // 728-735
127, 128, 127, 128, 127, 128, 128, 127, // 736-743
128, 127, 126, 126, 127, 126, 126, 126, // 744-751
128, 126, 126, 126, 126, 126, 127, 126, // 752-759
128, 127, 128, 127, 128, 128, 127, 128, // 760-767
128, 127, 128, 127, 128, 127, 128, 128, // 768-775
128, 128, 128, 128, 128, 126, 127, 128, // 776-783
127, 128, 127, 128, 127, 128, 127, 128, // 784-791
127, 128, 127, 128, 128, 127, 128, 126, // 792-799
127, 126, 126, 126, 125, 126, 126, 126, // 800-807
126, 127, 128, 127, 128, 127, 128, 128, // 808-815
127, 128, 127, 128, 127, 128, 128, 128, // 816-823
127, 128, 127, 128, 126, 127, 128, 126, // 824-831
128, 128, 126, 128, 127, 128, 128, 128, // 832-839
127, 126, 126, 126, 126, 126, 128, 126, // 840-847
128, 126, 126, 126, 126, 125, 126, 126, // 848-855
126, 126, 128, 128, 127, 128, 127, 128, // 856-863
129, 129, 129, 129, 129, 129, 128, 128, // 864-871
127, 128, 128, 127, 128, 127, 128, 127, // 872-879
128, 128, 127, 128, 128, 126, 126, 126, // 880-887
126, 125, 125, 127, 125, 125, 125, 125, // 888-895
125, 125, 125, 125, 125, 125, 125, 125, // 896-903
126, 127, 128, 127, 129, 129, 130, 129, // 904-911
131, 131, 131, 131, 131, 131, 130, 130, // 912-919
129, 129, 127, 128, 127, 126, 125, 126, // 920-927
124, 125, 125, 125, 124, 126, 127, 123, // 928-935
125, 123, 122, 121, 121, 122, 122, 121, // 936-943
123, 125, 125, 128, 129, 131, 131, 132, // 944-951
133, 134, 134, 134, 134, 133, 132, 132, // 952-959
132, 131, 129, 129, 127, 127, 127, 126, // 960-967
128, 127, 126, 125, 125, 124, 123, 123, // 968-975
122, 121, 120, 120, 120, 119, 118, 119, // 976-983
119, 122, 124, 123, 125, 131, 131, 132, // 984-991
134, 136, 136, 137, 137, 136, 135, 133, // 992-999
131, 130, 127, 125, 125, 123, 124, 126, // 1000-1007
128, 126, 129, 129, 129, 130, 129, 129, // 1008-1015
128, 125, 125, 123, 120, 119, 117, 116, // 1016-1023
115, 114, 114, 117, 122, 120, 121, 132, // 1024-1031
132, 132, 137, 141, 141, 141, 141, 140, // 1032-1039
139, 133, 131, 129, 125, 122, 122, 121, // 1040-1047
122, 124, 125, 126, 131, 131, 130, 132, // 1048-1055
130, 129, 128, 124, 120, 119, 115, 112, // 1056-1063
112, 110, 109, 113, 119, 120, 122, 133, // 1064-1071
137, 137, 144, 147, 149, 147, 147, 145, // 1072-1079
142, 134, 129, 125, 119, 114, 114, 114, // 1080-1087
115, 119, 122, 127, 132, 133, 136, 136, // 1088-1095
133, 132, 129, 122, 119, 112, 107, 104, // 1096-1103
100, 101, 108, 114, 114, 125, 140, 140, // 1104-1111
147, 157, 160, 160, 160, 158, 154, 143, // 1112-1119
133, 129, 116, 107, 105, 104, 102, 108, // 1120-1127
112, 119, 128, 132, 139, 143, 139, 141, // 1128-1135
138, 127, 121, 114, 104,  95,  91,  95, // 1136-1143
101, 102, 108, 131, 135, 141, 160, 168, // 1144-1151
170, 172, 174, 168, 160, 144, 138, 123, // 1152-1159
107, 100,  95,  87,  89, 100, 107, 113, // 1160-1167
128, 138, 143, 146, 149, 151, 142, 134, // 1168-1175
129, 115, 100,  93,  91,  91,  91,  95, // 1176-1183
115, 122, 129, 152, 166, 166, 174, 184, // 1184-1191
176, 168, 158, 147, 132, 112, 105,  95, // 1192-1199
 83,  85,  93,  93, 105, 119, 129, 138, // 1200-1207
143, 148, 152, 143, 140, 135, 118, 107, // 1208-1215
104, 102,  95,  91, 107, 113, 112, 135, // 1216-1223
150, 155, 164, 174, 178, 170, 162, 160, // 1224-1231
143, 125, 117, 106,  91,  87,  87,  89, // 1232-1239
 95, 107, 119, 128, 138, 147, 148, 149, // 1240-1247
149, 142, 135, 123, 112, 102,  99,  97, // 1248-1255
 93,  97, 111, 115, 123, 144, 153, 164, // 1256-1263
170, 178, 176, 166, 162, 152, 134, 120, // 1264-1271
111,  97,  89,  87,  89,  93, 102, 113, // 1272-1279
123, 132, 142, 145, 147, 147, 141, 136, // 1280-1287
125, 112, 108, 104, 102,  95, 104, 115, // 1288-1295
112, 129, 145, 150, 160, 170, 172, 172, // 1296-1303
164, 158, 148, 129, 123, 110,  95,  91, // 1304-1311
 91,  89,  97, 106, 115, 125, 135, 144, // 1312-1319
144, 147, 149, 140, 135, 126, 112, 105, // 1320-1327
101, 100,  95,  97, 113, 115, 121, 145, // 1328-1335
149, 160, 168, 172, 174, 166, 157, 152, // 1336-1343
132, 122, 112,  97,  91,  91,  89,  95, // 1344-1351
105, 114, 125, 134, 144, 146, 147, 149, // 1352-1359
142, 134, 129, 113, 104, 102,  99,  93, // 1360-1367
 95, 111, 114, 117, 143, 148, 156, 170, // 1368-1375
174, 172, 170, 160, 153, 135, 123, 114, // 1376-1383
 97,  93,  89,  87,  93, 102, 112, 122, // 1384-1391
133, 144, 147, 148, 152, 146, 137, 134, // 1392-1399
119, 107, 103,  98,  95,  93, 100, 115, // 1400-1407
112, 132, 149, 150, 166, 174, 172, 172, // 1408-1415
166, 154, 144, 126, 119, 104,  93,  91, // 1416-1423
 85,  89,  98, 105, 117, 130, 140, 149, // 1424-1431
149, 153, 152, 143, 139, 129, 114, 105, // 1432-1439
 97,  95,  93,  91, 105, 114, 114, 142, // 1440-1447
149, 156, 172, 174, 176, 174, 164, 156, // 1448-1455
139, 124, 115,  97,  93,  87,  83,  91, // 1456-1463
 97, 108, 120, 132, 143, 150, 152, 154, // 1464-1471
152, 144, 137, 126, 112, 103,  97,  93, // 1472-1479
 93,  91, 105, 114, 116, 143, 148, 160, // 1480-1487
172, 174, 176, 172, 162, 154, 137, 123, // 1488-1495
113,  95,  93,  87,  85,  91,  98, 110, // 1496-1503
120, 132, 143, 149, 152, 154, 150, 143, // 1504-1511
136, 124, 112, 102,  97,  95,  91,  93, // 1512-1519
109, 110, 122, 143, 146, 162, 170, 174, // 1520-1527
174, 170, 162, 149, 135, 125, 109,  98, // 1528-1535
 93,  85,  87,  93, 100, 110, 120, 134, // 1536-1543
142, 149, 152, 150, 150, 143, 134, 124, // 1544-1551
112, 104, 100,  97,  93, 100, 111, 110, // 1552-1559
129, 142, 147, 162, 168, 172, 170, 168, // 1560-1567
157, 145, 135, 122, 108, 100,  93,  87, // 1568-1575
 91,  95, 102, 111, 122, 133, 142, 148, // 1576-1583
149, 149, 148, 141, 134, 123, 112, 104, // 1584-1591
102,  99,  93, 102, 112, 110, 131, 142, // 1592-1599
146, 162, 168, 170, 168, 166, 157, 144, // 1600-1607
136, 123, 109, 103,  95,  89,  91,  95, // 1608-1615
102, 112, 122, 131, 140, 146, 147, 147, // 1616-1623
146, 139, 133, 123, 112, 107, 104, 100, // 1624-1631
 97, 107, 112, 112, 134, 138, 148, 160, // 1632-1639
166, 168, 166, 164, 152, 143, 135, 120, // 1640-1647
111, 104,  95,  93,  93,  99, 104, 112, // 1648-1655
122, 131, 140, 145, 146, 146, 145, 138, // 1656-1663
132, 122, 112, 108, 106, 102,  99, 110, // 1664-1671
110, 115, 134, 137, 148, 158, 164, 166, // 1672-1679
164, 162, 150, 144, 135, 120, 112, 105, // 1680-1687
 97,  95,  97,  99, 105, 113, 120, 130, // 1688-1695
139, 143, 145, 145, 144, 138, 132, 125, // 1696-1703
113, 110, 106, 104, 100, 107, 113, 112, // 1704-1711
132, 137, 144, 157, 160, 164, 164, 162, // 1712-1719
154, 144, 137, 123, 114, 107,  99,  97, // 1720-1727
 95,  99, 104, 112, 119, 127, 137, 142, // 1728-1735
144, 146, 144, 142, 134, 128, 117, 110, // 1736-1743
108, 104, 101, 104, 112, 111, 124, 137, // 1744-1751
139, 154, 158, 164, 164, 164, 157, 147, // 1752-1759
142, 127, 117, 112, 102,  99,  97,  99, // 1760-1767
102, 109, 116, 123, 134, 140, 143, 146, // 1768-1775
144, 143, 139, 129, 123, 113, 107, 105, // 1776-1783
102, 100, 105, 113, 112, 131, 138, 143, // 1784-1791
157, 160, 166, 164, 162, 154, 144, 139, // 1792-1799
123, 114, 108,  99,  98,  97,  99, 104, // 1800-1807
110, 119, 125, 136, 142, 144, 147, 144, // 1808-1815
143, 138, 129, 122, 112, 105, 103, 101, // 1816-1823
100, 102, 113, 114, 125, 142, 143, 156, // 1824-1831
162, 166, 164, 162, 156, 144, 139, 125, // 1832-1839
114, 110, 100,  97,  97,  99, 103, 110, // 1840-1847
117, 124, 135, 142, 144, 148, 146, 143, // 1848-1855
140, 131, 123, 115, 107, 102, 100, 100, // 1856-1863
100, 107, 117, 119, 136, 144, 149, 162, // 1864-1871
164, 166, 164, 160, 150, 140, 134, 118, // 1872-1879
112, 105,  97,  98,  97, 102, 106, 114, // 1880-1887
122, 130, 140, 144, 146, 149, 146, 142, // 1888-1895
138, 129, 119, 112, 104,  99,  98,  99, // 1896-1903
100, 106, 119, 120, 137, 147, 149, 164, // 1904-1911
164, 166, 162, 158, 150, 139, 132, 118, // 1912-1919
110, 106,  97,  97,  99, 100, 107, 114, // 1920-1927
122, 131, 139, 145, 147, 150, 147, 143, // 1928-1935
139, 131, 122, 114, 106, 100,  97,  97, // 1936-1943
100, 103, 111, 123, 125, 142, 150, 152, // 1944-1951
166, 164, 164, 160, 155, 145, 135, 128, // 1952-1959
115, 108, 105,  98,  99, 102, 104, 111, // 1960-1967
118, 125, 134, 142, 144, 148, 147, 146, // 1968-1975
142, 136, 129, 120, 113, 107, 100,  97, // 1976-1983
 97, 100, 107, 110, 125, 130, 137, 154, // 1984-1991
152, 162, 164, 162, 160, 152, 146, 135, // 1992-1999
128, 117, 108, 106, 100,  99, 104, 105, // 2000-2007
112, 117, 125, 132, 140, 144, 146, 147, // 2008-2015
144, 142, 137, 129, 123, 115, 110, 105, // 2016-2023
100,  98, 100, 105, 111, 114, 127, 135, // 2024-2031
139, 154, 152, 160, 162, 157, 155, 149, // 2032-2039
142, 132, 124, 117, 109, 107, 104, 101, // 2040-2047
107, 108, 113, 120, 126, 133, 139, 143, // 2048-2055
143, 145, 142, 140, 135, 128, 123, 117, // 2056-2063
112, 108, 104, 100, 104, 104, 111, 117, // 2064-2071
119, 136, 136, 143, 154, 149, 160, 154, // 2072-2079
153, 149, 143, 139, 128, 122, 116, 110, // 2080-2087
110, 107, 107, 112, 112, 117, 122, 128, // 2088-2095
134, 138, 141, 142, 143, 139, 137, 134, // 2096-2103
125, 124, 118, 113, 112, 108, 106, 106, // 2104-2111
107, 111, 115, 120, 125, 137, 138, 143, // 2112-2119
151, 148, 154, 150, 149, 145, 141, 136, // 2120-2127
128, 123, 118, 112, 112, 110, 110, 112, // 2128-2135
112, 117, 122, 126, 131, 135, 138, 139, // 2136-2143
141, 138, 137, 133, 129, 125, 120, 117, // 2144-2151
114, 112, 109, 107, 108, 109, 112, 119, // 2152-2159
119, 131, 136, 135, 149, 145, 150, 153, // 2160-2167
149, 149, 144, 141, 133, 129, 123, 115, // 2168-2175
114, 111, 107, 112, 110, 112, 118, 120, // 2176-2183
128, 133, 137, 139, 142, 142, 139, 140, // 2184-2191
134, 131, 128, 120, 118, 114, 111, 108, // 2192-2199
106, 105, 107, 111, 115, 119, 125, 137, // 2200-2207
135, 145, 150, 147, 155, 152, 151, 147, // 2208-2215
143, 137, 130, 125, 117, 112, 112, 105, // 2216-2223
107, 110, 110, 115, 120, 125, 132, 138, // 2224-2231
140, 143, 144, 142, 143, 138, 132, 131, // 2232-2239
122, 119, 115, 111, 108, 106, 105, 104, // 2240-2247
107, 112, 115, 122, 125, 137, 139, 143, // 2248-2255
153, 148, 155, 153, 150, 147, 143, 137, // 2256-2263
129, 123, 117, 112, 110, 107, 107, 110, // 2264-2271
111, 115, 121, 126, 133, 139, 141, 143, // 2272-2279
145, 143, 143, 139, 133, 131, 123, 119, // 2280-2287
116, 112, 110, 107, 106, 105, 107, 109, // 2288-2295
112, 119, 123, 127, 139, 139, 143, 152, // 2296-2303
147, 154, 151, 149, 146, 142, 137, 129, // 2304-2311
124, 117, 112, 111, 107, 108, 110, 111, // 2312-2319
116, 120, 128, 132, 139, 142, 143, 146, // 2320-2327
143, 143, 140, 133, 132, 124, 120, 116, // 2328-2335
112, 110, 108, 106, 105, 106, 107, 110, // 2336-2343
112, 120, 124, 129, 140, 139, 144, 152, // 2344-2351
147, 154, 152, 148, 146, 142, 137, 129, // 2352-2359
123, 116, 112, 112, 107, 108, 110, 112, // 2360-2367
117, 121, 128, 134, 139, 143, 143, 148, // 2368-2375
143, 143, 140, 133, 132, 124, 119, 117, // 2376-2383
112, 110, 108, 108, 104, 107, 107, 108, // 2384-2391
112, 116, 121, 128, 131, 140, 140, 145, // 2392-2399
150, 146, 154, 149, 148, 145, 140, 135, // 2400-2407
128, 123, 117, 112, 112, 108, 110, 112, // 2408-2415
112, 119, 122, 129, 135, 139, 143, 144, // 2416-2423
144, 143, 142, 138, 133, 131, 123, 120, // 2424-2431
117, 113, 112, 110, 108, 107, 108, 108, // 2432-2439
109, 112, 114, 118, 125, 126, 134, 140, // 2440-2447
139, 147, 147, 148, 152, 149, 147, 144, // 2448-2455
141, 134, 129, 123, 116, 114, 112, 109, // 2456-2463
112, 112, 114, 119, 123, 129, 134, 139, // 2464-2471
142, 143, 145, 140, 142, 139, 131, 133, // 2472-2479
124, 121, 119, 114, 112, 111, 110, 107, // 2480-2487
108, 108, 108, 111, 112, 115, 120, 125, // 2488-2495
128, 135, 140, 140, 150, 147, 150, 154, // 2496-2503
149, 149, 145, 141, 135, 129, 122, 116, // 2504-2511
114, 111, 109, 111, 112, 114, 119, 123, // 2512-2519
129, 134, 138, 141, 143, 143, 142, 141, // 2520-2527
139, 134, 133, 128, 123, 120, 115, 112, // 2528-2535
112, 108, 107, 108, 106, 108, 110, 111, // 2536-2543
114, 117, 123, 127, 131, 139, 142, 143, // 2544-2551
151, 149, 152, 154, 149, 151, 144, 140, // 2552-2559
134, 127, 121, 115, 112, 110, 108, 111, // 2560-2567
111, 114, 119, 121, 128, 133, 137, 140, // 2568-2575
143, 143, 142, 143, 139, 136, 135, 127, // 2576-2583
125, 120, 115, 112, 110, 108, 105, 106, // 2584-2591
107, 107, 110, 112, 114, 117, 120, 125, // 2592-2599
132, 134, 139, 145, 143, 150, 152, 150, // 2600-2607
154, 149, 147, 144, 139, 133, 126, 121, // 2608-2615
114, 112, 110, 108, 110, 111, 112, 117, // 2616-2623
120, 126, 132, 137, 140, 142, 143, 142, // 2624-2631
143, 140, 136, 134, 128, 123, 119, 114, // 2632-2639
112, 108, 107, 105, 107, 107, 109, 112, // 2640-2647
114, 116, 120, 122, 128, 132, 136, 139, // 2648-2655
143, 146, 146, 152, 149, 150, 150, 146, // 2656-2663
144, 140, 134, 128, 122, 117, 112, 111, // 2664-2671
108, 108, 110, 111, 115, 119, 123, 130, // 2672-2679
134, 138, 142, 143, 143, 143, 142, 138, // 2680-2687
135, 131, 125, 122, 117, 113, 112, 108, // 2688-2695
108, 107, 108, 110, 112, 114, 117, 120, // 2696-2703
123, 125, 129, 132, 136, 139, 140, 146, // 2704-2711
143, 147, 149, 144, 149, 144, 143, 140, // 2712-2719
134, 130, 123, 119, 114, 112, 110, 108, // 2720-2727
110, 112, 113, 118, 122, 127, 132, 136, // 2728-2735
139, 142, 143, 142, 142, 140, 135, 134, // 2736-2743
129, 123, 120, 115, 113, 112, 110, 110, // 2744-2751
110, 112, 112, 115, 118, 122, 124, 126, // 2752-2759
129, 130, 132, 135, 136, 137, 139, 142, // 2760-2767
139, 143, 143, 142, 145, 140, 140, 136, // 2768-2775
132, 127, 123, 119, 115, 113, 112, 112, // 2776-2783
113, 114, 117, 120, 123, 128, 132, 135, // 2784-2791
139, 140, 141, 140, 140, 137, 134, 132, // 2792-2799
126, 123, 120, 116, 115, 112, 112, 112, // 2800-2807
112, 114, 116, 119, 122, 123, 126, 128, // 2808-2815
129, 130, 130, 129, 132, 132, 132, 134, // 2816-2823
137, 134, 139, 139, 137, 142, 138, 139, // 2824-2831
137, 133, 130, 125, 122, 118, 116, 114, // 2832-2839
113, 115, 115, 117, 121, 123, 127, 132, // 2840-2847
134, 137, 139, 139, 140, 139, 136, 135, // 2848-2855
131, 127, 125, 120, 119, 117, 114, 114, // 2856-2863
114, 114, 115, 118, 119, 122, 124, 125, // 2864-2871
128, 127, 128, 127, 126, 126, 125, 129, // 2872-2879
127, 129, 134, 132, 135, 139, 137, 142, // 2880-2887
141, 140, 140, 137, 134, 129, 125, 121, // 2888-2895
118, 116, 114, 114, 115, 115, 119, 122, // 2896-2903
125, 130, 132, 135, 137, 139, 139, 139, // 2904-2911
137, 134, 132, 129, 125, 123, 120, 117, // 2912-2919
117, 115, 115, 116, 117, 119, 120, 122, // 2920-2927
124, 125, 126, 128, 127, 126, 125, 125, // 2928-2935
123, 123, 125, 125, 126, 131, 132, 133, // 2936-2943
140, 138, 141, 143, 141, 142, 139, 135, // 2944-2951
132, 127, 123, 119, 117, 114, 114, 115, // 2952-2959
115, 118, 121, 123, 129, 131, 134, 136, // 2960-2967
137, 137, 137, 136, 134, 132, 129, 126, // 2968-2975
124, 122, 120, 119, 118, 119, 119, 119, // 2976-2983
120, 122, 123, 124, 125, 127, 127, 128, // 2984-2991
125, 125, 123, 123, 122, 120, 122, 123, // 2992-2999
124, 126, 132, 132, 135, 141, 139, 143, // 3000-3007
143, 142, 143, 138, 135, 131, 125, 122, // 3008-3015
119, 116, 114, 114, 115, 115, 119, 121, // 3016-3023
124, 129, 131, 134, 135, 135, 135, 135, // 3024-3031
134, 132, 131, 129, 126, 125, 123, 123, // 3032-3039
122, 121, 122, 122, 122, 123, 123, 124, // 3040-3047
125, 125, 125, 125, 125, 123, 123, 122, // 3048-3055
121, 120, 120, 119, 122, 123, 125, 129, // 3056-3063
133, 134, 137, 142, 140, 144, 143, 142, // 3064-3071
142, 137, 134, 130, 125, 120, 119, 115, // 3072-3079
114, 115, 115, 117, 120, 122, 125, 129, // 3080-3087
131, 133, 134, 134, 135, 134, 133, 132, // 3088-3095
131, 129, 127, 128, 125, 125, 124, 123, // 3096-3103
123, 123, 123, 123, 123, 123, 123, 123, // 3104-3111
123, 123, 123, 122, 122, 121, 120, 120, // 3112-3119
120, 120, 121, 122, 125, 128, 129, 135, // 3120-3127
134, 138, 142, 139, 143, 141, 140, 139, // 3128-3135
135, 132, 129, 124, 121, 119, 117, 115, // 3136-3143
117, 117, 119, 122, 123, 125, 129, 130, // 3144-3151
132, 132, 133, 133, 132, 132, 131, 131, // 3152-3159
129, 129, 128, 126, 128, 125, 125, 125, // 3160-3167
124, 124, 123, 123, 123, 123, 123, 123, // 3168-3175
122, 122, 122, 122, 121, 121, 121, 120, // 3176-3183
122, 121, 122, 125, 125, 127, 130, 134, // 3184-3191
134, 137, 140, 138, 142, 140, 139, 140, // 3192-3199
135, 134, 131, 125, 123, 120, 119, 117, // 3200-3207
117, 117, 118, 120, 121, 123, 125, 126, // 3208-3215
129, 130, 130, 132, 131, 131, 131, 131, // 3216-3223
131, 131, 131, 129, 129, 129, 128, 127, // 3224-3231
126, 125, 125, 123, 123, 123, 122, 122, // 3232-3239
122, 121, 121, 122, 122, 122, 122, 122, // 3240-3247
122, 123, 122, 123, 125, 124, 128, 129, // 3248-3255
130, 135, 133, 137, 139, 137, 143, 139, // 3256-3263
140, 139, 135, 134, 129, 126, 123, 120, // 3264-3271
119, 117, 117, 117, 117, 119, 120, 122, // 3272-3279
124, 126, 129, 130, 131, 132, 132, 132, // 3280-3287
133, 133, 132, 132, 131, 131, 131, 129, // 3288-3295
127, 128, 125, 125, 124, 123, 123, 122, // 3296-3303
122, 122, 122, 122, 122, 122, 122, 123, // 3304-3311
123, 123, 123, 123, 123, 123, 123, 123, // 3312-3319
124, 128, 128, 129, 133, 134, 134, 139, // 3320-3327
137, 140, 141, 139, 140, 136, 134, 132, // 3328-3335
128, 124, 122, 119, 117, 117, 117, 117, // 3336-3343
119, 119, 121, 123, 125, 127, 130, 131, // 3344-3351
132, 133, 134, 134, 134, 133, 133, 132, // 3352-3359
131, 131, 129, 127, 128, 125, 125, 124, // 3360-3367
123, 123, 123, 123, 123, 123, 123, 123, // 3368-3375
123, 123, 123, 123, 123, 123, 123, 123, // 3376-3383
124, 123, 124, 125, 124, 125, 127, 127, // 3384-3391
131, 130, 134, 134, 135, 138, 135, 139, // 3392-3399
137, 137, 136, 132, 132, 128, 125, 122, // 3400-3407
120, 119, 117, 117, 117, 117, 120, 120, // 3408-3415
123, 125, 128, 130, 131, 132, 134, 134, // 3416-3423
135, 134, 134, 133, 132, 131, 129, 127, // 3424-3431
126, 125, 124, 123, 123, 122, 122, 122, // 3432-3439
123, 123, 123, 124, 124, 124, 125, 125, // 3440-3447
125, 125, 125, 125, 125, 125, 125, 125, // 3448-3455
125, 124, 125, 125, 125, 128, 129, 127, // 3456-3463
131, 132, 132, 136, 134, 136, 137, 135, // 3464-3471
136, 134, 132, 130, 128, 125, 122, 121, // 3472-3479
119, 119, 119, 119, 120, 122, 123, 125, // 3480-3487
128, 129, 131, 132, 133, 133, 133, 133, // 3488-3495
132, 132, 131, 130, 127, 128, 125, 125, // 3496-3503
124, 123, 123, 123, 123, 123, 123, 124, // 3504-3511
124, 125, 125, 125, 125, 125, 125, 125, // 3512-3519
125, 125, 125, 125, 125, 125, 125, 125, // 3520-3527
125, 125, 125, 125, 126, 127, 128, 130, // 3528-3535
131, 132, 134, 134, 135, 136, 135, 135, // 3536-3543
134, 132, 131, 128, 125, 123, 122, 121, // 3544-3551
120, 120, 120, 121, 122, 123, 125, 126, // 3552-3559
129, 130, 131, 132, 132, 132, 132, 131, // 3560-3567
131, 129, 129, 127, 126, 125, 125, 124, // 3568-3575
124, 123, 124, 124, 124, 125, 125, 125, // 3576-3583
126, 125, 126, 126, 125, 125, 125, 125, // 3584-3591
125, 125, 125, 125, 125, 124, 125, 124, // 3592-3599
124, 125, 125, 126, 128, 127, 129, 131, // 3600-3607
132, 132, 134, 135, 135, 136, 135, 134, // 3608-3615
133, 131, 130, 127, 125, 123, 122, 122, // 3616-3623
120, 121, 121, 122, 123, 123, 125, 128, // 3624-3631
129, 130, 130, 131, 131, 131, 131, 131, // 3632-3639
130, 129, 129, 128, 126, 125, 125, 125, // 3640-3647
124, 125, 125, 125, 125, 125, 125, 125, // 3648-3655
125, 125, 125, 125, 125, 125, 125, 125, // 3656-3663
125, 125, 125, 125, 125, 125, 125, 125, // 3664-3671
125, 126, 125, 126, 128, 129, 129, 130, // 3672-3679
131, 132, 132, 134, 134, 134, 134, 132, // 3680-3687
132, 131, 129, 127, 125, 124, 123, 122, // 3688-3695
122, 122, 122, 122, 123, 124, 125, 128, // 3696-3703
127, 129, 130, 130, 131, 131, 131, 131, // 3704-3711
129, 129, 127, 128, 127, 125, 125, 125, // 3712-3719
125, 125, 124, 125, 125, 125, 125, 125, // 3720-3727
125, 125, 125, 125, 125, 125, 125, 125, // 3728-3735
125, 125, 125, 125, 125, 125, 125, 126, // 3736-3743
125, 126, 127, 128, 128, 129, 129, 130, // 3744-3751
131, 131, 131, 132, 132, 132, 132, 132, // 3752-3759
131, 131, 129, 128, 128, 125, 125, 123, // 3760-3767
123, 123, 123, 123, 124, 125, 125, 128, // 3768-3775
128, 129, 129, 130, 130, 130, 129, 129, // 3776-3783
129, 128, 127, 126, 125, 125, 124, 124, // 3784-3791
123, 123, 124, 123, 124, 124, 125, 125, // 3792-3799
125, 125, 126, 126, 126, 126, 126, 126, // 3800-3807
126, 126, 126, 126, 126, 127, 128, 129, // 3808-3815
128, 129, 128, 129, 130, 131, 131, 131, // 3816-3823
131, 131, 131, 131, 131, 131, 130, 129, // 3824-3831
129, 127, 128, 127, 125, 125, 125, 125, // 3832-3839
125, 125, 125, 125, 125, 125, 127, 126, // 3840-3847
126, 127, 128, 127, 128, 126, 126, 126, // 3848-3855
125, 125, 125, 125, 125, 125, 125, 125, // 3856-3863
125, 126, 126, 126, 127, 128, 127, 128, // 3864-3871
127, 128, 128, 127, 128, 127, 128, 127, // 3872-3879
128, 129, 128, 129, 129, 129, 130, 130, // 3880-3887
130, 130, 130, 130, 130, 129, 129, 129, // 3888-3895
129, 127, 128, 127, 128, 128, 126, 128, // 3896-3903
126, 126, 126, 126, 126, 126, 126, 126, // 3904-3911
126, 126, 126, 126, 126, 126, 126, 126, // 3912-3919
126, 126, 126, 126, 125, 126, 125, 126, // 3920-3927
126, 126, 126, 126, 126, 126, 128, 126, // 3928-3935
128, 128, 127, 128, 127, 128, 127, 128, // 3936-3943
127, 128, 128, 127, 128, 127, 128, 127, // 3944-3951
128, 127, 128};

const char W[4781] = {128, 127, 128, 128, 127, 128, 127, 128, // 0-7
127, 128, 128, 127, 128, 127, 128, 127, // 8-15
128, 128, 128, 127, 128, 127, 128, 127, // 16-23
128, 127, 128, 129, 133, 134, 127, 125, // 24-31
124, 128, 130, 132, 126, 123, 129, 121, // 32-39
123, 125, 123, 123, 123, 128, 125, 124, // 40-47
127, 130, 132, 128, 126, 129, 125, 124, // 48-55
124, 127, 125, 124, 124, 129, 131, 122, // 56-63
129, 125, 127, 123, 126, 128, 130, 125, // 64-71
127, 133, 129, 130, 127, 133, 130, 129, // 72-79
127, 130, 129, 128, 129, 128, 129, 125, // 80-87
125, 125, 127, 123, 124, 123, 124, 122, // 88-95
121, 122, 122, 121, 121, 122, 124, 125, // 96-103
129, 131, 134, 138, 137, 139, 141, 141, // 104-111
140, 137, 136, 133, 129, 125, 126, 119, // 112-119
119, 121, 117, 119, 119, 118, 118, 120, // 120-127
117, 116, 118, 116, 114, 113, 116, 129, // 128-135
129, 123, 142, 143, 144, 147, 148, 154, // 136-143
151, 140, 142, 139, 125, 118, 112, 112, // 144-151
111, 105, 112, 122, 119, 126, 135, 140, // 152-159
145, 140, 144, 146, 137, 133, 127, 120, // 160-167
114, 104, 105, 103,  93,  95,  95,  99, // 168-175
106, 124, 141, 136, 156, 168, 166, 168, // 176-183
160, 162, 154, 133, 125, 121, 107,  98, // 184-191
 93, 101, 106, 101, 116, 133, 142, 151, // 192-199
157, 160, 162, 149, 139, 134, 115, 104, // 200-207
 93,  93,  87,  77,  83,  89,  98, 105, // 208-215
123, 166, 170, 160, 184, 184, 178, 158, // 216-223
143, 143, 114,  87,  91,  91,  85,  85, // 224-231
 98, 125, 131, 134, 155, 168, 166, 162, // 232-239
162, 157, 139, 123, 115, 108,  99,  89, // 240-247
 91, 104,  99,  93, 101, 103, 109, 107, // 248-255
124, 166, 166, 149, 182, 178, 164, 144, // 256-263
133, 138, 115,  97,  98, 104, 107, 103, // 264-271
108, 134, 138, 136, 143, 152, 156, 148, // 272-279
143, 147, 142, 127, 117, 115, 112, 101, // 280-287
 93, 103, 106,  95,  93,  95, 103, 103, // 288-295
107, 140, 182, 172, 168, 184, 182, 162, // 296-303
130, 122, 114,  95,  83,  83, 101, 113, // 304-311
112, 130, 152, 153, 153, 148, 150, 151, // 312-319
137, 129, 132, 134, 125, 113, 116, 116, // 320-327
105,  97, 102, 106, 100,  97,  95, 102, // 328-335
106, 113, 143, 184, 184, 172, 184, 170, // 336-343
147, 115, 101,  95,  91,  87,  93, 119, // 344-351
138, 142, 151, 156, 153, 149, 129, 125, // 352-359
131, 125, 124, 130, 139, 137, 130, 119, // 360-367
114, 106,  95,  99, 100,  99,  99,  98, // 368-375
105, 112, 124, 152, 184, 184, 168, 180, // 376-383
152, 127, 102,  85,  89, 101, 105, 113, // 384-391
140, 152, 155, 151, 140, 137, 131, 112, // 392-399
116, 126, 138, 143, 145, 147, 142, 127, // 400-407
108,  99,  93,  93, 102, 106, 110, 111, // 408-415
106, 111, 115, 118, 134, 176, 184, 162, // 416-423
164, 151, 132, 115,  91,  93, 111, 117, // 424-431
119, 138, 144, 153, 147, 131, 128, 126, // 432-439
118, 120, 125, 138, 151, 148, 145, 139, // 440-447
124, 111, 100,  95, 100, 109, 115, 115, // 448-455
112, 111, 107, 106, 108, 112, 135, 184, // 456-463
184, 162, 166, 144, 131, 108,  81,  91, // 464-471
112, 121, 131, 139, 151, 162, 144, 130, // 472-479
119, 115, 118, 119, 126, 145, 153, 151, // 480-487
142, 124, 115, 106,  98,  98, 103, 115, // 488-495
121, 113, 110, 107, 108, 110, 108, 117, // 496-503
160, 184, 180, 162, 147, 130, 120,  91, // 504-511
 83,  98, 127, 141, 144, 146, 153, 149, // 512-519
139, 114, 105, 113, 121, 134, 144, 150, // 520-527
154, 147, 125, 112, 101, 101, 106, 105, // 528-535
112, 123, 120, 113, 105, 101, 107, 107, // 536-543
111, 134, 184, 184, 172, 162, 129, 121, // 544-551
108,  87,  87, 111, 135, 148, 153, 146, // 552-559
146, 144, 127, 111, 107, 112, 135, 144, // 560-567
143, 145, 143, 136, 122, 105, 101, 108, // 568-575
112, 112, 114, 114, 112, 110, 102, 102, // 576-583
107, 112, 126, 174, 184, 180, 168, 137, // 584-591
118, 112,  95,  87, 106, 125, 143, 157, // 592-599
147, 144, 143, 131, 120, 112, 111, 125, // 600-607
140, 144, 144, 140, 134, 129, 115, 106, // 608-615
105, 107, 111, 115, 112, 110, 108, 104, // 616-623
107, 108, 110, 121, 166, 184, 184, 170, // 624-631
139, 118, 118, 103,  93,  99, 116, 138, // 632-639
158, 149, 143, 138, 131, 127, 119, 112, // 640-647
118, 133, 143, 146, 140, 132, 129, 121, // 648-655
114, 109, 104, 106, 112, 115, 112, 109, // 656-663
103, 105, 110, 112, 118, 143, 184, 184, // 664-671
180, 155, 121, 116, 111, 105, 105, 108, // 672-679
116, 143, 149, 149, 144, 132, 130, 132, // 680-687
125, 122, 122, 125, 136, 140, 136, 131, // 688-695
123, 120, 118, 112, 105, 103, 106, 110, // 696-703
111, 105, 104, 106, 111, 123, 151, 184, // 704-711
184, 180, 156, 130, 119, 110, 105, 104, // 712-719
107, 113, 134, 142, 149, 147, 139, 134, // 720-727
133, 129, 127, 123, 121, 128, 132, 135, // 728-735
135, 128, 122, 118, 112, 109, 105, 105, // 736-743
105, 107, 106, 106, 105, 107, 118, 151, // 744-751
184, 184, 184, 157, 134, 123, 112, 111, // 752-759
108, 102, 105, 116, 129, 144, 148, 143, // 760-767
141, 138, 138, 139, 132, 124, 119, 118, // 768-775
123, 128, 127, 124, 118, 114, 112, 112, // 776-783
111, 108, 106, 101, 101, 103, 106, 122, // 784-791
153, 174, 184, 184, 160, 147, 131, 121, // 792-799
119, 112, 105, 102, 101, 110, 123, 132, // 800-807
142, 143, 143, 146, 148, 145, 142, 129, // 808-815
119, 113, 112, 116, 118, 115, 112, 110, // 816-823
112, 116, 119, 121, 116, 115, 114, 114, // 824-831
121, 136, 143, 149, 151, 143, 139, 134, // 832-839
131, 134, 133, 130, 126, 121, 119, 123, // 840-847
124, 129, 129, 126, 125, 126, 128, 130, // 848-855
129, 128, 126, 126, 129, 130, 130, 129, // 856-863
125, 124, 124, 125, 128, 128, 129, 129, // 864-871
129, 129, 129, 125, 123, 120, 118, 116, // 872-879
115, 114, 114, 115, 117, 121, 126, 131, // 880-887
136, 140, 143, 143, 143, 142, 140, 136, // 888-895
132, 129, 125, 123, 122, 122, 123, 124, // 896-903
125, 126, 128, 129, 129, 129, 129, 128, // 904-911
126, 125, 125, 125, 125, 125, 125, 125, // 912-919
124, 124, 123, 121, 119, 119, 119, 120, // 920-927
121, 123, 124, 127, 129, 131, 133, 134, // 928-935
134, 134, 133, 132, 131, 130, 130, 130, // 936-943
129, 129, 129, 129, 130, 130, 130, 130, // 944-951
129, 128, 127, 126, 125, 125, 124, 124, // 952-959
123, 124, 124, 124, 125, 125, 126, 126, // 960-967
126, 127, 126, 126, 126, 125, 125, 125, // 968-975
124, 124, 123, 123, 123, 123, 124, 125, // 976-983
126, 128, 129, 130, 131, 131, 132, 132, // 984-991
132, 132, 131, 130, 130, 129, 129, 128, // 992-999
128, 128, 128, 128, 128, 126, 126, 126, // 1000-1007
125, 125, 125, 125, 125, 125, 125, 125, // 1008-1015
125, 124, 124, 124, 124, 123, 123, 124, // 1016-1023
124, 124, 125, 125, 125, 126, 128, 129, // 1024-1031
129, 130, 130, 130, 130, 130, 130, 129, // 1032-1039
129, 129, 128, 129, 127, 128, 127, 128, // 1040-1047
127, 128, 127, 128, 128, 127, 126, 126, // 1048-1055
125, 125, 125, 124, 124, 124, 124, 124, // 1056-1063
124, 124, 124, 124, 124, 125, 125, 127, // 1064-1071
127, 128, 128, 128, 128, 129, 129, 129, // 1072-1079
129, 129, 129, 129, 129, 129, 129, 129, // 1080-1087
129, 129, 129, 129, 127, 128, 127, 128, // 1088-1095
127, 128, 127, 126, 126, 125, 125, 125, // 1096-1103
125, 124, 124, 124, 124, 124, 124, 124, // 1104-1111
124, 125, 126, 128, 127, 129, 129, 129, // 1112-1119
129, 129, 129, 130, 130, 130, 130, 129, // 1120-1127
129, 129, 129, 129, 129, 128, 127, 128, // 1128-1135
127, 128, 127, 128, 127, 128, 128, 126, // 1136-1143
126, 125, 125, 125, 125, 124, 124, 124, // 1144-1151
124, 123, 123, 123, 123, 124, 126, 128, // 1152-1159
129, 129, 129, 129, 130, 131, 131, 132, // 1160-1167
131, 130, 130, 129, 129, 129, 128, 128, // 1168-1175
127, 125, 125, 127, 127, 128, 127, 128, // 1176-1183
128, 127, 126, 126, 125, 125, 124, 123, // 1184-1191
121, 121, 121, 121, 119, 118, 117, 120, // 1192-1199
125, 131, 136, 136, 135, 133, 131, 135, // 1200-1207
135, 137, 135, 131, 128, 124, 124, 128, // 1208-1215
127, 129, 126, 123, 124, 125, 129, 131, // 1216-1223
131, 130, 128, 126, 126, 124, 123, 120, // 1224-1231
116, 115, 113, 115, 114, 112, 111, 109, // 1232-1239
116, 130, 141, 156, 153, 152, 144, 138, // 1240-1247
140, 138, 139, 133, 122, 114, 111, 111, // 1248-1255
119, 123, 130, 129, 127, 130, 132, 139, // 1256-1263
140, 139, 134, 127, 122, 121, 120, 119, // 1264-1271
114, 110, 107, 107, 111, 112, 112, 109, // 1272-1279
110, 119, 136, 152, 168, 166, 160, 148, // 1280-1287
140, 140, 137, 138, 129, 116, 107, 101, // 1288-1295
105, 114, 121, 130, 130, 131, 134, 139, // 1296-1303
146, 149, 147, 140, 129, 120, 115, 114, // 1304-1311
112, 108, 105, 102, 103, 107, 109, 112, // 1312-1319
109, 111, 121, 139, 155, 170, 170, 164, // 1320-1327
149, 140, 139, 136, 136, 128, 114, 104, // 1328-1335
 97, 101, 111, 119, 130, 131, 134, 137, // 1336-1343
142, 149, 154, 152, 144, 134, 122, 115, // 1344-1351
112, 111, 107, 104, 101, 102, 106, 110, // 1352-1359
112, 112, 111, 114, 129, 144, 160, 170, // 1360-1367
164, 156, 143, 138, 138, 136, 134, 123, // 1368-1375
111, 102,  98, 106, 115, 125, 132, 132, // 1376-1383
135, 138, 145, 152, 156, 151, 142, 130, // 1384-1391
119, 113, 112, 109, 106, 103, 102, 104, // 1392-1399
108, 112, 114, 114, 112, 115, 130, 145, // 1400-1407
160, 166, 160, 152, 141, 137, 138, 136, // 1408-1415
134, 122, 110, 104, 101, 110, 117, 125, // 1416-1423
130, 130, 133, 137, 145, 153, 155, 150, // 1424-1431
140, 127, 119, 114, 113, 111, 107, 103, // 1432-1439
102, 106, 110, 114, 115, 114, 112, 116, // 1440-1447
128, 144, 156, 164, 157, 151, 142, 138, // 1448-1455
139, 139, 136, 125, 113, 107, 104, 110, // 1456-1463
116, 123, 128, 126, 130, 135, 143, 151, // 1464-1471
152, 149, 140, 130, 122, 118, 116, 112, // 1472-1479
109, 105, 103, 105, 110, 112, 115, 114, // 1480-1487
113, 114, 123, 139, 150, 160, 158, 151, // 1488-1495
144, 140, 141, 141, 139, 131, 119, 111, // 1496-1503
106, 108, 114, 118, 123, 123, 124, 131, // 1504-1511
138, 147, 151, 150, 143, 135, 126, 121, // 1512-1519
119, 115, 111, 106, 103, 103, 107, 111, // 1520-1527
113, 114, 112, 113, 119, 134, 147, 157, // 1528-1535
160, 154, 148, 143, 142, 143, 140, 135, // 1536-1543
124, 114, 108, 107, 112, 116, 119, 121, // 1544-1551
121, 128, 134, 143, 149, 150, 146, 139, // 1552-1559
131, 125, 121, 119, 114, 109, 105, 103, // 1560-1567
106, 110, 112, 112, 112, 112, 114, 124, // 1568-1575
139, 149, 156, 155, 150, 146, 143, 144, // 1576-1583
143, 140, 133, 120, 112, 110, 111, 114, // 1584-1591
116, 118, 119, 121, 127, 135, 143, 148, // 1592-1599
147, 143, 137, 132, 128, 123, 119, 112, // 1600-1607
108, 106, 106, 108, 111, 112, 112, 112, // 1608-1615
112, 115, 124, 137, 146, 152, 152, 148, // 1616-1623
146, 144, 146, 144, 142, 134, 123, 116, // 1624-1631
112, 112, 114, 115, 115, 116, 119, 125, // 1632-1639
134, 140, 144, 145, 143, 140, 136, 133, // 1640-1647
127, 121, 115, 110, 107, 107, 109, 111, // 1648-1655
111, 111, 111, 112, 114, 120, 131, 141, // 1656-1663
147, 149, 148, 148, 146, 147, 147, 144, // 1664-1671
139, 130, 122, 117, 114, 114, 114, 114, // 1672-1679
115, 116, 120, 128, 134, 140, 143, 143, // 1680-1687
143, 140, 136, 133, 126, 120, 114, 111, // 1688-1695
110, 110, 110, 110, 110, 110, 111, 112, // 1696-1703
115, 123, 133, 140, 146, 148, 148, 148, // 1704-1711
147, 148, 146, 143, 138, 130, 123, 118, // 1712-1719
115, 114, 113, 113, 113, 115, 120, 125, // 1720-1727
133, 138, 142, 143, 143, 142, 139, 134, // 1728-1735
129, 121, 116, 112, 112, 111, 111, 110, // 1736-1743
110, 110, 111, 112, 114, 119, 127, 135, // 1744-1751
142, 145, 146, 147, 147, 148, 148, 145, // 1752-1759
143, 136, 129, 124, 119, 116, 115, 112, // 1760-1767
112, 112, 114, 119, 125, 133, 138, 141, // 1768-1775
143, 143, 142, 139, 135, 129, 122, 118, // 1776-1783
115, 112, 112, 111, 109, 108, 109, 111, // 1784-1791
112, 114, 119, 127, 134, 140, 143, 144, // 1792-1799
147, 147, 148, 148, 146, 143, 138, 131, // 1800-1807
126, 121, 118, 114, 112, 111, 111, 112, // 1808-1815
117, 122, 129, 134, 139, 142, 143, 143, // 1816-1823
141, 137, 132, 128, 123, 119, 116, 114, // 1824-1831
112, 110, 108, 109, 110, 111, 112, 114, // 1832-1839
120, 127, 134, 139, 141, 143, 144, 147, // 1840-1847
149, 149, 146, 143, 138, 134, 129, 124, // 1848-1855
119, 114, 111, 110, 111, 112, 116, 120, // 1856-1863
124, 129, 134, 138, 140, 142, 140, 137, // 1864-1871
134, 131, 129, 125, 121, 117, 114, 112, // 1872-1879
111, 111, 110, 110, 110, 114, 119, 124, // 1880-1887
130, 134, 136, 140, 145, 147, 149, 148, // 1888-1895
147, 144, 142, 139, 134, 128, 121, 116, // 1896-1903
114, 112, 112, 112, 114, 116, 120, 125, // 1904-1911
130, 133, 135, 136, 137, 137, 135, 134, // 1912-1919
131, 129, 125, 122, 119, 116, 114, 112, // 1920-1927
112, 112, 112, 116, 119, 121, 124, 129, // 1928-1935
133, 136, 140, 142, 143, 144, 144, 143, // 1936-1943
142, 138, 134, 130, 126, 123, 120, 118, // 1944-1951
117, 117, 118, 119, 120, 121, 124, 126, // 1952-1959
129, 130, 131, 132, 133, 133, 133, 131, // 1960-1967
131, 130, 129, 126, 124, 122, 120, 119, // 1968-1975
118, 117, 117, 118, 118, 119, 120, 122, // 1976-1983
124, 128, 130, 133, 134, 136, 137, 138, // 1984-1991
137, 136, 135, 134, 133, 132, 131, 130, // 1992-1999
129, 128, 125, 125, 124, 124, 124, 124, // 2000-2007
124, 124, 125, 126, 129, 127, 128, 130, // 2008-2015
129, 130, 129, 129, 128, 126, 125, 123, // 2016-2023
121, 119, 119, 118, 118, 118, 118, 119, // 2024-2031
120, 123, 125, 128, 130, 133, 135, 136, // 2032-2039
137, 138, 138, 137, 136, 135, 133, 132, // 2040-2047
130, 129, 128, 125, 125, 124, 124, 124, // 2048-2055
124, 124, 125, 125, 126, 128, 127, 128, // 2056-2063
129, 129, 129, 129, 129, 128, 128, 125, // 2064-2071
125, 124, 122, 121, 120, 119, 117, 118, // 2072-2079
118, 117, 118, 120, 122, 124, 128, 130, // 2080-2087
134, 136, 138, 140, 140, 140, 139, 138, // 2088-2095
137, 135, 132, 130, 128, 125, 123, 122, // 2096-2103
122, 121, 120, 121, 122, 122, 124, 125, // 2104-2111
128, 129, 130, 131, 131, 131, 131, 131, // 2112-2119
129, 128, 125, 123, 120, 118, 116, 114, // 2120-2127
113, 112, 112, 113, 116, 115, 119, 125, // 2128-2135
124, 131, 136, 138, 142, 143, 144, 146, // 2136-2143
144, 143, 143, 138, 136, 133, 127, 125, // 2144-2151
123, 120, 119, 117, 117, 118, 117, 120, // 2152-2159
121, 121, 126, 126, 130, 133, 132, 135, // 2160-2167
135, 134, 135, 131, 130, 128, 122, 120, // 2168-2175
116, 112, 112, 110, 108, 109, 110, 113, // 2176-2183
114, 118, 126, 124, 134, 140, 139, 146, // 2184-2191
149, 147, 151, 150, 148, 146, 142, 138, // 2192-2199
133, 129, 125, 119, 118, 116, 112, 114, // 2200-2207
113, 113, 117, 117, 121, 124, 126, 132, // 2208-2215
132, 136, 137, 136, 139, 135, 135, 133, // 2216-2223
128, 125, 120, 115, 114, 110, 107, 107, // 2224-2231
106, 107, 112, 112, 115, 125, 125, 133, // 2232-2239
142, 140, 148, 151, 150, 153, 152, 149, // 2240-2247
148, 143, 140, 135, 130, 124, 119, 117, // 2248-2255
112, 112, 112, 110, 112, 113, 115, 120, // 2256-2263
121, 126, 131, 132, 137, 137, 139, 140, // 2264-2271
137, 138, 134, 130, 128, 121, 116, 114, // 2272-2279
110, 107, 106, 105, 106, 108, 112, 114, // 2280-2287
119, 129, 128, 139, 143, 143, 153, 152, // 2288-2295
153, 156, 153, 149, 148, 143, 138, 133, // 2296-2303
128, 120, 116, 114, 110, 110, 110, 108, // 2304-2311
112, 112, 114, 121, 123, 127, 133, 134, // 2312-2319
137, 141, 140, 141, 140, 138, 135, 131, // 2320-2327
125, 121, 116, 112, 110, 107, 105, 105, // 2328-2335
106, 106, 111, 114, 118, 122, 133, 133, // 2336-2343
142, 148, 145, 156, 156, 155, 156, 153, // 2344-2351
149, 145, 140, 134, 128, 122, 115, 112, // 2352-2359
110, 106, 107, 107, 108, 111, 113, 117, // 2360-2367
121, 128, 130, 135, 139, 139, 143, 143, // 2368-2375
140, 142, 138, 134, 131, 124, 120, 116, // 2376-2383
111, 109, 106, 104, 105, 105, 107, 110, // 2384-2391
113, 118, 124, 126, 137, 141, 142, 154, // 2392-2399
148, 155, 158, 153, 155, 151, 146, 142, // 2400-2407
135, 129, 121, 116, 112, 107, 107, 104, // 2408-2415
105, 108, 108, 112, 117, 119, 126, 131, // 2416-2423
135, 139, 142, 144, 142, 147, 142, 139, // 2424-2431
141, 130, 130, 124, 116, 115, 111, 106, // 2432-2439
106, 104, 105, 106, 109, 111, 114, 119, // 2440-2447
122, 131, 135, 136, 148, 143, 151, 155, // 2448-2455
148, 158, 151, 150, 147, 143, 136, 131, // 2456-2463
124, 118, 112, 111, 106, 105, 106, 105, // 2464-2471
110, 112, 115, 121, 125, 130, 135, 139, // 2472-2479
143, 144, 146, 145, 143, 143, 139, 136, // 2480-2487
133, 125, 122, 118, 112, 111, 108, 106, // 2488-2495
106, 107, 108, 111, 113, 116, 119, 123, // 2496-2503
128, 132, 138, 136, 144, 146, 141, 155, // 2504-2511
144, 147, 151, 143, 143, 141, 133, 129, // 2512-2519
124, 118, 113, 111, 109, 106, 109, 110, // 2520-2527
112, 116, 119, 123, 130, 133, 136, 140, // 2528-2535
142, 143, 144, 144, 141, 141, 138, 133, // 2536-2543
131, 125, 120, 118, 113, 112, 110, 108, // 2544-2551
108, 110, 112, 112, 115, 118, 120, 123, // 2552-2559
125, 128, 133, 136, 134, 142, 143, 138, // 2560-2567
150, 143, 143, 148, 142, 141, 140, 133, // 2568-2575
129, 124, 118, 115, 112, 112, 109, 112, // 2576-2583
112, 114, 119, 123, 125, 131, 135, 137, // 2584-2591
140, 142, 143, 142, 143, 140, 136, 136, // 2592-2599
129, 126, 124, 118, 116, 114, 111, 112, // 2600-2607
111, 111, 112, 113, 115, 117, 119, 121, // 2608-2615
122, 124, 125, 129, 133, 134, 133, 143, // 2616-2623
138, 140, 149, 140, 145, 147, 140, 140, // 2624-2631
138, 130, 127, 121, 117, 113, 112, 111, // 2632-2639
110, 112, 115, 116, 122, 126, 130, 135, // 2640-2647
138, 139, 143, 143, 142, 142, 139, 135, // 2648-2655
134, 129, 124, 122, 118, 115, 114, 112, // 2656-2663
112, 112, 112, 113, 115, 117, 118, 120, // 2664-2671
121, 121, 124, 124, 125, 130, 133, 131, // 2672-2679
136, 143, 135, 146, 146, 140, 148, 144, // 2680-2687
139, 140, 134, 127, 124, 118, 115, 111, // 2688-2695
111, 111, 111, 114, 118, 119, 125, 131, // 2696-2703
133, 138, 141, 142, 143, 143, 141, 138, // 2704-2711
136, 132, 126, 125, 120, 117, 116, 114, // 2712-2719
112, 114, 113, 114, 116, 117, 119, 120, // 2720-2727
121, 123, 122, 123, 124, 121, 125, 126, // 2728-2735
130, 131, 133, 143, 136, 143, 148, 142, // 2736-2743
146, 147, 140, 139, 136, 128, 123, 118, // 2744-2751
114, 111, 110, 111, 111, 112, 119, 121, // 2752-2759
125, 133, 136, 139, 143, 143, 143, 142, // 2760-2767
140, 135, 134, 130, 124, 122, 119, 116, // 2768-2775
115, 115, 115, 115, 117, 118, 119, 121, // 2776-2783
123, 123, 124, 124, 123, 122, 121, 119, // 2784-2791
120, 121, 124, 130, 129, 136, 142, 137, // 2792-2799
147, 147, 144, 147, 146, 140, 138, 132, // 2800-2807
124, 119, 114, 112, 109, 108, 111, 112, // 2808-2815
115, 122, 125, 131, 136, 140, 142, 143, // 2816-2823
143, 142, 140, 136, 133, 129, 124, 120, // 2824-2831
119, 116, 115, 116, 116, 118, 119, 120, // 2832-2839
122, 123, 124, 125, 124, 124, 121, 120, // 2840-2847
119, 116, 116, 117, 119, 125, 128, 130, // 2848-2855
142, 142, 142, 151, 148, 147, 149, 144, // 2856-2863
139, 135, 128, 121, 114, 111, 110, 107, // 2864-2871
107, 112, 114, 118, 126, 131, 135, 141, // 2872-2879
143, 143, 143, 143, 140, 137, 132, 128, // 2880-2887
124, 119, 118, 116, 115, 116, 118, 118, // 2888-2895
120, 122, 124, 125, 125, 125, 125, 123, // 2896-2903
122, 120, 117, 116, 114, 114, 115, 118, // 2904-2911
125, 129, 131, 143, 143, 143, 153, 151, // 2912-2919
148, 148, 144, 138, 132, 124, 119, 112, // 2920-2927
108, 108, 107, 106, 112, 116, 120, 127, // 2928-2935
135, 139, 142, 144, 145, 144, 142, 139, // 2936-2943
135, 129, 124, 121, 116, 115, 116, 115, // 2944-2951
116, 119, 121, 123, 124, 125, 128, 126, // 2952-2959
126, 125, 123, 120, 118, 116, 114, 112, // 2960-2967
113, 115, 118, 125, 131, 133, 143, 147, // 2968-2975
146, 152, 152, 149, 147, 143, 137, 131, // 2976-2983
121, 116, 112, 107, 106, 108, 108, 112, // 2984-2991
119, 124, 130, 136, 141, 143, 145, 144, // 2992-2999
143, 141, 136, 133, 126, 121, 119, 116, // 3000-3007
114, 115, 116, 118, 120, 123, 125, 127, // 3008-3015
127, 129, 129, 127, 125, 122, 120, 117, // 3016-3023
115, 114, 112, 112, 115, 119, 125, 133, // 3024-3031
135, 143, 149, 148, 151, 154, 149, 144, // 3032-3039
142, 135, 129, 119, 114, 112, 107, 105, // 3040-3047
108, 111, 113, 120, 126, 133, 138, 142, // 3048-3055
144, 146, 143, 143, 140, 134, 129, 125, // 3056-3063
120, 117, 115, 114, 116, 117, 119, 123, // 3064-3071
125, 127, 130, 130, 130, 129, 126, 124, // 3072-3079
122, 118, 116, 114, 113, 112, 112, 115, // 3080-3087
118, 125, 133, 136, 142, 149, 148, 150, // 3088-3095
152, 149, 144, 141, 135, 129, 121, 114, // 3096-3103
112, 110, 106, 108, 112, 115, 120, 126, // 3104-3111
133, 138, 142, 143, 145, 143, 141, 138, // 3112-3119
134, 128, 123, 120, 117, 116, 115, 116, // 3120-3127
119, 121, 124, 128, 130, 130, 131, 130, // 3128-3135
129, 126, 123, 121, 119, 115, 113, 112, // 3136-3143
112, 112, 114, 116, 121, 130, 136, 139, // 3144-3151
143, 150, 148, 149, 149, 147, 143, 136, // 3152-3159
131, 125, 119, 112, 111, 111, 109, 111, // 3160-3167
114, 119, 124, 129, 135, 140, 142, 142, // 3168-3175
143, 142, 138, 133, 130, 124, 120, 117, // 3176-3183
116, 117, 117, 119, 123, 125, 128, 130, // 3184-3191
132, 133, 131, 130, 128, 125, 121, 118, // 3192-3199
116, 114, 112, 112, 112, 113, 115, 116, // 3200-3207
121, 128, 134, 139, 142, 145, 149, 147, // 3208-3215
146, 145, 143, 138, 133, 128, 123, 118, // 3216-3223
112, 112, 112, 112, 114, 118, 123, 127, // 3224-3231
132, 136, 140, 142, 140, 139, 138, 134, // 3232-3239
129, 124, 121, 119, 116, 117, 119, 121, // 3240-3247
123, 128, 130, 133, 134, 134, 134, 131, // 3248-3255
129, 125, 122, 119, 116, 114, 113, 112, // 3256-3263
112, 113, 115, 116, 119, 123, 128, 133, // 3264-3271
140, 142, 143, 147, 147, 144, 143, 142, // 3272-3279
138, 134, 127, 123, 121, 116, 112, 114, // 3280-3287
115, 115, 118, 123, 129, 132, 134, 137, // 3288-3295
140, 139, 137, 135, 133, 129, 124, 120, // 3296-3303
119, 118, 117, 119, 123, 125, 129, 132, // 3304-3311
134, 135, 135, 134, 133, 130, 125, 121, // 3312-3319
119, 116, 114, 113, 113, 114, 114, 115, // 3320-3327
118, 120, 121, 124, 127, 133, 138, 140, // 3328-3335
140, 143, 144, 143, 141, 140, 138, 134, // 3336-3343
130, 125, 124, 120, 116, 116, 118, 118, // 3344-3351
119, 122, 126, 130, 133, 134, 137, 137, // 3352-3359
135, 133, 131, 127, 124, 120, 119, 119, // 3360-3367
119, 120, 123, 127, 130, 133, 135, 136, // 3368-3375
136, 134, 132, 130, 127, 122, 119, 118, // 3376-3383
116, 114, 114, 115, 116, 116, 118, 120, // 3384-3391
122, 124, 124, 128, 130, 134, 138, 137, // 3392-3399
139, 143, 141, 140, 139, 139, 136, 134, // 3400-3407
129, 128, 124, 120, 118, 118, 119, 119, // 3408-3415
120, 123, 127, 130, 131, 133, 135, 134, // 3416-3423
132, 130, 129, 125, 123, 121, 121, 121, // 3424-3431
121, 123, 125, 129, 132, 134, 134, 135, // 3432-3439
135, 133, 130, 127, 123, 121, 119, 116, // 3440-3447
116, 116, 115, 116, 118, 119, 120, 121, // 3448-3455
123, 124, 124, 125, 128, 129, 134, 135, // 3456-3463
134, 139, 141, 140, 139, 140, 139, 136, // 3464-3471
133, 129, 127, 123, 119, 117, 118, 118, // 3472-3479
118, 120, 123, 128, 129, 130, 133, 134, // 3480-3487
133, 131, 130, 127, 125, 123, 122, 123, // 3488-3495
123, 124, 125, 128, 131, 133, 134, 134, // 3496-3503
134, 133, 130, 127, 125, 123, 120, 119, // 3504-3511
118, 118, 117, 118, 118, 119, 120, 121, // 3512-3519
121, 123, 123, 123, 124, 125, 130, 134, // 3520-3527
135, 136, 140, 142, 141, 141, 141, 139, // 3528-3535
136, 132, 128, 125, 121, 118, 116, 116, // 3536-3543
117, 118, 120, 124, 128, 130, 132, 134, // 3544-3551
134, 134, 132, 130, 128, 125, 123, 123, // 3552-3559
123, 123, 124, 125, 129, 131, 132, 133, // 3560-3567
135, 134, 132, 130, 129, 125, 123, 120, // 3568-3575
120, 119, 118, 118, 119, 120, 120, 121, // 3576-3583
121, 122, 123, 122, 122, 122, 123, 125, // 3584-3591
130, 134, 135, 138, 142, 142, 142, 142, // 3592-3599
140, 138, 135, 130, 126, 123, 119, 116, // 3600-3607
115, 116, 117, 119, 121, 125, 129, 131, // 3608-3615
133, 134, 134, 133, 131, 129, 127, 125, // 3616-3623
124, 123, 123, 124, 125, 128, 129, 131, // 3624-3631
133, 133, 133, 133, 131, 129, 126, 124, // 3632-3639
122, 121, 119, 119, 119, 119, 120, 120, // 3640-3647
121, 122, 122, 122, 123, 123, 121, 121, // 3648-3655
122, 124, 129, 133, 135, 137, 141, 143, // 3656-3663
143, 142, 141, 139, 136, 132, 128, 123, // 3664-3671
120, 117, 115, 115, 116, 118, 120, 123, // 3672-3679
128, 131, 132, 133, 134, 134, 133, 130, // 3680-3687
129, 127, 125, 124, 124, 124, 125, 128, // 3688-3695
129, 130, 131, 132, 132, 131, 130, 129, // 3696-3703
126, 124, 122, 121, 120, 120, 119, 120, // 3704-3711
120, 121, 122, 123, 123, 123, 123, 123, // 3712-3719
122, 122, 122, 123, 126, 130, 134, 135, // 3720-3727
138, 142, 142, 142, 141, 139, 137, 134, // 3728-3735
129, 124, 121, 119, 116, 115, 115, 118, // 3736-3743
120, 122, 125, 129, 131, 133, 134, 133, // 3744-3751
133, 131, 130, 127, 126, 125, 124, 124, // 3752-3759
125, 126, 127, 129, 130, 131, 131, 131, // 3760-3767
130, 129, 126, 124, 123, 121, 120, 120, // 3768-3775
120, 120, 120, 121, 123, 123, 123, 124, // 3776-3783
124, 124, 123, 123, 122, 123, 124, 128, // 3784-3791
132, 135, 136, 139, 141, 142, 141, 139, // 3792-3799
138, 135, 132, 128, 123, 120, 118, 116, // 3800-3807
116, 116, 119, 121, 123, 126, 130, 131, // 3808-3815
133, 133, 133, 132, 131, 130, 128, 125, // 3816-3823
125, 125, 125, 125, 126, 127, 129, 130, // 3824-3831
131, 130, 130, 129, 128, 125, 124, 123, // 3832-3839
121, 121, 121, 121, 121, 121, 122, 123, // 3840-3847
124, 124, 124, 124, 124, 124, 123, 122, // 3848-3855
123, 125, 130, 133, 134, 136, 139, 141, // 3856-3863
141, 140, 138, 136, 134, 130, 125, 122, // 3864-3871
120, 118, 117, 116, 117, 120, 122, 125, // 3872-3879
128, 130, 132, 134, 134, 133, 132, 131, // 3880-3887
130, 127, 125, 125, 125, 125, 125, 128, // 3888-3895
127, 129, 130, 130, 130, 129, 127, 126, // 3896-3903
125, 123, 122, 121, 121, 121, 121, 121, // 3904-3911
122, 123, 124, 124, 124, 124, 124, 124, // 3912-3919
124, 123, 123, 124, 126, 130, 133, 135, // 3920-3927
136, 139, 140, 140, 139, 137, 135, 133, // 3928-3935
130, 125, 121, 119, 118, 118, 118, 119, // 3936-3943
120, 123, 125, 129, 130, 132, 133, 133, // 3944-3951
133, 131, 130, 129, 128, 126, 125, 125, // 3952-3959
125, 126, 128, 127, 129, 129, 129, 129, // 3960-3967
127, 126, 125, 124, 123, 122, 121, 121, // 3968-3975
121, 122, 122, 123, 123, 124, 124, 124, // 3976-3983
124, 124, 124, 124, 123, 123, 124, 127, // 3984-3991
131, 133, 135, 136, 138, 139, 139, 138, // 3992-3999
136, 134, 131, 129, 124, 121, 119, 118, // 4000-4007
118, 119, 120, 121, 123, 126, 129, 131, // 4008-4015
131, 132, 132, 132, 131, 129, 128, 126, // 4016-4023
125, 125, 125, 125, 127, 127, 129, 129, // 4024-4031
129, 129, 129, 127, 126, 125, 124, 123, // 4032-4039
122, 122, 122, 122, 122, 123, 123, 124, // 4040-4047
125, 125, 124, 124, 124, 124, 124, 124, // 4048-4055
124, 126, 130, 133, 134, 135, 136, 138, // 4056-4063
138, 138, 136, 134, 131, 129, 126, 124, // 4064-4071
121, 119, 119, 119, 120, 121, 123, 125, // 4072-4079
128, 130, 131, 131, 131, 131, 130, 130, // 4080-4087
129, 127, 125, 125, 125, 126, 127, 128, // 4088-4095
128, 129, 129, 129, 129, 128, 126, 125, // 4096-4103
124, 123, 123, 122, 122, 122, 123, 123, // 4104-4111
124, 124, 124, 125, 125, 124, 124, 124, // 4112-4119
124, 124, 124, 125, 129, 131, 134, 135, // 4120-4127
136, 136, 137, 137, 136, 134, 132, 130, // 4128-4135
128, 125, 123, 121, 120, 120, 121, 122, // 4136-4143
124, 125, 127, 129, 130, 131, 131, 130, // 4144-4151
130, 129, 128, 127, 126, 126, 125, 126, // 4152-4159
127, 128, 129, 129, 129, 129, 128, 127, // 4160-4167
125, 125, 124, 123, 123, 122, 122, 122, // 4168-4175
122, 123, 123, 124, 124, 124, 124, 125, // 4176-4183
125, 125, 125, 125, 126, 129, 131, 133, // 4184-4191
134, 135, 136, 136, 136, 135, 134, 133, // 4192-4199
130, 128, 125, 124, 123, 121, 121, 121, // 4200-4207
122, 124, 125, 126, 127, 129, 130, 130, // 4208-4215
130, 130, 129, 127, 128, 126, 126, 126, // 4216-4223
126, 126, 127, 128, 129, 129, 127, 128, // 4224-4231
127, 125, 125, 124, 123, 123, 122, 122, // 4232-4239
122, 123, 123, 124, 124, 124, 125, 125, // 4240-4247
125, 125, 125, 126, 127, 128, 129, 130, // 4248-4255
132, 133, 134, 135, 135, 135, 135, 134, // 4256-4263
133, 131, 129, 128, 125, 124, 123, 123, // 4264-4271
122, 123, 123, 124, 125, 126, 128, 127, // 4272-4279
128, 127, 128, 127, 126, 125, 125, 125, // 4280-4287
125, 125, 125, 125, 126, 126, 126, 126, // 4288-4295
125, 125, 124, 124, 123, 123, 123, 122, // 4296-4303
122, 123, 123, 124, 125, 126, 127, 129, // 4304-4311
130, 131, 133, 134, 134, 135, 135, 134, // 4312-4319
134, 133, 132, 131, 130, 129, 128, 126, // 4320-4327
125, 124, 124, 124, 124, 125, 125, 126, // 4328-4335
127, 128, 127, 128, 127, 128, 126, 125, // 4336-4343
125, 125, 124, 124, 124, 124, 125, 125, // 4344-4351
125, 125, 125, 125, 125, 125, 125, 125, // 4352-4359
125, 125, 125, 125, 124, 124, 125, 125, // 4360-4367
125, 126, 127, 128, 127, 129, 128, 130, // 4368-4375
130, 130, 130, 130, 130, 130, 130, 130, // 4376-4383
130, 130, 130, 130, 130, 130, 130, 129, // 4384-4391
129, 129, 129, 127, 128, 127, 126, 125, // 4392-4399
125, 125, 124, 124, 124, 124, 124, 124, // 4400-4407
124, 125, 125, 125, 125, 125, 126, 126, // 4408-4415
126, 127, 128, 128, 127, 128, 127, 128, // 4416-4423
127, 128, 128, 126, 126, 126, 126, 126, // 4424-4431
126, 126, 127, 128, 127, 128, 128, 129, // 4432-4439
129, 129, 129, 129, 129, 129, 129, 129, // 4440-4447
129, 129, 128, 129, 129, 128, 129, 128, // 4448-4455
128, 127, 128, 127, 128, 127, 128, 126, // 4456-4463
126, 126, 126, 126, 126, 126, 126, 126, // 4464-4471
127, 128, 127, 128, 128, 127, 128, 127, // 4472-4479
128, 127, 126, 126, 126, 126, 126, 126, // 4480-4487
126, 126, 126, 126, 126, 127, 126, 126, // 4488-4495
126, 126, 126, 126, 126, 126, 126, 126, // 4496-4503
126, 126, 126, 127, 128, 127, 128, 127, // 4504-4511
128, 128, 127, 128, 127, 128, 127, 128, // 4512-4519
128, 127, 128, 127, 128, 127, 128, 127, // 4520-4527
128, 127, 128, 127, 128, 128, 127, 128, // 4528-4535
128, 127, 128, 127, 128, 127, 128, 127, // 4536-4543
128, 128, 127, 128, 127, 128, 127, 128, // 4544-4551
128, 128, 128, 127, 128, 127, 128, 126, // 4552-4559
126, 126, 126, 126, 126, 126, 126, 126, // 4560-4567
126, 126, 128, 128, 127, 128, 127, 128, // 4568-4575
127, 128, 127, 128, 127, 128, 128, 128, // 4576-4583
127, 128, 127, 128, 127, 126, 126, 126, // 4584-4591
127, 128, 127, 126, 126, 126, 127, 128, // 4592-4599
127, 128, 128, 126, 126, 127, 128, 127, // 4600-4607
128, 128, 127, 128, 127, 128, 128, 127, // 4608-4615
128, 127, 128, 127, 128, 128, 127, 128, // 4616-4623
126, 128, 128, 128, 127, 128, 128, 128, // 4624-4631
128, 128, 127, 128, 128, 127, 128, 127, // 4632-4639
128, 127, 128, 127, 128, 127, 128, 128, // 4640-4647
127, 128, 128, 127, 128, 128, 127, 128, // 4648-4655
127, 128, 127, 128, 127, 128, 128, 127, // 4656-4663
128, 127, 128, 128, 126, 127, 128, 127, // 4664-4671
128, 127, 128, 128, 127, 128, 127, 128, // 4672-4679
127, 128, 127, 128, 127, 128, 127, 128, // 4680-4687
127, 128, 127, 128, 127, 128, 128, 127, // 4688-4695
128, 127, 128, 128, 128, 128, 127, 128, // 4696-4703
127, 128, 127, 128, 127, 128, 127, 128, // 4704-4711
127, 128, 127, 128, 127, 128, 128, 127, // 4712-4719
126, 127, 128, 128, 127, 128, 126, 126, // 4720-4727
128, 127, 128, 127, 128, 128, 127, 128, // 4728-4735
127, 128, 127, 128, 127, 128, 127, 128, // 4736-4743
127, 128, 127, 128, 127, 128, 128, 127, // 4744-4751
128, 127, 128, 127, 128, 127, 128, 127, // 4752-4759
127, 126, 128, 127, 128, 127, 128, 126, // 4760-4767
128, 127, 127, 128, 127, 128, 127, 128, // 4768-4775
127, 128, 127, 126, 126};

const char X[3718] = {127, 128, 127, 128, 127, 128, 128, 128, // 0-7
127, 128, 128, 127, 128, 127, 128, 127, // 8-15
128, 128, 127, 128, 127, 128, 127, 129, // 16-23
129, 130, 132, 140, 160, 143, 108, 135, // 24-31
119,  95, 117, 129, 134, 121, 126, 125, // 32-39
 98,  93, 105,  89, 103, 118, 122, 148, // 40-47
182, 184, 143, 147, 137,  99,  97, 113, // 48-55
131, 134, 148, 162, 155, 131, 117, 112, // 56-63
101,  99, 116, 135, 144, 149, 153, 148, // 64-71
133, 122, 115, 114, 120, 126, 138, 141, // 72-79
136, 133, 120, 110,  99,  93,  95,  99, // 80-87
100, 112, 124, 133, 146, 172, 172, 130, // 88-95
139, 136, 103, 111, 123, 138, 138, 143, // 96-103
152, 146, 121, 118, 117, 109, 112, 125, // 104-111
137, 142, 146, 147, 143, 124, 119, 120, // 112-119
119, 125, 131, 134, 135, 128, 124, 114, // 120-127
101, 101, 103, 101, 100, 106, 116, 129, // 128-135
143, 172, 182, 134, 136, 139,  97, 104, // 136-143
116, 135, 140, 143, 156, 149, 120, 115, // 144-151
114, 107, 112, 123, 141, 147, 148, 149, // 152-159
143, 125, 121, 123, 121, 121, 130, 133, // 160-167
130, 125, 121, 111,  99, 101, 102,  99, // 168-175
 98, 105, 119, 129, 148, 184, 182, 134, // 176-183
142, 133,  91, 103, 116, 138, 142, 148, // 184-191
160, 147, 118, 112, 108, 103, 108, 123, // 192-199
143, 148, 149, 149, 143, 125, 119, 128, // 200-207
120, 120, 131, 131, 127, 120, 118, 108, // 208-215
103, 105, 102, 101,  97, 105, 119, 131, // 216-223
155, 184, 178, 130, 147, 120,  89, 103, // 224-231
118, 142, 142, 152, 162, 144, 114, 112, // 232-239
107, 101, 110, 130, 146, 149, 150, 148, // 240-247
137, 124, 121, 126, 125, 121, 131, 130, // 248-255
119, 117, 112, 110, 110, 105, 108,  98, // 256-263
 93, 106, 118, 140, 166, 184, 166, 133, // 264-271
148, 103,  89, 105, 123, 143, 146, 157, // 272-279
160, 135, 112, 112, 101, 101, 115, 136, // 280-287
148, 152, 149, 143, 127, 118, 129, 133, // 288-295
120, 132, 135, 117, 118, 112, 112, 111, // 296-303
111, 112, 110,  95,  93, 100, 114, 131, // 304-311
166, 184, 172, 141, 148, 110,  87, 100, // 312-319
118, 142, 144, 158, 164, 140, 115, 111, // 320-327
100,  98, 112, 132, 148, 152, 152, 146, // 328-335
130, 120, 124, 125, 123, 131, 135, 124, // 336-343
122, 117, 111, 112, 112, 110, 111,  98, // 344-351
 89, 101, 112, 125, 152, 184, 184, 138, // 352-359
146, 129,  87,  97, 116, 142, 143, 152, // 360-367
166, 146, 115, 110, 104, 100, 110, 127, // 368-375
148, 152, 150, 146, 134, 124, 129, 123, // 376-383
120, 130, 129, 123, 122, 118, 112, 113, // 384-391
114, 109, 106,  99,  93,  95, 109, 130, // 392-399
153, 184, 184, 140, 147, 123,  83,  98, // 400-407
114, 142, 147, 156, 168, 145, 114, 108, // 408-415
 99,  98, 111, 130, 149, 156, 153, 145, // 416-423
133, 122, 124, 120, 122, 130, 130, 126, // 424-431
121, 116, 111, 108, 112, 108, 105,  99, // 432-439
 93,  97, 114, 134, 160, 184, 182, 142, // 440-447
143, 115,  87, 101, 117, 143, 148, 157, // 448-455
164, 140, 114, 107,  99, 101, 114, 133, // 456-463
151, 153, 149, 143, 132, 123, 124, 120, // 464-471
125, 127, 128, 127, 120, 115, 111, 112, // 472-479
112, 106, 107, 100,  93,  98, 115, 133, // 480-487
154, 184, 184, 141, 142, 122,  89, 101, // 488-495
116, 142, 147, 155, 162, 143, 115, 108, // 496-503
101, 102, 113, 130, 148, 153, 148, 143, // 504-511
133, 121, 130, 124, 119, 133, 126, 121, // 512-519
121, 116, 114, 111, 114, 111, 106,  98, // 520-527
 91,  97, 111, 128, 152, 184, 184, 145, // 528-535
139, 130,  91,  95, 114, 140, 148, 152, // 536-543
164, 147, 117, 108, 102, 101, 111, 128, // 544-551
147, 152, 149, 143, 131, 118, 121, 131, // 552-559
129, 125, 136, 129, 115, 118, 114, 111, // 560-567
112, 114, 112, 106,  93,  93,  98, 113, // 568-575
131, 162, 184, 180, 139, 145, 116,  85, // 576-583
101, 121, 143, 146, 160, 166, 139, 112, // 584-591
108,  99, 100, 112, 134, 149, 151, 151, // 592-599
143, 127, 118, 124, 125, 122, 130, 139, // 600-607
128, 123, 123, 115, 108, 111, 112, 105, // 608-615
102,  93,  98, 105, 119, 138, 166, 184, // 616-623
164, 136, 146, 107,  93, 110, 128, 146, // 624-631
146, 158, 157, 130, 112, 108, 101, 107, // 632-639
118, 139, 150, 151, 148, 138, 126, 125, // 640-647
121, 119, 135, 130, 133, 131, 123, 123, // 648-655
112, 110, 112, 106, 105, 103,  95, 101, // 656-663
107, 123, 143, 170, 184, 156, 135, 143, // 664-671
103,  95, 113, 132, 146, 148, 157, 153, // 672-679
124, 109, 109, 101, 108, 122, 142, 150, // 680-687
149, 147, 136, 121, 123, 124, 121, 130, // 688-695
135, 135, 129, 124, 124, 112, 107, 112, // 696-703
107, 104, 104,  97, 101, 108, 123, 142, // 704-711
170, 184, 150, 136, 142, 101,  98, 112, // 712-719
133, 144, 146, 158, 152, 123, 110, 109, // 720-727
101, 108, 122, 141, 150, 148, 146, 136, // 728-735
119, 115, 124, 126, 130, 141, 139, 135, // 736-743
124, 121, 116, 105, 111, 112, 108, 106, // 744-751
102,  97, 102, 112, 125, 149, 182, 180, // 752-759
142, 146, 129,  93, 105, 118, 137, 143, // 760-767
151, 158, 143, 118, 112, 106, 101, 112, // 768-775
129, 143, 149, 150, 144, 131, 115, 116, // 776-783
123, 125, 135, 143, 140, 135, 128, 122, // 784-791
112, 106, 108, 110, 106, 105, 103,  99, // 792-799
107, 114, 128, 152, 184, 168, 136, 149, // 800-807
124,  98, 109, 123, 136, 138, 148, 153, // 808-815
138, 117, 115, 109, 106, 114, 130, 142, // 816-823
145, 146, 143, 131, 119, 116, 119, 130, // 824-831
134, 140, 144, 138, 129, 125, 117, 110, // 832-839
105, 108, 109, 103, 106, 104, 104, 111, // 840-847
119, 140, 168, 176, 146, 147, 143, 105, // 848-855
107, 115, 127, 132, 142, 152, 144, 129, // 856-863
120, 113, 108, 110, 119, 134, 142, 147, // 864-871
144, 138, 125, 116, 114, 116, 127, 147, // 872-879
151, 141, 146, 133, 112, 112, 111, 109, // 880-887
109, 115, 114, 107,  98,  97, 104, 105, // 888-895
120, 158, 184, 166, 149, 162, 115,  93, // 896-903
103, 114, 124, 134, 157, 162, 143, 129, // 904-911
121, 104,  99, 107, 123, 139, 147, 153, // 912-919
149, 135, 119, 112, 108, 111, 129, 152, // 920-927
160, 148, 149, 138, 109, 108, 109, 110, // 928-935
112, 118, 122, 110,  99,  95,  89,  93, // 936-943
110, 136, 178, 184, 162, 155, 147,  91, // 944-951
 87,  99, 116, 132, 149, 172, 166, 138, // 952-959
123, 109,  89,  93, 112, 134, 148, 160, // 960-967
160, 144, 124, 111, 102, 102, 114, 134, // 968-975
155, 168, 160, 146, 130, 110, 102, 104, // 976-983
114, 120, 120, 123, 114,  96,  87,  79, // 984-991
 87, 103, 128, 170, 184, 180, 146, 154, // 992-999
103,  77,  93, 112, 134, 149, 172, 174, // 1000-1007
149, 121, 112,  93,  91, 107, 131, 149, // 1008-1015
158, 158, 151, 129, 110, 102, 101, 110, // 1016-1023
127, 148, 157, 160, 155, 143, 121, 112, // 1024-1031
111, 112, 120, 126, 125, 115, 106,  95, // 1032-1039
 85,  83,  87, 101, 118, 143, 174, 184, // 1040-1047
164, 133, 144,  99,  87, 111, 128, 143, // 1048-1055
152, 164, 162, 138, 115, 112, 103, 104, // 1056-1063
118, 136, 147, 151, 145, 139, 123, 108, // 1064-1071
108, 112, 120, 133, 146, 152, 150, 143, // 1072-1079
138, 127, 118, 116, 120, 123, 124, 121, // 1080-1087
117, 107,  97,  93,  93,  91,  93, 102, // 1088-1095
117, 133, 157, 184, 168, 135, 152, 121, // 1096-1103
 97, 114, 125, 135, 143, 155, 158, 146, // 1104-1111
125, 123, 114, 106, 112, 125, 134, 140, // 1112-1119
142, 140, 133, 119, 118, 118, 119, 126, // 1120-1127
136, 142, 144, 143, 139, 130, 121, 119, // 1128-1135
120, 119, 123, 125, 119, 115, 109, 102, // 1136-1143
 98,  95,  93,  99,  98, 107, 125, 143, // 1144-1151
176, 184, 147, 154, 149, 104, 111, 121, // 1152-1159
126, 135, 148, 155, 155, 138, 126, 121, // 1160-1167
108, 105, 113, 123, 131, 139, 140, 142, // 1168-1175
135, 125, 123, 121, 118, 123, 132, 136, // 1176-1183
141, 140, 135, 130, 122, 118, 121, 120, // 1184-1191
120, 123, 123, 116, 112, 108, 103, 101, // 1192-1199
101, 102, 103, 102, 115, 134, 149, 182, // 1200-1207
182, 146, 160, 147, 107, 115, 124, 123, // 1208-1215
131, 144, 148, 149, 135, 126, 122, 110, // 1216-1223
104, 113, 119, 126, 137, 140, 143, 139, // 1224-1231
130, 123, 122, 116, 118, 125, 131, 136, // 1232-1239
139, 136, 131, 123, 117, 116, 117, 119, // 1240-1247
121, 124, 123, 121, 113, 111, 110, 107, // 1248-1255
108, 110, 108, 106, 112, 129, 140, 160, // 1256-1263
184, 164, 149, 164, 130, 109, 119, 119, // 1264-1271
115, 129, 139, 142, 143, 132, 128, 121, // 1272-1279
110, 108, 114, 117, 128, 137, 142, 143, // 1280-1287
139, 133, 129, 119, 115, 119, 123, 128, // 1288-1295
133, 135, 133, 127, 123, 120, 118, 120, // 1296-1303
123, 125, 129, 127, 124, 119, 115, 112, // 1304-1311
112, 114, 116, 116, 113, 113, 119, 122, // 1312-1319
130, 144, 166, 164, 146, 156, 147, 121, // 1320-1327
117, 122, 116, 115, 124, 130, 133, 131, // 1328-1335
129, 127, 123, 118, 120, 123, 128, 130, // 1336-1343
133, 135, 134, 132, 127, 128, 124, 123, // 1344-1351
124, 124, 125, 126, 125, 125, 125, 124, // 1352-1359
126, 130, 129, 129, 129, 124, 121, 119, // 1360-1367
118, 117, 119, 120, 123, 125, 124, 121, // 1368-1375
119, 118, 118, 119, 122, 130, 135, 138, // 1376-1383
142, 144, 142, 137, 136, 133, 127, 125, // 1384-1391
125, 125, 124, 124, 125, 125, 127, 128, // 1392-1399
130, 131, 131, 131, 131, 131, 130, 129, // 1400-1407
128, 125, 123, 122, 121, 121, 121, 123, // 1408-1415
124, 128, 129, 131, 131, 131, 129, 127, // 1416-1423
125, 124, 124, 124, 125, 126, 128, 129, // 1424-1431
128, 127, 126, 125, 124, 125, 125, 126, // 1432-1439
128, 129, 129, 129, 129, 129, 128, 126, // 1440-1447
125, 125, 125, 125, 126, 128, 129, 129, // 1448-1455
129, 130, 130, 130, 129, 130, 130, 130, // 1456-1463
129, 129, 129, 129, 127, 125, 124, 124, // 1464-1471
124, 123, 123, 124, 124, 124, 125, 128, // 1472-1479
127, 128, 129, 129, 129, 129, 129, 129, // 1480-1487
129, 127, 128, 127, 128, 128, 128, 127, // 1488-1495
128, 127, 128, 128, 127, 128, 128, 127, // 1496-1503
128, 126, 127, 126, 125, 125, 125, 125, // 1504-1511
125, 125, 126, 128, 127, 128, 128, 127, // 1512-1519
128, 127, 128, 127, 126, 126, 126, 125, // 1520-1527
126, 126, 126, 125, 125, 125, 125, 125, // 1528-1535
125, 125, 126, 128, 127, 128, 127, 128, // 1536-1543
128, 127, 128, 127, 128, 127, 128, 127, // 1544-1551
128, 128, 127, 128, 127, 126, 126, 126, // 1552-1559
126, 126, 127, 128, 128, 127, 128, 127, // 1560-1567
126, 126, 126, 125, 125, 125, 125, 125, // 1568-1575
126, 126, 126, 127, 128, 128, 127, 128, // 1576-1583
128, 127, 128, 127, 127, 128, 127, 128, // 1584-1591
128, 127, 128, 127, 128, 127, 128, 128, // 1592-1599
127, 128, 127, 128, 126, 126, 126, 126, // 1600-1607
126, 125, 126, 126, 126, 126, 126, 126, // 1608-1615
126, 126, 127, 128, 128, 127, 128, 128, // 1616-1623
127, 128, 127, 128, 126, 126, 126, 126, // 1624-1631
126, 126, 126, 126, 126, 126, 128, 128, // 1632-1639
128, 128, 128, 128, 127, 128, 128, 127, // 1640-1647
128, 127, 127, 128, 127, 128, 127, 128, // 1648-1655
128, 127, 128, 126, 126, 126, 126, 126, // 1656-1663
126, 126, 126, 126, 126, 126, 126, 126, // 1664-1671
127, 126, 126, 127, 128, 128, 128, 127, // 1672-1679
128, 127, 128, 127, 128, 128, 127, 128, // 1680-1687
127, 128, 128, 127, 128, 127, 128, 128, // 1688-1695
127, 128, 128, 127, 128, 127, 128, 127, // 1696-1703
128, 127, 128, 128, 127, 128, 127, 126, // 1704-1711
126, 126, 126, 126, 126, 128, 127, 127, // 1712-1719
128, 127, 128, 127, 128, 127, 128, 127, // 1720-1727
128, 127, 128, 127, 128, 127, 128, 127, // 1728-1735
127, 128, 127, 128, 127, 128, 128, 127, // 1736-1743
128, 127, 128, 127, 128, 127, 128, 127, // 1744-1751
128, 128, 127, 128, 128, 127, 128, 127, // 1752-1759
128, 127, 128, 127, 126, 126, 126, 126, // 1760-1767
126, 126, 126, 126, 126, 126, 128, 127, // 1768-1775
128, 127, 128, 127, 128, 128, 127, 128, // 1776-1783
127, 128, 128, 128, 127, 128, 127, 128, // 1784-1791
127, 128, 127, 128, 127, 128, 127, 128, // 1792-1799
128, 127, 128, 127, 128, 127, 128, 127, // 1800-1807
128, 128, 128, 127, 128, 127, 128, 127, // 1808-1815
128, 127, 128, 126, 127, 128, 127, 126, // 1816-1823
128, 127, 128, 126, 128, 127, 128, 127, // 1824-1831
128, 127, 128, 128, 128, 127, 128, 127, // 1832-1839
128, 127, 128, 128, 128, 128, 128, 128, // 1840-1847
128, 128, 127, 128, 127, 128, 127, 128, // 1848-1855
127, 128, 128, 128, 128, 128, 127, 128, // 1856-1863
128, 128, 127, 128, 126, 126, 126, 126, // 1864-1871
126, 128, 126, 128, 128, 127, 128, 127, // 1872-1879
128, 127, 128, 127, 128, 127, 128, 127, // 1880-1887
128, 128, 127, 128, 127, 128, 127, 128, // 1888-1895
128, 127, 128, 127, 128, 127, 128, 127, // 1896-1903
128, 127, 128, 127, 127, 128, 127, 128, // 1904-1911
128, 127, 128, 128, 127, 128, 127, 128, // 1912-1919
127, 128, 128, 127, 128, 127, 128, 127, // 1920-1927
128, 127, 128, 128, 127, 128, 127, 128, // 1928-1935
128, 128, 127, 128, 127, 128, 127, 128, // 1936-1943
127, 128, 127, 128, 128, 127, 128, 127, // 1944-1951
128, 127, 128, 127, 128, 128, 128, 127, // 1952-1959
128, 127, 128, 128, 128, 127, 128, 127, // 1960-1967
128, 128, 127, 128, 128, 127, 128, 127, // 1968-1975
128, 127, 128, 127, 128, 128, 128, 127, // 1976-1983
128, 128, 128, 128, 127, 128, 128, 127, // 1984-1991
128, 127, 128, 127, 128, 127, 128, 128, // 1992-1999
127, 128, 127, 128, 127, 128, 127, 128, // 2000-2007
127, 128, 127, 128, 128, 127, 128, 128, // 2008-2015
127, 128, 128, 127, 128, 127, 128, 127, // 2016-2023
128, 128, 128, 128, 128, 128, 127, 128, // 2024-2031
127, 128, 127, 128, 127, 128, 127, 128, // 2032-2039
127, 128, 127, 128, 127, 128, 127, 128, // 2040-2047
127, 128, 128, 127, 128, 128, 127, 128, // 2048-2055
127, 128, 127, 128, 127, 128, 127, 128, // 2056-2063
127, 128, 128, 127, 128, 127, 128, 127, // 2064-2071
128, 127, 128, 128, 128, 127, 128, 127, // 2072-2079
128, 127, 128, 128, 127, 128, 127, 128, // 2080-2087
127, 128, 128, 127, 128, 127, 128, 128, // 2088-2095
127, 128, 127, 128, 127, 128, 127, 128, // 2096-2103
127, 128, 127, 128, 127, 128, 127, 128, // 2104-2111
128, 127, 128, 127, 128, 127, 128, 127, // 2112-2119
128, 127, 128, 128, 127, 128, 127, 128, // 2120-2127
128, 127, 128, 127, 128, 127, 128, 127, // 2128-2135
128, 128, 128, 128, 128, 127, 128, 127, // 2136-2143
128, 127, 128, 127, 128, 128, 127, 128, // 2144-2151
127, 128, 127, 128, 127, 128, 127, 128, // 2152-2159
127, 128, 128, 127, 128, 127, 128, 127, // 2160-2167
128, 129, 129, 131, 135, 134, 129, 123, // 2168-2175
120, 121, 124, 128, 129, 129, 127, 125, // 2176-2183
124, 125, 130, 133, 131, 128, 123, 121, // 2184-2191
121, 122, 123, 123, 122, 123, 125, 128, // 2192-2199
130, 131, 131, 130, 129, 129, 129, 129, // 2200-2207
127, 126, 128, 132, 135, 134, 131, 128, // 2208-2215
124, 124, 125, 128, 127, 125, 123, 123, // 2216-2223
125, 126, 127, 128, 127, 128, 129, 129, // 2224-2231
130, 129, 126, 125, 125, 128, 127, 126, // 2232-2239
125, 128, 126, 128, 127, 129, 130, 129, // 2240-2247
129, 128, 129, 129, 128, 126, 125, 126, // 2248-2255
126, 127, 126, 128, 127, 129, 129, 128, // 2256-2263
129, 129, 130, 129, 127, 130, 131, 130, // 2264-2271
128, 125, 125, 127, 126, 127, 128, 128, // 2272-2279
127, 129, 129, 128, 128, 127, 128, 125, // 2280-2287
128, 126, 127, 125, 126, 126, 125, 125, // 2288-2295
126, 127, 128, 128, 127, 128, 126, 125, // 2296-2303
127, 129, 128, 127, 128, 129, 126, 126, // 2304-2311
128, 128, 126, 126, 127, 128, 128, 128, // 2312-2319
126, 128, 127, 126, 128, 128, 128, 128, // 2320-2327
127, 128, 127, 128, 129, 127, 125, 126, // 2328-2335
127, 128, 126, 126, 126, 128, 127, 128, // 2336-2343
127, 128, 127, 128, 127, 128, 126, 126, // 2344-2351
125, 126, 126, 126, 127, 126, 127, 126, // 2352-2359
127, 128, 128, 127, 128, 129, 128, 127, // 2360-2367
127, 128, 127, 128, 128, 127, 128, 127, // 2368-2375
128, 126, 128, 127, 126, 128, 127, 128, // 2376-2383
127, 128, 128, 129, 128, 126, 126, 126, // 2384-2391
127, 128, 126, 128, 127, 127, 128, 127, // 2392-2399
128, 126, 126, 126, 129, 128, 128, 128, // 2400-2407
126, 128, 128, 127, 128, 128, 127, 128, // 2408-2415
127, 128, 127, 125, 127, 128, 129, 129, // 2416-2423
127, 128, 127, 128, 128, 127, 128, 127, // 2424-2431
128, 128, 126, 127, 126, 128, 127, 128, // 2432-2439
127, 129, 127, 128, 127, 128, 128, 126, // 2440-2447
127, 125, 127, 126, 128, 128, 129, 128, // 2448-2455
127, 129, 127, 128, 126, 128, 127, 128, // 2456-2463
127, 128, 127, 128, 127, 126, 127, 128, // 2464-2471
127, 128, 126, 128, 127, 128, 129, 127, // 2472-2479
128, 128, 127, 129, 126, 128, 128, 127, // 2480-2487
126, 127, 128, 127, 128, 127, 128, 127, // 2488-2495
128, 128, 127, 128, 127, 128, 127, 128, // 2496-2503
128, 128, 127, 128, 127, 128, 126, 128, // 2504-2511
127, 129, 127, 126, 128, 127, 129, 126, // 2512-2519
128, 127, 128, 126, 127, 128, 128, 129, // 2520-2527
128, 129, 129, 127, 128, 126, 129, 128, // 2528-2535
126, 128, 127, 128, 126, 128, 128, 129, // 2536-2543
128, 127, 128, 127, 128, 127, 128, 127, // 2544-2551
129, 127, 128, 126, 128, 127, 128, 128, // 2552-2559
127, 128, 126, 129, 128, 129, 128, 129, // 2560-2567
129, 127, 128, 127, 128, 126, 126, 129, // 2568-2575
126, 125, 126, 127, 129, 125, 128, 127, // 2576-2583
129, 126, 128, 127, 128, 129, 128, 127, // 2584-2591
128, 129, 125, 128, 126, 128, 127, 126, // 2592-2599
127, 128, 129, 128, 127, 126, 128, 129, // 2600-2607
128, 125, 129, 128, 127, 126, 127, 128, // 2608-2615
126, 128, 126, 128, 127, 128, 126, 128, // 2616-2623
126, 129, 125, 127, 128, 128, 126, 125, // 2624-2631
129, 125, 129, 126, 128, 127, 128, 127, // 2632-2639
128, 128, 127, 128, 128, 129, 128, 127, // 2640-2647
128, 128, 128, 128, 128, 129, 128, 127, // 2648-2655
128, 127, 128, 126, 128, 126, 127, 126, // 2656-2663
128, 127, 129, 128, 129, 128, 126, 127, // 2664-2671
128, 127, 126, 127, 126, 128, 126, 126, // 2672-2679
126, 127, 128, 127, 128, 127, 128, 127, // 2680-2687
126, 127, 128, 127, 128, 126, 128, 126, // 2688-2695
126, 127, 126, 126, 128, 127, 127, 128, // 2696-2703
126, 128, 129, 127, 126, 128, 127, 128, // 2704-2711
127, 127, 127, 128, 126, 128, 125, 128, // 2712-2719
127, 128, 127, 128, 127, 126, 128, 128, // 2720-2727
128, 127, 128, 129, 128, 127, 128, 126, // 2728-2735
128, 128, 126, 128, 127, 128, 127, 128, // 2736-2743
127, 128, 127, 128, 127, 128, 127, 128, // 2744-2751
127, 128, 128, 127, 128, 127, 128, 127, // 2752-2759
128, 128, 127, 128, 127, 128, 127, 126, // 2760-2767
129, 128, 127, 128, 127, 128, 128, 127, // 2768-2775
128, 128, 127, 128, 127, 128, 127, 128, // 2776-2783
126, 128, 127, 128, 128, 127, 128, 125, // 2784-2791
126, 127, 128, 127, 126, 127, 128, 128, // 2792-2799
127, 126, 128, 127, 128, 127, 128, 127, // 2800-2807
128, 128, 126, 128, 127, 128, 127, 128, // 2808-2815
128, 127, 128, 127, 129, 128, 127, 128, // 2816-2823
127, 128, 127, 128, 128, 127, 128, 127, // 2824-2831
128, 127, 128, 127, 126, 127, 128, 127, // 2832-2839
128, 128, 127, 128, 127, 126, 127, 128, // 2840-2847
127, 128, 128, 126, 128, 127, 128, 127, // 2848-2855
128, 127, 128, 128, 127, 128, 127, 128, // 2856-2863
126, 128, 127, 128, 127, 128, 127, 128, // 2864-2871
126, 127, 128, 127, 128, 126, 127, 128, // 2872-2879
128, 128, 128, 127, 128, 127, 126, 128, // 2880-2887
128, 127, 128, 126, 126, 128, 127, 128, // 2888-2895
128, 128, 127, 128, 127, 126, 127, 128, // 2896-2903
127, 128, 128, 128, 126, 128, 127, 128, // 2904-2911
128, 127, 128, 126, 126, 127, 128, 127, // 2912-2919
126, 128, 127, 128, 127, 128, 128, 126, // 2920-2927
127, 126, 126, 126, 127, 128, 127, 128, // 2928-2935
127, 128, 127, 128, 127, 126, 128, 127, // 2936-2943
126, 127, 125, 126, 128, 126, 126, 127, // 2944-2951
128, 127, 128, 126, 128, 127, 128, 127, // 2952-2959
128, 126, 126, 126, 127, 126, 126, 127, // 2960-2967
126, 127, 126, 128, 127, 128, 127, 128, // 2968-2975
126, 127, 128, 126, 127, 126, 127, 126, // 2976-2983
127, 128, 127, 128, 127, 126, 127, 128, // 2984-2991
126, 128, 127, 128, 126, 127, 128, 128, // 2992-2999
127, 128, 127, 128, 126, 127, 128, 127, // 3000-3007
128, 128, 128, 128, 127, 128, 127, 128, // 3008-3015
127, 126, 128, 127, 128, 128, 127, 128, // 3016-3023
127, 126, 128, 128, 128, 128, 128, 128, // 3024-3031
128, 128, 126, 128, 128, 127, 128, 127, // 3032-3039
128, 127, 128, 126, 128, 126, 127, 128, // 3040-3047
127, 128, 127, 128, 127, 128, 127, 128, // 3048-3055
128, 128, 127, 128, 127, 126, 127, 127, // 3056-3063
128, 127, 128, 127, 128, 128, 127, 126, // 3064-3071
127, 128, 128, 128, 128, 127, 128, 127, // 3072-3079
128, 128, 127, 126, 128, 127, 128, 128, // 3080-3087
127, 128, 127, 128, 128, 128, 127, 126, // 3088-3095
126, 128, 127, 126, 128, 128, 126, 126, // 3096-3103
126, 128, 127, 128, 128, 128, 127, 126, // 3104-3111
127, 126, 128, 128, 128, 126, 127, 128, // 3112-3119
127, 126, 127, 126, 128, 128, 126, 127, // 3120-3127
128, 128, 126, 128, 127, 128, 127, 127, // 3128-3135
127, 128, 127, 128, 127, 128, 127, 126, // 3136-3143
127, 128, 126, 128, 128, 127, 128, 126, // 3144-3151
128, 128, 126, 127, 126, 128, 128, 126, // 3152-3159
126, 128, 128, 126, 126, 127, 128, 126, // 3160-3167
127, 126, 127, 126, 128, 127, 128, 127, // 3168-3175
128, 127, 128, 127, 128, 127, 128, 127, // 3176-3183
128, 127, 126, 127, 128, 128, 127, 126, // 3184-3191
126, 128, 128, 126, 128, 128, 127, 128, // 3192-3199
127, 126, 127, 128, 128, 127, 128, 127, // 3200-3207
128, 126, 128, 127, 128, 127, 128, 128, // 3208-3215
128, 128, 128, 126, 128, 128, 128, 127, // 3216-3223
128, 127, 128, 127, 128, 127, 128, 126, // 3224-3231
127, 128, 127, 128, 128, 128, 126, 128, // 3232-3239
127, 128, 126, 127, 126, 127, 128, 128, // 3240-3247
127, 128, 127, 128, 127, 128, 127, 125, // 3248-3255
127, 126, 125, 125, 126, 127, 128, 128, // 3256-3263
126, 127, 128, 126, 128, 126, 127, 128, // 3264-3271
127, 126, 127, 126, 126, 128, 126, 128, // 3272-3279
128, 128, 127, 128, 127, 128, 128, 128, // 3280-3287
127, 128, 127, 128, 126, 127, 128, 127, // 3288-3295
126, 127, 128, 127, 128, 127, 128, 127, // 3296-3303
128, 126, 128, 127, 128, 128, 128, 127, // 3304-3311
126, 127, 128, 127, 128, 127, 128, 127, // 3312-3319
128, 127, 128, 126, 128, 127, 128, 128, // 3320-3327
128, 127, 128, 127, 128, 127, 128, 126, // 3328-3335
128, 128, 127, 127, 127, 128, 129, 126, // 3336-3343
127, 128, 128, 127, 128, 129, 128, 128, // 3344-3351
126, 126, 126, 128, 126, 128, 127, 128, // 3352-3359
127, 126, 128, 127, 128, 128, 127, 128, // 3360-3367
127, 128, 128, 127, 128, 128, 126, 128, // 3368-3375
126, 128, 126, 128, 127, 128, 126, 126, // 3376-3383
128, 126, 128, 128, 127, 128, 127, 126, // 3384-3391
126, 126, 128, 127, 128, 127, 128, 128, // 3392-3399
128, 127, 128, 126, 128, 127, 128, 126, // 3400-3407
128, 126, 128, 126, 128, 127, 128, 127, // 3408-3415
128, 127, 128, 126, 126, 126, 126, 128, // 3416-3423
127, 128, 127, 128, 127, 128, 126, 126, // 3424-3431
127, 125, 125, 126, 126, 128, 128, 128, // 3432-3439
128, 128, 128, 128, 128, 128, 127, 128, // 3440-3447
127, 128, 127, 128, 127, 128, 126, 126, // 3448-3455
126, 127, 126, 127, 128, 127, 126, 128, // 3456-3463
127, 128, 127, 128, 128, 128, 127, 128, // 3464-3471
127, 126, 126, 128, 127, 128, 126, 125, // 3472-3479
128, 126, 128, 127, 128, 127, 128, 127, // 3480-3487
125, 127, 126, 128, 128, 126, 128, 126, // 3488-3495
126, 127, 128, 127, 128, 127, 128, 127, // 3496-3503
128, 128, 128, 128, 128, 127, 126, 127, // 3504-3511
128, 125, 126, 126, 127, 128, 128, 127, // 3512-3519
128, 128, 128, 127, 127, 127, 128, 126, // 3520-3527
128, 127, 126, 128, 128, 126, 128, 127, // 3528-3535
125, 127, 126, 126, 126, 126, 126, 128, // 3536-3543
127, 128, 127, 128, 127, 126, 126, 126, // 3544-3551
126, 126, 128, 127, 128, 128, 128, 128, // 3552-3559
128, 128, 127, 128, 126, 126, 126, 128, // 3560-3567
127, 126, 128, 127, 126, 127, 128, 129, // 3568-3575
129, 127, 128, 129, 127, 126, 126, 126, // 3576-3583
128, 127, 128, 127, 128, 127, 128, 127, // 3584-3591
128, 127, 128, 127, 128, 128, 126, 126, // 3592-3599
128, 129, 129, 127, 128, 127, 128, 127, // 3600-3607
126, 128, 129, 128, 125, 126, 128, 127, // 3608-3615
126, 127, 129, 127, 125, 127, 128, 127, // 3616-3623
125, 126, 129, 128, 125, 125, 127, 126, // 3624-3631
125, 125, 128, 127, 128, 126, 128, 127, // 3632-3639
127, 127, 127, 127, 128, 125, 126, 126, // 3640-3647
127, 128, 126, 126, 126, 128, 129, 128, // 3648-3655
128, 126, 128, 127, 125, 126, 128, 129, // 3656-3663
126, 126, 128, 127, 128, 127, 128, 128, // 3664-3671
128, 128, 126, 127, 128, 126, 125, 126, // 3672-3679
128, 128, 126, 126, 127, 128, 127, 128, // 3680-3687
127, 128, 127, 126, 126, 128, 126, 128, // 3688-3695
128, 128, 127, 125, 128, 128, 128, 126, // 3696-3703
128, 128, 128, 128, 127, 128, 128, 128, // 3704-3711
128, 127, 126, 126, 126, 128};

const char Y[3688] = {125, 125, 124, 124, 124, 124, 124, 124, // 0-7
123, 123, 123, 123, 123, 124, 125, 128, // 8-15
129, 131, 133, 134, 134, 135, 135, 134, // 16-23
134, 133, 133, 131, 131, 129, 128, 126, // 24-31
125, 124, 123, 123, 123, 123, 124, 124, // 32-39
125, 125, 125, 125, 125, 124, 124, 124, // 40-47
123, 123, 123, 122, 121, 121, 121, 122, // 48-55
124, 125, 129, 131, 134, 135, 135, 136, // 56-63
135, 135, 134, 134, 133, 131, 130, 129, // 64-71
127, 125, 124, 124, 123, 124, 124, 124, // 72-79
125, 125, 125, 126, 126, 126, 125, 125, // 80-87
124, 124, 123, 123, 123, 121, 121, 120, // 88-95
120, 120, 121, 123, 126, 130, 133, 135, // 96-103
136, 137, 137, 136, 136, 135, 134, 133, // 104-111
131, 130, 129, 126, 124, 123, 123, 123, // 112-119
123, 124, 125, 125, 126, 128, 127, 128, // 120-127
126, 125, 124, 123, 122, 121, 121, 120, // 128-135
120, 119, 118, 118, 120, 122, 126, 130, // 136-143
134, 138, 139, 140, 140, 139, 138, 135, // 144-151
134, 133, 130, 129, 126, 124, 122, 120, // 152-159
120, 120, 121, 122, 124, 126, 129, 130, // 160-167
130, 130, 130, 128, 125, 124, 122, 120, // 168-175
119, 119, 118, 117, 116, 115, 116, 119, // 176-183
123, 129, 134, 140, 143, 144, 144, 144, // 184-191
141, 138, 135, 132, 129, 126, 124, 122, // 192-199
120, 119, 118, 118, 119, 121, 124, 127, // 200-207
130, 133, 134, 134, 133, 131, 128, 124, // 208-215
121, 118, 116, 115, 114, 113, 112, 112, // 216-223
114, 117, 121, 130, 138, 145, 151, 154, // 224-231
154, 151, 147, 142, 135, 129, 123, 118, // 232-239
115, 113, 112, 112, 112, 114, 116, 121, // 240-247
127, 134, 139, 143, 144, 143, 142, 136, // 248-255
130, 123, 116, 112, 108, 106, 106, 107, // 256-263
108, 110, 112, 116, 122, 131, 142, 151, // 264-271
158, 166, 166, 162, 153, 143, 133, 122, // 272-279
114, 110, 107, 107, 108, 110, 112, 116, // 280-287
120, 125, 133, 139, 144, 147, 148, 146, // 288-295
142, 134, 124, 115, 108, 103, 100, 101, // 296-303
102, 106, 110, 113, 117, 122, 130, 139, // 304-311
148, 158, 166, 170, 166, 158, 146, 133, // 312-319
119, 110, 103, 101, 103, 107, 112, 115, // 320-327
120, 125, 131, 136, 142, 147, 150, 151, // 328-335
147, 142, 131, 120, 110, 102,  98,  95, // 336-343
 98, 102, 108, 112, 117, 120, 124, 130, // 344-351
139, 147, 158, 166, 170, 168, 158, 144, // 352-359
129, 114, 103,  98,  98, 103, 110, 116, // 360-367
122, 127, 131, 134, 139, 143, 148, 149, // 368-375
150, 144, 137, 125, 114, 105,  98,  95, // 376-383
 97, 101, 107, 112, 118, 121, 123, 124, // 384-391
130, 137, 147, 158, 168, 172, 168, 155, // 392-399
139, 119, 106,  97,  95, 100, 108, 117, // 400-407
125, 131, 133, 134, 135, 139, 143, 147, // 408-415
149, 147, 142, 131, 118, 107,  99,  95, // 416-423
 97, 101, 107, 114, 119, 123, 123, 121, // 424-431
121, 125, 135, 147, 162, 170, 172, 166, // 432-439
149, 131, 112,  99,  93,  98, 107, 117, // 440-447
125, 133, 134, 132, 133, 133, 139, 143, // 448-455
149, 150, 145, 136, 122, 110, 101,  97, // 456-463
 97, 102, 108, 114, 119, 120, 121, 118, // 464-471
116, 118, 129, 143, 160, 174, 180, 174, // 472-479
156, 135, 112,  95,  91,  95, 106, 119, // 480-487
130, 134, 135, 130, 129, 130, 136, 144, // 488-495
150, 153, 147, 136, 121, 109, 100,  98, // 496-503
100, 106, 112, 116, 120, 119, 117, 114, // 504-511
112, 112, 122, 138, 156, 174, 182, 178, // 512-519
162, 139, 115,  97,  91,  95, 107, 119, // 520-527
130, 133, 133, 129, 125, 130, 136, 146, // 528-535
152, 153, 147, 135, 119, 108, 102, 102, // 536-543
106, 110, 115, 116, 116, 116, 113, 112, // 544-551
110, 111, 119, 136, 154, 174, 184, 180, // 552-559
168, 140, 115,  95,  87,  93, 106, 120, // 560-567
132, 136, 133, 130, 125, 130, 137, 144, // 568-575
152, 150, 143, 131, 118, 109, 106, 108, // 576-583
112, 115, 116, 116, 112, 112, 111, 110, // 584-591
110, 109, 116, 133, 151, 174, 184, 184, // 592-599
172, 143, 113,  93,  83,  91, 106, 123, // 600-607
137, 140, 136, 130, 125, 128, 136, 143, // 608-615
149, 147, 140, 129, 117, 112, 111, 114, // 616-623
118, 118, 115, 112, 110, 110, 112, 112, // 624-631
112, 110, 111, 122, 143, 168, 184, 184, // 632-639
180, 151, 113,  87,  75,  83, 106, 128, // 640-647
144, 147, 140, 129, 122, 122, 133, 142, // 648-655
147, 146, 137, 126, 118, 115, 118, 121, // 656-663
121, 119, 112, 108, 107, 108, 112, 113, // 664-671
112, 108, 107, 117, 142, 170, 184, 184, // 672-679
182, 148, 106,  77,  71,  83, 112, 139, // 680-687
152, 151, 139, 124, 119, 121, 132, 142, // 688-695
143, 140, 131, 124, 123, 124, 126, 126, // 696-703
120, 114, 108, 105, 108, 112, 116, 115, // 704-711
111, 104, 102, 115, 145, 176, 184, 184, // 712-719
174, 135,  93,  69,  75,  95, 129, 149, // 720-727
155, 147, 131, 118, 117, 123, 133, 138, // 728-735
134, 130, 125, 130, 137, 142, 139, 129, // 736-743
113, 104, 101, 107, 116, 124, 125, 119, // 744-751
110, 101,  99, 107, 126, 155, 180, 184, // 752-759
182, 153, 120,  95,  83,  93, 112, 135, // 760-767
146, 146, 138, 129, 123, 124, 129, 131, // 768-775
130, 127, 128, 131, 138, 142, 140, 130, // 776-783
117, 108, 105, 110, 116, 121, 122, 118, // 784-791
112, 107, 105, 108, 114, 131, 155, 176, // 792-799
184, 178, 148, 117,  91,  81,  97, 116, // 800-807
140, 152, 148, 139, 129, 121, 122, 125, // 808-815
127, 128, 124, 128, 134, 142, 144, 141, // 816-823
128, 113, 106, 106, 114, 121, 125, 124, // 824-831
116, 111, 108, 107, 111, 113, 121, 141, // 832-839
164, 178, 182, 162, 128,  99,  79,  89, // 840-847
112, 138, 156, 153, 143, 129, 119, 119, // 848-855
124, 125, 128, 124, 125, 133, 140, 146, // 856-863
143, 130, 115, 106, 107, 115, 125, 131, // 864-871
126, 118, 111, 110, 112, 113, 114, 112, // 872-879
118, 140, 168, 184, 184, 154, 114,  85, // 880-887
 75,  95, 125, 152, 162, 150, 134, 121, // 888-895
118, 123, 129, 125, 123, 120, 126, 138, // 896-903
146, 147, 137, 119, 108, 107, 114, 128, // 904-911
133, 129, 118, 111, 108, 112, 116, 116, // 912-919
112, 108, 115, 144, 176, 184, 182, 140, // 920-927
 97,  73,  75, 112, 145, 162, 162, 140, // 928-935
123, 118, 120, 128, 126, 119, 117, 119, // 936-943
133, 146, 149, 143, 125, 112, 109, 114, // 944-951
125, 135, 132, 124, 112, 110, 112, 117, // 952-959
120, 117, 110, 103, 108, 132, 168, 184, // 960-967
184, 152, 106,  81,  77, 105, 140, 157, // 968-975
162, 143, 127, 121, 122, 124, 125, 116, // 976-983
115, 119, 132, 146, 147, 140, 125, 114, // 984-991
112, 121, 129, 135, 130, 121, 116, 112, // 992-999
116, 120, 120, 120, 114, 108, 106, 111, // 1000-1007
136, 166, 182, 176, 146, 105,  85,  85, // 1008-1015
112, 144, 157, 157, 142, 125, 121, 122, // 1016-1023
123, 123, 116, 116, 123, 135, 146, 143, // 1024-1031
135, 122, 114, 116, 125, 133, 134, 127, // 1032-1039
119, 115, 114, 117, 120, 120, 120, 115, // 1040-1047
110, 105, 107, 126, 160, 180, 178, 153, // 1048-1055
110,  87,  85, 110, 143, 156, 157, 142, // 1056-1063
127, 120, 122, 123, 123, 116, 116, 123, // 1064-1071
134, 144, 143, 134, 121, 115, 120, 130, // 1072-1079
136, 135, 125, 116, 114, 116, 121, 124, // 1080-1087
123, 120, 116, 112, 108, 105, 112, 135, // 1088-1095
164, 180, 172, 141, 105,  87,  93, 120, // 1096-1103
147, 157, 152, 136, 123, 119, 121, 124, // 1104-1111
122, 118, 120, 128, 137, 142, 138, 129, // 1112-1119
119, 120, 126, 134, 135, 129, 119, 114, // 1120-1127
116, 121, 126, 128, 123, 118, 114, 110, // 1128-1135
106, 106, 115, 141, 168, 180, 166, 134, // 1136-1143
 99,  87,  97, 126, 151, 158, 149, 133, // 1144-1151
120, 118, 121, 123, 122, 120, 123, 130, // 1152-1159
138, 140, 135, 125, 119, 121, 129, 134, // 1160-1167
134, 126, 118, 116, 119, 125, 130, 127, // 1168-1175
121, 116, 113, 112, 110, 107, 111, 130, // 1176-1183
158, 176, 172, 146, 110,  91,  91, 116, // 1184-1191
144, 156, 152, 136, 122, 118, 120, 124, // 1192-1199
123, 120, 120, 125, 134, 139, 136, 129, // 1200-1207
121, 120, 126, 133, 133, 128, 119, 116, // 1208-1215
119, 126, 131, 130, 123, 116, 112, 112, // 1216-1223
110, 109, 109, 119, 143, 168, 176, 160, // 1224-1231
128,  97,  91, 103, 133, 152, 156, 145, // 1232-1239
128, 118, 117, 121, 124, 124, 121, 124, // 1240-1247
129, 136, 136, 133, 124, 120, 123, 130, // 1248-1255
134, 131, 124, 116, 118, 123, 131, 134, // 1256-1263
128, 119, 112, 111, 112, 113, 112, 112, // 1264-1271
118, 142, 164, 172, 158, 127,  98,  91, // 1272-1279
105, 134, 153, 156, 145, 127, 117, 117, // 1280-1287
121, 125, 124, 122, 125, 130, 136, 138, // 1288-1295
133, 124, 120, 122, 130, 134, 132, 125, // 1296-1303
118, 118, 125, 132, 135, 128, 118, 111, // 1304-1311
110, 113, 116, 115, 112, 115, 134, 157, // 1312-1319
170, 162, 136, 106,  93, 103, 127, 151, // 1320-1327
156, 146, 129, 116, 115, 120, 125, 128, // 1328-1335
124, 124, 129, 134, 136, 133, 126, 121, // 1336-1343
122, 127, 133, 134, 128, 121, 119, 123, // 1344-1351
132, 135, 132, 120, 112, 110, 112, 117, // 1352-1359
118, 115, 112, 119, 140, 160, 166, 152, // 1360-1367
124, 101,  98, 112, 138, 153, 151, 139, // 1368-1375
121, 115, 118, 124, 129, 128, 125, 126, // 1376-1383
130, 135, 135, 130, 123, 120, 124, 131, // 1384-1391
134, 132, 124, 119, 121, 127, 135, 134, // 1392-1399
128, 116, 111, 112, 116, 120, 119, 114, // 1400-1407
112, 121, 143, 164, 166, 148, 118,  99, // 1408-1415
101, 118, 143, 152, 147, 133, 119, 116, // 1416-1423
120, 125, 130, 127, 125, 129, 131, 135, // 1424-1431
132, 126, 121, 121, 128, 133, 134, 131, // 1432-1439
123, 120, 121, 129, 135, 133, 126, 116, // 1440-1447
111, 112, 117, 121, 120, 114, 111, 116, // 1448-1455
135, 156, 164, 153, 130, 106, 102, 112, // 1456-1463
135, 148, 146, 136, 123, 118, 121, 125, // 1464-1471
129, 128, 124, 126, 130, 133, 134, 128, // 1472-1479
124, 122, 125, 132, 133, 132, 125, 120, // 1480-1487
122, 127, 133, 134, 127, 119, 112, 112, // 1488-1495
116, 121, 123, 116, 111, 109, 121, 145, // 1496-1503
164, 164, 144, 117, 102, 106, 123, 143, // 1504-1511
147, 142, 129, 120, 121, 125, 129, 128, // 1512-1519
124, 123, 129, 132, 135, 131, 125, 123, // 1520-1527
123, 130, 133, 133, 128, 122, 120, 125, // 1528-1535
132, 136, 133, 124, 116, 111, 114, 120, // 1536-1543
124, 123, 115, 108, 107, 119, 143, 162, // 1544-1551
164, 148, 123, 105, 105, 116, 136, 145, // 1552-1559
142, 134, 124, 123, 125, 125, 124, 124, // 1560-1567
124, 129, 134, 134, 132, 125, 123, 125, // 1568-1575
129, 134, 132, 128, 124, 123, 126, 133, // 1576-1583
134, 133, 124, 118, 115, 114, 120, 123, // 1584-1591
122, 118, 110, 107, 111, 129, 152, 166, // 1592-1599
162, 140, 114, 102, 107, 123, 142, 146, // 1600-1607
142, 133, 124, 123, 124, 123, 123, 124, // 1608-1615
127, 133, 135, 133, 130, 123, 123, 125, // 1616-1623
130, 133, 129, 128, 125, 125, 129, 131, // 1624-1631
131, 129, 123, 120, 117, 117, 119, 120, // 1632-1639
120, 115, 111, 107, 111, 128, 149, 166, // 1640-1647
164, 143, 116,  99, 105, 121, 142, 149, // 1648-1655
144, 134, 125, 121, 122, 123, 123, 125, // 1656-1663
129, 134, 136, 135, 127, 124, 121, 125, // 1664-1671
131, 133, 130, 125, 125, 126, 130, 132, // 1672-1679
131, 129, 124, 121, 119, 119, 119, 120, // 1680-1687
119, 117, 112, 107, 107, 114, 136, 156, // 1688-1695
168, 157, 133, 109,  97, 110, 129, 147, // 1696-1703
150, 143, 131, 123, 120, 121, 122, 123, // 1704-1711
127, 133, 138, 138, 132, 124, 120, 121, // 1712-1719
128, 133, 133, 129, 125, 125, 128, 131, // 1720-1727
132, 131, 128, 124, 121, 120, 119, 118, // 1728-1735
118, 118, 116, 112, 110, 108, 112, 129, // 1736-1743
148, 166, 162, 140, 114,  98, 105, 124, // 1744-1751
144, 153, 146, 134, 123, 120, 120, 122, // 1752-1759
123, 129, 134, 138, 137, 132, 124, 120, // 1760-1767
121, 127, 132, 132, 130, 124, 124, 129, // 1768-1775
133, 133, 132, 127, 124, 122, 121, 120, // 1776-1783
119, 118, 118, 116, 115, 112, 108, 110, // 1784-1791
114, 131, 149, 164, 160, 138, 114, 101, // 1792-1799
107, 128, 145, 153, 145, 134, 123, 119, // 1800-1807
120, 123, 125, 130, 135, 137, 135, 130, // 1808-1815
123, 120, 122, 126, 132, 131, 130, 126, // 1816-1823
125, 129, 131, 132, 131, 129, 125, 123, // 1824-1831
121, 120, 119, 118, 117, 116, 115, 114, // 1832-1839
112, 111, 112, 119, 135, 149, 160, 153, // 1840-1847
133, 114, 107, 115, 135, 147, 149, 142, // 1848-1855
130, 122, 120, 121, 124, 128, 132, 136, // 1856-1863
136, 133, 127, 121, 120, 123, 128, 132, // 1864-1871
131, 130, 126, 125, 129, 131, 133, 131, // 1872-1879
128, 123, 121, 120, 121, 120, 119, 118, // 1880-1887
116, 116, 115, 112, 112, 112, 115, 125, // 1888-1895
140, 152, 160, 147, 128, 112, 109, 123, // 1896-1903
140, 148, 147, 136, 127, 122, 121, 123, // 1904-1911
125, 129, 133, 135, 134, 129, 123, 120, // 1912-1919
121, 126, 131, 133, 131, 129, 126, 125, // 1920-1927
129, 131, 132, 130, 126, 122, 120, 119, // 1928-1935
120, 120, 120, 119, 116, 115, 115, 113, // 1936-1943
112, 113, 116, 124, 138, 151, 160, 150, // 1944-1951
131, 115, 110, 123, 139, 148, 147, 137, // 1952-1959
129, 122, 121, 122, 124, 128, 133, 134, // 1960-1967
133, 126, 120, 120, 122, 129, 131, 132, // 1968-1975
130, 129, 125, 125, 125, 130, 132, 133, // 1976-1983
130, 123, 119, 119, 120, 123, 123, 120, // 1984-1991
117, 114, 114, 116, 116, 116, 115, 116, // 1992-1999
124, 137, 148, 157, 151, 135, 121, 115, // 2000-2007
123, 136, 143, 144, 138, 130, 125, 122, // 2008-2015
121, 122, 124, 130, 133, 131, 127, 121, // 2016-2023
120, 124, 128, 131, 131, 130, 129, 125, // 2024-2031
125, 125, 128, 131, 133, 131, 124, 119, // 2032-2039
118, 120, 124, 124, 122, 118, 115, 115, // 2040-2047
115, 117, 117, 116, 118, 120, 127, 138, // 2048-2055
147, 156, 150, 135, 123, 116, 123, 136, // 2056-2063
142, 143, 136, 129, 124, 121, 119, 120, // 2064-2071
123, 130, 133, 130, 125, 121, 120, 124, // 2072-2079
129, 131, 132, 130, 127, 125, 125, 125, // 2080-2087
128, 130, 133, 131, 128, 121, 119, 120, // 2088-2095
123, 124, 124, 120, 116, 116, 116, 118, // 2096-2103
120, 117, 118, 120, 123, 133, 141, 150, // 2104-2111
156, 144, 131, 119, 116, 129, 138, 141, // 2112-2119
139, 131, 126, 123, 119, 119, 120, 125, // 2120-2127
132, 133, 129, 124, 121, 123, 128, 130, // 2128-2135
131, 131, 130, 129, 128, 127, 126, 129, // 2136-2143
131, 131, 130, 127, 123, 121, 122, 123, // 2144-2151
125, 124, 122, 119, 116, 116, 119, 121, // 2152-2159
120, 118, 118, 120, 128, 136, 144, 152, // 2160-2167
153, 139, 124, 116, 116, 131, 138, 140, // 2168-2175
137, 131, 126, 122, 118, 117, 121, 129, // 2176-2183
134, 133, 127, 124, 124, 125, 129, 130, // 2184-2191
130, 131, 130, 129, 125, 124, 129, 132, // 2192-2199
133, 130, 125, 123, 123, 122, 124, 126, // 2200-2207
129, 129, 123, 118, 115, 116, 119, 122, // 2208-2215
124, 121, 117, 117, 119, 126, 136, 145, // 2216-2223
153, 151, 137, 122, 114, 117, 129, 136, // 2224-2231
139, 138, 134, 127, 120, 114, 116, 122, // 2232-2239
130, 135, 134, 130, 127, 125, 125, 126, // 2240-2247
127, 130, 131, 131, 128, 125, 125, 128, // 2248-2255
129, 130, 129, 126, 124, 124, 125, 126, // 2256-2263
128, 129, 128, 124, 121, 118, 119, 120, // 2264-2271
121, 121, 121, 122, 118, 114, 116, 120, // 2272-2279
130, 142, 147, 153, 147, 130, 118, 114, // 2280-2287
119, 133, 138, 139, 139, 131, 123, 116, // 2288-2295
112, 118, 126, 133, 137, 135, 131, 129, // 2296-2303
124, 123, 124, 126, 130, 132, 130, 128, // 2304-2311
124, 123, 124, 125, 127, 129, 129, 128, // 2312-2319
129, 129, 128, 125, 125, 124, 124, 121, // 2320-2327
120, 121, 120, 121, 122, 122, 121, 116, // 2328-2335
114, 117, 122, 129, 136, 143, 149, 151, // 2336-2343
137, 121, 117, 119, 127, 134, 136, 138, // 2344-2351
136, 129, 120, 115, 116, 123, 130, 134, // 2352-2359
135, 134, 131, 128, 123, 123, 125, 128, // 2360-2367
130, 130, 129, 126, 124, 123, 123, 126, // 2368-2375
130, 130, 130, 129, 131, 130, 125, 124, // 2376-2383
124, 124, 125, 123, 123, 123, 122, 120, // 2384-2391
121, 121, 120, 117, 115, 119, 124, 127, // 2392-2399
132, 137, 144, 148, 142, 129, 121, 121, // 2400-2407
123, 127, 131, 136, 138, 134, 125, 119, // 2408-2415
118, 121, 125, 130, 134, 136, 134, 130, // 2416-2423
124, 123, 123, 124, 127, 127, 129, 127, // 2424-2431
125, 123, 124, 125, 128, 130, 130, 131, // 2432-2439
130, 130, 130, 126, 124, 124, 124, 125, // 2440-2447
125, 123, 123, 123, 121, 120, 120, 120, // 2448-2455
119, 118, 118, 120, 125, 129, 131, 138, // 2456-2463
143, 145, 139, 127, 123, 124, 123, 126, // 2464-2471
131, 135, 136, 132, 125, 123, 121, 122, // 2472-2479
124, 129, 133, 134, 132, 130, 126, 124, // 2480-2487
123, 123, 124, 128, 127, 128, 127, 126, // 2488-2495
126, 128, 127, 130, 130, 130, 130, 130, // 2496-2503
130, 128, 125, 123, 124, 124, 124, 124, // 2504-2511
123, 123, 122, 120, 121, 120, 119, 119, // 2512-2519
119, 121, 125, 125, 129, 134, 139, 143, // 2520-2527
142, 134, 129, 126, 123, 124, 127, 131, // 2528-2535
135, 134, 131, 129, 124, 122, 123, 124, // 2536-2543
129, 131, 131, 131, 130, 127, 124, 122, // 2544-2551
122, 124, 125, 126, 127, 129, 129, 128, // 2552-2559
128, 127, 128, 129, 129, 129, 130, 130, // 2560-2567
127, 125, 124, 124, 123, 123, 124, 124, // 2568-2575
124, 123, 121, 121, 120, 120, 120, 120, // 2576-2583
121, 123, 125, 126, 127, 133, 138, 142, // 2584-2591
140, 135, 131, 129, 124, 123, 126, 131, // 2592-2599
133, 133, 132, 131, 127, 124, 123, 124, // 2600-2607
126, 128, 129, 131, 130, 128, 125, 123, // 2608-2615
123, 123, 123, 125, 128, 129, 129, 130, // 2616-2623
130, 129, 128, 127, 128, 129, 129, 130, // 2624-2631
130, 128, 125, 124, 124, 122, 123, 124, // 2632-2639
124, 123, 123, 123, 121, 120, 119, 120, // 2640-2647
120, 120, 124, 127, 126, 131, 136, 140, // 2648-2655
140, 138, 134, 133, 127, 124, 126, 128, // 2656-2663
130, 131, 132, 132, 130, 126, 125, 124, // 2664-2671
124, 124, 125, 127, 129, 129, 128, 127, // 2672-2679
125, 124, 124, 124, 125, 126, 129, 130, // 2680-2687
131, 131, 130, 129, 128, 127, 128, 129, // 2688-2695
130, 128, 125, 128, 124, 122, 123, 123, // 2696-2703
124, 124, 124, 124, 123, 121, 121, 119, // 2704-2711
118, 121, 121, 123, 128, 126, 130, 136, // 2712-2719
139, 140, 139, 136, 134, 129, 125, 125, // 2720-2727
125, 128, 130, 131, 132, 131, 129, 127, // 2728-2735
125, 123, 123, 123, 124, 126, 128, 129, // 2736-2743
129, 127, 125, 125, 124, 124, 124, 126, // 2744-2751
129, 130, 131, 131, 130, 129, 127, 126, // 2752-2759
126, 128, 129, 128, 126, 128, 125, 123, // 2760-2767
123, 123, 123, 123, 124, 124, 123, 122, // 2768-2775
121, 120, 120, 120, 120, 124, 125, 124, // 2776-2783
129, 134, 137, 139, 142, 138, 136, 132, // 2784-2791
128, 126, 123, 124, 126, 127, 130, 131, // 2792-2799
131, 130, 128, 125, 123, 123, 122, 123, // 2800-2807
124, 126, 127, 129, 129, 128, 127, 125, // 2808-2815
125, 125, 128, 129, 130, 130, 130, 130, // 2816-2823
129, 129, 128, 126, 128, 127, 125, 126, // 2824-2831
125, 124, 124, 124, 124, 124, 123, 123, // 2832-2839
123, 123, 121, 121, 121, 121, 121, 123, // 2840-2847
124, 124, 125, 127, 131, 134, 138, 140, // 2848-2855
139, 137, 136, 131, 128, 126, 124, 124, // 2856-2863
125, 126, 129, 129, 129, 129, 127, 125, // 2864-2871
125, 124, 123, 124, 124, 125, 126, 128, // 2872-2879
129, 129, 129, 129, 129, 129, 129, 129, // 2880-2887
129, 129, 129, 129, 129, 127, 128, 127, // 2888-2895
129, 128, 125, 126, 124, 123, 123, 123, // 2896-2903
123, 123, 123, 123, 123, 123, 123, 122, // 2904-2911
122, 121, 121, 123, 124, 124, 125, 128, // 2912-2919
131, 134, 137, 140, 139, 138, 137, 132, // 2920-2927
130, 128, 124, 123, 123, 124, 125, 126, // 2928-2935
128, 129, 127, 128, 127, 126, 125, 125, // 2936-2943
124, 124, 125, 125, 127, 128, 129, 130, // 2944-2951
130, 130, 130, 130, 129, 129, 128, 126, // 2952-2959
126, 126, 126, 126, 127, 128, 126, 125, // 2960-2967
126, 124, 123, 125, 123, 123, 124, 124, // 2968-2975
123, 124, 124, 124, 123, 123, 124, 123, // 2976-2983
123, 125, 124, 124, 129, 129, 132, 137, // 2984-2991
138, 138, 139, 138, 134, 131, 129, 125, // 2992-2999
123, 123, 123, 123, 124, 125, 126, 128, // 3000-3007
129, 129, 129, 129, 129, 126, 126, 125, // 3008-3015
125, 125, 126, 128, 129, 129, 130, 130, // 3016-3023
130, 130, 129, 128, 128, 128, 126, 125, // 3024-3031
125, 125, 126, 125, 125, 126, 124, 125, // 3032-3039
125, 124, 124, 124, 123, 123, 124, 124, // 3040-3047
123, 123, 124, 124, 123, 125, 125, 124, // 3048-3055
125, 128, 126, 130, 134, 135, 135, 137, // 3056-3063
138, 134, 133, 132, 127, 125, 125, 123, // 3064-3071
121, 123, 123, 124, 125, 127, 128, 129, // 3072-3079
130, 129, 129, 129, 128, 125, 126, 125, // 3080-3087
125, 126, 127, 128, 129, 129, 129, 129, // 3088-3095
129, 129, 128, 128, 126, 125, 125, 125, // 3096-3103
125, 125, 125, 125, 125, 125, 125, 125, // 3104-3111
124, 125, 124, 124, 124, 124, 123, 123, // 3112-3119
124, 124, 124, 124, 125, 124, 125, 126, // 3120-3127
126, 130, 133, 134, 135, 136, 136, 134, // 3128-3135
134, 133, 129, 128, 126, 123, 123, 123, // 3136-3143
122, 123, 125, 125, 127, 129, 129, 130, // 3144-3151
130, 130, 129, 128, 127, 126, 125, 125, // 3152-3159
125, 126, 128, 128, 129, 129, 129, 128, // 3160-3167
129, 129, 128, 127, 126, 125, 125, 125, // 3168-3175
124, 124, 125, 125, 125, 125, 125, 125, // 3176-3183
125, 125, 124, 124, 124, 124, 124, 123, // 3184-3191
123, 124, 124, 124, 125, 125, 128, 129, // 3192-3199
131, 134, 134, 135, 137, 135, 134, 134, // 3200-3207
131, 130, 128, 125, 124, 123, 122, 123, // 3208-3215
124, 124, 125, 128, 129, 129, 130, 130, // 3216-3223
129, 129, 129, 127, 126, 126, 125, 125, // 3224-3231
125, 126, 128, 127, 129, 129, 129, 129, // 3232-3239
129, 129, 128, 127, 126, 125, 125, 125, // 3240-3247
124, 125, 125, 125, 125, 125, 125, 125, // 3248-3255
125, 125, 125, 124, 124, 124, 123, 124, // 3256-3263
124, 124, 124, 124, 125, 125, 127, 130, // 3264-3271
132, 133, 134, 136, 136, 134, 135, 133, // 3272-3279
130, 130, 128, 124, 124, 123, 122, 123, // 3280-3287
123, 124, 125, 126, 128, 129, 130, 130, // 3288-3295
130, 130, 129, 127, 128, 126, 126, 125, // 3296-3303
125, 125, 126, 127, 128, 129, 129, 129, // 3304-3311
129, 129, 127, 128, 126, 125, 125, 124, // 3312-3319
124, 124, 124, 124, 125, 125, 125, 125, // 3320-3327
125, 125, 125, 125, 124, 124, 124, 124, // 3328-3335
124, 124, 124, 124, 125, 125, 128, 131, // 3336-3343
132, 133, 135, 136, 134, 135, 134, 131, // 3344-3351
131, 129, 126, 125, 124, 123, 123, 123, // 3352-3359
123, 124, 125, 128, 128, 129, 130, 130, // 3360-3367
130, 130, 129, 129, 128, 126, 125, 125, // 3368-3375
125, 125, 126, 128, 127, 129, 129, 129, // 3376-3383
129, 128, 127, 128, 125, 125, 124, 124, // 3384-3391
125, 124, 124, 125, 125, 125, 125, 125, // 3392-3399
125, 126, 125, 125, 125, 124, 124, 124, // 3400-3407
124, 124, 124, 125, 125, 126, 127, 129, // 3408-3415
131, 133, 134, 135, 135, 134, 134, 133, // 3416-3423
131, 130, 128, 125, 124, 123, 123, 123, // 3424-3431
123, 123, 124, 125, 128, 129, 129, 130, // 3432-3439
130, 130, 130, 129, 128, 127, 126, 125, // 3440-3447
125, 125, 125, 125, 128, 128, 127, 129, // 3448-3455
127, 129, 127, 128, 126, 125, 125, 124, // 3456-3463
124, 124, 124, 125, 125, 125, 125, 125, // 3464-3471
126, 126, 125, 126, 125, 125, 125, 125, // 3472-3479
125, 125, 125, 125, 125, 126, 127, 130, // 3480-3487
131, 132, 133, 134, 133, 133, 133, 131, // 3488-3495
130, 130, 127, 125, 125, 124, 123, 124, // 3496-3503
123, 124, 125, 125, 128, 128, 129, 129, // 3504-3511
130, 129, 129, 129, 127, 128, 127, 126, // 3512-3519
125, 126, 126, 126, 127, 128, 128, 127, // 3520-3527
128, 128, 127, 126, 126, 125, 125, 125, // 3528-3535
125, 125, 125, 125, 125, 125, 126, 126, // 3536-3543
126, 126, 126, 126, 126, 125, 125, 125, // 3544-3551
125, 125, 125, 125, 126, 128, 127, 129, // 3552-3559
131, 131, 131, 133, 132, 133, 133, 131, // 3560-3567
131, 130, 129, 127, 126, 125, 125, 124, // 3568-3575
124, 124, 125, 125, 125, 128, 128, 127, // 3576-3583
129, 129, 129, 128, 127, 128, 126, 126, // 3584-3591
126, 125, 125, 125, 125, 127, 126, 126, // 3592-3599
126, 126, 125, 125, 125, 125, 125, 125, // 3600-3607
124, 125, 125, 124, 125, 125, 125, 125, // 3608-3615
126, 125, 126, 128, 126, 128, 127, 128, // 3616-3623
129, 129, 130, 130, 131, 131, 131, 131, // 3624-3631
131, 131, 131, 130, 129, 129, 127, 126, // 3632-3639
126, 125, 125, 125, 125, 125, 126, 126, // 3640-3647
127, 128, 127, 128, 128, 127, 126, 125, // 3648-3655
125, 125, 125, 125, 125, 125, 125, 125, // 3656-3663
125, 125, 125, 126, 125, 125, 125, 125, // 3664-3671
125, 125, 125, 125, 125, 125, 126, 126, // 3672-3679
126, 128, 127, 128, 128, 129, 129, 129};

const char Z[3972] = {128, 128, 127, 128, 127, 128, 128, 127, // 0-7
128, 127, 128, 128, 127, 128, 127, 128, // 8-15
127, 128, 127, 128, 127, 128, 127, 128, // 16-23
128, 127, 128, 127, 128, 128, 127, 128, // 24-31
127, 128, 128, 127, 128, 127, 128, 126, // 32-39
128, 127, 126, 126, 127, 128, 126, 126, // 40-47
127, 128, 126, 126, 126, 126, 126, 126, // 48-55
127, 128, 128, 128, 128, 128, 127, 128, // 56-63
127, 128, 127, 128, 127, 128, 128, 128, // 64-71
127, 128, 128, 127, 128, 127, 128, 127, // 72-79
128, 127, 128, 127, 128, 127, 128, 128, // 80-87
127, 128, 127, 128, 126, 126, 128, 127, // 88-95
126, 126, 126, 126, 126, 125, 125, 125, // 96-103
126, 125, 126, 126, 125, 126, 125, 126, // 104-111
126, 126, 128, 127, 128, 127, 128, 127, // 112-119
129, 128, 129, 129, 129, 129, 129, 129, // 120-127
129, 129, 127, 129, 127, 128, 127, 128, // 128-135
128, 128, 127, 128, 127, 128, 127, 128, // 136-143
126, 126, 126, 126, 125, 126, 125, 126, // 144-151
125, 125, 125, 125, 125, 125, 125, 125, // 152-159
125, 125, 126, 125, 126, 127, 126, 127, // 160-167
127, 127, 128, 127, 128, 128, 129, 129, // 168-175
129, 129, 129, 129, 129, 129, 129, 129, // 176-183
129, 129, 129, 128, 129, 128, 129, 127, // 184-191
129, 127, 128, 126, 127, 128, 126, 126, // 192-199
126, 125, 125, 125, 125, 125, 125, 125, // 200-207
125, 125, 125, 125, 125, 125, 125, 125, // 208-215
125, 126, 128, 125, 126, 126, 128, 128, // 216-223
128, 128, 128, 128, 127, 128, 129, 129, // 224-231
129, 129, 129, 129, 130, 130, 130, 130, // 232-239
130, 130, 130, 129, 129, 129, 130, 129, // 240-247
127, 128, 127, 128, 128, 126, 126, 125, // 248-255
125, 126, 125, 124, 124, 125, 125, 124, // 256-263
125, 125, 125, 124, 125, 125, 125, 125, // 264-271
125, 126, 126, 126, 128, 127, 128, 127, // 272-279
128, 127, 128, 128, 127, 128, 127, 129, // 280-287
129, 129, 129, 129, 129, 129, 130, 130, // 288-295
130, 130, 129, 130, 130, 130, 129, 129, // 296-303
128, 128, 127, 128, 128, 127, 125, 125, // 304-311
125, 125, 125, 124, 124, 124, 124, 124, // 312-319
124, 124, 125, 125, 125, 125, 125, 125, // 320-327
125, 128, 126, 126, 128, 127, 128, 127, // 328-335
128, 127, 128, 127, 128, 127, 128, 129, // 336-343
129, 129, 129, 129, 130, 130, 130, 130, // 344-351
130, 130, 130, 130, 130, 130, 130, 129, // 352-359
129, 129, 127, 128, 126, 125, 125, 125, // 360-367
125, 124, 124, 124, 123, 124, 124, 124, // 368-375
125, 124, 124, 125, 125, 125, 125, 126, // 376-383
126, 126, 126, 127, 127, 126, 126, 127, // 384-391
128, 127, 128, 128, 128, 127, 128, 127, // 392-399
128, 129, 129, 129, 130, 130, 130, 130, // 400-407
130, 130, 131, 130, 130, 130, 130, 130, // 408-415
129, 129, 128, 127, 126, 125, 125, 124, // 416-423
124, 124, 124, 124, 123, 124, 124, 124, // 424-431
124, 124, 124, 125, 125, 125, 125, 125, // 432-439
126, 127, 128, 126, 126, 126, 126, 126, // 440-447
128, 127, 126, 128, 127, 128, 127, 129, // 448-455
129, 129, 129, 129, 130, 130, 131, 131, // 456-463
131, 131, 131, 131, 130, 130, 130, 129, // 464-471
129, 127, 128, 126, 125, 125, 125, 124, // 472-479
124, 124, 124, 124, 124, 124, 124, 124, // 480-487
124, 125, 125, 125, 125, 126, 125, 126, // 488-495
126, 126, 126, 126, 126, 126, 126, 126, // 496-503
128, 126, 128, 127, 128, 129, 129, 129, // 504-511
130, 130, 131, 131, 131, 132, 131, 131, // 512-519
131, 131, 131, 130, 130, 129, 129, 128, // 520-527
127, 128, 125, 125, 125, 125, 124, 124, // 528-535
124, 124, 124, 124, 124, 124, 124, 124, // 536-543
124, 125, 124, 125, 125, 125, 125, 125, // 544-551
125, 125, 125, 125, 125, 126, 126, 128, // 552-559
128, 128, 127, 129, 129, 130, 130, 130, // 560-567
131, 132, 131, 132, 132, 131, 131, 130, // 568-575
130, 130, 129, 129, 128, 127, 126, 125, // 576-583
125, 125, 125, 125, 124, 124, 124, 124, // 584-591
124, 124, 123, 124, 124, 124, 124, 124, // 592-599
125, 124, 124, 124, 125, 124, 124, 125, // 600-607
125, 125, 125, 127, 127, 128, 127, 128, // 608-615
129, 130, 130, 131, 131, 131, 132, 132, // 616-623
132, 132, 131, 131, 131, 130, 129, 129, // 624-631
127, 128, 128, 128, 126, 126, 125, 125, // 632-639
125, 125, 125, 124, 124, 124, 124, 124, // 640-647
124, 124, 124, 124, 124, 124, 124, 124, // 648-655
123, 124, 124, 124, 124, 125, 125, 125, // 656-663
125, 125, 128, 128, 129, 129, 130, 131, // 664-671
131, 132, 132, 133, 133, 133, 132, 131, // 672-679
131, 131, 130, 129, 129, 128, 127, 128, // 680-687
127, 126, 125, 126, 125, 125, 125, 125, // 688-695
125, 124, 125, 125, 125, 125, 124, 124, // 696-703
124, 124, 124, 124, 123, 123, 123, 123, // 704-711
123, 123, 124, 124, 125, 125, 127, 127, // 712-719
128, 129, 130, 130, 131, 132, 133, 134, // 720-727
134, 133, 133, 133, 131, 131, 130, 130, // 728-735
129, 129, 127, 128, 126, 128, 126, 127, // 736-743
125, 125, 125, 125, 125, 125, 125, 125, // 744-751
125, 125, 125, 124, 124, 124, 124, 124, // 752-759
123, 123, 123, 123, 123, 123, 123, 124, // 760-767
124, 124, 125, 126, 128, 129, 130, 131, // 768-775
132, 133, 134, 134, 134, 134, 134, 134, // 776-783
132, 131, 131, 130, 129, 127, 128, 127, // 784-791
126, 128, 126, 126, 125, 125, 125, 125, // 792-799
125, 125, 125, 125, 125, 125, 125, 125, // 800-807
125, 124, 123, 123, 123, 122, 122, 122, // 808-815
121, 122, 123, 124, 124, 124, 124, 126, // 816-823
126, 129, 130, 131, 133, 133, 134, 134, // 824-831
134, 134, 134, 133, 133, 131, 130, 130, // 832-839
129, 128, 128, 127, 126, 125, 126, 126, // 840-847
125, 125, 125, 125, 125, 125, 125, 126, // 848-855
125, 125, 125, 125, 124, 124, 124, 123, // 856-863
123, 122, 122, 121, 121, 121, 121, 123, // 864-871
123, 124, 125, 127, 128, 129, 131, 133, // 872-879
133, 134, 135, 135, 134, 134, 134, 133, // 880-887
132, 131, 130, 130, 129, 128, 128, 127, // 888-895
127, 126, 126, 125, 125, 125, 125, 125, // 896-903
125, 125, 126, 125, 125, 125, 125, 124, // 904-911
124, 123, 123, 122, 122, 121, 121, 121, // 912-919
121, 121, 123, 123, 123, 125, 125, 128, // 920-927
129, 131, 132, 133, 134, 135, 135, 135, // 928-935
135, 134, 134, 132, 131, 131, 130, 130, // 936-943
127, 128, 128, 125, 127, 125, 126, 125, // 944-951
125, 125, 125, 125, 126, 126, 125, 125, // 952-959
125, 125, 124, 124, 123, 122, 122, 121, // 960-967
120, 121, 120, 121, 121, 122, 121, 123, // 968-975
125, 125, 127, 129, 131, 133, 134, 134, // 976-983
136, 136, 135, 136, 135, 134, 133, 132, // 984-991
131, 130, 129, 129, 128, 126, 127, 125, // 992-999
125, 125, 125, 125, 125, 126, 125, 125, // 1000-1007
125, 125, 125, 125, 125, 123, 123, 122, // 1008-1015
122, 120, 120, 120, 120, 120, 121, 121, // 1016-1023
121, 124, 125, 127, 129, 131, 134, 134, // 1024-1031
135, 136, 136, 136, 135, 134, 134, 133, // 1032-1039
131, 131, 130, 129, 128, 127, 128, 128, // 1040-1047
127, 126, 126, 125, 126, 127, 125, 125, // 1048-1055
126, 125, 125, 125, 126, 125, 123, 121, // 1056-1063
121, 120, 119, 119, 118, 119, 120, 120, // 1064-1071
120, 123, 123, 125, 129, 130, 133, 134, // 1072-1079
135, 137, 137, 136, 136, 135, 135, 133, // 1080-1087
131, 131, 130, 129, 129, 129, 128, 126, // 1088-1095
128, 127, 126, 128, 128, 128, 126, 126, // 1096-1103
127, 126, 124, 125, 124, 123, 123, 121, // 1104-1111
121, 119, 118, 117, 116, 116, 118, 118, // 1112-1119
119, 123, 124, 125, 130, 132, 134, 136, // 1120-1127
138, 139, 139, 138, 138, 136, 134, 132, // 1128-1135
130, 130, 129, 125, 126, 127, 128, 125, // 1136-1143
128, 129, 128, 128, 129, 129, 127, 126, // 1144-1151
128, 125, 122, 121, 121, 120, 118, 118, // 1152-1159
116, 114, 114, 118, 118, 116, 120, 126, // 1160-1167
126, 129, 134, 138, 138, 139, 142, 143, // 1168-1175
139, 137, 138, 134, 129, 128, 125, 123, // 1176-1183
120, 121, 125, 124, 125, 130, 131, 131, // 1184-1191
133, 134, 133, 129, 130, 129, 123, 121, // 1192-1199
120, 117, 115, 112, 112, 112, 112, 116, // 1200-1207
118, 118, 123, 129, 129, 134, 138, 141, // 1208-1215
143, 143, 144, 143, 139, 137, 135, 129, // 1216-1223
124, 121, 119, 116, 115, 117, 119, 121, // 1224-1231
124, 130, 135, 135, 138, 140, 138, 136, // 1232-1239
134, 130, 125, 120, 118, 113, 111, 109, // 1240-1247
107, 108, 110, 115, 118, 119, 130, 134, // 1248-1255
135, 143, 146, 147, 148, 148, 147, 143, // 1256-1263
137, 135, 127, 120, 118, 114, 111, 110, // 1264-1271
112, 115, 115, 121, 130, 131, 136, 141, // 1272-1279
141, 140, 138, 137, 131, 124, 121, 115, // 1280-1287
111, 107, 103, 105, 107, 112, 116, 120, // 1288-1295
134, 136, 143, 152, 153, 156, 157, 155, // 1296-1303
151, 143, 138, 131, 119, 114, 110, 103, // 1304-1311
102, 103, 105, 111, 115, 122, 131, 136, // 1312-1319
143, 145, 145, 146, 143, 138, 133, 123, // 1320-1327
116, 108, 101,  97,  91,  95, 101, 109, // 1328-1335
115, 124, 143, 144, 153, 168, 166, 170, // 1336-1343
170, 164, 156, 143, 137, 123, 108, 106, // 1344-1351
 97,  91,  93,  95, 102, 108, 117, 131, // 1352-1359
136, 143, 152, 149, 150, 148, 140, 134, // 1360-1367
123, 113, 106,  95,  91,  87,  89,  99, // 1368-1375
107, 112, 132, 143, 147, 166, 170, 172, // 1376-1383
174, 172, 166, 151, 143, 133, 112, 107, // 1384-1391
 99,  89,  91,  91,  98, 107, 115, 129, // 1392-1399
138, 144, 153, 152, 152, 149, 140, 133, // 1400-1407
120, 108,  99,  87,  83,  87,  91,  93, // 1408-1415
107, 127, 130, 148, 166, 168, 178, 180, // 1416-1423
180, 170, 158, 150, 130, 115, 110,  91, // 1424-1431
 85,  85,  83,  89,  99, 114, 124, 135, // 1432-1439
153, 156, 158, 168, 156, 152, 144, 131, // 1440-1447
118, 105,  95,  81,  75,  79,  81,  91, // 1448-1455
102, 120, 134, 145, 170, 172, 178, 184, // 1456-1463
180, 174, 164, 151, 135, 116, 108,  93, // 1464-1471
 83,  85,  81,  87,  97, 108, 123, 135, // 1472-1479
148, 160, 162, 168, 164, 153, 150, 135, // 1480-1487
123, 110,  95,  87,  75,  77,  79,  87, // 1488-1495
101, 111, 134, 142, 158, 174, 172, 184, // 1496-1503
182, 174, 166, 152, 139, 120, 109,  99, // 1504-1511
 85,  85,  83,  83,  95, 104, 118, 133, // 1512-1519
144, 155, 162, 164, 166, 157, 150, 140, // 1520-1527
125, 115, 101,  91,  81,  77,  81,  87, // 1528-1535
 97, 108, 129, 138, 151, 170, 170, 180, // 1536-1543
182, 174, 168, 156, 143, 125, 114, 104, // 1544-1551
 89,  87,  85,  83,  95, 102, 112, 127, // 1552-1559
139, 147, 158, 160, 160, 157, 149, 143, // 1560-1567
129, 119, 106,  95,  87,  81,  85,  89, // 1568-1575
 97, 108, 125, 134, 148, 166, 166, 178, // 1576-1583
178, 174, 168, 157, 146, 129, 118, 107, // 1584-1591
 93,  91,  87,  85,  95, 101, 111, 123, // 1592-1599
137, 143, 155, 160, 156, 158, 149, 143, // 1600-1607
133, 121, 111,  98,  91,  83,  83,  91, // 1608-1615
 95, 103, 122, 130, 141, 164, 162, 174, // 1616-1623
178, 174, 170, 160, 151, 134, 124, 112, // 1624-1631
 98,  95,  89,  85,  93,  98, 107, 117, // 1632-1639
131, 140, 146, 158, 155, 156, 154, 143, // 1640-1647
140, 125, 116, 106,  95,  91,  83,  89, // 1648-1655
 93,  98, 112, 128, 131, 150, 162, 162, // 1656-1663
176, 172, 170, 164, 157, 143, 130, 122, // 1664-1671
107,  99,  97,  89,  93,  98, 103, 112, // 1672-1679
121, 134, 140, 149, 155, 151, 155, 147, // 1680-1687
140, 136, 120, 114, 103,  95,  91,  87, // 1688-1695
 93,  97, 103, 117, 129, 133, 156, 155, // 1696-1703
164, 172, 166, 168, 158, 152, 138, 129, // 1704-1711
118, 106, 102,  97,  93,  98, 101, 108, // 1712-1719
115, 125, 135, 142, 149, 151, 151, 151, // 1720-1727
143, 140, 130, 119, 113, 102,  97,  91, // 1728-1735
 91,  97,  99, 108, 121, 128, 139, 155, // 1736-1743
152, 168, 166, 166, 164, 155, 148, 135, // 1744-1751
129, 114, 107, 104,  95,  98, 100, 102, // 1752-1759
112, 116, 128, 135, 142, 148, 148, 151, // 1760-1767
147, 142, 138, 126, 120, 112, 103,  99, // 1768-1775
 93,  95, 100, 102, 111, 125, 126, 142, // 1776-1783
153, 152, 166, 162, 164, 160, 153, 143, // 1784-1791
134, 128, 112, 108, 104,  97, 101, 102, // 1792-1799
105, 112, 118, 128, 135, 142, 146, 148, // 1800-1807
148, 144, 142, 136, 128, 120, 112, 106, // 1808-1815
101,  95,  98, 101, 106, 110, 126, 126, // 1816-1823
139, 153, 148, 166, 162, 162, 158, 152, // 1824-1831
145, 134, 129, 115, 110, 107,  99, 103, // 1832-1839
103, 105, 112, 118, 127, 133, 140, 143, // 1840-1847
146, 146, 143, 142, 135, 129, 122, 114, // 1848-1855
109, 105,  99,  99, 103, 107, 110, 122, // 1856-1863
129, 132, 152, 147, 156, 162, 156, 158, // 1864-1871
153, 147, 136, 132, 121, 112, 112, 105, // 1872-1879
104, 107, 107, 112, 117, 122, 129, 136, // 1880-1887
139, 143, 144, 141, 141, 136, 129, 124, // 1888-1895
118, 112, 108, 104, 101, 104, 108, 109, // 1896-1903
116, 129, 126, 143, 148, 146, 160, 154, // 1904-1911
156, 152, 148, 141, 134, 129, 116, 115, // 1912-1919
109, 106, 108, 107, 111, 114, 120, 124, // 1920-1927
131, 137, 138, 143, 141, 139, 139, 132, // 1928-1935
129, 123, 116, 112, 110, 105, 104, 107, // 1936-1943
110, 112, 119, 129, 127, 143, 144, 146, // 1944-1951
157, 151, 155, 150, 146, 139, 135, 127, // 1952-1959
118, 117, 111, 110, 110, 109, 112, 115, // 1960-1967
120, 123, 131, 134, 136, 141, 138, 139, // 1968-1975
136, 132, 129, 124, 118, 115, 112, 107, // 1976-1983
106, 108, 110, 112, 116, 128, 126, 138, // 1984-1991
145, 142, 155, 148, 152, 149, 145, 142, // 1992-1999
134, 132, 120, 119, 114, 111, 112, 110, // 2000-2007
112, 115, 118, 122, 126, 131, 133, 138, // 2008-2015
136, 138, 137, 133, 131, 128, 122, 119, // 2016-2023
115, 112, 110, 109, 110, 112, 114, 118, // 2024-2031
130, 125, 140, 142, 143, 152, 146, 151, // 2032-2039
146, 146, 140, 135, 132, 121, 121, 114, // 2040-2047
112, 112, 111, 113, 114, 118, 120, 125, // 2048-2055
129, 131, 136, 135, 137, 136, 134, 131, // 2056-2063
129, 124, 120, 118, 112, 112, 110, 111, // 2064-2071
113, 113, 118, 127, 123, 138, 140, 140, // 2072-2079
150, 146, 151, 147, 147, 142, 138, 134, // 2080-2087
124, 124, 117, 114, 114, 112, 112, 114, // 2088-2095
116, 119, 123, 126, 130, 135, 134, 137, // 2096-2103
138, 135, 134, 132, 128, 124, 121, 116, // 2104-2111
114, 111, 110, 111, 112, 113, 118, 127, // 2112-2119
123, 139, 139, 141, 150, 145, 151, 147, // 2120-2127
147, 142, 140, 134, 125, 125, 116, 115, // 2128-2135
114, 111, 112, 112, 115, 118, 123, 126, // 2136-2143
129, 135, 134, 138, 138, 136, 136, 133, // 2144-2151
130, 126, 122, 118, 115, 112, 110, 110, // 2152-2159
112, 112, 113, 123, 123, 127, 140, 135, // 2160-2167
147, 147, 148, 150, 147, 146, 140, 139, // 2168-2175
130, 128, 121, 115, 115, 111, 112, 112, // 2176-2183
112, 115, 119, 123, 125, 132, 134, 135, // 2184-2191
139, 137, 137, 136, 133, 130, 126, 121, // 2192-2199
118, 115, 111, 110, 110, 111, 113, 112, // 2200-2207
122, 123, 128, 140, 135, 147, 146, 148, // 2208-2215
150, 147, 146, 141, 139, 131, 127, 121, // 2216-2223
115, 115, 111, 111, 112, 112, 116, 118, // 2224-2231
123, 125, 131, 134, 135, 139, 137, 138, // 2232-2239
136, 134, 131, 128, 124, 120, 116, 113, // 2240-2247
110, 110, 109, 112, 112, 114, 125, 123, // 2248-2255
133, 140, 138, 148, 146, 149, 149, 148, // 2256-2263
144, 140, 138, 129, 126, 119, 115, 115, // 2264-2271
111, 112, 112, 112, 116, 119, 124, 126, // 2272-2279
133, 134, 136, 139, 138, 139, 136, 134, // 2280-2287
132, 127, 124, 121, 116, 114, 111, 109, // 2288-2295
108, 110, 112, 112, 120, 125, 124, 139, // 2296-2303
138, 143, 149, 146, 151, 148, 147, 142, // 2304-2311
140, 134, 127, 124, 116, 115, 112, 111, // 2312-2319
112, 112, 114, 118, 121, 124, 130, 134, // 2320-2327
135, 138, 138, 138, 138, 135, 133, 131, // 2328-2335
125, 123, 119, 115, 112, 110, 109, 108, // 2336-2343
111, 112, 114, 122, 124, 128, 140, 138, // 2344-2351
145, 148, 147, 151, 147, 146, 142, 139, // 2352-2359
132, 128, 123, 116, 116, 112, 111, 113, // 2360-2367
113, 115, 119, 121, 126, 131, 133, 135, // 2368-2375
138, 138, 138, 137, 135, 133, 131, 125, // 2376-2383
123, 120, 115, 114, 111, 110, 109, 110, // 2384-2391
113, 114, 118, 126, 125, 135, 140, 139, // 2392-2399
148, 146, 149, 148, 146, 143, 140, 136, // 2400-2407
129, 126, 120, 116, 116, 112, 112, 115, // 2408-2415
114, 119, 121, 124, 129, 132, 134, 136, // 2416-2423
138, 136, 138, 135, 133, 132, 128, 124, // 2424-2431
122, 117, 116, 112, 111, 110, 109, 112, // 2432-2439
113, 115, 120, 126, 127, 137, 139, 141, // 2440-2447
148, 144, 149, 147, 144, 143, 139, 134, // 2448-2455
129, 125, 119, 116, 116, 112, 115, 115, // 2456-2463
115, 120, 121, 125, 130, 131, 134, 136, // 2464-2471
136, 136, 137, 134, 133, 131, 125, 124, // 2472-2479
121, 117, 116, 112, 112, 111, 110, 112, // 2480-2487
114, 116, 119, 128, 126, 134, 140, 139, // 2488-2495
147, 144, 147, 147, 144, 143, 140, 135, // 2496-2503
130, 126, 121, 117, 118, 114, 114, 116, // 2504-2511
115, 120, 121, 123, 129, 131, 133, 135, // 2512-2519
136, 135, 136, 134, 133, 131, 128, 125, // 2520-2527
123, 119, 117, 115, 112, 112, 110, 111, // 2528-2535
112, 115, 117, 120, 129, 126, 137, 139, // 2536-2543
140, 148, 143, 148, 146, 144, 142, 139, // 2544-2551
135, 129, 127, 120, 118, 118, 113, 116, // 2552-2559
116, 115, 121, 121, 125, 129, 131, 133, // 2560-2567
135, 136, 135, 136, 133, 133, 131, 126, // 2568-2575
125, 122, 119, 118, 115, 112, 112, 111, // 2576-2583
109, 112, 113, 117, 119, 125, 130, 130, // 2584-2591
142, 138, 144, 147, 144, 149, 144, 144, // 2592-2599
141, 138, 133, 129, 124, 119, 118, 116, // 2600-2607
114, 116, 115, 118, 121, 122, 128, 130, // 2608-2615
131, 133, 135, 134, 135, 135, 132, 132, // 2616-2623
129, 126, 124, 121, 119, 116, 114, 112, // 2624-2631
112, 111, 111, 112, 114, 118, 119, 127, // 2632-2639
130, 132, 143, 138, 146, 147, 146, 149, // 2640-2647
145, 144, 141, 138, 132, 129, 124, 119, // 2648-2655
118, 115, 115, 116, 115, 118, 120, 123, // 2656-2663
126, 129, 131, 133, 134, 135, 134, 135, // 2664-2671
133, 132, 130, 128, 125, 121, 119, 118, // 2672-2679
114, 113, 112, 111, 111, 112, 113, 115, // 2680-2687
120, 121, 129, 134, 133, 143, 141, 146, // 2688-2695
149, 146, 149, 146, 143, 140, 137, 131, // 2696-2703
127, 123, 119, 117, 115, 114, 115, 115, // 2704-2711
117, 120, 121, 125, 129, 130, 133, 134, // 2712-2719
134, 135, 134, 133, 133, 130, 129, 125, // 2720-2727
122, 119, 118, 115, 113, 112, 111, 112, // 2728-2735
112, 112, 115, 118, 123, 124, 131, 136, // 2736-2743
135, 144, 143, 146, 150, 146, 149, 146, // 2744-2751
143, 140, 136, 131, 126, 122, 118, 116, // 2752-2759
114, 112, 114, 114, 116, 119, 121, 124, // 2760-2767
128, 130, 133, 134, 135, 135, 135, 134, // 2768-2775
133, 131, 129, 125, 123, 119, 118, 115, // 2776-2783
114, 112, 112, 112, 112, 114, 115, 118, // 2784-2791
120, 124, 129, 131, 139, 138, 143, 147, // 2792-2799
143, 150, 147, 147, 146, 143, 140, 135, // 2800-2807
130, 124, 121, 116, 114, 113, 111, 112, // 2808-2815
113, 115, 118, 120, 124, 127, 130, 133, // 2816-2823
135, 136, 136, 136, 135, 134, 131, 130, // 2824-2831
128, 123, 121, 118, 116, 115, 114, 113, // 2832-2839
113, 114, 115, 116, 118, 120, 123, 125, // 2840-2847
130, 133, 135, 140, 140, 143, 146, 143, // 2848-2855
148, 144, 143, 143, 138, 135, 130, 125, // 2856-2863
121, 118, 114, 112, 112, 111, 112, 115, // 2864-2871
115, 121, 122, 126, 131, 132, 135, 136, // 2872-2879
137, 137, 136, 135, 133, 131, 129, 125, // 2880-2887
123, 120, 119, 117, 116, 115, 115, 116, // 2888-2895
116, 118, 120, 121, 123, 124, 128, 128, // 2896-2903
131, 133, 134, 136, 139, 138, 142, 142, // 2904-2911
139, 143, 138, 139, 137, 132, 130, 125, // 2912-2919
121, 119, 116, 114, 114, 114, 114, 116, // 2920-2927
119, 120, 125, 128, 130, 134, 134, 136, // 2928-2935
136, 135, 136, 134, 133, 131, 129, 125, // 2936-2943
124, 122, 120, 120, 118, 118, 118, 118, // 2944-2951
120, 120, 121, 123, 124, 125, 125, 126, // 2952-2959
128, 127, 129, 131, 130, 133, 134, 131, // 2960-2967
138, 135, 136, 139, 135, 138, 134, 133, // 2968-2975
131, 127, 124, 121, 120, 118, 118, 117, // 2976-2983
117, 120, 120, 123, 126, 126, 131, 132, // 2984-2991
134, 135, 134, 135, 134, 133, 131, 130, // 2992-2999
128, 125, 125, 123, 122, 121, 120, 121, // 3000-3007
120, 121, 121, 123, 123, 124, 124, 124, // 3008-3015
124, 123, 124, 124, 123, 124, 125, 125, // 3016-3023
128, 131, 130, 134, 136, 135, 140, 137, // 3024-3031
139, 138, 135, 134, 131, 128, 124, 123, // 3032-3039
120, 119, 119, 118, 119, 120, 122, 124, // 3040-3047
126, 129, 131, 133, 133, 134, 134, 133, // 3048-3055
133, 131, 130, 129, 125, 125, 124, 123, // 3056-3063
122, 121, 121, 122, 122, 122, 123, 123, // 3064-3071
124, 124, 124, 124, 123, 123, 123, 122, // 3072-3079
122, 123, 124, 125, 125, 130, 131, 132, // 3080-3087
137, 135, 139, 139, 138, 140, 136, 135, // 3088-3095
133, 130, 126, 124, 121, 119, 119, 118, // 3096-3103
118, 120, 120, 123, 125, 126, 129, 131, // 3104-3111
131, 133, 132, 131, 132, 130, 130, 129, // 3112-3119
126, 125, 124, 124, 124, 123, 123, 124, // 3120-3127
123, 124, 124, 124, 125, 125, 125, 125, // 3128-3135
125, 124, 124, 123, 122, 122, 121, 122, // 3136-3143
123, 124, 125, 130, 130, 131, 137, 135, // 3144-3151
139, 139, 138, 140, 136, 135, 133, 130, // 3152-3159
126, 124, 121, 120, 119, 119, 119, 120, // 3160-3167
120, 123, 124, 125, 127, 129, 130, 130, // 3168-3175
131, 131, 131, 131, 130, 130, 129, 127, // 3176-3183
128, 126, 126, 125, 125, 125, 125, 125, // 3184-3191
125, 125, 125, 125, 125, 124, 124, 124, // 3192-3199
123, 123, 122, 122, 121, 122, 123, 123, // 3200-3207
125, 125, 130, 131, 133, 136, 135, 139, // 3208-3215
138, 138, 138, 135, 135, 131, 129, 126, // 3216-3223
124, 122, 120, 120, 119, 120, 121, 121, // 3224-3231
124, 124, 126, 129, 129, 131, 130, 131, // 3232-3239
131, 131, 131, 130, 130, 129, 129, 128, // 3240-3247
128, 126, 125, 125, 124, 124, 124, 124, // 3248-3255
124, 124, 124, 124, 124, 124, 124, 124, // 3256-3263
124, 123, 123, 123, 123, 122, 123, 124, // 3264-3271
124, 127, 130, 130, 133, 135, 134, 138, // 3272-3279
136, 136, 138, 135, 135, 133, 129, 129, // 3280-3287
125, 123, 123, 121, 120, 121, 121, 121, // 3288-3295
123, 123, 124, 126, 126, 129, 129, 129, // 3296-3303
130, 129, 130, 130, 129, 130, 129, 129, // 3304-3311
128, 127, 126, 125, 125, 124, 125, 124, // 3312-3319
124, 124, 124, 124, 124, 124, 124, 124, // 3320-3327
124, 124, 124, 123, 124, 123, 123, 124, // 3328-3335
125, 125, 125, 131, 127, 133, 135, 131, // 3336-3343
139, 135, 136, 138, 134, 135, 133, 130, // 3344-3351
129, 125, 123, 122, 121, 119, 120, 120, // 3352-3359
120, 123, 122, 124, 126, 125, 129, 130, // 3360-3367
129, 131, 130, 131, 131, 130, 131, 130, // 3368-3375
129, 129, 128, 126, 125, 125, 124, 124, // 3376-3383
124, 124, 124, 123, 124, 124, 124, 125, // 3384-3391
124, 124, 124, 124, 124, 124, 124, 123, // 3392-3399
124, 124, 127, 125, 130, 130, 129, 136, // 3400-3407
131, 137, 137, 134, 139, 134, 134, 133, // 3408-3415
130, 129, 125, 124, 122, 121, 120, 120, // 3416-3423
121, 120, 123, 123, 124, 128, 125, 129, // 3424-3431
130, 130, 131, 130, 131, 131, 130, 130, // 3432-3439
130, 129, 127, 128, 126, 125, 125, 124, // 3440-3447
124, 124, 124, 124, 124, 124, 124, 124, // 3448-3455
125, 124, 124, 124, 124, 124, 124, 124, // 3456-3463
123, 124, 124, 127, 125, 129, 131, 129, // 3464-3471
136, 133, 135, 138, 133, 139, 135, 133, // 3472-3479
134, 129, 129, 126, 123, 122, 121, 120, // 3480-3487
120, 121, 120, 122, 123, 124, 128, 126, // 3488-3495
129, 129, 130, 131, 130, 131, 131, 130, // 3496-3503
130, 129, 129, 128, 127, 126, 125, 125, // 3504-3511
124, 124, 124, 124, 124, 124, 124, 124, // 3512-3519
124, 125, 125, 124, 125, 124, 124, 124, // 3520-3527
124, 124, 124, 124, 125, 128, 128, 129, // 3528-3535
132, 129, 134, 134, 132, 138, 133, 135, // 3536-3543
135, 131, 133, 130, 128, 126, 123, 122, // 3544-3551
121, 120, 120, 121, 121, 121, 124, 124, // 3552-3559
125, 129, 127, 130, 130, 130, 131, 130, // 3560-3567
130, 130, 129, 129, 129, 127, 126, 126, // 3568-3575
125, 125, 125, 124, 124, 124, 124, 125, // 3576-3583
124, 125, 125, 124, 125, 124, 124, 125, // 3584-3591
124, 124, 125, 124, 124, 125, 124, 128, // 3592-3599
127, 128, 131, 131, 131, 136, 132, 135, // 3600-3607
136, 133, 136, 133, 131, 131, 127, 126, // 3608-3615
124, 122, 121, 121, 120, 120, 122, 122, // 3616-3623
123, 125, 125, 129, 129, 130, 131, 130, // 3624-3631
131, 131, 130, 130, 129, 129, 127, 128, // 3632-3639
126, 125, 125, 124, 125, 124, 124, 124, // 3640-3647
124, 124, 125, 124, 125, 125, 124, 125, // 3648-3655
124, 125, 125, 124, 125, 125, 124, 125, // 3656-3663
125, 125, 128, 127, 129, 130, 131, 132, // 3664-3671
134, 134, 134, 135, 134, 134, 134, 131, // 3672-3679
130, 128, 125, 124, 123, 122, 121, 121, // 3680-3687
121, 122, 123, 124, 125, 128, 127, 130, // 3688-3695
130, 131, 131, 130, 130, 130, 129, 128, // 3696-3703
128, 127, 127, 125, 125, 125, 125, 124, // 3704-3711
125, 124, 125, 125, 124, 125, 125, 125, // 3712-3719
125, 125, 125, 125, 124, 125, 125, 125, // 3720-3727
125, 125, 126, 126, 127, 127, 128, 129, // 3728-3735
130, 131, 131, 133, 133, 133, 134, 133, // 3736-3743
133, 133, 131, 131, 129, 128, 126, 124, // 3744-3751
124, 123, 122, 123, 123, 123, 124, 125, // 3752-3759
125, 128, 128, 129, 129, 129, 129, 129, // 3760-3767
129, 127, 128, 126, 125, 125, 125, 124, // 3768-3775
124, 124, 124, 125, 124, 125, 125, 125, // 3776-3783
125, 125, 125, 125, 125, 125, 125, 125, // 3784-3791
125, 126, 126, 128, 128, 128, 129, 130, // 3792-3799
130, 131, 132, 132, 133, 133, 133, 133, // 3800-3807
132, 131, 130, 130, 129, 128, 125, 125, // 3808-3815
124, 124, 123, 123, 124, 124, 124, 125, // 3816-3823
125, 126, 127, 128, 128, 127, 128, 126, // 3824-3831
127, 125, 125, 125, 125, 125, 125, 125, // 3832-3839
125, 125, 126, 128, 126, 128, 127, 126, // 3840-3847
128, 126, 126, 126, 125, 126, 125, 125, // 3848-3855
126, 126, 128, 127, 129, 129, 129, 130, // 3856-3863
130, 130, 130, 130, 129, 129, 129, 128, // 3864-3871
128, 127, 128, 128, 126, 128, 127, 128, // 3872-3879
127, 128, 127, 128, 127, 128, 127, 128, // 3880-3887
126, 125, 125, 125, 125, 125, 125, 125, // 3888-3895
125, 125, 126, 126, 128, 127, 128, 127, // 3896-3903
128, 127, 128, 127, 127, 126, 126, 125, // 3904-3911
125, 125, 125, 126, 126, 128, 126, 127, // 3912-3919
128, 127, 128, 127, 128, 128, 127, 128, // 3920-3927
127, 128, 126, 126, 128, 126, 128, 127, // 3928-3935
128, 127, 128, 127, 128, 127, 128, 127, // 3936-3943
128, 127, 128, 128, 126, 128, 127, 128, // 3944-3951
128, 128, 127, 128, 127, 128, 128, 129, // 3952-3959
129, 129, 129, 127, 129, 127, 129, 129, // 3960-3967
127, 128, 127, 128};

const char Space[NUM_ELEMENTS] = {};
const char Del[NUM_ELEMENTS] = {};

int main()
{
    int value = 0;
    char pc_val;
    
    p2.mode(PullUp);
    p3.mode(PullUp);
    p4.mode(PullUp);
    p5.mode(PullUp);
    p6.mode(PullUp);
    p7.mode(PullUp);
    p8.mode(PullUp);
    p9.mode(PullUp);
    p10.mode(PullUp);
    p11.mode(PullUp);
    p12.mode(PullUp);
    p13.mode(PullUp);
    
    for(;;)
    { 
        if(p2 == 0){
            value |= 0x01;
            }
        if(p3 == 0){
            value |= 0x02;
            }
        if(p4 == 0){
            value |= 0x04;
            }                    
        if(p5 == 0){
            value |= 0x08;
            }                    
        if(p6 == 0){
            value |= 0x10;
            }                    
        if(p7 == 0){
            value |= 0x20;
            }                    
        if(p8 == 0){
            value |= 0x040;
            }                    
        if(p9 == 0){
            value |= 0x080;
            }
        if(p10 == 0){
            value |= 0x0100;
            }
        if(p11 == 0){               //space
            value = 512;
        }
        if(p12 == 0){               //backspace
            value = 513;
        }
        if(p13 == 0){               //something else
            value = 514;
        }
        
        
        if(value!=0)
        {
            led = 0;
            }
        else
        {
            led = 1;
        }
        pc.printf("%d\n", value);
    
        if(value>511)
            wait_ms(100);           //debounce - mechanical switches

        
        if(pc.readable())
        {
            pc_val = pc.getc();
            if(pc_val > '0')
            {
                led2 = 0;
            }
            switch(pc_val)
            {
                case 'a':
                case 'A':
                Play_Tone((char *)A, sizeof(A));
                break;

                case 'b':
                case 'B':
                Play_Tone((char *)B, sizeof(B));
                break;

                case 'c':
                case 'C':
                Play_Tone((char *)C, sizeof(C));
                break;

                case 'd':
                case 'D':
                Play_Tone((char *)D, sizeof(D));
                break;

                case 'e':
                case 'E':
                Play_Tone((char *)E, sizeof(E));
                break;

                case 'f':
                case 'F':
                Play_Tone((char *)F, sizeof(F));
                break;

                case 'g':
                case 'G':
                Play_Tone((char *)G, sizeof(G));
                break;

                case 'h':
                case 'H':
                Play_Tone((char *)H, sizeof(H));
                break;

                case 'i':
                case 'I':
                Play_Tone((char *)I, sizeof(I));
                break;

                case 'j':
                case 'J':
                Play_Tone((char *)J, sizeof(J));
                break;

                case 'k':
                case 'K':
                Play_Tone((char *)K, sizeof(K));
                break;

                case 'l':
                case 'L':
                Play_Tone((char *)L, sizeof(L));
                break;

                case 'm':
                case 'M':
                Play_Tone((char *)M, sizeof(M));
                break;

                case 'n':
                case 'N':
                Play_Tone((char *)N, sizeof(N));
                break;

                case 'o':
                case 'O':
                Play_Tone((char *)O, sizeof(O));
                break;

                case 'p':
                case 'P':
                Play_Tone((char *)P, sizeof(P));
                break;

                case 'q':
                case 'Q':
                Play_Tone((char *)Q, sizeof(Q));
                break;

                case 'r':
                case 'R':
                Play_Tone((char *)R, sizeof(R));
                break;

                case 's':
                case 'S':
                Play_Tone((char *)S, sizeof(S));
                break;

                case 't':
                case 'T':
                Play_Tone((char *)T, sizeof(T));
                break;

                case 'v':
                case 'V':
                Play_Tone((char *)V, sizeof(V));
                break;

                case 'u':
                case 'U':
                Play_Tone((char *)U, sizeof(U));
                break;

                case 'w':
                case 'W':
                Play_Tone((char *)W, sizeof(W));
                break;

                case 'x':
                case 'X':
                Play_Tone((char *)X, sizeof(X));
                break;

                case 'y':
                case 'Y':
                Play_Tone((char *)Y, sizeof(Y));
                break;

                case 'z':
                case 'Z':
                Play_Tone((char *)Z, sizeof(Z));
                break;



                default:
                led2 = 1;
                break;
            }
        }
        value = 0;
    }


    
  
}


/*******************************************************************************
* Function Name: Play_Tone
********************************************************************************
*
* Summary:
*  Blocking function that 'plays' an array by writing to the SPI
*
* Parameters: 
*   int *array: Pointer to the array containing 1-bit tune data
*   int len  : Length of the array
*
* Return:
*   None
*
*******************************************************************************/
int Play_Tone(char *array, int len)
{
    int index = 0;
    int response = 0;
    int i=0;
    while(index < len)
    {
        pin.write_u16((unsigned short)(array[index])<<4);
        wait(1.0/8000);
        index = index+1;
    }

}

int Test_All_Alphabets()
{
    Play_Tone((char *)A, sizeof(A));
    wait_ms(100);
    Play_Tone((char *)B, sizeof(B));
    wait_ms(100);
    Play_Tone((char *)C, sizeof(C));
    wait_ms(100);
    Play_Tone((char *)D, sizeof(D));
    wait_ms(100);
    Play_Tone((char *)E, sizeof(E));
    wait_ms(100);
    Play_Tone((char *)F, sizeof(F));
    wait_ms(100);
    Play_Tone((char *)G, sizeof(G));
    wait_ms(100);
    Play_Tone((char *)H, sizeof(H));
    wait_ms(100);
    Play_Tone((char *)I, sizeof(I));
    wait_ms(100);
    Play_Tone((char *)J, sizeof(J));
    wait_ms(100);
    Play_Tone((char *)K, sizeof(K));
    wait_ms(100);
    Play_Tone((char *)L, sizeof(L));
    wait_ms(100);
    Play_Tone((char *)M, sizeof(M));
    wait_ms(100);
    Play_Tone((char *)N, sizeof(N));
    wait_ms(100);
    Play_Tone((char *)O, sizeof(O));
    wait_ms(100);
    Play_Tone((char *)P, sizeof(P));
    wait_ms(100);
    Play_Tone((char *)Q, sizeof(Q));
    wait_ms(100);
    Play_Tone((char *)R, sizeof(R));
    wait_ms(100);
    Play_Tone((char *)S, sizeof(S));
    wait_ms(100);
    Play_Tone((char *)T, sizeof(T));
    wait_ms(100);
    Play_Tone((char *)U, sizeof(U));
    wait_ms(100);
    Play_Tone((char *)V, sizeof(V));
    wait_ms(100);
    Play_Tone((char *)W, sizeof(W));
    wait_ms(100);
    Play_Tone((char *)X, sizeof(X));
    wait_ms(100);
    Play_Tone((char *)Y, sizeof(Y));
    wait_ms(100);
    Play_Tone((char *)Z, sizeof(Z));
    wait_ms(100);    
}

/* Processing Code for the Keyboard */  
///**
// * Simple Read
// * 
// * Read data from the serial port and change the color of a rectangle
// * when a switch connected to a Wiring or Arduino board is pressed and released.
// */
//
//import processing.serial.*;
//
//
//char array[] = {
//0,  //  0
//0,  //  1
//0,  //  2
//0,  //  3
//0,  //  4
//0,  //  5
//0,  //  6
//0,  //  7
//0,  //  8
//0,  //  9
//0,  //  10
//0,  //  11
//0,  //  12
//0,  //  13
//0,  //  14
//0,  //  15
//0,  //  16
//0,  //  17
//0,  //  18
//0,  //  19
//0,  //  20
//0,  //  21
//0,  //  22
//0,  //  23
//0,  //  24
//0,  //  25
//0,  //  26
//0,  //  27
//0,  //  28
//0,  //  29
//0,  //  30
//0,  //  31
//0,  //  32
//0,  //  33
//0,  //  34
//0,  //  35
//0,  //  36
//0,  //  37
//0,  //  38
//0,  //  39
//0,  //  40
//0,  //  41
//0,  //  42
//0,  //  43
//0,  //  44
//0,  //  45
//0,  //  46
//0,  //  47
//0,  //  48
//0,  //  49
//0,  //  50
//0,  //  51
//0,  //  52
//0,  //  53
//0,  //  54
//0,  //  55
//0,  //  56
//0,  //  57
//0,  //  58
//0,  //  59
//0,  //  60
//0,  //  61
//0,  //  62
//0,  //  63
//0,  //  64
//0,  //  65
//0,  //  66
//0,  //  67
//0,  //  68
//0,  //  69
//0,  //  70
//0,  //  71
//0,  //  72
//0,  //  73
//0,  //  74
//0,  //  75
//0,  //  76
//0,  //  77
//0,  //  78
//0,  //  79
//0,  //  80
//0,  //  81
//0,  //  82
//0,  //  83
//0,  //  84
//0,  //  85
//0,  //  86
//0,  //  87
//0,  //  88
//'D',  //  89
//0,  //  90
//0,  //  91
//0,  //  92
//0,  //  93
//0,  //  94
//'F',  //  95
//0,  //  96
//0,  //  97
//0,  //  98
//0,  //  99
//0,  //  100
//0,  //  101
//0,  //  102
//0,  //  103
//0,  //  104
//0,  //  105
//0,  //  106
//0,  //  107
//0,  //  108
//0,  //  109
//0,  //  110
//0,  //  111
//0,  //  112
//0,  //  113
//0,  //  114
//0,  //  115
//0,  //  116
//0,  //  117
//0,  //  118
//0,  //  119
//0,  //  120
//0,  //  121
//0,  //  122
//0,  //  123
//0,  //  124
//0,  //  125
//0,  //  126
//'P',  //  127
//0,  //  128
//0,  //  129
//0,  //  130
//0,  //  131
//0,  //  132
//0,  //  133
//0,  //  134
//0,  //  135
//0,  //  136
//0,  //  137
//0,  //  138
//0,  //  139
//0,  //  140
//0,  //  141
//0,  //  142
//0,  //  143
//0,  //  144
//0,  //  145
//'I',  //  146
//0,  //  147
//0,  //  148
//'Y',  //  149
//0,  //  150
//'T',  //  151
//0,  //  152
//0,  //  153
//0,  //  154
//0,  //  155
//0,  //  156
//0,  //  157
//0,  //  158
//0,  //  159
//0,  //  160
//0,  //  161
//0,  //  162
//0,  //  163
//0,  //  164
//0,  //  165
//0,  //  166
//0,  //  167
//0,  //  168
//0,  //  169
//0,  //  170
//0,  //  171
//0,  //  172
//0,  //  173
//0,  //  174
//0,  //  175
//0,  //  176
//0,  //  177
//0,  //  178
//0,  //  179
//0,  //  180
//0,  //  181
//0,  //  182
//0,  //  183
//0,  //  184
//0,  //  185
//0,  //  186
//0,  //  187
//0,  //  188
//'V',  //  189
//0,  //  190
//0,  //  191
//0,  //  192
//0,  //  193
//0,  //  194
//0,  //  195
//0,  //  196
//0,  //  197
//0,  //  198
//0,  //  199
//0,  //  200
//0,  //  201
//0,  //  202
//0,  //  203
//0,  //  204
//0,  //  205
//0,  //  206
//0,  //  207
//0,  //  208
//0,  //  209
//0,  //  210
//0,  //  211
//0,  //  212
//0,  //  213
//0,  //  214
//0,  //  215
//0,  //  216
//0,  //  217
//0,  //  218
//'B',  //  219
//0,  //  220
//0,  //  221
//0,  //  222
//0,  //  223
//0,  //  224
//0,  //  225
//0,  //  226
//0,  //  227
//0,  //  228
//0,  //  229
//0,  //  230
//0,  //  231
//0,  //  232
//0,  //  233
//0,  //  234
//0,  //  235
//0,  //  236
//0,  //  237
//0,  //  238
//0,  //  239
//0,  //  240
//0,  //  241
//0,  //  242
//0,  //  243
//0,  //  244
//0,  //  245
//0,  //  246
//0,  //  247
//0,  //  248
//0,  //  249
//0,  //  250
//0,  //  251
//0,  //  252
//0,  //  253
//0,  //  254
//'R',  //  255
//0,  //  256
//0,  //  257
//0,  //  258
//0,  //  259
//0,  //  260
//0,  //  261
//0,  //  262
//0,  //  263
//0,  //  264
//0,  //  265
//0,  //  266
//0,  //  267
//0,  //  268
//0,  //  269
//0,  //  270
//0,  //  271
//0,  //  272
//0,  //  273
//0,  //  274
//0,  //  275
//0,  //  276
//0,  //  277
//0,  //  278
//0,  //  279
//0,  //  280
//0,  //  281
//0,  //  282
//0,  //  283
//0,  //  284
//0,  //  285
//0,  //  286
//0,  //  287
//0,  //  288
//0,  //  289
//0,  //  290
//0,  //  291
//0,  //  292
//0,  //  293
//0,  //  294
//0,  //  295
//0,  //  296
//0,  //  297
//0,  //  298
//0,  //  299
//0,  //  300
//0,  //  301
//0,  //  302
//0,  //  303
//0,  //  304
//0,  //  305
//0,  //  306
//0,  //  307
//0,  //  308
//0,  //  309
//0,  //  310
//0,  //  311
//0,  //  312
//0,  //  313
//0,  //  314
//0,  //  315
//0,  //  316
//0,  //  317
//0,  //  318
//0,  //  319
//0,  //  320
//0,  //  321
//0,  //  322
//0,  //  323
//0,  //  324
//0,  //  325
//0,  //  326
//0,  //  327
//0,  //  328
//0,  //  329
//0,  //  330
//0,  //  331
//0,  //  332
//0,  //  333
//0,  //  334
//0,  //  335
//0,  //  336
//0,  //  337
//0,  //  338
//0,  //  339
//0,  //  340
//'X',  //  341
//0,  //  342
//0,  //  343
//0,  //  344
//0,  //  345
//0,  //  346
//0,  //  347
//0,  //  348
//'K',  //  349
//0,  //  350
//0,  //  351
//0,  //  352
//0,  //  353
//0,  //  354
//0,  //  355
//0,  //  356
//0,  //  357
//0,  //  358
//0,  //  359
//0,  //  360
//0,  //  361
//0,  //  362
//0,  //  363
//0,  //  364
//0,  //  365
//0,  //  366
//'N',  //  367
//0,  //  368
//0,  //  369
//0,  //  370
//0,  //  371
//0,  //  372
//0,  //  373
//0,  //  374
//0,  //  375
//0,  //  376
//0,  //  377
//0,  //  378
//0,  //  379
//0,  //  380
//'H',  //  381
//0,  //  382
//'A',  //  383
//0,  //  384
//0,  //  385
//0,  //  386
//0,  //  387
//0,  //  388
//0,  //  389
//0,  //  390
//0,  //  391
//0,  //  392
//0,  //  393
//0,  //  394
//0,  //  395
//0,  //  396
//0,  //  397
//0,  //  398
//0,  //  399
//0,  //  400
//0,  //  401
//0,  //  402
//0,  //  403
//0,  //  404
//0,  //  405
//0,  //  406
//0,  //  407
//0,  //  408
//0,  //  409
//0,  //  410
//0,  //  411
//0,  //  412
//0,  //  413
//0,  //  414
//0,  //  415
//0,  //  416
//0,  //  417
//0,  //  418
//0,  //  419
//0,  //  420
//0,  //  421
//0,  //  422
//0,  //  423
//0,  //  424
//0,  //  425
//0,  //  426
//0,  //  427
//0,  //  428
//0,  //  429
//0,  //  430
//0,  //  431
//0,  //  432
//0,  //  433
//0,  //  434
//0,  //  435
//0,  //  436
//0,  //  437
//'S',  //  438
//0,  //  439
//0,  //  440
//0,  //  441
//0,  //  442
//0,  //  443
//0,  //  444
//0,  //  445
//0,  //  446
//'G',  //  447
//0,  //  448
//0,  //  449
//0,  //  450
//0,  //  451
//0,  //  452
//0,  //  453
//0,  //  454
//0,  //  455
//0,  //  456
//'L',  //  457
//0,  //  458
//0,  //  459
//0,  //  460
//0,  //  461
//0,  //  462
//'C',  //  463
//0,  //  464
//0,  //  465
//0,  //  466
//0,  //  467
//0,  //  468
//0,  //  469
//0,  //  470
//'Z',  //  471
//0,  //  472
//0,  //  473
//0,  //  474
//'Q',  //  475
//0,  //  476
//0,  //  477
//0,  //  478
//'E',  //  479
//0,  //  480
//0,  //  481
//0,  //  482
//0,  //  483
//'J',  //  484
//0,  //  485
//0,  //  486
//0,  //  487
//0,  //  488
//0,  //  489
//0,  //  490
//0,  //  491
//0,  //  492
//'U',  //  493
//0,  //  494
//'O',  //  495
//0,  //  496
//0,  //  497
//0,  //  498
//0,  //  499
//0,  //  500
//0,  //  501
//0,  //  502
//0,  //  503
//0,  //  504
//0,  //  505
//0,  //  506
//0,  //  507
//0,  //  508
//'W',  //  509
//0,  //  510
//'M',  //  511
//' ', // 512 - Space
//10,  // 513 backspace
//0,   // 514 - TBD button
//};
//
//
//Serial myPort;                          // Create object from Serial class
//int SIZE_OF_BOX = 100;
//int GREY = 204;
//int BLACK = 0;
//int WHITE = 255;
//int NUM_BTNS = 9;
//
//int i = 1;
//int character = 0;
//int val;// Data received from the serial port
//int aggregate_val;
//int temp;
//int timeout = 1;
//String words = "";
//int word_len = 0;
//char current_key = 1;
//
//void setup() 
//{
//  size(300, 400);                      // to get 9 grids of 100x100
//  String portName = Serial.list()[0];
//  myPort = new Serial(this, portName, 9600);
//  textFont(createFont("Georgia", 12));
//  background(0);
//}
//
//void draw()
//{
//  background(0); // Set background to black
//
//  timeout = millis();
//  aggregate_val = 0;
//  while((millis()-timeout) < 1000)
//  {
//    if(myPort.available() > 0) {      // If data is available,
//      val = 0;
//      i = 100;
//      temp = myPort.read();         // read it and store it in val
//      while(temp != '\n' & i>=1)
//      {
//        val += (temp-'0')*(i);
//        while(myPort.available() == 0); //wait for data
//        temp = myPort.read();         // read it and store it in val
//        i /= 10;    
//      }
//      if(i!=0)
//      {
//        val = val/(i*10);
//      }
//
//      if(val < 512)
//        aggregate_val |= val;
//      else
//      {
//        aggregate_val = val;
//        timeout = millis()-1000;
//      }
//      print("Aggregate Value: ", aggregate_val, "\n");
//
//     if(val != 0 && val < 512)
//     {
//       timeout = millis();
//     } 
//
//    }
//  }
//  
//  myPort.write(array[aggregate_val]);      // send the char back to the board
//  switch(array[aggregate_val])
//  {
//    case 0:                          // null - no character
//        current_key = 32;           // Space - so that nothing seems to be entered :)
//        break;
//    
//    case 10:
//        current_key  = 10;           // backspace
//        if(word_len != 0)
//        {
//          word_len--;
//          words = words.substring(0, word_len);
//        }
//        break;
//        
//    default:
//      current_key = array[aggregate_val];
//      words = words + current_key;
//      word_len++;
//      break;
//  }
//  
//  draw_char(aggregate_val);
//  text("Current key: " + current_key, 10, 320, 290, 330);
//  text("Input Text: " + words, 10, 340, 290, 390);
//}
//
//void draw_char(int ag_val)
//{
//  int color_array[] = {0,0,0,0,0,0,0,0,0};
//  
//  if(ag_val < 512)          // 9 squares, 2^9 values :)
//      for(int p = 0; p < 9; p++)
//      {
//        color_array[p] = (((ag_val) & (0x01<<p))>0 ? GREY : WHITE); 
//      }
//  else
//  {
//    for(int p = 0; p < 9; p++)
//      {
//        color_array[p] = (WHITE); 
//      }
//  }  
//      fill(color_array[0]);
//      rect(0*SIZE_OF_BOX, 0*SIZE_OF_BOX, SIZE_OF_BOX, SIZE_OF_BOX);
//      fill(color_array[1]);
//      rect(1*SIZE_OF_BOX, 0*SIZE_OF_BOX, SIZE_OF_BOX, SIZE_OF_BOX);
//      fill(color_array[2]);
//      rect(2*SIZE_OF_BOX, 0*SIZE_OF_BOX, SIZE_OF_BOX, SIZE_OF_BOX);
//      fill(color_array[3]);
//      rect(0*SIZE_OF_BOX, 1*SIZE_OF_BOX, SIZE_OF_BOX, SIZE_OF_BOX);
//      fill(color_array[4]);
//      rect(1*SIZE_OF_BOX, 1*SIZE_OF_BOX, SIZE_OF_BOX, SIZE_OF_BOX);
//      fill(color_array[5]);
//      rect(2*SIZE_OF_BOX, 1*SIZE_OF_BOX, SIZE_OF_BOX, SIZE_OF_BOX);
//      fill(color_array[6]);
//      rect(0*SIZE_OF_BOX, 2*SIZE_OF_BOX, SIZE_OF_BOX, SIZE_OF_BOX);
//      fill(color_array[7]);
//      rect(1*SIZE_OF_BOX, 2*SIZE_OF_BOX, SIZE_OF_BOX, SIZE_OF_BOX);
//      fill(color_array[8]);
//      rect(2*SIZE_OF_BOX, 2*SIZE_OF_BOX, SIZE_OF_BOX, SIZE_OF_BOX);
//
//}