int unicodeHasKey[] = {
300, 301, 372, 373, 374, 375, 399, 415, 416, 417, 431,
432, 437, 438, 465, 466, 486, 487, 601, 629, 1170, 1171,
1174, 1175, 1178, 1179, 1180, 1181, 1186, 1187, 1198, 1199, 1200,
1201, 1202, 1203, 1206, 1207, 1208, 1209, 1210, 1211, 1240, 1241,
1250, 1251, 1256, 1257, 1262, 1263, 1329, 1330, 1331, 1332, 1333,
1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344,
1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355,
1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366,
1370, 1371, 1371, 1372, 1372, 1373, 1373, 1374, 1374, 1377, 1378,
1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389,
1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400,
1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411,
1412, 1413, 1414, 1415, 1417, 1417, 1418, 1418, 1619, 1620, 1621,
1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642,
1648, 1657, 1662, 1670, 1672, 1681, 1688, 1700, 1705, 1711, 1722,
1726, 1729, 1740, 1740, 1746, 1748, 1776, 1777, 1778, 1779, 1780,
1781, 1782, 1783, 1784, 1785, 3458, 3459, 3461, 3462, 3463, 3464,
3465, 3466, 3467, 3468, 3469, 3470, 3471, 3472, 3473, 3474, 3475,
3476, 3477, 3478, 3482, 3483, 3484, 3485, 3486, 3487, 3488, 3489,
3490, 3491, 3492, 3493, 3494, 3495, 3496, 3497, 3498, 3499, 3500,
3501, 3502, 3503, 3504, 3505, 3507, 3508, 3509, 3510, 3511, 3512,
3513, 3514, 3515, 3517, 3520, 3521, 3522, 3523, 3524, 3525, 3526,
3530, 3535, 3536, 3537, 3538, 3539, 3540, 3542, 3544, 3545, 3546,
3547, 3548, 3549, 3550, 3551, 3570, 3571, 3572, 4304, 4305, 4306,
4307, 4308, 4309, 4310, 4311, 4312, 4313, 4314, 4315, 4316, 4317,
4318, 4319, 4320, 4321, 4322, 4323, 4324, 4325, 4326, 4327, 4328,
4329, 4330, 4331, 4332, 4333, 4334, 4335, 4336, 4337, 4338, 4339,
4340, 4341, 4342, 7682, 7683, 7690, 7691, 7710, 7711, 7734, 7735,
7744, 7745, 7766, 7767, 7776, 7777, 7786, 7787, 7808, 7809, 7810,
7811, 7812, 7813, 7818, 7819, 7840, 7841, 7842, 7843, 7844, 7845,
7846, 7847, 7848, 7849, 7850, 7851, 7852, 7853, 7854, 7855, 7856,
7857, 7858, 7859, 7860, 7861, 7862, 7863, 7864, 7865, 7866, 7867,
7868, 7869, 7870, 7871, 7872, 7873, 7874, 7875, 7876, 7877, 7878,
7879, 7880, 7881, 7882, 7883, 7884, 7885, 7886, 7887, 7888, 7889,
7890, 7891, 7892, 7893, 7894, 7895, 7896, 7897, 7898, 7899, 7900,
7901, 7902, 7903, 7904, 7905, 7906, 7907, 7908, 7909, 7910, 7911,
7912, 7913, 7914, 7915, 7916, 7917, 7918, 7919, 7920, 7921, 7922,
7923, 7924, 7925, 7926, 7927, 7928, 7929, 8304, 8308, 8309, 8310,
8311, 8312, 8313, 8320, 8321, 8322, 8323, 8324, 8325, 8326, 8327,
8328, 8329, 8352, 8353, 8354, 8355, 8356, 8357, 8358, 8359, 8360,
8361, 8362, 8363, 8706, 8709, 8712, 8713, 8715, 8730, 8731, 8732,
8748, 8749, 8757, 8775, 8776, 8802, 8803, 10240, 10241, 10242, 10243,
10244, 10245, 10246, 10247, 10248, 10249, 10250, 10251, 10252, 10253, 10254,
10255, 10256, 10257, 10258, 10259, 10260, 10261, 10262, 10263, 10264, 10265,
10266, 10267, 10268, 10269, 10270, 10271, 10272, 10273, 10274, 10275, 10276,
10277, 10278, 10279, 10280, 10281, 10282, 10283, 10284, 10285, 10286, 10287,
10288, 10289, 10290, 10291, 10292, 10293, 10294, 10295, 10296, 10297, 10298,
10299, 10300, 10301, 10302, 10303, 10304, 10305, 10306, 10307, 10308, 10309,
10310, 10311, 10312, 10313, 10314, 10315, 10316, 10317, 10318, 10319, 10320,
10321, 10322, 10323, 10324, 10325, 10326, 10327, 10328, 10329, 10330, 10331,
10332, 10333, 10334, 10335, 10336, 10337, 10338, 10339, 10340, 10341, 10342,
10343, 10344, 10345, 10346, 10347, 10348, 10349, 10350, 10351, 10352, 10353,
10354, 10355, 10356, 10357, 10358, 10359, 10360, 10361, 10362, 10363, 10364,
10365, 10366, 10367, 10368, 10369, 10370, 10371, 10372, 10373, 10374, 10375,
10376, 10377, 10378, 10379, 10380, 10381, 10382, 10383, 10384, 10385, 10386,
10387, 10388, 10389, 10390, 10391, 10392, 10393, 10394, 10395, 10396, 10397,
10398, 10399, 10400, 10401, 10402, 10403, 10404, 10405, 10406, 10407, 10408,
10409, 10410, 10411, 10412, 10413, 10414, 10415, 10416, 10417, 10418, 10419,
10420, 10421, 10422, 10423, 10424, 10425, 10426, 10427, 10428, 10429, 10430,
10431, 10432, 10433, 10434, 10435, 10436, 10437, 10438, 10439, 10440, 10441,
10442, 10443, 10444, 10445, 10446, 10447, 10448, 10449, 10450, 10451, 10452,
10453, 10454, 10455, 10456, 10457, 10458, 10459, 10460, 10461, 10462, 10463,
10464, 10465, 10466, 10467, 10468, 10469, 10470, 10471, 10472, 10473, 10474,
10475, 10476, 10477, 10478, 10479, 10480, 10481, 10482, 10483, 10484, 10485,
10486, 10487, 10488, 10489, 10490, 10491, 10492, 10493, 10494, 10495};
struct Unicode2Key {
int unicode;
int key;
bool operator<(const int &u) const { return unicode < u; }
};
bool operator<(const int &u, const Unicode2Key &key) { return u < key.unicode; }
Unicode2Key unicodeKeyMap[] = {
{32, 32},
{33, 33},
{34, 34},
{35, 35},
{36, 36},
{37, 37},
{38, 38},
{39, 39},
{39, 39},
{40, 40},
{41, 41},
{42, 42},
{43, 43},
{44, 44},
{45, 45},
{46, 46},
{47, 47},
{48, 48},
{49, 49},
{50, 50},
{51, 51},
{52, 52},
{53, 53},
{54, 54},
{55, 55},
{56, 56},
{57, 57},
{58, 58},
{59, 59},
{60, 60},
{61, 61},
{62, 62},
{63, 63},
{64, 64},
{65, 65},
{66, 66},
{67, 67},
{68, 68},
{69, 69},
{70, 70},
{71, 71},
{72, 72},
{73, 73},
{74, 74},
{75, 75},
{76, 76},
{77, 77},
{78, 78},
{79, 79},
{80, 80},
{81, 81},
{82, 82},
{83, 83},
{84, 84},
{85, 85},
{86, 86},
{87, 87},
{88, 88},
{89, 89},
{90, 90},
{91, 91},
{92, 92},
{93, 93},
{94, 94},
{95, 95},
{96, 96},
{96, 96},
{97, 97},
{98, 98},
{99, 99},
{100, 100},
{101, 101},
{102, 102},
{103, 103},
{104, 104},
{105, 105},
{106, 106},
{107, 107},
{108, 108},
{109, 109},
{110, 110},
{111, 111},
{112, 112},
{113, 113},
{114, 114},
{115, 115},
{116, 116},
{117, 117},
{118, 118},
{119, 119},
{120, 120},
{121, 121},
{122, 122},
{123, 123},
{124, 124},
{125, 125},
{126, 126},
{160, 160},
{161, 161},
{162, 162},
{163, 163},
{164, 164},
{165, 165},
{166, 166},
{167, 167},
{168, 168},
{169, 169},
{170, 170},
{171, 171},
{172, 172},
{173, 173},
{174, 174},
{175, 175},
{176, 176},
{177, 177},
{178, 178},
{179, 179},
{180, 180},
{181, 181},
{182, 182},
{183, 183},
{184, 184},
{185, 185},
{186, 186},
{187, 187},
{188, 188},
{189, 189},
{190, 190},
{191, 191},
{192, 192},
{193, 193},
{194, 194},
{195, 195},
{196, 196},
{197, 197},
{198, 198},
{199, 199},
{200, 200},
{201, 201},
{202, 202},
{203, 203},
{204, 204},
{205, 205},
{206, 206},
{207, 207},
{208, 208},
{208, 208},
{209, 209},
{210, 210},
{211, 211},
{212, 212},
{213, 213},
{214, 214},
{215, 215},
{216, 216},
{216, 216},
{217, 217},
{218, 218},
{219, 219},
{220, 220},
{221, 221},
{222, 222},
{222, 222},
{223, 223},
{224, 224},
{225, 225},
{226, 226},
{227, 227},
{228, 228},
{229, 229},
{230, 230},
{231, 231},
{232, 232},
{233, 233},
{234, 234},
{235, 235},
{236, 236},
{237, 237},
{238, 238},
{239, 239},
{240, 240},
{241, 241},
{242, 242},
{243, 243},
{244, 244},
{245, 245},
{246, 246},
{247, 247},
{248, 248},
{248, 248},
{249, 249},
{250, 250},
{251, 251},
{252, 252},
{253, 253},
{254, 254},
{255, 255},
/*
{0, 1709},
{0, 1725},
{0, 2225},
{0, 2226},
{0, 2227},
{0, 2228},
{0, 2229},
{0, 2230},
{0, 2231},
{0, 2527},
{0, 2732},
{0, 2749},
{0, 2751},
{0, 2763},
{0, 2778},
{0, 2815}, */
{256, 960},
{257, 992},
{258, 451},
{259, 483},
{260, 417},
{261, 433},
{262, 454},
{263, 486},
{264, 710},
{265, 742},
{266, 709},
{267, 741},
{268, 456},
{269, 488},
{270, 463},
{271, 495},
{272, 464},
{273, 496},
{274, 938},
{275, 954},
{278, 972},
{279, 1004},
{280, 458},
{281, 490},
{282, 460},
{283, 492},
{284, 728},
{285, 760},
{286, 683},
{287, 699},
{288, 725},
{289, 757},
{290, 939},
{291, 955},
{292, 678},
{293, 694},
{294, 673},
{295, 689},
{296, 933},
{297, 949},
{298, 975},
{299, 1007},
{302, 967},
{303, 999},
{304, 681},
{305, 697},
{308, 684},
{309, 700},
{310, 979},
{311, 1011},
{312, 930},
{312, 930},
{313, 453},
{314, 485},
{315, 934},
{316, 950},
{317, 421},
{318, 437},
{321, 419},
{322, 435},
{323, 465},
{324, 497},
{325, 977},
{326, 1009},
{327, 466},
{328, 498},
{330, 957},
{331, 959},
{332, 978},
{333, 1010},
{336, 469},
{337, 501},
{340, 448},
{341, 480},
{342, 931},
{343, 947},
{344, 472},
{345, 504},
{346, 422},
{347, 438},
{348, 734},
{349, 766},
{350, 426},
{351, 442},
{352, 425},
{353, 441},
{354, 478},
{355, 510},
{356, 427},
{357, 443},
{358, 940},
{359, 956},
{360, 989},
{361, 1021},
{362, 990},
{363, 1022},
{364, 733},
{365, 765},
{366, 473},
{367, 505},
{368, 475},
{369, 507},
{370, 985},
{371, 1017},
{377, 428},
{378, 444},
{379, 431},
{380, 447},
{381, 430},
{382, 446},
{402, 2294},
{711, 439},
{728, 418},
{729, 511},
{731, 434},
{733, 445},
{901, 1966},
{902, 1953},
{904, 1954},
{905, 1955},
{906, 1956},
{908, 1959},
{910, 1960},
{911, 1963},
{912, 1974},
{913, 1985},
{914, 1986},
{915, 1987},
{916, 1988},
{917, 1989},
{918, 1990},
{919, 1991},
{920, 1992},
{921, 1993},
{922, 1994},
{923, 1995},
{923, 1995},
{924, 1996},
{925, 1997},
{926, 1998},
{927, 1999},
{928, 2000},
{929, 2001},
{931, 2002},
{932, 2004},
{933, 2005},
{934, 2006},
{935, 2007},
{936, 2008},
{937, 2009},
{938, 1957},
{938, 1957},
{939, 1961},
{940, 1969},
{941, 1970},
{942, 1971},
{943, 1972},
{944, 1978},
{945, 2017},
{946, 2018},
{947, 2019},
{948, 2020},
{949, 2021},
{950, 2022},
{951, 2023},
{952, 2024},
{953, 2025},
{954, 2026},
{955, 2027},
{955, 2027},
{956, 2028},
{957, 2029},
{958, 2030},
{959, 2031},
{960, 2032},
{961, 2033},
{962, 2035},
{963, 2034},
{964, 2036},
{965, 2037},
{966, 2038},
{967, 2039},
{968, 2040},
{969, 2041},
{970, 1973},
{971, 1977},
{972, 1975},
{973, 1976},
{974, 1979},
{1025, 1715},
{1026, 1713},
{1027, 1714},
{1028, 1716},
{1028, 1716},
{1029, 1717},
{1030, 1718},
{1030, 1718},
{1031, 1719},
{1031, 1719},
{1032, 1720},
{1032, 1720},
{1033, 1721},
{1033, 1721},
{1034, 1722},
{1034, 1722},
{1035, 1723},
{1036, 1724},
{1038, 1726},
{1039, 1727},
{1039, 1727},
{1040, 1761},
{1041, 1762},
{1042, 1783},
{1043, 1767},
{1044, 1764},
{1045, 1765},
{1046, 1782},
{1047, 1786},
{1048, 1769},
{1049, 1770},
{1050, 1771},
{1051, 1772},
{1052, 1773},
{1053, 1774},
{1054, 1775},
{1055, 1776},
{1056, 1778},
{1057, 1779},
{1058, 1780},
{1059, 1781},
{1060, 1766},
{1061, 1768},
{1062, 1763},
{1063, 1790},
{1064, 1787},
{1065, 1789},
{1066, 1791},
{1067, 1785},
{1068, 1784},
{1069, 1788},
{1070, 1760},
{1071, 1777},
{1072, 1729},
{1073, 1730},
{1074, 1751},
{1075, 1735},
{1076, 1732},
{1077, 1733},
{1078, 1750},
{1079, 1754},
{1080, 1737},
{1081, 1738},
{1082, 1739},
{1083, 1740},
{1084, 1741},
{1085, 1742},
{1086, 1743},
{1087, 1744},
{1088, 1746},
{1089, 1747},
{1090, 1748},
{1091, 1749},
{1092, 1734},
{1093, 1736},
{1094, 1731},
{1095, 1758},
{1096, 1755},
{1097, 1757},
{1098, 1759},
{1099, 1753},
{1100, 1752},
{1101, 1756},
{1102, 1728},
{1103, 1745},
{1105, 1699},
{1106, 1697},
{1107, 1698},
{1108, 1700},
{1108, 1700},
{1109, 1701},
{1110, 1702},
{1110, 1702},
{1111, 1703},
{1111, 1703},
{1112, 1704},
{1112, 1704},
{1113, 1705},
{1113, 1705},
{1114, 1706},
{1114, 1706},
{1115, 1707},
{1116, 1708},
{1118, 1710},
{1119, 1711},
{1119, 1711},
{1488, 3296},
{1489, 3297},
{1489, 3297},
{1490, 3298},
{1490, 3298},
{1491, 3299},
{1491, 3299},
{1492, 3300},
{1493, 3301},
{1494, 3302},
{1494, 3302},
{1495, 3303},
{1495, 3303},
{1496, 3304},
{1496, 3304},
{1497, 3305},
{1498, 3306},
{1499, 3307},
{1500, 3308},
{1501, 3309},
{1502, 3310},
{1503, 3311},
{1504, 3312},
{1505, 3313},
{1505, 3313},
{1506, 3314},
{1507, 3315},
{1508, 3316},
{1509, 3317},
{1509, 3317},
{1510, 3318},
{1510, 3318},
{1511, 3319},
{1511, 3319},
{1512, 3320},
{1513, 3321},
{1514, 3322},
{1514, 3322},
{1548, 1452},
{1563, 1467},
{1567, 1471},
{1569, 1473},
{1570, 1474},
{1571, 1475},
{1572, 1476},
{1573, 1477},
{1574, 1478},
{1575, 1479},
{1576, 1480},
{1577, 1481},
{1578, 1482},
{1579, 1483},
{1580, 1484},
{1581, 1485},
{1582, 1486},
{1583, 1487},
{1584, 1488},
{1585, 1489},
{1586, 1490},
{1587, 1491},
{1588, 1492},
{1589, 1493},
{1590, 1494},
{1591, 1495},
{1592, 1496},
{1593, 1497},
{1594, 1498},
{1600, 1504},
{1601, 1505},
{1602, 1506},
{1603, 1507},
{1604, 1508},
{1605, 1509},
{1606, 1510},
{1607, 1511},
{1607, 1511},
{1608, 1512},
{1609, 1513},
{1610, 1514},
{1611, 1515},
{1612, 1516},
{1613, 1517},
{1614, 1518},
{1615, 1519},
{1616, 1520},
{1617, 1521},
{1618, 1522},
{3585, 3489},
{3586, 3490},
{3587, 3491},
{3588, 3492},
{3589, 3493},
{3590, 3494},
{3591, 3495},
{3592, 3496},
{3593, 3497},
{3594, 3498},
{3595, 3499},
{3596, 3500},
{3597, 3501},
{3598, 3502},
{3599, 3503},
{3600, 3504},
{3601, 3505},
{3602, 3506},
{3603, 3507},
{3604, 3508},
{3605, 3509},
{3606, 3510},
{3607, 3511},
{3608, 3512},
{3609, 3513},
{3610, 3514},
{3611, 3515},
{3612, 3516},
{3613, 3517},
{3614, 3518},
{3615, 3519},
{3616, 3520},
{3617, 3521},
{3618, 3522},
{3619, 3523},
{3620, 3524},
{3621, 3525},
{3622, 3526},
{3623, 3527},
{3624, 3528},
{3625, 3529},
{3626, 3530},
{3627, 3531},
{3628, 3532},
{3629, 3533},
{3630, 3534},
{3631, 3535},
{3632, 3536},
{3633, 3537},
{3634, 3538},
{3635, 3539},
{3636, 3540},
{3637, 3541},
{3638, 3542},
{3639, 3543},
{3640, 3544},
{3641, 3545},
{3642, 3546},
{3647, 3551},
{3648, 3552},
{3649, 3553},
{3650, 3554},
{3651, 3555},
{3652, 3556},
{3653, 3557},
{3654, 3558},
{3655, 3559},
{3656, 3560},
{3657, 3561},
{3658, 3562},
{3659, 3563},
{3660, 3564},
{3661, 3565},
{3664, 3568},
{3665, 3569},
{3666, 3570},
{3667, 3571},
{3668, 3572},
{3669, 3573},
{3670, 3574},
{3671, 3575},
{3672, 3576},
{3673, 3577},
{4520, 3796},
{4521, 3797},
{4522, 3798},
{4523, 3799},
{4524, 3800},
{4525, 3801},
{4526, 3802},
{4527, 3803},
{4528, 3804},
{4529, 3805},
{4530, 3806},
{4531, 3807},
{4532, 3808},
{4533, 3809},
{4534, 3810},
{4535, 3811},
{4536, 3812},
{4537, 3813},
{4538, 3814},
{4539, 3815},
{4540, 3816},
{4541, 3817},
{4542, 3818},
{4543, 3819},
{4544, 3820},
{4545, 3821},
{4546, 3822},
{4587, 3832},
{4592, 3833},
{4601, 3834},
{8194, 2722},
{8195, 2721},
{8196, 2723},
{8197, 2724},
{8199, 2725},
{8200, 2726},
{8201, 2727},
{8202, 2728},
{8210, 2747},
{8211, 2730},
{8212, 2729},
{8213, 1967},
{8215, 3295},
{8216, 2768},
{8217, 2769},
{8218, 2813},
{8220, 2770},
{8221, 2771},
{8222, 2814},
{8224, 2801},
{8225, 2802},
{8226, 2790},
{8229, 2735},
{8230, 2734},
{8242, 2774},
{8243, 2775},
{8248, 2812},
{8254, 1150},
{8361, 3839},
{8364, 8364},
{8453, 2744},
{8470, 1712},
{8471, 2811},
{8478, 2772},
{8482, 2761},
{8531, 2736},
{8532, 2737},
{8533, 2738},
{8534, 2739},
{8535, 2740},
{8536, 2741},
{8537, 2742},
{8538, 2743},
{8539, 2755},
{8540, 2756},
{8541, 2757},
{8542, 2758},
{8592, 2299},
{8593, 2300},
{8594, 2301},
{8595, 2302},
{8658, 2254},
{8660, 2253},
{8706, 2287},
{8711, 2245},
{8728, 3018},
{8730, 2262},
{8733, 2241},
{8734, 2242},
{8743, 2270},
{8744, 2271},
{8745, 2268},
{8746, 2269},
{8747, 2239},
{8756, 2240},
{8764, 2248},
{8771, 2249},
{8800, 2237},
{8801, 2255},
{8804, 2236},
{8805, 2238},
{8834, 2266},
{8835, 2267},
{8866, 3036},
{8867, 3068},
{8868, 3022},
{8869, 3010},
{8968, 3027},
{8970, 3012},
{8981, 2810},
{8992, 2212},
{8993, 2213},
{9001, 2748},
{9002, 2750},
{9109, 3020},
{9115, 2219},
{9117, 2220},
{9118, 2221},
{9120, 2222},
{9121, 2215},
{9123, 2216},
{9124, 2217},
{9126, 2218},
{9128, 2223},
{9132, 2224},
{9143, 2209},
{9146, 2543},
{9147, 2544},
{9148, 2546},
{9149, 2547},
{9225, 2530},
{9226, 2533},
{9227, 2537},
{9228, 2531},
{9229, 2532},
{9252, 2536},
{9472, 2211},
{9474, 2214},
{9484, 2210},
{9488, 2539},
{9492, 2541},
{9496, 2538},
{9500, 2548},
{9508, 2549},
{9516, 2551},
{9524, 2550},
{9532, 2542},
{9618, 2529},
{9642, 2791},
{9643, 2785},
{9644, 2779},
{9645, 2786},
{9646, 2783},
{9647, 2767},
{9650, 2792},
{9651, 2787},
{9654, 2781},
{9655, 2765},
{9660, 2793},
{9661, 2788},
{9664, 2780},
{9665, 2764},
{9670, 2528},
{9675, 2766},
{9679, 2782},
{9702, 2784},
{9734, 2789},
{9742, 2809},
{9747, 2762},
{9756, 2794},
{9758, 2795},
{9792, 2808},
{9794, 2807},
{9827, 2796},
{9829, 2798},
{9830, 2797},
{9837, 2806},
{9839, 2805},
{10003, 2803},
{10007, 2804},
{10013, 2777},
{10016, 2800},
{12289, 1188},
{12290, 1185},
{12300, 1186},
{12301, 1187},
{12443, 1246},
{12444, 1247},
{12449, 1191},
{12450, 1201},
{12451, 1192},
{12452, 1202},
{12453, 1193},
{12454, 1203},
{12455, 1194},
{12456, 1204},
{12457, 1195},
{12458, 1205},
{12459, 1206},
{12461, 1207},
{12463, 1208},
{12465, 1209},
{12467, 1210},
{12469, 1211},
{12471, 1212},
{12473, 1213},
{12475, 1214},
{12477, 1215},
{12479, 1216},
{12481, 1217},
{12481, 1217},
{12483, 1199},
{12483, 1199},
{12484, 1218},
{12484, 1218},
{12486, 1219},
{12488, 1220},
{12490, 1221},
{12491, 1222},
{12492, 1223},
{12493, 1224},
{12494, 1225},
{12495, 1226},
{12498, 1227},
{12501, 1228},
{12501, 1228},
{12504, 1229},
{12507, 1230},
{12510, 1231},
{12511, 1232},
{12512, 1233},
{12513, 1234},
{12514, 1235},
{12515, 1196},
{12516, 1236},
{12517, 1197},
{12518, 1237},
{12519, 1198},
{12520, 1238},
{12521, 1239},
{12522, 1240},
{12523, 1241},
{12524, 1242},
{12525, 1243},
{12527, 1244},
{12530, 1190},
{12531, 1245},
{12539, 1189},
{12539, 1189},
{12540, 1200},
{12593, 3745},
{12594, 3746},
{12595, 3747},
{12596, 3748},
{12597, 3749},
{12598, 3750},
{12599, 3751},
{12600, 3752},
{12601, 3753},
{12602, 3754},
{12603, 3755},
{12604, 3756},
{12605, 3757},
{12606, 3758},
{12607, 3759},
{12608, 3760},
{12609, 3761},
{12610, 3762},
{12611, 3763},
{12612, 3764},
{12613, 3765},
{12614, 3766},
{12615, 3767},
{12616, 3768},
{12617, 3769},
{12618, 3770},
{12619, 3771},
{12620, 3772},
{12621, 3773},
{12622, 3774},
{12623, 3775},
{12624, 3776},
{12625, 3777},
{12626, 3778},
{12627, 3779},
{12628, 3780},
{12629, 3781},
{12630, 3782},
{12631, 3783},
{12632, 3784},
{12633, 3785},
{12634, 3786},
{12635, 3787},
{12636, 3788},
{12637, 3789},
{12638, 3790},
{12639, 3791},
{12640, 3792},
{12641, 3793},
{12642, 3794},
{12643, 3795},
{12653, 3823},
{12657, 3824},
{12664, 3825},
{12671, 3826},
{12673, 3827},
{12676, 3828},
{12678, 3829},
{12685, 3830},
{12686, 3831},
{65533, 3550},
};
struct QtCode2Key {
int qtcode;
int key;
bool operator<(const int &u) const { return qtcode < u; }
};
bool operator<(const int &u, const QtCode2Key &key) { return u < key.qtcode; }
QtCode2Key keyPadQtCodeToKey[] = {
{32, 65408}, {42, 65450}, {43, 65451}, {44, 65452},
{45, 65453}, {46, 65454}, {47, 65455}, {48, 65456},
{49, 65457}, {50, 65458}, {51, 65459}, {52, 65460},
{53, 65461}, {54, 65462}, {55, 65463}, {56, 65464},
{57, 65465}, {61, 65469}, {16777217, 65417}, {16777221, 65421},
{16777222, 65438}, {16777223, 65439}, {16777227, 65437}, {16777232, 65429},
{16777233, 65436}, {16777234, 65430}, {16777235, 65431}, {16777236, 65432},
{16777237, 65433}, {16777238, 65434}, {16777239, 65435},
};
QtCode2Key qtCodeToKeyBackup[] = {
{32, 32}, {33, 33}, {34, 34}, {35, 35},
{36, 36}, {37, 37}, {38, 38}, {39, 39},
{40, 40}, {41, 41}, {42, 42}, {43, 43},
{44, 44}, {45, 45}, {46, 46}, {47, 47},
{48, 48}, {49, 49}, {50, 50}, {51, 51},
{52, 52}, {53, 53}, {54, 54}, {55, 55},
{56, 56}, {57, 57}, {58, 58}, {59, 59},
{60, 60}, {61, 61}, {62, 62}, {63, 63},
{64, 64}, {65, 65}, {66, 66}, {67, 67},
{68, 68}, {69, 69}, {70, 70}, {71, 71},
{72, 72}, {73, 73}, {74, 74}, {75, 75},
{76, 76}, {77, 77}, {78, 78}, {79, 79},
{80, 80}, {81, 81}, {82, 82}, {83, 83},
{84, 84}, {85, 85}, {86, 86}, {87, 87},
{88, 88}, {89, 89}, {90, 90}, {91, 91},
{92, 92}, {93, 93}, {94, 94}, {95, 95},
{96, 96}, {123, 123}, {124, 124}, {125, 125},
{126, 126}, {256, 960}, {258, 451}, {260, 417},
{262, 454}, {264, 710}, {266, 709}, {268, 456},
{270, 463}, {272, 464}, {274, 938}, {278, 972},
{280, 458}, {282, 460}, {284, 728}, {286, 683},
{288, 725}, {290, 939}, {292, 678}, {294, 673},
{296, 933}, {298, 975}, {300, 16777516}, {302, 967},
{304, 681}, {308, 684}, {310, 979}, {312, 930},
{313, 453}, {315, 934}, {317, 421}, {321, 419},
{323, 465}, {325, 977}, {327, 466}, {330, 957},
{332, 978}, {336, 469}, {340, 448}, {342, 931},
{344, 472}, {346, 422}, {348, 734}, {350, 426},
{352, 425}, {354, 478}, {356, 427}, {358, 940},
{360, 989}, {362, 990}, {364, 733}, {366, 473},
{368, 475}, {370, 985}, {372, 16777588}, {374, 16777590},
{377, 428}, {379, 431}, {381, 430}, {399, 16777615},
{401, 2294}, {415, 16777631}, {416, 16777632}, {431, 16777647},
{437, 16777653}, {465, 16777681}, {486, 16777702}, {711, 439},
{728, 418}, {729, 511}, {731, 434}, {733, 445},
{901, 1966}, {902, 1953}, {904, 1954}, {905, 1955},
{906, 1956}, {908, 1959}, {910, 1960}, {911, 1963},
{912, 1974}, {913, 1985}, {914, 1986}, {915, 1987},
{916, 1988}, {917, 1989}, {918, 1990}, {919, 1991},
{920, 1992}, {921, 1993}, {922, 1994}, {923, 1995},
{924, 1996}, {925, 1997}, {926, 1998}, {927, 1999},
{928, 2000}, {929, 2001}, {931, 2002}, {932, 2004},
{933, 2005}, {934, 2006}, {935, 2007}, {936, 2008},
{937, 2009}, {938, 1957}, {939, 1961}, {944, 1978},
{1025, 1699}, {1026, 1697}, {1027, 1698}, {1028, 1700},
{1029, 1701}, {1030, 1702}, {1031, 1703}, {1032, 1704},
{1033, 1705}, {1034, 1706}, {1035, 1707}, {1036, 1708},
{1038, 1710}, {1039, 1711}, {1040, 1729}, {1041, 1730},
{1042, 1751}, {1043, 1735}, {1044, 1732}, {1045, 1733},
{1046, 1750}, {1047, 1754}, {1048, 1737}, {1049, 1738},
{1050, 1739}, {1051, 1740}, {1052, 1741}, {1053, 1742},
{1054, 1743}, {1055, 1744}, {1056, 1746}, {1057, 1747},
{1058, 1748}, {1059, 1749}, {1060, 1734}, {1061, 1736},
{1062, 1731}, {1063, 1758}, {1064, 1755}, {1065, 1757},
{1066, 1759}, {1067, 1753}, {1068, 1752}, {1069, 1756},
{1070, 1728}, {1071, 1745}, {1170, 16778386}, {1174, 16778390},
{1178, 16778394}, {1180, 16778396}, {1186, 16778402}, {1198, 16778414},
{1200, 16778416}, {1202, 16778418}, {1206, 16778422}, {1208, 16778424},
{1210, 16778426}, {1240, 16778456}, {1250, 16778466}, {1256, 16778472},
{1262, 16778478}, {1329, 16778545}, {1330, 16778546}, {1331, 16778547},
{1332, 16778548}, {1333, 16778549}, {1334, 16778550}, {1335, 16778551},
{1336, 16778552}, {1337, 16778553}, {1338, 16778554}, {1339, 16778555},
{1340, 16778556}, {1341, 16778557}, {1342, 16778558}, {1343, 16778559},
{1344, 16778560}, {1345, 16778561}, {1346, 16778562}, {1347, 16778563},
{1348, 16778564}, {1349, 16778565}, {1350, 16778566}, {1351, 16778567},
{1352, 16778568}, {1353, 16778569}, {1354, 16778570}, {1355, 16778571},
{1356, 16778572}, {1357, 16778573}, {1358, 16778574}, {1359, 16778575},
{1360, 16778576}, {1361, 16778577}, {1362, 16778578}, {1363, 16778579},
{1364, 16778580}, {1365, 16778581}, {1366, 16778582}, {1370, 16778586},
{1371, 16778587}, {1372, 16778588}, {1373, 16778589}, {1374, 16778590},
{1415, 16778631}, {1417, 16778633}, {1418, 16778634}, {1488, 3296},
{1489, 3297}, {1490, 3298}, {1491, 3299}, {1492, 3300},
{1493, 3301}, {1494, 3302}, {1495, 3303}, {1496, 3304},
{1497, 3305}, {1498, 3306}, {1499, 3307}, {1500, 3308},
{1501, 3309}, {1502, 3310}, {1503, 3311}, {1504, 3312},
{1505, 3313}, {1506, 3314}, {1507, 3315}, {1508, 3316},
{1509, 3317}, {1510, 3318}, {1511, 3319}, {1512, 3320},
{1513, 3321}, {1514, 3322}, {1548, 1452}, {1563, 1467},
{1567, 1471}, {1569, 1473}, {1570, 1474}, {1571, 1475},
{1572, 1476}, {1573, 1477}, {1574, 1478}, {1575, 1479},
{1576, 1480}, {1577, 1481}, {1578, 1482}, {1579, 1483},
{1580, 1484}, {1581, 1485}, {1582, 1486}, {1583, 1487},
{1584, 1488}, {1585, 1489}, {1586, 1490}, {1587, 1491},
{1588, 1492}, {1589, 1493}, {1590, 1494}, {1591, 1495},
{1592, 1496}, {1593, 1497}, {1594, 1498}, {1600, 1504},
{1601, 1505}, {1602, 1506}, {1603, 1507}, {1604, 1508},
{1605, 1509}, {1606, 1510}, {1607, 1511}, {1608, 1512},
{1609, 1513}, {1610, 1514}, {1611, 1515}, {1612, 1516},
{1613, 1517}, {1614, 1518}, {1615, 1519}, {1616, 1520},
{1617, 1521}, {1618, 1522}, {1619, 16778835}, {1620, 16778836},
{1621, 16778837}, {1632, 16778848}, {1633, 16778849}, {1634, 16778850},
{1635, 16778851}, {1636, 16778852}, {1637, 16778853}, {1638, 16778854},
{1639, 16778855}, {1640, 16778856}, {1641, 16778857}, {1642, 16778858},
{1648, 16778864}, {1657, 16778873}, {1662, 16778878}, {1670, 16778886},
{1672, 16778888}, {1681, 16778897}, {1688, 16778904}, {1700, 16778916},
{1705, 16778921}, {1711, 16778927}, {1722, 16778938}, {1726, 16778942},
{1729, 16778945}, {1740, 16778956}, {1746, 16778962}, {1748, 16778964},
{1776, 16778992}, {1777, 16778993}, {1778, 16778994}, {1779, 16778995},
{1780, 16778996}, {1781, 16778997}, {1782, 16778998}, {1783, 16778999},
{1784, 16779000}, {1785, 16779001}, {3458, 16780674}, {3459, 16780675},
{3461, 16780677}, {3462, 16780678}, {3463, 16780679}, {3464, 16780680},
{3465, 16780681}, {3466, 16780682}, {3467, 16780683}, {3468, 16780684},
{3469, 16780685}, {3470, 16780686}, {3471, 16780687}, {3472, 16780688},
{3473, 16780689}, {3474, 16780690}, {3475, 16780691}, {3476, 16780692},
{3477, 16780693}, {3478, 16780694}, {3482, 16780698}, {3483, 16780699},
{3484, 16780700}, {3485, 16780701}, {3486, 16780702}, {3487, 16780703},
{3488, 16780704}, {3489, 16780705}, {3490, 16780706}, {3491, 16780707},
{3492, 16780708}, {3493, 16780709}, {3494, 16780710}, {3495, 16780711},
{3496, 16780712}, {3497, 16780713}, {3498, 16780714}, {3499, 16780715},
{3500, 16780716}, {3501, 16780717}, {3502, 16780718}, {3503, 16780719},
{3504, 16780720}, {3505, 16780721}, {3507, 16780723}, {3508, 16780724},
{3509, 16780725}, {3510, 16780726}, {3511, 16780727}, {3512, 16780728},
{3513, 16780729}, {3514, 16780730}, {3515, 16780731}, {3517, 16780733},
{3520, 16780736}, {3521, 16780737}, {3522, 16780738}, {3523, 16780739},
{3524, 16780740}, {3525, 16780741}, {3526, 16780742}, {3530, 16780746},
{3535, 16780751}, {3536, 16780752}, {3537, 16780753}, {3538, 16780754},
{3539, 16780755}, {3540, 16780756}, {3542, 16780758}, {3544, 16780760},
{3545, 16780761}, {3546, 16780762}, {3547, 16780763}, {3548, 16780764},
{3549, 16780765}, {3550, 16780766}, {3551, 16780767}, {3570, 16780786},
{3571, 16780787}, {3572, 16780788}, {3585, 3489}, {3586, 3490},
{3587, 3491}, {3588, 3492}, {3589, 3493}, {3590, 3494},
{3591, 3495}, {3592, 3496}, {3593, 3497}, {3594, 3498},
{3595, 3499}, {3596, 3500}, {3597, 3501}, {3598, 3502},
{3599, 3503}, {3600, 3504}, {3601, 3505}, {3602, 3506},
{3603, 3507}, {3604, 3508}, {3605, 3509}, {3606, 3510},
{3607, 3511}, {3608, 3512}, {3609, 3513}, {3610, 3514},
{3611, 3515}, {3612, 3516}, {3613, 3517}, {3614, 3518},
{3615, 3519}, {3616, 3520}, {3617, 3521}, {3618, 3522},
{3619, 3523}, {3620, 3524}, {3621, 3525}, {3622, 3526},
{3623, 3527}, {3624, 3528}, {3625, 3529}, {3626, 3530},
{3627, 3531}, {3628, 3532}, {3629, 3533}, {3630, 3534},
{3631, 3535}, {3632, 3536}, {3633, 3537}, {3634, 3538},
{3635, 3539}, {3636, 3540}, {3637, 3541}, {3638, 3542},
{3639, 3543}, {3640, 3544}, {3641, 3545}, {3642, 3546},
{3647, 3551}, {3648, 3552}, {3649, 3553}, {3650, 3554},
{3651, 3555}, {3652, 3556}, {3653, 3557}, {3654, 3558},
{3655, 3559}, {3656, 3560}, {3657, 3561}, {3658, 3562},
{3659, 3563}, {3660, 3564}, {3661, 3565}, {3664, 3568},
{3665, 3569}, {3666, 3570}, {3667, 3571}, {3668, 3572},
{3669, 3573}, {3670, 3574}, {3671, 3575}, {3672, 3576},
{3673, 3577}, {4304, 16781520}, {4305, 16781521}, {4306, 16781522},
{4307, 16781523}, {4308, 16781524}, {4309, 16781525}, {4310, 16781526},
{4311, 16781527}, {4312, 16781528}, {4313, 16781529}, {4314, 16781530},
{4315, 16781531}, {4316, 16781532}, {4317, 16781533}, {4318, 16781534},
{4319, 16781535}, {4320, 16781536}, {4321, 16781537}, {4322, 16781538},
{4323, 16781539}, {4324, 16781540}, {4325, 16781541}, {4326, 16781542},
{4327, 16781543}, {4328, 16781544}, {4329, 16781545}, {4330, 16781546},
{4331, 16781547}, {4332, 16781548}, {4333, 16781549}, {4334, 16781550},
{4335, 16781551}, {4336, 16781552}, {4337, 16781553}, {4338, 16781554},
{4339, 16781555}, {4340, 16781556}, {4341, 16781557}, {4342, 16781558},
{4520, 3796}, {4521, 3797}, {4522, 3798}, {4523, 3799},
{4524, 3800}, {4525, 3801}, {4526, 3802}, {4527, 3803},
{4528, 3804}, {4529, 3805}, {4530, 3806}, {4531, 3807},
{4532, 3808}, {4533, 3809}, {4534, 3810}, {4535, 3811},
{4536, 3812}, {4537, 3813}, {4538, 3814}, {4539, 3815},
{4540, 3816}, {4541, 3817}, {4542, 3818}, {4543, 3819},
{4544, 3820}, {4545, 3821}, {4546, 3822}, {4587, 3832},
{4592, 3833}, {4601, 3834}, {7682, 16784898}, {7690, 16784906},
{7710, 16784926}, {7734, 16784950}, {7744, 16784960}, {7766, 16784982},
{7776, 16784992}, {7786, 16785002}, {7808, 16785024}, {7810, 16785026},
{7812, 16785028}, {7818, 16785034}, {7840, 16785056}, {7842, 16785058},
{7844, 16785060}, {7846, 16785062}, {7848, 16785064}, {7850, 16785066},
{7852, 16785068}, {7854, 16785070}, {7856, 16785072}, {7858, 16785074},
{7860, 16785076}, {7862, 16785078}, {7864, 16785080}, {7866, 16785082},
{7868, 16785084}, {7870, 16785086}, {7872, 16785088}, {7874, 16785090},
{7876, 16785092}, {7878, 16785094}, {7880, 16785096}, {7882, 16785098},
{7884, 16785100}, {7886, 16785102}, {7888, 16785104}, {7890, 16785106},
{7892, 16785108}, {7894, 16785110}, {7896, 16785112}, {7898, 16785114},
{7900, 16785116}, {7902, 16785118}, {7904, 16785120}, {7906, 16785122},
{7908, 16785124}, {7910, 16785126}, {7912, 16785128}, {7914, 16785130},
{7916, 16785132}, {7918, 16785134}, {7920, 16785136}, {7922, 16785138},
{7924, 16785140}, {7926, 16785142}, {7928, 16785144}, {8194, 2722},
{8195, 2721}, {8196, 2723}, {8197, 2724}, {8199, 2725},
{8200, 2726}, {8201, 2727}, {8202, 2728}, {8210, 2747},
{8211, 2730}, {8212, 2729}, {8213, 1967}, {8215, 3295},
{8216, 2768}, {8217, 2769}, {8218, 2813}, {8220, 2770},
{8221, 2771}, {8222, 2814}, {8224, 2801}, {8225, 2802},
{8226, 2790}, {8229, 2735}, {8230, 2734}, {8242, 2774},
{8243, 2775}, {8248, 2812}, {8254, 1150}, {8304, 16785520},
{8308, 16785524}, {8309, 16785525}, {8310, 16785526}, {8311, 16785527},
{8312, 16785528}, {8313, 16785529}, {8320, 16785536}, {8321, 16785537},
{8322, 16785538}, {8323, 16785539}, {8324, 16785540}, {8325, 16785541},
{8326, 16785542}, {8327, 16785543}, {8328, 16785544}, {8329, 16785545},
{8352, 16785568}, {8353, 16785569}, {8354, 16785570}, {8355, 16785571},
{8356, 16785572}, {8357, 16785573}, {8358, 16785574}, {8359, 16785575},
{8360, 16785576}, {8361, 16785577}, {8362, 16785578}, {8363, 16785579},
{8364, 8364}, {8453, 2744}, {8470, 1712}, {8471, 2811},
{8478, 2772}, {8482, 2761}, {8531, 2736}, {8532, 2737},
{8533, 2738}, {8534, 2739}, {8535, 2740}, {8536, 2741},
{8537, 2742}, {8538, 2743}, {8539, 2755}, {8540, 2756},
{8541, 2757}, {8542, 2758}, {8592, 2299}, {8593, 2300},
{8594, 2301}, {8595, 2302}, {8658, 2254}, {8660, 2253},
{8706, 16785922}, {8709, 16785925}, {8711, 2245}, {8712, 16785928},
{8713, 16785929}, {8715, 16785931}, {8728, 3018}, {8730, 16785946},
{8731, 16785947}, {8732, 16785948}, {8733, 2241}, {8734, 2242},
{8743, 2270}, {8744, 2271}, {8745, 2268}, {8746, 2269},
{8747, 2239}, {8748, 16785964}, {8749, 16785965}, {8756, 2240},
{8757, 16785973}, {8764, 2248}, {8771, 2249}, {8775, 16785991},
{8776, 16785992}, {8800, 2237}, {8801, 2255}, {8802, 16786018},
{8803, 16786019}, {8804, 2236}, {8805, 2238}, {8834, 2266},
{8835, 2267}, {8866, 3036}, {8867, 3068}, {8868, 3022},
{8968, 3027}, {8970, 3012}, {8981, 2810}, {8992, 2212},
{8993, 2213}, {9001, 2748}, {9002, 2750}, {9109, 3020},
{9115, 2219}, {9117, 2220}, {9118, 2221}, {9120, 2222},
{9121, 2215}, {9123, 2216}, {9124, 2217}, {9126, 2218},
{9128, 2223}, {9132, 2224}, {9143, 2209}, {9146, 2543},
{9147, 2544}, {9148, 2546}, {9149, 2547}, {9225, 2530},
{9226, 2533}, {9227, 2537}, {9228, 2531}, {9229, 2532},
{9252, 2536}, {9472, 2211}, {9474, 2214}, {9484, 2210},
{9488, 2539}, {9492, 2541}, {9496, 2538}, {9500, 2548},
{9508, 2549}, {9516, 2551}, {9524, 2550}, {9532, 2542},
{9618, 2529}, {9642, 2791}, {9643, 2785}, {9644, 2779},
{9645, 2786}, {9646, 2783}, {9647, 2767}, {9650, 2792},
{9651, 2787}, {9654, 2781}, {9655, 2765}, {9660, 2793},
{9661, 2788}, {9664, 2780}, {9665, 2764}, {9670, 2528},
{9675, 2766}, {9679, 2782}, {9702, 2784}, {9734, 2789},
{9742, 2809}, {9747, 2762}, {9756, 2794}, {9758, 2795},
{9792, 2808}, {9794, 2807}, {9827, 2796}, {9829, 2798},
{9830, 2797}, {9837, 2806}, {9839, 2805}, {10003, 2803},
{10007, 2804}, {10013, 2777}, {10016, 2800}, {10240, 16787456},
{10241, 16787457}, {10242, 16787458}, {10243, 16787459}, {10244, 16787460},
{10245, 16787461}, {10246, 16787462}, {10247, 16787463}, {10248, 16787464},
{10249, 16787465}, {10250, 16787466}, {10251, 16787467}, {10252, 16787468},
{10253, 16787469}, {10254, 16787470}, {10255, 16787471}, {10256, 16787472},
{10257, 16787473}, {10258, 16787474}, {10259, 16787475}, {10260, 16787476},
{10261, 16787477}, {10262, 16787478}, {10263, 16787479}, {10264, 16787480},
{10265, 16787481}, {10266, 16787482}, {10267, 16787483}, {10268, 16787484},
{10269, 16787485}, {10270, 16787486}, {10271, 16787487}, {10272, 16787488},
{10273, 16787489}, {10274, 16787490}, {10275, 16787491}, {10276, 16787492},
{10277, 16787493}, {10278, 16787494}, {10279, 16787495}, {10280, 16787496},
{10281, 16787497}, {10282, 16787498}, {10283, 16787499}, {10284, 16787500},
{10285, 16787501}, {10286, 16787502}, {10287, 16787503}, {10288, 16787504},
{10289, 16787505}, {10290, 16787506}, {10291, 16787507}, {10292, 16787508},
{10293, 16787509}, {10294, 16787510}, {10295, 16787511}, {10296, 16787512},
{10297, 16787513}, {10298, 16787514}, {10299, 16787515}, {10300, 16787516},
{10301, 16787517}, {10302, 16787518}, {10303, 16787519}, {10304, 16787520},
{10305, 16787521}, {10306, 16787522}, {10307, 16787523}, {10308, 16787524},
{10309, 16787525}, {10310, 16787526}, {10311, 16787527}, {10312, 16787528},
{10313, 16787529}, {10314, 16787530}, {10315, 16787531}, {10316, 16787532},
{10317, 16787533}, {10318, 16787534}, {10319, 16787535}, {10320, 16787536},
{10321, 16787537}, {10322, 16787538}, {10323, 16787539}, {10324, 16787540},
{10325, 16787541}, {10326, 16787542}, {10327, 16787543}, {10328, 16787544},
{10329, 16787545}, {10330, 16787546}, {10331, 16787547}, {10332, 16787548},
{10333, 16787549}, {10334, 16787550}, {10335, 16787551}, {10336, 16787552},
{10337, 16787553}, {10338, 16787554}, {10339, 16787555}, {10340, 16787556},
{10341, 16787557}, {10342, 16787558}, {10343, 16787559}, {10344, 16787560},
{10345, 16787561}, {10346, 16787562}, {10347, 16787563}, {10348, 16787564},
{10349, 16787565}, {10350, 16787566}, {10351, 16787567}, {10352, 16787568},
{10353, 16787569}, {10354, 16787570}, {10355, 16787571}, {10356, 16787572},
{10357, 16787573}, {10358, 16787574}, {10359, 16787575}, {10360, 16787576},
{10361, 16787577}, {10362, 16787578}, {10363, 16787579}, {10364, 16787580},
{10365, 16787581}, {10366, 16787582}, {10367, 16787583}, {10368, 16787584},
{10369, 16787585}, {10370, 16787586}, {10371, 16787587}, {10372, 16787588},
{10373, 16787589}, {10374, 16787590}, {10375, 16787591}, {10376, 16787592},
{10377, 16787593}, {10378, 16787594}, {10379, 16787595}, {10380, 16787596},
{10381, 16787597}, {10382, 16787598}, {10383, 16787599}, {10384, 16787600},
{10385, 16787601}, {10386, 16787602}, {10387, 16787603}, {10388, 16787604},
{10389, 16787605}, {10390, 16787606}, {10391, 16787607}, {10392, 16787608},
{10393, 16787609}, {10394, 16787610}, {10395, 16787611}, {10396, 16787612},
{10397, 16787613}, {10398, 16787614}, {10399, 16787615}, {10400, 16787616},
{10401, 16787617}, {10402, 16787618}, {10403, 16787619}, {10404, 16787620},
{10405, 16787621}, {10406, 16787622}, {10407, 16787623}, {10408, 16787624},
{10409, 16787625}, {10410, 16787626}, {10411, 16787627}, {10412, 16787628},
{10413, 16787629}, {10414, 16787630}, {10415, 16787631}, {10416, 16787632},
{10417, 16787633}, {10418, 16787634}, {10419, 16787635}, {10420, 16787636},
{10421, 16787637}, {10422, 16787638}, {10423, 16787639}, {10424, 16787640},
{10425, 16787641}, {10426, 16787642}, {10427, 16787643}, {10428, 16787644},
{10429, 16787645}, {10430, 16787646}, {10431, 16787647}, {10432, 16787648},
{10433, 16787649}, {10434, 16787650}, {10435, 16787651}, {10436, 16787652},
{10437, 16787653}, {10438, 16787654}, {10439, 16787655}, {10440, 16787656},
{10441, 16787657}, {10442, 16787658}, {10443, 16787659}, {10444, 16787660},
{10445, 16787661}, {10446, 16787662}, {10447, 16787663}, {10448, 16787664},
{10449, 16787665}, {10450, 16787666}, {10451, 16787667}, {10452, 16787668},
{10453, 16787669}, {10454, 16787670}, {10455, 16787671}, {10456, 16787672},
{10457, 16787673}, {10458, 16787674}, {10459, 16787675}, {10460, 16787676},
{10461, 16787677}, {10462, 16787678}, {10463, 16787679}, {10464, 16787680},
{10465, 16787681}, {10466, 16787682}, {10467, 16787683}, {10468, 16787684},
{10469, 16787685}, {10470, 16787686}, {10471, 16787687}, {10472, 16787688},
{10473, 16787689}, {10474, 16787690}, {10475, 16787691}, {10476, 16787692},
{10477, 16787693}, {10478, 16787694}, {10479, 16787695}, {10480, 16787696},
{10481, 16787697}, {10482, 16787698}, {10483, 16787699}, {10484, 16787700},
{10485, 16787701}, {10486, 16787702}, {10487, 16787703}, {10488, 16787704},
{10489, 16787705}, {10490, 16787706}, {10491, 16787707}, {10492, 16787708},
{10493, 16787709}, {10494, 16787710}, {10495, 16787711}, {12289, 1188},
{12290, 1185}, {12300, 1186}, {12301, 1187}, {12443, 1246},
{12444, 1247}, {12449, 1191}, {12450, 1201}, {12451, 1192},
{12452, 1202}, {12453, 1193}, {12454, 1203}, {12455, 1194},
{12456, 1204}, {12457, 1195}, {12458, 1205}, {12459, 1206},
{12461, 1207}, {12463, 1208}, {12465, 1209}, {12467, 1210},
{12469, 1211}, {12471, 1212}, {12473, 1213}, {12475, 1214},
{12477, 1215}, {12479, 1216}, {12481, 1217}, {12483, 1199},
{12484, 1218}, {12486, 1219}, {12488, 1220}, {12490, 1221},
{12491, 1222}, {12492, 1223}, {12493, 1224}, {12494, 1225},
{12495, 1226}, {12498, 1227}, {12501, 1228}, {12504, 1229},
{12507, 1230}, {12510, 1231}, {12511, 1232}, {12512, 1233},
{12513, 1234}, {12514, 1235}, {12515, 1196}, {12516, 1236},
{12517, 1197}, {12518, 1237}, {12519, 1198}, {12520, 1238},
{12521, 1239}, {12522, 1240}, {12523, 1241}, {12524, 1242},
{12525, 1243}, {12527, 1244}, {12530, 1190}, {12531, 1245},
{12539, 1189}, {12540, 1200}, {12593, 3745}, {12594, 3746},
{12595, 3747}, {12596, 3748}, {12597, 3749}, {12598, 3750},
{12599, 3751}, {12600, 3752}, {12601, 3753}, {12602, 3754},
{12603, 3755}, {12604, 3756}, {12605, 3757}, {12606, 3758},
{12607, 3759}, {12608, 3760}, {12609, 3761}, {12610, 3762},
{12611, 3763}, {12612, 3764}, {12613, 3765}, {12614, 3766},
{12615, 3767}, {12616, 3768}, {12617, 3769}, {12618, 3770},
{12619, 3771}, {12620, 3772}, {12621, 3773}, {12622, 3774},
{12623, 3775}, {12624, 3776}, {12625, 3777}, {12626, 3778},
{12627, 3779}, {12628, 3780}, {12629, 3781}, {12630, 3782},
{12631, 3783}, {12632, 3784}, {12633, 3785}, {12634, 3786},
{12635, 3787}, {12636, 3788}, {12637, 3789}, {12638, 3790},
{12639, 3791}, {12640, 3792}, {12641, 3793}, {12642, 3794},
{12643, 3795}, {12653, 3823}, {12657, 3824}, {12664, 3825},
{12671, 3826}, {12673, 3827}, {12676, 3828}, {12678, 3829},
{12685, 3830}, {12686, 3831}, {65533, 3550},
};
QtCode2Key qtCodeToKey[] = {
{16777216, 65307}, {16777217, 65289}, {16777218, 65056}, {16777219, 65288},
{16777220, 65293}, {16777222, 65379}, {16777223, 65535}, {16777224, 65299},
{16777225, 65377}, {16777232, 65360}, {16777233, 65367}, {16777234, 65361},
{16777235, 65362}, {16777236, 65363}, {16777237, 65364}, {16777238, 65365},
{16777239, 65366}, {16777248, 65505}, {16777249, 65507}, {16777250, 65511},
{16777251, 65513}, {16777252, 65509}, {16777253, 65407}, {16777254, 65300},
{16777264, 65470}, {16777265, 65471}, {16777266, 65472}, {16777267, 65473},
{16777268, 65474}, {16777269, 65475}, {16777270, 65476}, {16777271, 65477},
{16777272, 65478}, {16777273, 65479}, {16777274, 65480}, {16777274, 65480},
{16777275, 65481}, {16777275, 65481}, {16777276, 65482}, {16777276, 65482},
{16777277, 65483}, {16777277, 65483}, {16777278, 65484}, {16777278, 65484},
{16777279, 65485}, {16777279, 65485}, {16777280, 65486}, {16777280, 65486},
{16777281, 65487}, {16777281, 65487}, {16777282, 65488}, {16777282, 65488},
{16777283, 65489}, {16777283, 65489}, {16777284, 65490}, {16777284, 65490},
{16777285, 65491}, {16777285, 65491}, {16777286, 65492}, {16777286, 65492},
{16777287, 65493}, {16777287, 65493}, {16777288, 65494}, {16777288, 65494},
{16777289, 65495}, {16777289, 65495}, {16777290, 65496}, {16777290, 65496},
{16777291, 65497}, {16777291, 65497}, {16777292, 65498}, {16777292, 65498},
{16777293, 65499}, {16777293, 65499}, {16777294, 65500}, {16777294, 65500},
{16777295, 65501}, {16777295, 65501}, {16777296, 65502}, {16777296, 65502},
{16777297, 65503}, {16777297, 65503}, {16777298, 65504}, {16777298, 65504},
{16777299, 65515}, {16777300, 65516}, {16777301, 65383}, {16777302, 65517},
{16777303, 65518}, {16777304, 65386}, {16781571, 65027}, {16781600, 65312},
{16781601, 65313}, {16781602, 65314}, {16781603, 65315}, {16781603, 65315},
{16781604, 65316}, {16781605, 65317}, {16781606, 65318}, {16781607, 65319},
{16781608, 65320}, {16781609, 65321}, {16781610, 65322}, {16781611, 65323},
{16781612, 65324}, {16781613, 65325}, {16781614, 65326}, {16781615, 65327},
{16781616, 65328}, {16781617, 65329}, {16781618, 65330}, {16781619, 65331},
{16781620, 65332}, {16781621, 65333}, {16781622, 65334}, {16781623, 65335},
{16781623, 65335}, {16781623, 65335}, {16781624, 65336}, {16781625, 65337},
{16781626, 65338}, {16781627, 65339}, {16781628, 65340}, {16781628, 65340},
{16781629, 65341}, {16781629, 65341}, {16781629, 65341}, {16781630, 65342},
{16781630, 65342}, {16781630, 65342}, {16781631, 65343}, {16781694, 65406},
{16781694, 65406}, {16781694, 65406}, {16781694, 65406}, {16781694, 65406},
{16781694, 65406}, {16781694, 65406}, {16781694, 65406}, {16781904, 65104},
{16781905, 65105}, {16781906, 65106}, {16781907, 65107}, {16781907, 65107},
{16781908, 65108}, {16781909, 65109}, {16781910, 65110}, {16781911, 65111},
{16781912, 65112}, {16781913, 65113}, {16781914, 65114}, {16781915, 65115},
{16781916, 65116}, {16781917, 65117}, {16781918, 65118}, {16781919, 65119},
{16781920, 65120}, {16781921, 65121}, {16781922, 65122},
};