// Converted from http://www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt by letter_case.l
#include <reflex/unicode.h>
#include <cstdlib>
static int cmpint2(const void *p, const void *q)
{
int a = *static_cast<const int*>(p);
int b = *static_cast<const int*>(q);
return a < b ? -1 : a > b ? 1 : 0;
}
int reflex::Unicode::Tables::tolower(int c)
{
static const int ul[] = {
65, 97,
66, 98,
67, 99,
68, 100,
69, 101,
70, 102,
71, 103,
72, 104,
73, 105,
74, 106,
75, 107,
76, 108,
77, 109,
78, 110,
79, 111,
80, 112,
81, 113,
82, 114,
83, 115,
84, 116,
85, 117,
86, 118,
87, 119,
88, 120,
89, 121,
90, 122,
192, 224,
193, 225,
194, 226,
195, 227,
196, 228,
197, 229,
198, 230,
199, 231,
200, 232,
201, 233,
202, 234,
203, 235,
204, 236,
205, 237,
206, 238,
207, 239,
208, 240,
209, 241,
210, 242,
211, 243,
212, 244,
213, 245,
214, 246,
216, 248,
217, 249,
218, 250,
219, 251,
220, 252,
221, 253,
222, 254,
256, 257,
258, 259,
260, 261,
262, 263,
264, 265,
266, 267,
268, 269,
270, 271,
272, 273,
274, 275,
276, 277,
278, 279,
280, 281,
282, 283,
284, 285,
286, 287,
288, 289,
290, 291,
292, 293,
294, 295,
296, 297,
298, 299,
300, 301,
302, 303,
306, 307,
308, 309,
310, 311,
313, 314,
315, 316,
317, 318,
319, 320,
321, 322,
323, 324,
325, 326,
327, 328,
330, 331,
332, 333,
334, 335,
336, 337,
338, 339,
340, 341,
342, 343,
344, 345,
346, 347,
348, 349,
350, 351,
352, 353,
354, 355,
356, 357,
358, 359,
360, 361,
362, 363,
364, 365,
366, 367,
368, 369,
370, 371,
372, 373,
374, 375,
376, 255,
377, 378,
379, 380,
381, 382,
385, 595,
386, 387,
388, 389,
390, 596,
391, 392,
394, 599,
395, 396,
398, 600,
399, 601,
400, 603,
401, 402,
403, 608,
404, 611,
406, 617,
407, 616,
408, 409,
412, 623,
413, 626,
416, 417,
418, 419,
420, 421,
423, 424,
425, 643,
428, 429,
430, 648,
431, 432,
433, 650,
434, 651,
435, 436,
437, 438,
439, 658,
440, 441,
444, 445,
452, 454,
455, 457,
458, 460,
461, 462,
463, 464,
465, 466,
467, 468,
469, 470,
471, 472,
473, 474,
475, 476,
478, 479,
480, 481,
482, 483,
484, 485,
486, 487,
488, 489,
490, 491,
492, 493,
494, 495,
497, 499,
500, 501,
504, 505,
506, 507,
508, 509,
510, 511,
512, 513,
514, 515,
516, 517,
518, 519,
520, 521,
522, 523,
524, 525,
526, 527,
528, 529,
530, 531,
532, 533,
534, 535,
536, 537,
538, 539,
540, 541,
542, 543,
544, 414,
546, 547,
548, 549,
550, 551,
552, 553,
554, 555,
556, 557,
558, 559,
560, 561,
562, 563,
570, 11365,
571, 572,
573, 410,
574, 11366,
577, 578,
579, 384,
580, 649,
581, 652,
582, 583,
584, 585,
588, 589,
590, 591,
880, 881,
882, 883,
886, 887,
902, 940,
904, 941,
905, 942,
906, 943,
908, 972,
910, 973,
911, 974,
913, 945,
914, 946,
915, 947,
916, 948,
917, 949,
918, 950,
919, 951,
920, 952,
921, 953,
922, 954,
923, 955,
924, 956,
925, 957,
926, 958,
927, 959,
928, 960,
929, 961,
931, 963,
932, 964,
933, 965,
934, 966,
935, 967,
936, 968,
937, 969,
938, 970,
939, 971,
994, 995,
996, 997,
998, 999,
1000, 1001,
1002, 1003,
1004, 1005,
1006, 1007,
1015, 1016,
1018, 1019,
1021, 891,
1022, 892,
1023, 893,
1024, 1104,
1025, 1105,
1026, 1106,
1027, 1107,
1028, 1108,
1029, 1109,
1030, 1110,
1031, 1111,
1032, 1112,
1033, 1113,
1034, 1114,
1035, 1115,
1036, 1116,
1037, 1117,
1038, 1118,
1039, 1119,
1040, 1072,
1041, 1073,
1042, 1074,
1043, 1075,
1044, 1076,
1045, 1077,
1046, 1078,
1047, 1079,
1048, 1080,
1049, 1081,
1050, 1082,
1051, 1083,
1052, 1084,
1053, 1085,
1054, 1086,
1055, 1087,
1056, 1088,
1057, 1089,
1058, 1090,
1059, 1091,
1060, 1092,
1061, 1093,
1062, 1094,
1063, 1095,
1064, 1096,
1065, 1097,
1066, 1098,
1067, 1099,
1068, 1100,
1069, 1101,
1070, 1102,
1071, 1103,
1120, 1121,
1122, 1123,
1124, 1125,
1126, 1127,
1128, 1129,
1130, 1131,
1132, 1133,
1134, 1135,
1136, 1137,
1138, 1139,
1140, 1141,
1142, 1143,
1144, 1145,
1146, 1147,
1148, 1149,
1150, 1151,
1152, 1153,
1162, 1163,
1164, 1165,
1166, 1167,
1168, 1169,
1170, 1171,
1172, 1173,
1174, 1175,
1176, 1177,
1178, 1179,
1180, 1181,
1182, 1183,
1184, 1185,
1186, 1187,
1188, 1189,
1190, 1191,
1192, 1193,
1194, 1195,
1196, 1197,
1198, 1199,
1200, 1201,
1202, 1203,
1204, 1205,
1206, 1207,
1208, 1209,
1210, 1211,
1212, 1213,
1214, 1215,
1217, 1218,
1219, 1220,
1221, 1222,
1223, 1224,
1225, 1226,
1227, 1228,
1229, 1230,
1232, 1233,
1234, 1235,
1236, 1237,
1238, 1239,
1240, 1241,
1242, 1243,
1244, 1245,
1246, 1247,
1248, 1249,
1250, 1251,
1252, 1253,
1254, 1255,
1256, 1257,
1258, 1259,
1260, 1261,
1262, 1263,
1264, 1265,
1266, 1267,
1268, 1269,
1270, 1271,
1272, 1273,
1274, 1275,
1276, 1277,
1278, 1279,
1280, 1281,
1282, 1283,
1284, 1285,
1286, 1287,
1288, 1289,
1290, 1291,
1292, 1293,
1294, 1295,
1296, 1297,
1298, 1299,
1300, 1301,
1302, 1303,
1304, 1305,
1306, 1307,
1308, 1309,
1310, 1311,
1312, 1313,
1314, 1315,
1316, 1317,
1318, 1319,
1320, 1321,
1322, 1323,
1324, 1325,
1326, 1327,
1329, 1377,
1330, 1378,
1331, 1379,
1332, 1380,
1333, 1381,
1334, 1382,
1335, 1383,
1336, 1384,
1337, 1385,
1338, 1386,
1339, 1387,
1340, 1388,
1341, 1389,
1342, 1390,
1343, 1391,
1344, 1392,
1345, 1393,
1346, 1394,
1347, 1395,
1348, 1396,
1349, 1397,
1350, 1398,
1351, 1399,
1352, 1400,
1353, 1401,
1354, 1402,
1355, 1403,
1356, 1404,
1357, 1405,
1358, 1406,
1359, 1407,
1360, 1408,
1361, 1409,
1362, 1410,
1363, 1411,
1364, 1412,
1365, 1413,
1366, 1414,
4256, 11520,
4257, 11521,
4258, 11522,
4259, 11523,
4260, 11524,
4261, 11525,
4262, 11526,
4263, 11527,
4264, 11528,
4265, 11529,
4266, 11530,
4267, 11531,
4268, 11532,
4269, 11533,
4270, 11534,
4271, 11535,
4272, 11536,
4273, 11537,
4274, 11538,
4275, 11539,
4276, 11540,
4277, 11541,
4278, 11542,
4279, 11543,
4280, 11544,
4281, 11545,
4282, 11546,
4283, 11547,
4284, 11548,
4285, 11549,
4286, 11550,
4287, 11551,
4288, 11552,
4289, 11553,
4290, 11554,
4291, 11555,
4292, 11556,
4293, 11557,
4295, 11559,
4301, 11565,
7680, 7681,
7682, 7683,
7684, 7685,
7686, 7687,
7688, 7689,
7690, 7691,
7692, 7693,
7694, 7695,
7696, 7697,
7698, 7699,
7700, 7701,
7702, 7703,
7704, 7705,
7706, 7707,
7708, 7709,
7710, 7711,
7712, 7713,
7714, 7715,
7716, 7717,
7718, 7719,
7720, 7721,
7722, 7723,
7724, 7725,
7726, 7727,
7728, 7729,
7730, 7731,
7732, 7733,
7734, 7735,
7736, 7737,
7738, 7739,
7740, 7741,
7742, 7743,
7744, 7745,
7746, 7747,
7748, 7749,
7750, 7751,
7752, 7753,
7754, 7755,
7756, 7757,
7758, 7759,
7760, 7761,
7762, 7763,
7764, 7765,
7766, 7767,
7768, 7769,
7770, 7771,
7772, 7773,
7774, 7775,
7776, 7777,
7778, 7779,
7780, 7781,
7782, 7783,
7784, 7785,
7786, 7787,
7788, 7789,
7790, 7791,
7792, 7793,
7794, 7795,
7796, 7797,
7798, 7799,
7800, 7801,
7802, 7803,
7804, 7805,
7806, 7807,
7808, 7809,
7810, 7811,
7812, 7813,
7814, 7815,
7816, 7817,
7818, 7819,
7820, 7821,
7822, 7823,
7824, 7825,
7826, 7827,
7828, 7829,
7838, 223,
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,
7930, 7931,
7932, 7933,
7934, 7935,
7944, 7936,
7945, 7937,
7946, 7938,
7947, 7939,
7948, 7940,
7949, 7941,
7950, 7942,
7951, 7943,
7960, 7952,
7961, 7953,
7962, 7954,
7963, 7955,
7964, 7956,
7965, 7957,
7976, 7968,
7977, 7969,
7978, 7970,
7979, 7971,
7980, 7972,
7981, 7973,
7982, 7974,
7983, 7975,
7992, 7984,
7993, 7985,
7994, 7986,
7995, 7987,
7996, 7988,
7997, 7989,
7998, 7990,
7999, 7991,
8008, 8000,
8009, 8001,
8010, 8002,
8011, 8003,
8012, 8004,
8013, 8005,
8025, 8017,
8027, 8019,
8029, 8021,
8031, 8023,
8040, 8032,
8041, 8033,
8042, 8034,
8043, 8035,
8044, 8036,
8045, 8037,
8046, 8038,
8047, 8039,
8120, 8112,
8121, 8113,
8122, 8048,
8123, 8049,
8136, 8050,
8137, 8051,
8138, 8052,
8139, 8053,
8152, 8144,
8153, 8145,
8154, 8054,
8155, 8055,
8168, 8160,
8169, 8161,
8170, 8058,
8171, 8059,
8172, 8165,
8184, 8056,
8185, 8057,
8186, 8060,
8187, 8061,
8466, 8467,
8496, 8495,
8498, 8526,
8510, 8509,
8511, 8508,
8517, 8518,
11264, 11312,
11265, 11313,
11266, 11314,
11267, 11315,
11268, 11316,
11269, 11317,
11270, 11318,
11271, 11319,
11272, 11320,
11273, 11321,
11274, 11322,
11275, 11323,
11276, 11324,
11277, 11325,
11278, 11326,
11279, 11327,
11280, 11328,
11281, 11329,
11282, 11330,
11283, 11331,
11284, 11332,
11285, 11333,
11286, 11334,
11287, 11335,
11288, 11336,
11289, 11337,
11290, 11338,
11291, 11339,
11292, 11340,
11293, 11341,
11294, 11342,
11295, 11343,
11296, 11344,
11297, 11345,
11298, 11346,
11299, 11347,
11300, 11348,
11301, 11349,
11302, 11350,
11303, 11351,
11304, 11352,
11305, 11353,
11306, 11354,
11307, 11355,
11308, 11356,
11309, 11357,
11310, 11358,
11311, 11359,
11360, 11361,
11362, 619,
11363, 7549,
11364, 637,
11367, 11368,
11369, 11370,
11371, 11372,
11373, 593,
11374, 625,
11375, 592,
11376, 594,
11378, 11379,
11381, 11382,
11390, 575,
11391, 576,
11392, 11393,
11394, 11395,
11396, 11397,
11398, 11399,
11400, 11401,
11402, 11403,
11404, 11405,
11406, 11407,
11408, 11409,
11410, 11411,
11412, 11413,
11414, 11415,
11416, 11417,
11418, 11419,
11420, 11421,
11422, 11423,
11424, 11425,
11426, 11427,
11428, 11429,
11430, 11431,
11432, 11433,
11434, 11435,
11436, 11437,
11438, 11439,
11440, 11441,
11442, 11443,
11444, 11445,
11446, 11447,
11448, 11449,
11450, 11451,
11452, 11453,
11454, 11455,
11456, 11457,
11458, 11459,
11460, 11461,
11462, 11463,
11464, 11465,
11466, 11467,
11468, 11469,
11470, 11471,
11472, 11473,
11474, 11475,
11476, 11477,
11478, 11479,
11480, 11481,
11482, 11483,
11484, 11485,
11486, 11487,
11488, 11489,
11490, 11491,
11499, 11500,
11501, 11502,
11506, 11507,
42560, 42561,
42562, 42563,
42564, 42565,
42566, 42567,
42568, 42569,
42570, 42571,
42572, 42573,
42574, 42575,
42576, 42577,
42578, 42579,
42580, 42581,
42582, 42583,
42584, 42585,
42586, 42587,
42588, 42589,
42590, 42591,
42592, 42593,
42594, 42595,
42596, 42597,
42598, 42599,
42600, 42601,
42602, 42603,
42604, 42605,
42624, 42625,
42626, 42627,
42628, 42629,
42630, 42631,
42632, 42633,
42634, 42635,
42636, 42637,
42638, 42639,
42640, 42641,
42642, 42643,
42644, 42645,
42646, 42647,
42648, 42649,
42650, 42651,
42786, 42787,
42788, 42789,
42790, 42791,
42792, 42793,
42794, 42795,
42796, 42797,
42798, 42799,
42802, 42803,
42804, 42805,
42806, 42807,
42808, 42809,
42810, 42811,
42812, 42813,
42814, 42815,
42816, 42817,
42818, 42819,
42820, 42821,
42822, 42823,
42824, 42825,
42826, 42827,
42828, 42829,
42830, 42831,
42832, 42833,
42834, 42835,
42836, 42837,
42838, 42839,
42840, 42841,
42842, 42843,
42844, 42845,
42846, 42847,
42848, 42849,
42850, 42851,
42852, 42853,
42854, 42855,
42856, 42857,
42858, 42859,
42860, 42861,
42862, 42863,
42873, 42874,
42875, 42876,
42877, 7545,
42878, 42879,
42880, 42881,
42882, 42883,
42884, 42885,
42886, 42887,
42891, 42892,
42893, 613,
42896, 42897,
42898, 42899,
42902, 42903,
42904, 42905,
42906, 42907,
42908, 42909,
42910, 42911,
42912, 42913,
42914, 42915,
42916, 42917,
42918, 42919,
42920, 42921,
42922, 614,
42923, 604,
42924, 609,
42925, 620,
42928, 670,
42929, 647,
42930, 669,
42931, 43859,
42932, 42933,
42934, 42935,
42936, 42937,
42938, 42939,
42940, 42941,
42942, 42943,
42944, 42945,
42946, 42947,
42948, 42900,
42949, 642,
42950, 7566,
42951, 42952,
42953, 42954,
42960, 42961,
42966, 42967,
42968, 42969,
42997, 42998,
65313, 65345,
65314, 65346,
65315, 65347,
65316, 65348,
65317, 65349,
65318, 65350,
65319, 65351,
65320, 65352,
65321, 65353,
65322, 65354,
65323, 65355,
65324, 65356,
65325, 65357,
65326, 65358,
65327, 65359,
65328, 65360,
65329, 65361,
65330, 65362,
65331, 65363,
65332, 65364,
65333, 65365,
65334, 65366,
65335, 65367,
65336, 65368,
65337, 65369,
65338, 65370,
66560, 66600,
66561, 66601,
66562, 66602,
66563, 66603,
66564, 66604,
66565, 66605,
66566, 66606,
66567, 66607,
66568, 66608,
66569, 66609,
66570, 66610,
66571, 66611,
66572, 66612,
66573, 66613,
66574, 66614,
66575, 66615,
66576, 66616,
66577, 66617,
66578, 66618,
66579, 66619,
66580, 66620,
66581, 66621,
66582, 66622,
66583, 66623,
66584, 66624,
66585, 66625,
66586, 66626,
66587, 66627,
66588, 66628,
66589, 66629,
66590, 66630,
66591, 66631,
66592, 66632,
66593, 66633,
66594, 66634,
66595, 66635,
66596, 66636,
66597, 66637,
66598, 66638,
66599, 66639,
66736, 66776,
66737, 66777,
66738, 66778,
66739, 66779,
66740, 66780,
66741, 66781,
66742, 66782,
66743, 66783,
66744, 66784,
66745, 66785,
66746, 66786,
66747, 66787,
66748, 66788,
66749, 66789,
66750, 66790,
66751, 66791,
66752, 66792,
66753, 66793,
66754, 66794,
66755, 66795,
66756, 66796,
66757, 66797,
66758, 66798,
66759, 66799,
66760, 66800,
66761, 66801,
66762, 66802,
66763, 66803,
66764, 66804,
66765, 66805,
66766, 66806,
66767, 66807,
66768, 66808,
66769, 66809,
66770, 66810,
66771, 66811,
66928, 66967,
66929, 66968,
66930, 66969,
66931, 66970,
66932, 66971,
66933, 66972,
66934, 66973,
66935, 66974,
66936, 66975,
66937, 66976,
66938, 66977,
66940, 66979,
66941, 66980,
66942, 66981,
66943, 66982,
66944, 66983,
66945, 66984,
66946, 66985,
66947, 66986,
66948, 66987,
66949, 66988,
66950, 66989,
66951, 66990,
66952, 66991,
66953, 66992,
66954, 66993,
66956, 66995,
66957, 66996,
66958, 66997,
66959, 66998,
66960, 66999,
66961, 67000,
66962, 67001,
66964, 67003,
66965, 67004,
68736, 68800,
68737, 68801,
68738, 68802,
68739, 68803,
68740, 68804,
68741, 68805,
68742, 68806,
68743, 68807,
68744, 68808,
68745, 68809,
68746, 68810,
68747, 68811,
68748, 68812,
68749, 68813,
68750, 68814,
68751, 68815,
68752, 68816,
68753, 68817,
68754, 68818,
68755, 68819,
68756, 68820,
68757, 68821,
68758, 68822,
68759, 68823,
68760, 68824,
68761, 68825,
68762, 68826,
68763, 68827,
68764, 68828,
68765, 68829,
68766, 68830,
68767, 68831,
68768, 68832,
68769, 68833,
68770, 68834,
68771, 68835,
68772, 68836,
68773, 68837,
68774, 68838,
68775, 68839,
68776, 68840,
68777, 68841,
68778, 68842,
68779, 68843,
68780, 68844,
68781, 68845,
68782, 68846,
68783, 68847,
68784, 68848,
68785, 68849,
68786, 68850,
71840, 71872,
71841, 71873,
71842, 71874,
71843, 71875,
71844, 71876,
71845, 71877,
71846, 71878,
71847, 71879,
71848, 71880,
71849, 71881,
71850, 71882,
71851, 71883,
71852, 71884,
71853, 71885,
71854, 71886,
71855, 71887,
71856, 71888,
71857, 71889,
71858, 71890,
71859, 71891,
71860, 71892,
71861, 71893,
71862, 71894,
71863, 71895,
71864, 71896,
71865, 71897,
71866, 71898,
71867, 71899,
71868, 71900,
71869, 71901,
71870, 71902,
71871, 71903,
93760, 93792,
93761, 93793,
93762, 93794,
93763, 93795,
93764, 93796,
93765, 93797,
93766, 93798,
93767, 93799,
93768, 93800,
93769, 93801,
93770, 93802,
93771, 93803,
93772, 93804,
93773, 93805,
93774, 93806,
93775, 93807,
93776, 93808,
93777, 93809,
93778, 93810,
93779, 93811,
93780, 93812,
93781, 93813,
93782, 93814,
93783, 93815,
93784, 93816,
93785, 93817,
93786, 93818,
93787, 93819,
93788, 93820,
93789, 93821,
93790, 93822,
93791, 93823,
119808, 119834,
119809, 119835,
119810, 119836,
119811, 119837,
119812, 119838,
119813, 119839,
119814, 119840,
119815, 119841,
119816, 119842,
119817, 119843,
119818, 119844,
119819, 119845,
119820, 119846,
119821, 119847,
119822, 119848,
119823, 119849,
119824, 119850,
119825, 119851,
119826, 119852,
119827, 119853,
119828, 119854,
119829, 119855,
119830, 119856,
119831, 119857,
119832, 119858,
119833, 119859,
119860, 119886,
119861, 119887,
119862, 119888,
119863, 119889,
119864, 119890,
119865, 119891,
119866, 119892,
119868, 119894,
119869, 119895,
119870, 119896,
119871, 119897,
119872, 119898,
119873, 119899,
119874, 119900,
119875, 119901,
119876, 119902,
119877, 119903,
119878, 119904,
119879, 119905,
119880, 119906,
119881, 119907,
119882, 119908,
119883, 119909,
119884, 119910,
119885, 119911,
119912, 119938,
119913, 119939,
119914, 119940,
119915, 119941,
119916, 119942,
119917, 119943,
119918, 119944,
119919, 119945,
119920, 119946,
119921, 119947,
119922, 119948,
119923, 119949,
119924, 119950,
119925, 119951,
119926, 119952,
119927, 119953,
119928, 119954,
119929, 119955,
119930, 119956,
119931, 119957,
119932, 119958,
119933, 119959,
119934, 119960,
119935, 119961,
119936, 119962,
119937, 119963,
119964, 119990,
119966, 119992,
119967, 119993,
119973, 119999,
119974, 120000,
119977, 120003,
119979, 120005,
119980, 120006,
119982, 120008,
119983, 120009,
119984, 120010,
119985, 120011,
119986, 120012,
119987, 120013,
119988, 120014,
119989, 120015,
120016, 120042,
120017, 120043,
120018, 120044,
120019, 120045,
120020, 120046,
120021, 120047,
120022, 120048,
120023, 120049,
120024, 120050,
120025, 120051,
120026, 120052,
120027, 120053,
120028, 120054,
120029, 120055,
120030, 120056,
120031, 120057,
120032, 120058,
120033, 120059,
120034, 120060,
120035, 120061,
120036, 120062,
120037, 120063,
120038, 120064,
120039, 120065,
120040, 120066,
120041, 120067,
120068, 120094,
120069, 120095,
120071, 120097,
120072, 120098,
120073, 120099,
120074, 120100,
120077, 120103,
120078, 120104,
120079, 120105,
120080, 120106,
120081, 120107,
120082, 120108,
120083, 120109,
120084, 120110,
120086, 120112,
120087, 120113,
120088, 120114,
120089, 120115,
120090, 120116,
120091, 120117,
120092, 120118,
120120, 120146,
120121, 120147,
120123, 120149,
120124, 120150,
120125, 120151,
120126, 120152,
120128, 120154,
120129, 120155,
120130, 120156,
120131, 120157,
120132, 120158,
120134, 120160,
120138, 120164,
120139, 120165,
120140, 120166,
120141, 120167,
120142, 120168,
120143, 120169,
120144, 120170,
120172, 120198,
120173, 120199,
120174, 120200,
120175, 120201,
120176, 120202,
120177, 120203,
120178, 120204,
120179, 120205,
120180, 120206,
120181, 120207,
120182, 120208,
120183, 120209,
120184, 120210,
120185, 120211,
120186, 120212,
120187, 120213,
120188, 120214,
120189, 120215,
120190, 120216,
120191, 120217,
120192, 120218,
120193, 120219,
120194, 120220,
120195, 120221,
120196, 120222,
120197, 120223,
120224, 120250,
120225, 120251,
120226, 120252,
120227, 120253,
120228, 120254,
120229, 120255,
120230, 120256,
120231, 120257,
120232, 120258,
120233, 120259,
120234, 120260,
120235, 120261,
120236, 120262,
120237, 120263,
120238, 120264,
120239, 120265,
120240, 120266,
120241, 120267,
120242, 120268,
120243, 120269,
120244, 120270,
120245, 120271,
120246, 120272,
120247, 120273,
120248, 120274,
120249, 120275,
120276, 120302,
120277, 120303,
120278, 120304,
120279, 120305,
120280, 120306,
120281, 120307,
120282, 120308,
120283, 120309,
120284, 120310,
120285, 120311,
120286, 120312,
120287, 120313,
120288, 120314,
120289, 120315,
120290, 120316,
120291, 120317,
120292, 120318,
120293, 120319,
120294, 120320,
120295, 120321,
120296, 120322,
120297, 120323,
120298, 120324,
120299, 120325,
120300, 120326,
120301, 120327,
120328, 120354,
120329, 120355,
120330, 120356,
120331, 120357,
120332, 120358,
120333, 120359,
120334, 120360,
120335, 120361,
120336, 120362,
120337, 120363,
120338, 120364,
120339, 120365,
120340, 120366,
120341, 120367,
120342, 120368,
120343, 120369,
120344, 120370,
120345, 120371,
120346, 120372,
120347, 120373,
120348, 120374,
120349, 120375,
120350, 120376,
120351, 120377,
120352, 120378,
120353, 120379,
120380, 120406,
120381, 120407,
120382, 120408,
120383, 120409,
120384, 120410,
120385, 120411,
120386, 120412,
120387, 120413,
120388, 120414,
120389, 120415,
120390, 120416,
120391, 120417,
120392, 120418,
120393, 120419,
120394, 120420,
120395, 120421,
120396, 120422,
120397, 120423,
120398, 120424,
120399, 120425,
120400, 120426,
120401, 120427,
120402, 120428,
120403, 120429,
120404, 120430,
120405, 120431,
120432, 120458,
120433, 120459,
120434, 120460,
120435, 120461,
120436, 120462,
120437, 120463,
120438, 120464,
120439, 120465,
120440, 120466,
120441, 120467,
120442, 120468,
120443, 120469,
120444, 120470,
120445, 120471,
120446, 120472,
120447, 120473,
120448, 120474,
120449, 120475,
120450, 120476,
120451, 120477,
120452, 120478,
120453, 120479,
120454, 120480,
120455, 120481,
120456, 120482,
120457, 120483,
120488, 120514,
120489, 120515,
120490, 120516,
120491, 120517,
120492, 120518,
120493, 120519,
120494, 120520,
120495, 120521,
120496, 120522,
120497, 120523,
120498, 120524,
120499, 120525,
120500, 120526,
120501, 120527,
120502, 120528,
120503, 120529,
120504, 120530,
120506, 120532,
120507, 120533,
120508, 120534,
120509, 120535,
120510, 120536,
120511, 120537,
120512, 120538,
120546, 120572,
120547, 120573,
120548, 120574,
120549, 120575,
120550, 120576,
120551, 120577,
120552, 120578,
120553, 120579,
120554, 120580,
120555, 120581,
120556, 120582,
120557, 120583,
120558, 120584,
120559, 120585,
120560, 120586,
120561, 120587,
120562, 120588,
120564, 120590,
120565, 120591,
120566, 120592,
120567, 120593,
120568, 120594,
120569, 120595,
120570, 120596,
120604, 120630,
120605, 120631,
120606, 120632,
120607, 120633,
120608, 120634,
120609, 120635,
120610, 120636,
120611, 120637,
120612, 120638,
120613, 120639,
120614, 120640,
120615, 120641,
120616, 120642,
120617, 120643,
120618, 120644,
120619, 120645,
120620, 120646,
120622, 120648,
120623, 120649,
120624, 120650,
120625, 120651,
120626, 120652,
120627, 120653,
120628, 120654,
120662, 120688,
120663, 120689,
120664, 120690,
120665, 120691,
120666, 120692,
120667, 120693,
120668, 120694,
120669, 120695,
120670, 120696,
120671, 120697,
120672, 120698,
120673, 120699,
120674, 120700,
120675, 120701,
120676, 120702,
120677, 120703,
120678, 120704,
120680, 120706,
120681, 120707,
120682, 120708,
120683, 120709,
120684, 120710,
120685, 120711,
120686, 120712,
120720, 120746,
120721, 120747,
120722, 120748,
120723, 120749,
120724, 120750,
120725, 120751,
120726, 120752,
120727, 120753,
120728, 120754,
120729, 120755,
120730, 120756,
120731, 120757,
120732, 120758,
120733, 120759,
120734, 120760,
120735, 120761,
120736, 120762,
120738, 120764,
120739, 120765,
120740, 120766,
120741, 120767,
120742, 120768,
120743, 120769,
120744, 120770,
120778, 120779,
125184, 125218,
125185, 125219,
125186, 125220,
125187, 125221,
125188, 125222,
125189, 125223,
125190, 125224,
125191, 125225,
125192, 125226,
125193, 125227,
125194, 125228,
125195, 125229,
125196, 125230,
125197, 125231,
125198, 125232,
125199, 125233,
125200, 125234,
125201, 125235,
125202, 125236,
125203, 125237,
125204, 125238,
125205, 125239,
125206, 125240,
125207, 125241,
125208, 125242,
125209, 125243,
125210, 125244,
125211, 125245,
125212, 125246,
125213, 125247,
125214, 125248,
125215, 125249,
125216, 125250,
125217, 125251,
};
const int key[2] = { c, 0 };
const int *val = static_cast<const int*>(std::bsearch(key, ul, 1647, sizeof(key), &cmpint2));
return val != NULL ? val[1] : c;
}
int reflex::Unicode::Tables::toupper(int c)
{
static const int lu[] = {
97, 65,
98, 66,
99, 67,
100, 68,
101, 69,
102, 70,
103, 71,
104, 72,
105, 73,
106, 74,
107, 75,
108, 76,
109, 77,
110, 78,
111, 79,
112, 80,
113, 81,
114, 82,
115, 83,
116, 84,
117, 85,
118, 86,
119, 87,
120, 88,
121, 89,
122, 90,
223, 7838,
224, 192,
225, 193,
226, 194,
227, 195,
228, 196,
229, 197,
230, 198,
231, 199,
232, 200,
233, 201,
234, 202,
235, 203,
236, 204,
237, 205,
238, 206,
239, 207,
240, 208,
241, 209,
242, 210,
243, 211,
244, 212,
245, 213,
246, 214,
248, 216,
249, 217,
250, 218,
251, 219,
252, 220,
253, 221,
254, 222,
255, 376,
257, 256,
259, 258,
261, 260,
263, 262,
265, 264,
267, 266,
269, 268,
271, 270,
273, 272,
275, 274,
277, 276,
279, 278,
281, 280,
283, 282,
285, 284,
287, 286,
289, 288,
291, 290,
293, 292,
295, 294,
297, 296,
299, 298,
301, 300,
303, 302,
307, 306,
309, 308,
311, 310,
314, 313,
316, 315,
318, 317,
320, 319,
322, 321,
324, 323,
326, 325,
328, 327,
331, 330,
333, 332,
335, 334,
337, 336,
339, 338,
341, 340,
343, 342,
345, 344,
347, 346,
349, 348,
351, 350,
353, 352,
355, 354,
357, 356,
359, 358,
361, 360,
363, 362,
365, 364,
367, 366,
369, 368,
371, 370,
373, 372,
375, 374,
378, 377,
380, 379,
382, 381,
384, 579,
387, 386,
389, 388,
392, 391,
396, 395,
402, 401,
409, 408,
410, 573,
414, 544,
417, 416,
419, 418,
421, 420,
424, 423,
429, 428,
432, 431,
436, 435,
438, 437,
441, 440,
445, 444,
454, 452,
457, 455,
460, 458,
462, 461,
464, 463,
466, 465,
468, 467,
470, 469,
472, 471,
474, 473,
476, 475,
479, 478,
481, 480,
483, 482,
485, 484,
487, 486,
489, 488,
491, 490,
493, 492,
495, 494,
499, 497,
501, 500,
505, 504,
507, 506,
509, 508,
511, 510,
513, 512,
515, 514,
517, 516,
519, 518,
521, 520,
523, 522,
525, 524,
527, 526,
529, 528,
531, 530,
533, 532,
535, 534,
537, 536,
539, 538,
541, 540,
543, 542,
547, 546,
549, 548,
551, 550,
553, 552,
555, 554,
557, 556,
559, 558,
561, 560,
563, 562,
572, 571,
575, 11390,
576, 11391,
578, 577,
583, 582,
585, 584,
589, 588,
591, 590,
592, 11375,
593, 11373,
594, 11376,
595, 385,
596, 390,
599, 394,
600, 398,
601, 399,
603, 400,
604, 42923,
608, 403,
609, 42924,
611, 404,
613, 42893,
614, 42922,
616, 407,
617, 406,
619, 11362,
620, 42925,
623, 412,
625, 11374,
626, 413,
637, 11364,
642, 42949,
643, 425,
647, 42929,
648, 430,
649, 580,
650, 433,
651, 434,
652, 581,
658, 439,
669, 42930,
670, 42928,
881, 880,
883, 882,
887, 886,
891, 1021,
892, 1022,
893, 1023,
940, 902,
941, 904,
942, 905,
943, 906,
945, 913,
946, 914,
947, 915,
948, 916,
949, 917,
950, 918,
951, 919,
952, 920,
953, 921,
954, 922,
955, 923,
956, 924,
957, 925,
958, 926,
959, 927,
960, 928,
961, 929,
963, 931,
964, 932,
965, 933,
966, 934,
967, 935,
968, 936,
969, 937,
970, 938,
971, 939,
972, 908,
973, 910,
974, 911,
995, 994,
997, 996,
999, 998,
1001, 1000,
1003, 1002,
1005, 1004,
1007, 1006,
1016, 1015,
1019, 1018,
1072, 1040,
1073, 1041,
1074, 1042,
1075, 1043,
1076, 1044,
1077, 1045,
1078, 1046,
1079, 1047,
1080, 1048,
1081, 1049,
1082, 1050,
1083, 1051,
1084, 1052,
1085, 1053,
1086, 1054,
1087, 1055,
1088, 1056,
1089, 1057,
1090, 1058,
1091, 1059,
1092, 1060,
1093, 1061,
1094, 1062,
1095, 1063,
1096, 1064,
1097, 1065,
1098, 1066,
1099, 1067,
1100, 1068,
1101, 1069,
1102, 1070,
1103, 1071,
1104, 1024,
1105, 1025,
1106, 1026,
1107, 1027,
1108, 1028,
1109, 1029,
1110, 1030,
1111, 1031,
1112, 1032,
1113, 1033,
1114, 1034,
1115, 1035,
1116, 1036,
1117, 1037,
1118, 1038,
1119, 1039,
1121, 1120,
1123, 1122,
1125, 1124,
1127, 1126,
1129, 1128,
1131, 1130,
1133, 1132,
1135, 1134,
1137, 1136,
1139, 1138,
1141, 1140,
1143, 1142,
1145, 1144,
1147, 1146,
1149, 1148,
1151, 1150,
1153, 1152,
1163, 1162,
1165, 1164,
1167, 1166,
1169, 1168,
1171, 1170,
1173, 1172,
1175, 1174,
1177, 1176,
1179, 1178,
1181, 1180,
1183, 1182,
1185, 1184,
1187, 1186,
1189, 1188,
1191, 1190,
1193, 1192,
1195, 1194,
1197, 1196,
1199, 1198,
1201, 1200,
1203, 1202,
1205, 1204,
1207, 1206,
1209, 1208,
1211, 1210,
1213, 1212,
1215, 1214,
1218, 1217,
1220, 1219,
1222, 1221,
1224, 1223,
1226, 1225,
1228, 1227,
1230, 1229,
1233, 1232,
1235, 1234,
1237, 1236,
1239, 1238,
1241, 1240,
1243, 1242,
1245, 1244,
1247, 1246,
1249, 1248,
1251, 1250,
1253, 1252,
1255, 1254,
1257, 1256,
1259, 1258,
1261, 1260,
1263, 1262,
1265, 1264,
1267, 1266,
1269, 1268,
1271, 1270,
1273, 1272,
1275, 1274,
1277, 1276,
1279, 1278,
1281, 1280,
1283, 1282,
1285, 1284,
1287, 1286,
1289, 1288,
1291, 1290,
1293, 1292,
1295, 1294,
1297, 1296,
1299, 1298,
1301, 1300,
1303, 1302,
1305, 1304,
1307, 1306,
1309, 1308,
1311, 1310,
1313, 1312,
1315, 1314,
1317, 1316,
1319, 1318,
1321, 1320,
1323, 1322,
1325, 1324,
1327, 1326,
1377, 1329,
1378, 1330,
1379, 1331,
1380, 1332,
1381, 1333,
1382, 1334,
1383, 1335,
1384, 1336,
1385, 1337,
1386, 1338,
1387, 1339,
1388, 1340,
1389, 1341,
1390, 1342,
1391, 1343,
1392, 1344,
1393, 1345,
1394, 1346,
1395, 1347,
1396, 1348,
1397, 1349,
1398, 1350,
1399, 1351,
1400, 1352,
1401, 1353,
1402, 1354,
1403, 1355,
1404, 1356,
1405, 1357,
1406, 1358,
1407, 1359,
1408, 1360,
1409, 1361,
1410, 1362,
1411, 1363,
1412, 1364,
1413, 1365,
1414, 1366,
7545, 42877,
7549, 11363,
7566, 42950,
7681, 7680,
7683, 7682,
7685, 7684,
7687, 7686,
7689, 7688,
7691, 7690,
7693, 7692,
7695, 7694,
7697, 7696,
7699, 7698,
7701, 7700,
7703, 7702,
7705, 7704,
7707, 7706,
7709, 7708,
7711, 7710,
7713, 7712,
7715, 7714,
7717, 7716,
7719, 7718,
7721, 7720,
7723, 7722,
7725, 7724,
7727, 7726,
7729, 7728,
7731, 7730,
7733, 7732,
7735, 7734,
7737, 7736,
7739, 7738,
7741, 7740,
7743, 7742,
7745, 7744,
7747, 7746,
7749, 7748,
7751, 7750,
7753, 7752,
7755, 7754,
7757, 7756,
7759, 7758,
7761, 7760,
7763, 7762,
7765, 7764,
7767, 7766,
7769, 7768,
7771, 7770,
7773, 7772,
7775, 7774,
7777, 7776,
7779, 7778,
7781, 7780,
7783, 7782,
7785, 7784,
7787, 7786,
7789, 7788,
7791, 7790,
7793, 7792,
7795, 7794,
7797, 7796,
7799, 7798,
7801, 7800,
7803, 7802,
7805, 7804,
7807, 7806,
7809, 7808,
7811, 7810,
7813, 7812,
7815, 7814,
7817, 7816,
7819, 7818,
7821, 7820,
7823, 7822,
7825, 7824,
7827, 7826,
7829, 7828,
7841, 7840,
7843, 7842,
7845, 7844,
7847, 7846,
7849, 7848,
7851, 7850,
7853, 7852,
7855, 7854,
7857, 7856,
7859, 7858,
7861, 7860,
7863, 7862,
7865, 7864,
7867, 7866,
7869, 7868,
7871, 7870,
7873, 7872,
7875, 7874,
7877, 7876,
7879, 7878,
7881, 7880,
7883, 7882,
7885, 7884,
7887, 7886,
7889, 7888,
7891, 7890,
7893, 7892,
7895, 7894,
7897, 7896,
7899, 7898,
7901, 7900,
7903, 7902,
7905, 7904,
7907, 7906,
7909, 7908,
7911, 7910,
7913, 7912,
7915, 7914,
7917, 7916,
7919, 7918,
7921, 7920,
7923, 7922,
7925, 7924,
7927, 7926,
7929, 7928,
7931, 7930,
7933, 7932,
7935, 7934,
7936, 7944,
7937, 7945,
7938, 7946,
7939, 7947,
7940, 7948,
7941, 7949,
7942, 7950,
7943, 7951,
7952, 7960,
7953, 7961,
7954, 7962,
7955, 7963,
7956, 7964,
7957, 7965,
7968, 7976,
7969, 7977,
7970, 7978,
7971, 7979,
7972, 7980,
7973, 7981,
7974, 7982,
7975, 7983,
7984, 7992,
7985, 7993,
7986, 7994,
7987, 7995,
7988, 7996,
7989, 7997,
7990, 7998,
7991, 7999,
8000, 8008,
8001, 8009,
8002, 8010,
8003, 8011,
8004, 8012,
8005, 8013,
8017, 8025,
8019, 8027,
8021, 8029,
8023, 8031,
8032, 8040,
8033, 8041,
8034, 8042,
8035, 8043,
8036, 8044,
8037, 8045,
8038, 8046,
8039, 8047,
8048, 8122,
8049, 8123,
8050, 8136,
8051, 8137,
8052, 8138,
8053, 8139,
8054, 8154,
8055, 8155,
8056, 8184,
8057, 8185,
8058, 8170,
8059, 8171,
8060, 8186,
8061, 8187,
8112, 8120,
8113, 8121,
8144, 8152,
8145, 8153,
8160, 8168,
8161, 8169,
8165, 8172,
8467, 8466,
8495, 8496,
8508, 8511,
8509, 8510,
8518, 8517,
8526, 8498,
11312, 11264,
11313, 11265,
11314, 11266,
11315, 11267,
11316, 11268,
11317, 11269,
11318, 11270,
11319, 11271,
11320, 11272,
11321, 11273,
11322, 11274,
11323, 11275,
11324, 11276,
11325, 11277,
11326, 11278,
11327, 11279,
11328, 11280,
11329, 11281,
11330, 11282,
11331, 11283,
11332, 11284,
11333, 11285,
11334, 11286,
11335, 11287,
11336, 11288,
11337, 11289,
11338, 11290,
11339, 11291,
11340, 11292,
11341, 11293,
11342, 11294,
11343, 11295,
11344, 11296,
11345, 11297,
11346, 11298,
11347, 11299,
11348, 11300,
11349, 11301,
11350, 11302,
11351, 11303,
11352, 11304,
11353, 11305,
11354, 11306,
11355, 11307,
11356, 11308,
11357, 11309,
11358, 11310,
11359, 11311,
11361, 11360,
11365, 570,
11366, 574,
11368, 11367,
11370, 11369,
11372, 11371,
11379, 11378,
11382, 11381,
11393, 11392,
11395, 11394,
11397, 11396,
11399, 11398,
11401, 11400,
11403, 11402,
11405, 11404,
11407, 11406,
11409, 11408,
11411, 11410,
11413, 11412,
11415, 11414,
11417, 11416,
11419, 11418,
11421, 11420,
11423, 11422,
11425, 11424,
11427, 11426,
11429, 11428,
11431, 11430,
11433, 11432,
11435, 11434,
11437, 11436,
11439, 11438,
11441, 11440,
11443, 11442,
11445, 11444,
11447, 11446,
11449, 11448,
11451, 11450,
11453, 11452,
11455, 11454,
11457, 11456,
11459, 11458,
11461, 11460,
11463, 11462,
11465, 11464,
11467, 11466,
11469, 11468,
11471, 11470,
11473, 11472,
11475, 11474,
11477, 11476,
11479, 11478,
11481, 11480,
11483, 11482,
11485, 11484,
11487, 11486,
11489, 11488,
11491, 11490,
11500, 11499,
11502, 11501,
11507, 11506,
11520, 4256,
11521, 4257,
11522, 4258,
11523, 4259,
11524, 4260,
11525, 4261,
11526, 4262,
11527, 4263,
11528, 4264,
11529, 4265,
11530, 4266,
11531, 4267,
11532, 4268,
11533, 4269,
11534, 4270,
11535, 4271,
11536, 4272,
11537, 4273,
11538, 4274,
11539, 4275,
11540, 4276,
11541, 4277,
11542, 4278,
11543, 4279,
11544, 4280,
11545, 4281,
11546, 4282,
11547, 4283,
11548, 4284,
11549, 4285,
11550, 4286,
11551, 4287,
11552, 4288,
11553, 4289,
11554, 4290,
11555, 4291,
11556, 4292,
11557, 4293,
11559, 4295,
11565, 4301,
42561, 42560,
42563, 42562,
42565, 42564,
42567, 42566,
42569, 42568,
42571, 42570,
42573, 42572,
42575, 42574,
42577, 42576,
42579, 42578,
42581, 42580,
42583, 42582,
42585, 42584,
42587, 42586,
42589, 42588,
42591, 42590,
42593, 42592,
42595, 42594,
42597, 42596,
42599, 42598,
42601, 42600,
42603, 42602,
42605, 42604,
42625, 42624,
42627, 42626,
42629, 42628,
42631, 42630,
42633, 42632,
42635, 42634,
42637, 42636,
42639, 42638,
42641, 42640,
42643, 42642,
42645, 42644,
42647, 42646,
42649, 42648,
42651, 42650,
42787, 42786,
42789, 42788,
42791, 42790,
42793, 42792,
42795, 42794,
42797, 42796,
42799, 42798,
42803, 42802,
42805, 42804,
42807, 42806,
42809, 42808,
42811, 42810,
42813, 42812,
42815, 42814,
42817, 42816,
42819, 42818,
42821, 42820,
42823, 42822,
42825, 42824,
42827, 42826,
42829, 42828,
42831, 42830,
42833, 42832,
42835, 42834,
42837, 42836,
42839, 42838,
42841, 42840,
42843, 42842,
42845, 42844,
42847, 42846,
42849, 42848,
42851, 42850,
42853, 42852,
42855, 42854,
42857, 42856,
42859, 42858,
42861, 42860,
42863, 42862,
42874, 42873,
42876, 42875,
42879, 42878,
42881, 42880,
42883, 42882,
42885, 42884,
42887, 42886,
42892, 42891,
42897, 42896,
42899, 42898,
42900, 42948,
42903, 42902,
42905, 42904,
42907, 42906,
42909, 42908,
42911, 42910,
42913, 42912,
42915, 42914,
42917, 42916,
42919, 42918,
42921, 42920,
42933, 42932,
42935, 42934,
42937, 42936,
42939, 42938,
42941, 42940,
42943, 42942,
42945, 42944,
42947, 42946,
42952, 42951,
42954, 42953,
42961, 42960,
42967, 42966,
42969, 42968,
42998, 42997,
43859, 42931,
65345, 65313,
65346, 65314,
65347, 65315,
65348, 65316,
65349, 65317,
65350, 65318,
65351, 65319,
65352, 65320,
65353, 65321,
65354, 65322,
65355, 65323,
65356, 65324,
65357, 65325,
65358, 65326,
65359, 65327,
65360, 65328,
65361, 65329,
65362, 65330,
65363, 65331,
65364, 65332,
65365, 65333,
65366, 65334,
65367, 65335,
65368, 65336,
65369, 65337,
65370, 65338,
66600, 66560,
66601, 66561,
66602, 66562,
66603, 66563,
66604, 66564,
66605, 66565,
66606, 66566,
66607, 66567,
66608, 66568,
66609, 66569,
66610, 66570,
66611, 66571,
66612, 66572,
66613, 66573,
66614, 66574,
66615, 66575,
66616, 66576,
66617, 66577,
66618, 66578,
66619, 66579,
66620, 66580,
66621, 66581,
66622, 66582,
66623, 66583,
66624, 66584,
66625, 66585,
66626, 66586,
66627, 66587,
66628, 66588,
66629, 66589,
66630, 66590,
66631, 66591,
66632, 66592,
66633, 66593,
66634, 66594,
66635, 66595,
66636, 66596,
66637, 66597,
66638, 66598,
66639, 66599,
66776, 66736,
66777, 66737,
66778, 66738,
66779, 66739,
66780, 66740,
66781, 66741,
66782, 66742,
66783, 66743,
66784, 66744,
66785, 66745,
66786, 66746,
66787, 66747,
66788, 66748,
66789, 66749,
66790, 66750,
66791, 66751,
66792, 66752,
66793, 66753,
66794, 66754,
66795, 66755,
66796, 66756,
66797, 66757,
66798, 66758,
66799, 66759,
66800, 66760,
66801, 66761,
66802, 66762,
66803, 66763,
66804, 66764,
66805, 66765,
66806, 66766,
66807, 66767,
66808, 66768,
66809, 66769,
66810, 66770,
66811, 66771,
66967, 66928,
66968, 66929,
66969, 66930,
66970, 66931,
66971, 66932,
66972, 66933,
66973, 66934,
66974, 66935,
66975, 66936,
66976, 66937,
66977, 66938,
66979, 66940,
66980, 66941,
66981, 66942,
66982, 66943,
66983, 66944,
66984, 66945,
66985, 66946,
66986, 66947,
66987, 66948,
66988, 66949,
66989, 66950,
66990, 66951,
66991, 66952,
66992, 66953,
66993, 66954,
66995, 66956,
66996, 66957,
66997, 66958,
66998, 66959,
66999, 66960,
67000, 66961,
67001, 66962,
67003, 66964,
67004, 66965,
68800, 68736,
68801, 68737,
68802, 68738,
68803, 68739,
68804, 68740,
68805, 68741,
68806, 68742,
68807, 68743,
68808, 68744,
68809, 68745,
68810, 68746,
68811, 68747,
68812, 68748,
68813, 68749,
68814, 68750,
68815, 68751,
68816, 68752,
68817, 68753,
68818, 68754,
68819, 68755,
68820, 68756,
68821, 68757,
68822, 68758,
68823, 68759,
68824, 68760,
68825, 68761,
68826, 68762,
68827, 68763,
68828, 68764,
68829, 68765,
68830, 68766,
68831, 68767,
68832, 68768,
68833, 68769,
68834, 68770,
68835, 68771,
68836, 68772,
68837, 68773,
68838, 68774,
68839, 68775,
68840, 68776,
68841, 68777,
68842, 68778,
68843, 68779,
68844, 68780,
68845, 68781,
68846, 68782,
68847, 68783,
68848, 68784,
68849, 68785,
68850, 68786,
71872, 71840,
71873, 71841,
71874, 71842,
71875, 71843,
71876, 71844,
71877, 71845,
71878, 71846,
71879, 71847,
71880, 71848,
71881, 71849,
71882, 71850,
71883, 71851,
71884, 71852,
71885, 71853,
71886, 71854,
71887, 71855,
71888, 71856,
71889, 71857,
71890, 71858,
71891, 71859,
71892, 71860,
71893, 71861,
71894, 71862,
71895, 71863,
71896, 71864,
71897, 71865,
71898, 71866,
71899, 71867,
71900, 71868,
71901, 71869,
71902, 71870,
71903, 71871,
93792, 93760,
93793, 93761,
93794, 93762,
93795, 93763,
93796, 93764,
93797, 93765,
93798, 93766,
93799, 93767,
93800, 93768,
93801, 93769,
93802, 93770,
93803, 93771,
93804, 93772,
93805, 93773,
93806, 93774,
93807, 93775,
93808, 93776,
93809, 93777,
93810, 93778,
93811, 93779,
93812, 93780,
93813, 93781,
93814, 93782,
93815, 93783,
93816, 93784,
93817, 93785,
93818, 93786,
93819, 93787,
93820, 93788,
93821, 93789,
93822, 93790,
93823, 93791,
119834, 119808,
119835, 119809,
119836, 119810,
119837, 119811,
119838, 119812,
119839, 119813,
119840, 119814,
119841, 119815,
119842, 119816,
119843, 119817,
119844, 119818,
119845, 119819,
119846, 119820,
119847, 119821,
119848, 119822,
119849, 119823,
119850, 119824,
119851, 119825,
119852, 119826,
119853, 119827,
119854, 119828,
119855, 119829,
119856, 119830,
119857, 119831,
119858, 119832,
119859, 119833,
119886, 119860,
119887, 119861,
119888, 119862,
119889, 119863,
119890, 119864,
119891, 119865,
119892, 119866,
119894, 119868,
119895, 119869,
119896, 119870,
119897, 119871,
119898, 119872,
119899, 119873,
119900, 119874,
119901, 119875,
119902, 119876,
119903, 119877,
119904, 119878,
119905, 119879,
119906, 119880,
119907, 119881,
119908, 119882,
119909, 119883,
119910, 119884,
119911, 119885,
119938, 119912,
119939, 119913,
119940, 119914,
119941, 119915,
119942, 119916,
119943, 119917,
119944, 119918,
119945, 119919,
119946, 119920,
119947, 119921,
119948, 119922,
119949, 119923,
119950, 119924,
119951, 119925,
119952, 119926,
119953, 119927,
119954, 119928,
119955, 119929,
119956, 119930,
119957, 119931,
119958, 119932,
119959, 119933,
119960, 119934,
119961, 119935,
119962, 119936,
119963, 119937,
119990, 119964,
119992, 119966,
119993, 119967,
119999, 119973,
120000, 119974,
120003, 119977,
120005, 119979,
120006, 119980,
120008, 119982,
120009, 119983,
120010, 119984,
120011, 119985,
120012, 119986,
120013, 119987,
120014, 119988,
120015, 119989,
120042, 120016,
120043, 120017,
120044, 120018,
120045, 120019,
120046, 120020,
120047, 120021,
120048, 120022,
120049, 120023,
120050, 120024,
120051, 120025,
120052, 120026,
120053, 120027,
120054, 120028,
120055, 120029,
120056, 120030,
120057, 120031,
120058, 120032,
120059, 120033,
120060, 120034,
120061, 120035,
120062, 120036,
120063, 120037,
120064, 120038,
120065, 120039,
120066, 120040,
120067, 120041,
120094, 120068,
120095, 120069,
120097, 120071,
120098, 120072,
120099, 120073,
120100, 120074,
120103, 120077,
120104, 120078,
120105, 120079,
120106, 120080,
120107, 120081,
120108, 120082,
120109, 120083,
120110, 120084,
120112, 120086,
120113, 120087,
120114, 120088,
120115, 120089,
120116, 120090,
120117, 120091,
120118, 120092,
120146, 120120,
120147, 120121,
120149, 120123,
120150, 120124,
120151, 120125,
120152, 120126,
120154, 120128,
120155, 120129,
120156, 120130,
120157, 120131,
120158, 120132,
120160, 120134,
120164, 120138,
120165, 120139,
120166, 120140,
120167, 120141,
120168, 120142,
120169, 120143,
120170, 120144,
120198, 120172,
120199, 120173,
120200, 120174,
120201, 120175,
120202, 120176,
120203, 120177,
120204, 120178,
120205, 120179,
120206, 120180,
120207, 120181,
120208, 120182,
120209, 120183,
120210, 120184,
120211, 120185,
120212, 120186,
120213, 120187,
120214, 120188,
120215, 120189,
120216, 120190,
120217, 120191,
120218, 120192,
120219, 120193,
120220, 120194,
120221, 120195,
120222, 120196,
120223, 120197,
120250, 120224,
120251, 120225,
120252, 120226,
120253, 120227,
120254, 120228,
120255, 120229,
120256, 120230,
120257, 120231,
120258, 120232,
120259, 120233,
120260, 120234,
120261, 120235,
120262, 120236,
120263, 120237,
120264, 120238,
120265, 120239,
120266, 120240,
120267, 120241,
120268, 120242,
120269, 120243,
120270, 120244,
120271, 120245,
120272, 120246,
120273, 120247,
120274, 120248,
120275, 120249,
120302, 120276,
120303, 120277,
120304, 120278,
120305, 120279,
120306, 120280,
120307, 120281,
120308, 120282,
120309, 120283,
120310, 120284,
120311, 120285,
120312, 120286,
120313, 120287,
120314, 120288,
120315, 120289,
120316, 120290,
120317, 120291,
120318, 120292,
120319, 120293,
120320, 120294,
120321, 120295,
120322, 120296,
120323, 120297,
120324, 120298,
120325, 120299,
120326, 120300,
120327, 120301,
120354, 120328,
120355, 120329,
120356, 120330,
120357, 120331,
120358, 120332,
120359, 120333,
120360, 120334,
120361, 120335,
120362, 120336,
120363, 120337,
120364, 120338,
120365, 120339,
120366, 120340,
120367, 120341,
120368, 120342,
120369, 120343,
120370, 120344,
120371, 120345,
120372, 120346,
120373, 120347,
120374, 120348,
120375, 120349,
120376, 120350,
120377, 120351,
120378, 120352,
120379, 120353,
120406, 120380,
120407, 120381,
120408, 120382,
120409, 120383,
120410, 120384,
120411, 120385,
120412, 120386,
120413, 120387,
120414, 120388,
120415, 120389,
120416, 120390,
120417, 120391,
120418, 120392,
120419, 120393,
120420, 120394,
120421, 120395,
120422, 120396,
120423, 120397,
120424, 120398,
120425, 120399,
120426, 120400,
120427, 120401,
120428, 120402,
120429, 120403,
120430, 120404,
120431, 120405,
120458, 120432,
120459, 120433,
120460, 120434,
120461, 120435,
120462, 120436,
120463, 120437,
120464, 120438,
120465, 120439,
120466, 120440,
120467, 120441,
120468, 120442,
120469, 120443,
120470, 120444,
120471, 120445,
120472, 120446,
120473, 120447,
120474, 120448,
120475, 120449,
120476, 120450,
120477, 120451,
120478, 120452,
120479, 120453,
120480, 120454,
120481, 120455,
120482, 120456,
120483, 120457,
120514, 120488,
120515, 120489,
120516, 120490,
120517, 120491,
120518, 120492,
120519, 120493,
120520, 120494,
120521, 120495,
120522, 120496,
120523, 120497,
120524, 120498,
120525, 120499,
120526, 120500,
120527, 120501,
120528, 120502,
120529, 120503,
120530, 120504,
120532, 120506,
120533, 120507,
120534, 120508,
120535, 120509,
120536, 120510,
120537, 120511,
120538, 120512,
120572, 120546,
120573, 120547,
120574, 120548,
120575, 120549,
120576, 120550,
120577, 120551,
120578, 120552,
120579, 120553,
120580, 120554,
120581, 120555,
120582, 120556,
120583, 120557,
120584, 120558,
120585, 120559,
120586, 120560,
120587, 120561,
120588, 120562,
120590, 120564,
120591, 120565,
120592, 120566,
120593, 120567,
120594, 120568,
120595, 120569,
120596, 120570,
120630, 120604,
120631, 120605,
120632, 120606,
120633, 120607,
120634, 120608,
120635, 120609,
120636, 120610,
120637, 120611,
120638, 120612,
120639, 120613,
120640, 120614,
120641, 120615,
120642, 120616,
120643, 120617,
120644, 120618,
120645, 120619,
120646, 120620,
120648, 120622,
120649, 120623,
120650, 120624,
120651, 120625,
120652, 120626,
120653, 120627,
120654, 120628,
120688, 120662,
120689, 120663,
120690, 120664,
120691, 120665,
120692, 120666,
120693, 120667,
120694, 120668,
120695, 120669,
120696, 120670,
120697, 120671,
120698, 120672,
120699, 120673,
120700, 120674,
120701, 120675,
120702, 120676,
120703, 120677,
120704, 120678,
120706, 120680,
120707, 120681,
120708, 120682,
120709, 120683,
120710, 120684,
120711, 120685,
120712, 120686,
120746, 120720,
120747, 120721,
120748, 120722,
120749, 120723,
120750, 120724,
120751, 120725,
120752, 120726,
120753, 120727,
120754, 120728,
120755, 120729,
120756, 120730,
120757, 120731,
120758, 120732,
120759, 120733,
120760, 120734,
120761, 120735,
120762, 120736,
120764, 120738,
120765, 120739,
120766, 120740,
120767, 120741,
120768, 120742,
120769, 120743,
120770, 120744,
120779, 120778,
125218, 125184,
125219, 125185,
125220, 125186,
125221, 125187,
125222, 125188,
125223, 125189,
125224, 125190,
125225, 125191,
125226, 125192,
125227, 125193,
125228, 125194,
125229, 125195,
125230, 125196,
125231, 125197,
125232, 125198,
125233, 125199,
125234, 125200,
125235, 125201,
125236, 125202,
125237, 125203,
125238, 125204,
125239, 125205,
125240, 125206,
125241, 125207,
125242, 125208,
125243, 125209,
125244, 125210,
125245, 125211,
125246, 125212,
125247, 125213,
125248, 125214,
125249, 125215,
125250, 125216,
125251, 125217,
};
const int key[2] = { c, 0 };
const int *val = static_cast<const int*>(std::bsearch(key, lu, 1647, sizeof(key), &cmpint2));
return val != NULL ? val[1] : c;
}