Interactive Device Design / Mbed 2 deprecated idd_hw2_antoniorohit_3x3CharDrawing

Dependencies:   mbed

Fork of idd_hw2_antoniorohit_3x3CharDrawing by Antonio De Lima Fernandes

Revision:
0:1aa14f2daf0e
Child:
1:e04bcbc40115
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sun Sep 21 15:43:40 2014 +0000
@@ -0,0 +1,11329 @@
+#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(D13);
+
+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;
+    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(value!=0)
+        {
+            led = 0;
+            }
+        else
+        {
+            led = 1;
+        }
+        pc.printf("%d\n", value);
+        
+        if(pc.readable())
+        {
+            led2 = 0;
+            switch(pc.getc())
+            {
+                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.*;
+//
+//int SIZE_OF_BOX = 100;
+//int GREY = 204;
+//int BLACK = 0;
+//int WHITE = 255;
+//int NUM_BTNS = 9;
+//int i = 1;
+//int character = 0;
+//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
+//
+//};
+//
+//
+//Serial myPort;                          // Create object from Serial class
+//int val;// Data received from the serial port
+//int aggregate_val;
+//int temp;
+//int color_array[] = {0,0,0,0,0,0,0,0,0};
+//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);
+//      }
+//
+//      aggregate_val |= val;
+//
+//      print("Aggregate Value: ", aggregate_val);
+//      
+//     if(val != 0)
+//     {
+//       timeout = millis();
+//     } 
+//      print("Timeout: ", millis()-timeout, '\n');
+//
+//    }
+//  }
+//  
+//  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;
+//  }
+//  
+//  text("Current key: " + current_key, 10, 320, 290, 330);
+//  text("Input Text: " + words, 10, 340, 290, 390);
+//  
+//  if(aggregate_val < 512)          // 9 squares, 2^9 values :)
+//    for(int p = 0; p < 9; p++)
+//    {
+//      color_array[p] = (((aggregate_val) & (0x01<<p))>0 ? GREY : 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);
+//
+//
+//  
+//}