summaryrefslogtreecommitdiff
path: root/libiconv
diff options
context:
space:
mode:
Diffstat (limited to 'libiconv')
-rw-r--r--libiconv/include/jis0208.h563
-rw-r--r--libiconv/include/revjis.h515
2 files changed, 1078 insertions, 0 deletions
diff --git a/libiconv/include/jis0208.h b/libiconv/include/jis0208.h
new file mode 100644
index 000000000..de9c5f26a
--- /dev/null
+++ b/libiconv/include/jis0208.h
@@ -0,0 +1,563 @@
+12288,12289,12290,65292,65294,12539,65306,65307,65311,65281,12443,12444,180,
+65344,168,65342,65507,65343,12541,12542,12445,12446,12291,20189,12293,12294,
+12295,12540,8213,8208,65295,92,12316,8214,65372,8230,8229,8216,8217,8220,8221,
+65288,65289,12308,12309,65339,65341,65371,65373,12296,12297,12298,12299,12300,
+12301,12302,12303,12304,12305,65291,8722,177,215,247,65309,8800,65308,65310,
+8806,8807,8734,8756,9794,9792,176,8242,8243,8451,65509,65284,162,163,65285,
+65283,65286,65290,65312,167,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,
+9650,9661,9660,8251,12306,8594,8592,8593,8595,12307,0,0,0,0,0,0,0,0,0,0,0,
+8712,8715,8838,8839,8834,8835,8746,8745,0,0,0,0,0,0,0,0,8743,8744,172,8658,
+8660,8704,8707,0,0,0,0,0,0,0,0,0,0,0,8736,8869,8978,8706,8711,8801,8786,8810,
+8811,8730,8765,8733,8757,8747,8748,0,0,0,0,0,0,0,8491,8240,9839,9837,9834,
+8224,8225,182,0,0,0,0,9711,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65296,65297,65298,
+65299,65300,65301,65302,65303,65304,65305,0,0,0,0,0,0,0,65313,65314,65315,
+65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,
+65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,0,0,0,0,0,0,65345,
+65346,65347,
+65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,
+65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,0,0,0,0,12353,
+12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,
+12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,
+12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,
+12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,
+12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,
+12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,
+12432,12433,12434,12435,0,0,0,0,0,0,0,0,0,0,0,12449,12450,12451,12452,12453,
+12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,
+12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,
+12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,
+12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,
+12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,
+12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,
+12532,12533,12534,0,0,0,0,0,0,0,0,913,914,915,916,917,918,919,920,921,922,923,
+924,925,926,927,928,929,931,932,933,934,935,936,937,0,0,0,0,0,0,0,0,945,946,
+947,948,949,950,951,952,953,
+954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1040,1041,1042,1043,
+1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,
+1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,
+1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,
+1097,1098,1099,1100,1101,1102,1103,0,0,0,0,0,0,0,0,0,0,0,0,0,9472,9474,9484,
+9488,9496,9492,9500,9516,9508,9524,9532,9473,9475,9487,9491,9499,9495,9507,
+9523,9515,9531,9547,9504,9519,9512,9527,9535,9501,9520,9509,9528,9538,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,20124,21782,23043,38463,21696,24859,25384,23030,
+36898,33909,33564,31312,24746,25569,28197,26093,33894,33446,39925,26771,22311,
+26017,25201,23451,22992,34427,39156,32098,32190,39822,25110,31903,34999,23433,
+24245,25353,26263,26696,38343,38797,26447,20197,20234,20301,20381,20553,22258,
+22839,22996,23041,23561,24799,24847,24944,26131,26885,28858,30031,30064,31227,
+32173,32239,32963,33806,34915,35586,36949,36986,21307,20117,20133,22495,32946,
+37057,30959,19968,22769,28322,36920,31282,33576,33419,39983,20801,21360,21693,
+21729,22240,23035,24341,39154,28139,32996,34093,38498,38512,38560,38907,21515,
+21491,23431,28879,32701,36802,38632,21359,40284,31418,19985,30867,33276,28198,
+22040,21764,27421,34074,39995,23013,21417,28006,29916,38287,22082,20113,36939,
+38642,33615,39180,21473,21942,23344,24433,26144,26355,26628,27704,27891,27945,
+29787,30408,31310,38964,33521,34907,35424,37613,28082,30123,30410,39365,24742,
+35585,36234,38322,27022,21421,20870,22290,22576,22852,23476,24310,24616,25513,
+25588,27839,28436,28814,28948,29017,29141,29503,32257,33398,33489,34199,36960,
+37467,40219,22633,26044,27738,29989,20985,22830,22885,24448,24540,25276,26106,
+27178,27431,27572,29579,32705,35158,40236,40206,40644,23713,27798,33659,20740,
+23627,25014,33222,26742,29281,20057,20474,21368,24681,28201,31311,38899,19979,
+21270,20206,20309,20285,20385,20339,21152,21487,22025,22799,23233,23478,23521,
+31185,26247,26524,26550,27468,27827,28779,29634,31117,31166,31292,31623,33457,
+33499,33540,33655,33775,33747,34662,35506,22057,36008,36838,36942,38686,34442,
+20420,23784,25105,29273,30011,33253,33469,34558,36032,38597,39187,39381,20171,
+20250,35299,22238,22602,22730,24315,24555,24618,24724,24674,25040,25106,25296,
+25913,39745,26214,26800,28023,28784,30028,30342,32117,33445,34809,38283,38542,
+35997,20977,21182,22806,21683,23475,23830,24936,27010,28079,30861,33995,34903,
+35442,37799,39608,28012,39336,34521,22435,26623,34510,37390,21123,22151,21508,
+24275,25313,25785,26684,26680,27579,29554,30906,31339,35226,35282,36203,36611,
+37101,38307,38548,38761,23398,23731,27005,38989,38990,25499,31520,27179,27263,
+26806,39949,28511,21106,21917,24688,25324,27963,28167,28369,33883,35088,36676,
+19988,39993,21494,26907,27194,38788,26666,20828,31427,33970,37340,37772,22107,
+40232,26658,33541,33841,31909,21000,33477,29926,20094,
+20355,20896,23506,21002,21208,21223,24059,21914,22570,23014,23436,23448,23515,
+24178,24185,24739,24863,24931,25022,25563,25954,26577,26707,26874,27454,27475,
+27735,28450,28567,28485,29872,29976,30435,30475,31487,31649,31777,32233,32566,
+32752,32925,33382,33694,35251,35532,36011,36996,37969,38291,38289,38306,38501,
+38867,39208,33304,20024,21547,23736,24012,29609,30284,30524,23721,32747,36107,
+38593,38929,38996,39000,20225,20238,21361,21916,22120,22522,22855,23305,23492,
+23696,24076,24190,24524,25582,26426,26071,26082,26399,26827,26820,27231,24112,
+27589,27671,27773,30079,31048,23395,31232,32000,24509,35215,35352,36020,36215,
+36556,36637,39138,39438,39740,20096,20605,20736,22931,23452,25135,25216,25836,
+27450,29344,30097,31047,32681,34811,35516,35696,25516,33738,38816,21513,21507,
+21931,26708,27224,35440,30759,26485,40653,21364,23458,33050,34384,36870,19992,
+20037,20167,20241,21450,21560,23470,24339,24613,25937,26429,27714,27762,27875,
+28792,29699,31350,31406,31496,32026,31998,32102,26087,29275,21435,23621,24040,
+25298,25312,25369,28192,34394,35377,36317,37624,28417,31142,39770,20136,20139,
+20140,20379,20384,20689,20807,31478,20849,20982,21332,21281,21375,21483,21932,
+22659,23777,24375,24394,24623,24656,24685,25375,25945,27211,27841,29378,29421,
+30703,33016,33029,33288,34126,37111,37857,38911,39255,39514,20208,20957,23597,
+26241,26989,23616,26354,26997,29577,26704,31873,20677,21220,22343,24062,37670,
+26020,27427,27453,29748,31105,31165,31563,32202,33465,33740,34943,35167,35641,
+36817,37329,21535,37504,20061,20534,21477,21306,29399,
+29590,30697,33510,36527,39366,39368,39378,20855,24858,34398,21936,31354,20598,
+23507,36935,38533,20018,27355,37351,23633,23624,25496,31391,27795,38772,36705,
+31402,29066,38536,31874,26647,32368,26705,37740,21234,21531,34219,35347,32676,
+36557,37089,21350,34952,31041,20418,20670,21009,20804,21843,22317,29674,22411,
+22865,24418,24452,24693,24950,24935,25001,25522,25658,25964,26223,26690,28179,
+30054,31293,31995,32076,32153,32331,32619,33550,33610,34509,35336,35427,35686,
+36605,38938,40335,33464,36814,39912,21127,25119,25731,28608,38553,26689,20625,
+27424,27770,28500,31348,32080,34880,35363,26376,20214,20537,20518,20581,20860,
+21048,21091,21927,22287,22533,23244,24314,25010,25080,25331,25458,26908,27177,
+29309,29356,29486,30740,30831,32121,30476,32937,35211,35609,36066,36562,36963,
+37749,38522,38997,39443,40568,20803,21407,21427,24187,24358,28187,28304,29572,
+29694,32067,33335,35328,35578,38480,20046,20491,21476,21628,22266,22993,23396,
+24049,24235,24359,25144,25925,26543,28246,29392,31946,34996,32929,32993,33776,
+34382,35463,36328,37431,38599,39015,40723,20116,20114,20237,21320,21577,21566,
+23087,24460,24481,24735,26791,27278,29786,30849,35486,35492,35703,37264,20062,
+39881,20132,20348,20399,20505,20502,20809,20844,21151,21177,21246,21402,21475,
+21521,21518,21897,22353,22434,22909,23380,23389,23439,24037,24039,24055,24184,
+24195,24218,24247,24344,24658,24908,25239,25304,25511,25915,26114,26179,26356,
+26477,26657,26775,27083,27743,27946,28009,28207,28317,30002,30343,30828,31295,
+31968,32005,32024,32094,32177,32789,32771,32943,32945,
+33108,33167,33322,33618,34892,34913,35611,36002,36092,37066,37237,37489,30783,
+37628,38308,38477,38917,39321,39640,40251,21083,21163,21495,21512,22741,25335,
+28640,35946,36703,40633,20811,21051,21578,22269,31296,37239,40288,40658,29508,
+28425,33136,29969,24573,24794,39592,29403,36796,27492,38915,20170,22256,22372,
+22718,23130,24680,25031,26127,26118,26681,26801,28151,30165,32058,33390,39746,
+20123,20304,21449,21766,23919,24038,24046,26619,27801,29811,30722,35408,37782,
+35039,22352,24231,25387,20661,20652,20877,26368,21705,22622,22971,23472,24425,
+25165,25505,26685,27507,28168,28797,37319,29312,30741,30758,31085,25998,32048,
+33756,35009,36617,38555,21092,22312,26448,32618,36001,20916,22338,38442,22586,
+27018,32948,21682,23822,22524,30869,40442,20316,21066,21643,25662,26152,26388,
+26613,31364,31574,32034,37679,26716,39853,31545,21273,20874,21047,23519,25334,
+25774,25830,26413,27578,34217,38609,30352,39894,25420,37638,39851,30399,26194,
+19977,20632,21442,23665,24808,25746,25955,26719,29158,29642,29987,31639,32386,
+34453,35715,36059,37240,39184,26028,26283,27531,20181,20180,20282,20351,21050,
+21496,21490,21987,22235,22763,22987,22985,23039,23376,23629,24066,24107,24535,
+24605,25351,25903,23388,26031,26045,26088,26525,27490,27515,27663,29509,31049,
+31169,31992,32025,32043,32930,33026,33267,35222,35422,35433,35430,35468,35566,
+36039,36060,38604,39164,27503,20107,20284,20365,20816,23383,23546,24904,25345,
+26178,27425,28363,27835,29246,29885,30164,30913,31034,32780,32819,33258,33940,
+36766,27728,40575,24335,35672,40235,31482,36600,23437,
+38635,19971,21489,22519,22833,23241,23460,24713,28287,28422,30142,36074,23455,
+34048,31712,20594,26612,33437,23649,34122,32286,33294,20889,23556,25448,36198,
+26012,29038,31038,32023,32773,35613,36554,36974,34503,37034,20511,21242,23610,
+26451,28796,29237,37196,37320,37675,33509,23490,24369,24825,20027,21462,23432,
+25163,26417,27530,29417,29664,31278,33131,36259,37202,39318,20754,21463,21610,
+23551,25480,27193,32172,38656,22234,21454,21608,23447,23601,24030,20462,24833,
+25342,27954,31168,31179,32066,32333,32722,33261,33311,33936,34886,35186,35728,
+36468,36655,36913,37195,37228,38598,37276,20160,20303,20805,21313,24467,25102,
+26580,27713,28171,29539,32294,37325,37507,21460,22809,23487,28113,31069,32302,
+31899,22654,29087,20986,34899,36848,20426,23803,26149,30636,31459,33308,39423,
+20934,24490,26092,26991,27529,28147,28310,28516,30462,32020,24033,36981,37255,
+38918,20966,21021,25152,26257,26329,28186,24246,32210,32626,26360,34223,34295,
+35576,21161,21465,22899,24207,24464,24661,37604,38500,20663,20767,21213,21280,
+21319,21484,21736,21830,21809,22039,22888,22974,23100,23477,23558,23567,23569,
+23578,24196,24202,24288,24432,25215,25220,25307,25484,25463,26119,26124,26157,
+26230,26494,26786,27167,27189,27836,28040,28169,28248,28988,28966,29031,30151,
+30465,30813,30977,31077,31216,31456,31505,31911,32057,32918,33750,33931,34121,
+34909,35059,35359,35388,35412,35443,35937,36062,37284,37478,37758,37912,38556,
+38808,19978,19976,19998,20055,20887,21104,22478,22580,22732,23330,24120,24773,
+25854,26465,26454,27972,29366,30067,31331,33976,35698,
+37304,37664,22065,22516,39166,25325,26893,27542,29165,32340,32887,33394,35302,
+39135,34645,36785,23611,20280,20449,20405,21767,23072,23517,23529,24515,24910,
+25391,26032,26187,26862,27035,28024,28145,30003,30137,30495,31070,31206,32051,
+33251,33455,34218,35242,35386,36523,36763,36914,37341,38663,20154,20161,20995,
+22645,22764,23563,29978,23613,33102,35338,36805,38499,38765,31525,35535,38920,
+37218,22259,21416,36887,21561,22402,24101,25512,27700,28810,30561,31883,32736,
+34928,36930,37204,37648,37656,38543,29790,39620,23815,23913,25968,26530,36264,
+38619,25454,26441,26905,33733,38935,38592,35070,28548,25722,23544,19990,28716,
+30045,26159,20932,21046,21218,22995,24449,24615,25104,25919,25972,26143,26228,
+26866,26646,27491,28165,29298,29983,30427,31934,32854,22768,35069,35199,35488,
+35475,35531,36893,37266,38738,38745,25993,31246,33030,38587,24109,24796,25114,
+26021,26132,26512,30707,31309,31821,32318,33034,36012,36196,36321,36447,30889,
+20999,25305,25509,25666,25240,35373,31363,31680,35500,38634,32118,33292,34633,
+20185,20808,21315,21344,23459,23554,23574,24029,25126,25159,25776,26643,26676,
+27849,27973,27927,26579,28508,29006,29053,26059,31359,31661,32218,32330,32680,
+33146,33307,33337,34214,35438,36046,36341,36984,36983,37549,37521,38275,39854,
+21069,21892,28472,28982,20840,31109,32341,33203,31950,22092,22609,23720,25514,
+26366,26365,26970,29401,30095,30094,30990,31062,31199,31895,32032,32068,34311,
+35380,38459,36961,40736,20711,21109,21452,21474,20489,21930,22766,22863,29245,
+23435,23652,21277,24803,24819,25436,25475,25407,25531,
+25805,26089,26361,24035,27085,27133,28437,29157,20105,30185,30456,31379,31967,
+32207,32156,32865,33609,33624,33900,33980,34299,35013,36208,36865,36973,37783,
+38684,39442,20687,22679,24974,33235,34101,36104,36896,20419,20596,21063,21363,
+24687,25417,26463,28204,36275,36895,20439,23646,36042,26063,32154,21330,34966,
+20854,25539,23384,23403,23562,25613,26449,36956,20182,22810,22826,27760,35409,
+21822,22549,22949,24816,25171,26561,33333,26965,38464,39364,39464,20307,22534,
+23550,32784,23729,24111,24453,24608,24907,25140,26367,27888,28382,32974,33151,
+33492,34955,36024,36864,36910,38538,40667,39899,20195,21488,22823,31532,37261,
+38988,40441,28381,28711,21331,21828,23429,25176,25246,25299,27810,28655,29730,
+35351,37944,28609,35582,33592,20967,34552,21482,21481,20294,36948,36784,22890,
+33073,24061,31466,36799,26842,35895,29432,40008,27197,35504,20025,21336,22022,
+22374,25285,25506,26086,27470,28129,28251,28845,30701,31471,31658,32187,32829,
+32966,34507,35477,37723,22243,22727,24382,26029,26262,27264,27573,30007,35527,
+20516,30693,22320,24347,24677,26234,27744,30196,31258,32622,33268,34584,36933,
+39347,31689,30044,31481,31569,33988,36880,31209,31378,33590,23265,30528,20013,
+20210,23449,24544,25277,26172,26609,27880,34411,34935,35387,37198,37619,39376,
+27159,28710,29482,33511,33879,36015,19969,20806,20939,21899,23541,24086,24115,
+24193,24340,24373,24427,24500,25074,25361,26274,26397,28526,29266,30010,30522,
+32884,33081,33144,34678,35519,35548,36229,36339,37530,38263,38914,40165,21189,
+25431,30452,26389,27784,29645,36035,37806,38515,27941,
+22684,26894,27084,36861,37786,30171,36890,22618,26626,25524,27131,20291,28460,
+26584,36795,34086,32180,37716,26943,28528,22378,22775,23340,32044,29226,21514,
+37347,40372,20141,20302,20572,20597,21059,35998,21576,22564,23450,24093,24213,
+24237,24311,24351,24716,25269,25402,25552,26799,27712,30855,31118,31243,32224,
+33351,35330,35558,36420,36883,37048,37165,37336,40718,27877,25688,25826,25973,
+28404,30340,31515,36969,37841,28346,21746,24505,25764,36685,36845,37444,20856,
+22635,22825,23637,24215,28155,32399,29980,36028,36578,39003,28857,20253,27583,
+28593,30000,38651,20814,21520,22581,22615,22956,23648,24466,26007,26460,28193,
+30331,33759,36077,36884,37117,37709,30757,30778,21162,24230,22303,22900,24594,
+20498,20826,20908,20941,20992,21776,22612,22616,22871,23445,23798,23947,24764,
+25237,25645,26481,26691,26812,26847,30423,28120,28271,28059,28783,29128,24403,
+30168,31095,31561,31572,31570,31958,32113,21040,33891,34153,34276,35342,35588,
+35910,36367,36867,36879,37913,38518,38957,39472,38360,20685,21205,21516,22530,
+23566,24999,25758,27934,30643,31461,33012,33796,36947,37509,23776,40199,21311,
+24471,24499,28060,29305,30563,31167,31716,27602,29420,35501,26627,27233,20984,
+31361,26932,23626,40182,33515,23493,37193,28702,22136,23663,24775,25958,27788,
+35930,36929,38931,21585,26311,37389,22856,37027,20869,20045,20970,34201,35598,
+28760,25466,37707,26978,39348,32260,30071,21335,26976,36575,38627,27741,20108,
+23612,24336,36841,21250,36049,32905,34425,24319,26085,20083,20837,22914,23615,
+38894,20219,22922,24525,35469,28641,31152,31074,23527,
+33905,29483,29105,24180,24565,25467,25754,29123,31896,20035,24316,20043,22492,
+22178,24745,28611,32013,33021,33075,33215,36786,35223,34468,24052,25226,25773,
+35207,26487,27874,27966,29750,30772,23110,32629,33453,39340,20467,24259,25309,
+25490,25943,26479,30403,29260,32972,32954,36649,37197,20493,22521,23186,26757,
+26995,29028,29437,36023,22770,36064,38506,36889,34687,31204,30695,33833,20271,
+21093,21338,25293,26575,27850,30333,31636,31893,33334,34180,36843,26333,28448,
+29190,32283,33707,39361,40614,20989,31665,30834,31672,32903,31560,27368,24161,
+32908,30033,30048,20843,37474,28300,30330,37271,39658,20240,32624,25244,31567,
+38309,40169,22138,22617,34532,38588,20276,21028,21322,21453,21467,24070,25644,
+26001,26495,27710,27726,29256,29359,29677,30036,32321,33324,34281,36009,31684,
+37318,29033,38930,39151,25405,26217,30058,30436,30928,34115,34542,21290,21329,
+21542,22915,24199,24444,24754,25161,25209,25259,26000,27604,27852,30130,30382,
+30865,31192,32203,32631,32933,34987,35513,36027,36991,38750,39131,27147,31800,
+20633,23614,24494,26503,27608,29749,30473,32654,40763,26570,31255,21305,30091,
+39661,24422,33181,33777,32920,24380,24517,30050,31558,36924,26727,23019,23195,
+32016,30334,35628,20469,24426,27161,27703,28418,29922,31080,34920,35413,35961,
+24287,25551,30149,31186,33495,37672,37618,33948,34541,39981,21697,24428,25996,
+27996,28693,36007,36051,38971,25935,29942,19981,20184,22496,22827,23142,23500,
+20904,24067,24220,24598,25206,25975,26023,26222,28014,29238,31526,33104,33178,
+33433,35676,36000,36070,36212,38428,38468,20398,25771,
+27494,33310,33889,34154,37096,23553,26963,39080,33914,34135,20239,21103,24489,
+24133,26381,31119,33145,35079,35206,28149,24343,25173,27832,20175,29289,39826,
+20998,21563,22132,22707,24996,25198,28954,22894,31881,31966,32027,38640,25991,
+32862,19993,20341,20853,22592,24163,24179,24330,26564,20006,34109,38281,38491,
+31859,38913,20731,22721,30294,30887,21029,30629,34065,31622,20559,22793,29255,
+31687,32232,36794,36820,36941,20415,21193,23081,24321,38829,20445,33303,37610,
+22275,25429,27497,29995,35036,36628,31298,21215,22675,24917,25098,26286,27597,
+31807,33769,20515,20472,21253,21574,22577,22857,23453,23792,23791,23849,24214,
+25265,25447,25918,26041,26379,27861,27873,28921,30770,32299,32990,33459,33804,
+34028,34562,35090,35370,35914,37030,37586,39165,40179,40300,20047,20129,20621,
+21078,22346,22952,24125,24536,24537,25151,26292,26395,26576,26834,20882,32033,
+32938,33192,35584,35980,36031,37502,38450,21536,38956,21271,20693,21340,22696,
+25778,26420,29287,30566,31302,37350,21187,27809,27526,22528,24140,22868,26412,
+32763,20961,30406,25705,30952,39764,40635,22475,22969,26151,26522,27598,21737,
+27097,24149,33180,26517,39850,26622,40018,26717,20134,20451,21448,25273,26411,
+27819,36804,20397,32365,40639,19975,24930,28288,28459,34067,21619,26410,39749,
+24051,31637,23724,23494,34588,28234,34001,31252,33032,22937,31885,27665,30496,
+21209,22818,28961,29279,30683,38695,40289,26891,23167,23064,20901,21517,21629,
+26126,30431,36855,37528,40180,23018,29277,28357,20813,26825,32191,32236,38754,
+40634,25720,27169,33538,22916,23391,27611,29467,30450,
+32178,32791,33945,20786,26408,40665,30446,26466,21247,39173,23588,25147,31870,
+36016,21839,24758,32011,38272,21249,20063,20918,22812,29242,32822,37326,24357,
+30690,21380,24441,32004,34220,35379,36493,38742,26611,34222,37971,24841,24840,
+27833,30290,35565,36664,21807,20305,20778,21191,21451,23461,24189,24736,24962,
+25558,26377,26586,28263,28044,29494,29495,30001,31056,35029,35480,36938,37009,
+37109,38596,34701,22805,20104,20313,19982,35465,36671,38928,20653,24188,22934,
+23481,24248,25562,25594,25793,26332,26954,27096,27915,28342,29076,29992,31407,
+32650,32768,33865,33993,35201,35617,36362,36965,38525,39178,24958,25233,27442,
+27779,28020,32716,32764,28096,32645,34746,35064,26469,33713,38972,38647,27931,
+32097,33853,37226,20081,21365,23888,27396,28651,34253,34349,35239,21033,21519,
+23653,26446,26792,29702,29827,30178,35023,35041,37324,38626,38520,24459,29575,
+31435,33870,25504,30053,21129,27969,28316,29705,30041,30827,31890,38534,31452,
+40845,20406,24942,26053,34396,20102,20142,20698,20001,20940,23534,26009,26753,
+28092,29471,30274,30637,31260,31975,33391,35538,36988,37327,38517,38936,21147,
+32209,20523,21400,26519,28107,29136,29747,33256,36650,38563,40023,40607,29792,
+22593,28057,32047,39006,20196,20278,20363,20919,21169,23994,24604,29618,31036,
+33491,37428,38583,38646,38666,40599,40802,26278,27508,21015,21155,28872,35010,
+24265,24651,24976,28451,29001,31806,32244,32879,34030,36899,37676,21570,39791,
+27347,28809,36034,36335,38706,21172,23105,24266,24324,26391,27004,27028,28010,
+28431,29282,29436,31725,32769,32894,34635,37070,20845,
+40595,31108,32907,37682,35542,20525,21644,35441,27498,36036,33031,24785,26528,
+40434,20121,20120,39952,35435,34241,34152,26880,28286,30871,33109,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+24332,19984,19989,20010,20017,20022,20028,20031,20034,20054,20056,20098,20101,
+35947,20106,33298,24333,20110,20126,20127,20128,20130,20144,20147,20150,20174,
+20173,20164,20166,20162,20183,20190,20205,20191,20215,20233,20314,20272,20315,
+20317,20311,20295,20342,20360,20367,20376,20347,20329,20336,20369,20335,20358,
+20374,20760,20436,20447,20430,20440,20443,20433,20442,20432,20452,20453,20506,
+20520,20500,20522,20517,20485,20252,20470,20513,20521,20524,20478,20463,20497,
+20486,20547,20551,26371,20565,20560,20552,20570,20566,20588,20600,20608,20634,
+20613,20660,20658,20681,20682,20659,20674,20694,20702,20709,20717,20707,20718,
+20729,20725,20745,20737,20738,20758,20757,20756,20762,20769,20794,20791,20796,
+20795,20799,20800,20818,20812,20820,20834,31480,20841,20842,20846,20864,20866,
+22232,20876,20873,20879,20881,20883,20885,20886,20900,20902,20898,20905,20906,
+20907,20915,20913,20914,20912,20917,20925,20933,20937,20955,20960,34389,20969,
+20973,20976,20981,20990,20996,21003,21012,21006,21031,21034,21038,21043,21049,
+21071,21060,21067,21068,21086,21076,21098,21108,21097,21107,21119,21117,21133,
+21140,21138,21105,21128,21137,36776,36775,
+21164,21165,21180,21173,21185,21197,21207,21214,21219,21222,39149,21216,21235,
+21237,21240,21241,21254,21256,30008,21261,21264,21263,21269,21274,21283,21295,
+21297,21299,21304,21312,21318,21317,19991,21321,21325,20950,21342,21353,21358,
+22808,21371,21367,21378,21398,21408,21414,21413,21422,21424,21430,21443,31762,
+38617,21471,26364,29166,21486,21480,21485,21498,21505,21565,21568,21548,21549,
+21564,21550,21558,21545,21533,21582,21647,21621,21646,21599,21617,21623,21616,
+21650,21627,21632,21622,21636,21648,21638,21703,21666,21688,21669,21676,21700,
+21704,21672,21675,21698,21668,21694,21692,21720,21733,21734,21775,21780,21757,
+21742,21741,21754,21730,21817,21824,21859,21836,21806,21852,21829,21846,21847,
+21816,21811,21853,21913,21888,21679,21898,21919,21883,21886,21912,21918,21934,
+21884,21891,21929,21895,21928,21978,21957,21983,21956,21980,21988,21972,22036,
+22007,22038,22014,22013,22043,22009,22094,22096,29151,22068,22070,22066,22072,
+22123,22116,22063,22124,22122,22150,22144,22154,22176,22164,22159,22181,22190,
+22198,22196,22210,22204,22209,22211,22208,22216,22222,22225,22227,22231,22254,
+22265,22272,22271,22276,22281,22280,22283,22285,22291,22296,22294,21959,22300,
+22310,22327,22328,22350,22331,22336,22351,22377,22464,22408,22369,22399,22409,
+22419,22432,22451,22436,22442,22448,22467,22470,22484,22482,22483,22538,22486,
+22499,22539,22553,22557,22642,22561,22626,22603,22640,27584,22610,22589,22649,
+22661,22713,22687,22699,22714,22750,22715,22712,22702,22725,22739,22737,22743,
+22745,22744,22757,22748,22756,22751,22767,22778,22777,
+22779,22780,22781,22786,22794,22800,22811,26790,22821,22828,22829,22834,22840,
+22846,31442,22869,22864,22862,22874,22872,22882,22880,22887,22892,22889,22904,
+22913,22941,20318,20395,22947,22962,22982,23016,23004,22925,23001,23002,23077,
+23071,23057,23068,23049,23066,23104,23148,23113,23093,23094,23138,23146,23194,
+23228,23230,23243,23234,23229,23267,23255,23270,23273,23254,23290,23291,23308,
+23307,23318,23346,23248,23338,23350,23358,23363,23365,23360,23377,23381,23386,
+23387,23397,23401,23408,23411,23413,23416,25992,23418,23424,23427,23462,23480,
+23491,23495,23497,23508,23504,23524,23526,23522,23518,23525,23531,23536,23542,
+23539,23557,23559,23560,23565,23571,23584,23586,23592,23608,23609,23617,23622,
+23630,23635,23632,23631,23409,23660,23662,20066,23670,23673,23692,23697,23700,
+22939,23723,23739,23734,23740,23735,23749,23742,23751,23769,23785,23805,23802,
+23789,23948,23786,23819,23829,23831,23900,23839,23835,23825,23828,23842,23834,
+23833,23832,23884,23890,23886,23883,23916,23923,23926,23943,23940,23938,23970,
+23965,23980,23982,23997,23952,23991,23996,24009,24013,24019,24018,24022,24027,
+24043,24050,24053,24075,24090,24089,24081,24091,24118,24119,24132,24131,24128,
+24142,24151,24148,24159,24162,24164,24135,24181,24182,24186,40636,24191,24224,
+24257,24258,24264,24272,24271,24278,24291,24285,24282,24283,24290,24289,24296,
+24297,24300,24305,24307,24304,24308,24312,24318,24323,24329,24413,24412,24331,
+24337,24342,24361,24365,24376,24385,24392,24396,24398,24367,24401,24406,24407,
+24409,24417,24429,24435,24439,24451,24450,24447,24458,
+24456,24465,24455,24478,24473,24472,24480,24488,24493,24508,24534,24571,24548,
+24568,24561,24541,24755,24575,24609,24672,24601,24592,24617,24590,24625,24603,
+24597,24619,24614,24591,24634,24666,24641,24682,24695,24671,24650,24646,24653,
+24675,24643,24676,24642,24684,24683,24665,24705,24717,24807,24707,24730,24708,
+24731,24726,24727,24722,24743,24715,24801,24760,24800,24787,24756,24560,24765,
+24774,24757,24792,24909,24853,24838,24822,24823,24832,24820,24826,24835,24865,
+24827,24817,24845,24846,24903,24894,24872,24871,24906,24895,24892,24876,24884,
+24893,24898,24900,24947,24951,24920,24921,24922,24939,24948,24943,24933,24945,
+24927,24925,24915,24949,24985,24982,24967,25004,24980,24986,24970,24977,25003,
+25006,25036,25034,25033,25079,25032,25027,25030,25018,25035,32633,25037,25062,
+25059,25078,25082,25076,25087,25085,25084,25086,25088,25096,25097,25101,25100,
+25108,25115,25118,25121,25130,25134,25136,25138,25139,25153,25166,25182,25187,
+25179,25184,25192,25212,25218,25225,25214,25234,25235,25238,25300,25219,25236,
+25303,25297,25275,25295,25343,25286,25812,25288,25308,25292,25290,25282,25287,
+25243,25289,25356,25326,25329,25383,25346,25352,25327,25333,25424,25406,25421,
+25628,25423,25494,25486,25472,25515,25462,25507,25487,25481,25503,25525,25451,
+25449,25534,25577,25536,25542,25571,25545,25554,25590,25540,25622,25652,25606,
+25619,25638,25654,25885,25623,25640,25615,25703,25711,25718,25678,25898,25749,
+25747,25765,25769,25736,25788,25818,25810,25797,25799,25787,25816,25794,25841,
+25831,33289,25824,25825,25260,25827,25839,25900,25846,
+25844,25842,25850,25856,25853,25880,25884,25861,25892,25891,25899,25908,25909,
+25911,25910,25912,30027,25928,25942,25941,25933,25944,25950,25949,25970,25976,
+25986,25987,35722,26011,26015,26027,26039,26051,26054,26049,26052,26060,26066,
+26075,26073,26080,26081,26097,26482,26122,26115,26107,26483,26165,26166,26164,
+26140,26191,26180,26185,26177,26206,26205,26212,26215,26216,26207,26210,26224,
+26243,26248,26254,26249,26244,26264,26269,26305,26297,26313,26302,26300,26308,
+26296,26326,26330,26336,26175,26342,26345,26352,26357,26359,26383,26390,26398,
+26406,26407,38712,26414,26431,26422,26433,26424,26423,26438,26462,26464,26457,
+26467,26468,26505,26480,26537,26492,26474,26508,26507,26534,26529,26501,26551,
+26607,26548,26604,26547,26601,26552,26596,26590,26589,26594,26606,26553,26574,
+26566,26599,27292,26654,26694,26665,26688,26701,26674,26702,26803,26667,26713,
+26723,26743,26751,26783,26767,26797,26772,26781,26779,26755,27310,26809,26740,
+26805,26784,26810,26895,26765,26750,26881,26826,26888,26840,26914,26918,26849,
+26892,26829,26836,26855,26837,26934,26898,26884,26839,26851,26917,26873,26848,
+26863,26920,26922,26906,26915,26913,26822,27001,26999,26972,27000,26987,26964,
+27006,26990,26937,26996,26941,26969,26928,26977,26974,26973,27009,26986,27058,
+27054,27088,27071,27073,27091,27070,27086,23528,27082,27101,27067,27075,27047,
+27182,27025,27040,27036,27029,27060,27102,27112,27138,27163,27135,27402,27129,
+27122,27111,27141,27057,27166,27117,27156,27115,27146,27154,27329,27171,27155,
+27204,27148,27250,27190,27256,27207,27234,27225,27238,
+27208,27192,27170,27280,27277,27296,27268,27298,27299,27287,34327,27323,27331,
+27330,27320,27315,27308,27358,27345,27359,27306,27354,27370,27387,27397,34326,
+27386,27410,27414,39729,27423,27448,27447,30428,27449,39150,27463,27459,27465,
+27472,27481,27476,27483,27487,27489,27512,27513,27519,27520,27524,27523,27533,
+27544,27541,27550,27556,27562,27563,27567,27570,27569,27571,27575,27580,27590,
+27595,27603,27615,27628,27627,27635,27631,40638,27656,27667,27668,27675,27684,
+27683,27742,27733,27746,27754,27778,27789,27802,27777,27803,27774,27752,27763,
+27794,27792,27844,27889,27859,27837,27863,27845,27869,27822,27825,27838,27834,
+27867,27887,27865,27882,27935,34893,27958,27947,27965,27960,27929,27957,27955,
+27922,27916,28003,28051,28004,27994,28025,27993,28046,28053,28644,28037,28153,
+28181,28170,28085,28103,28134,28088,28102,28140,28126,28108,28136,28114,28101,
+28154,28121,28132,28117,28138,28142,28205,28270,28206,28185,28274,28255,28222,
+28195,28267,28203,28278,28237,28191,28227,28218,28238,28196,28415,28189,28216,
+28290,28330,28312,28361,28343,28371,28349,28335,28356,28338,28372,28373,28303,
+28325,28354,28319,28481,28433,28748,28396,28408,28414,28479,28402,28465,28399,
+28466,28364,28478,28435,28407,28550,28538,28536,28545,28544,28527,28507,28659,
+28525,28546,28540,28504,28558,28561,28610,28518,28595,28579,28577,28580,28601,
+28614,28586,28639,28629,28652,28628,28632,28657,28654,28635,28681,28683,28666,
+28689,28673,28687,28670,28699,28698,28532,28701,28696,28703,28720,28734,28722,
+28753,28771,28825,28818,28847,28913,28844,28856,28851,
+28846,28895,28875,28893,28889,28937,28925,28956,28953,29029,29013,29064,29030,
+29026,29004,29014,29036,29071,29179,29060,29077,29096,29100,29143,29113,29118,
+29138,29129,29140,29134,29152,29164,29159,29173,29180,29177,29183,29197,29200,
+29211,29224,29229,29228,29232,29234,29243,29244,29247,29248,29254,29259,29272,
+29300,29310,29314,29313,29319,29330,29334,29346,29351,29369,29362,29379,29382,
+29380,29390,29394,29410,29408,29409,29433,29431,20495,29463,29450,29468,29462,
+29469,29492,29487,29481,29477,29502,29518,29519,40664,29527,29546,29544,29552,
+29560,29557,29563,29562,29640,29619,29646,29627,29632,29669,29678,29662,29858,
+29701,29807,29733,29688,29746,29754,29781,29759,29791,29785,29761,29788,29801,
+29808,29795,29802,29814,29822,29835,29854,29863,29898,29903,29908,29681,29920,
+29923,29927,29929,29934,29938,29936,29937,29944,29943,29956,29955,29957,29964,
+29966,29965,29973,29971,29982,29990,29996,30012,30020,30029,30026,30025,30043,
+30022,30042,30057,30052,30055,30059,30061,30072,30070,30086,30087,30068,30090,
+30089,30082,30100,30106,30109,30117,30115,30146,30131,30147,30133,30141,30136,
+30140,30129,30157,30154,30162,30169,30179,30174,30206,30207,30204,30209,30192,
+30202,30194,30195,30219,30221,30217,30239,30247,30240,30241,30242,30244,30260,
+30256,30267,30279,30280,30278,30300,30296,30305,30306,30312,30313,30314,30311,
+30316,30320,30322,30326,30328,30332,30336,30339,30344,30347,30350,30358,30355,
+30361,30362,30384,30388,30392,30393,30394,30402,30413,30422,30418,30430,30433,
+30437,30439,30442,34351,30459,30472,30471,30468,30505,
+30500,30494,30501,30502,30491,30519,30520,30535,30554,30568,30571,30555,30565,
+30591,30590,30585,30606,30603,30609,30624,30622,30640,30646,30649,30655,30652,
+30653,30651,30663,30669,30679,30682,30684,30691,30702,30716,30732,30738,31014,
+30752,31018,30789,30862,30836,30854,30844,30874,30860,30883,30901,30890,30895,
+30929,30918,30923,30932,30910,30908,30917,30922,30956,30951,30938,30973,30964,
+30983,30994,30993,31001,31020,31019,31040,31072,31063,31071,31066,31061,31059,
+31098,31103,31114,31133,31143,40779,31146,31150,31155,31161,31162,31177,31189,
+31207,31212,31201,31203,31240,31245,31256,31257,31264,31263,31104,31281,31291,
+31294,31287,31299,31319,31305,31329,31330,31337,40861,31344,31353,31357,31368,
+31383,31381,31384,31382,31401,31432,31408,31414,31429,31428,31423,36995,31431,
+31434,31437,31439,31445,31443,31449,31450,31453,31457,31458,31462,31469,31472,
+31490,31503,31498,31494,31539,31512,31513,31518,31541,31528,31542,31568,31610,
+31492,31565,31499,31564,31557,31605,31589,31604,31591,31600,31601,31596,31598,
+31645,31640,31647,31629,31644,31642,31627,31634,31631,31581,31641,31691,31681,
+31692,31695,31668,31686,31709,31721,31761,31764,31718,31717,31840,31744,31751,
+31763,31731,31735,31767,31757,31734,31779,31783,31786,31775,31799,31787,31805,
+31820,31811,31828,31823,31808,31824,31832,31839,31844,31830,31845,31852,31861,
+31875,31888,31908,31917,31906,31915,31905,31912,31923,31922,31921,31918,31929,
+31933,31936,31941,31938,31960,31954,31964,31970,39739,31983,31986,31988,31990,
+31994,32006,32002,32028,32021,32010,32069,32075,32046,
+32050,32063,32053,32070,32115,32086,32078,32114,32104,32110,32079,32099,32147,
+32137,32091,32143,32125,32155,32186,32174,32163,32181,32199,32189,32171,32317,
+32162,32175,32220,32184,32159,32176,32216,32221,32228,32222,32251,32242,32225,
+32261,32266,32291,32289,32274,32305,32287,32265,32267,32290,32326,32358,32315,
+32309,32313,32323,32311,32306,32314,32359,32349,32342,32350,32345,32346,32377,
+32362,32361,32380,32379,32387,32213,32381,36782,32383,32392,32393,32396,32402,
+32400,32403,32404,32406,32398,32411,32412,32568,32570,32581,32588,32589,32590,
+32592,32593,32597,32596,32600,32607,32608,32616,32617,32615,32632,32642,32646,
+32643,32648,32647,32652,32660,32670,32669,32666,32675,32687,32690,32697,32686,
+32694,32696,35697,32709,32710,32714,32725,32724,32737,32742,32745,32755,32761,
+39132,32774,32772,32779,32786,32792,32793,32796,32801,32808,32831,32827,32842,
+32838,32850,32856,32858,32863,32866,32872,32883,32882,32880,32886,32889,32893,
+32895,32900,32902,32901,32923,32915,32922,32941,20880,32940,32987,32997,32985,
+32989,32964,32986,32982,33033,33007,33009,33051,33065,33059,33071,33099,38539,
+33094,33086,33107,33105,33020,33137,33134,33125,33126,33140,33155,33160,33162,
+33152,33154,33184,33173,33188,33187,33119,33171,33193,33200,33205,33214,33208,
+33213,33216,33218,33210,33225,33229,33233,33241,33240,33224,33242,33247,33248,
+33255,33274,33275,33278,33281,33282,33285,33287,33290,33293,33296,33302,33321,
+33323,33336,33331,33344,33369,33368,33373,33370,33375,33380,33378,33384,33386,
+33387,33326,33393,33399,33400,33406,33421,33426,33451,
+33439,33467,33452,33505,33507,33503,33490,33524,33523,33530,33683,33539,33531,
+33529,33502,33542,33500,33545,33497,33589,33588,33558,33586,33585,33600,33593,
+33616,33605,33583,33579,33559,33560,33669,33690,33706,33695,33698,33686,33571,
+33678,33671,33674,33660,33717,33651,33653,33696,33673,33704,33780,33811,33771,
+33742,33789,33795,33752,33803,33729,33783,33799,33760,33778,33805,33826,33824,
+33725,33848,34054,33787,33901,33834,33852,34138,33924,33911,33899,33965,33902,
+33922,33897,33862,33836,33903,33913,33845,33994,33890,33977,33983,33951,34009,
+33997,33979,34010,34000,33985,33990,34006,33953,34081,34047,34036,34071,34072,
+34092,34079,34069,34068,34044,34112,34147,34136,34120,34113,34306,34123,34133,
+34176,34212,34184,34193,34186,34216,34157,34196,34203,34282,34183,34204,34167,
+34174,34192,34249,34234,34255,34233,34256,34261,34269,34277,34268,34297,34314,
+34323,34315,34302,34298,34310,34338,34330,34352,34367,34381,20053,34388,34399,
+34407,34417,34451,34467,34473,34474,34443,34444,34486,34479,34500,34502,34480,
+34505,34851,34475,34516,34526,34537,34540,34527,34523,34543,34578,34566,34568,
+34560,34563,34555,34577,34569,34573,34553,34570,34612,34623,34615,34619,34597,
+34601,34586,34656,34655,34680,34636,34638,34676,34647,34664,34670,34649,34643,
+34659,34666,34821,34722,34719,34690,34735,34763,34749,34752,34768,38614,34731,
+34756,34739,34759,34758,34747,34799,34802,34784,34831,34829,34814,34806,34807,
+34830,34770,34833,34838,34837,34850,34849,34865,34870,34873,34855,34875,34884,
+34882,34898,34905,34910,34914,34923,34945,34942,34974,
+34933,34941,34997,34930,34946,34967,34962,34990,34969,34978,34957,34980,34992,
+35007,34993,35011,35012,35028,35032,35033,35037,35065,35074,35068,35060,35048,
+35058,35076,35084,35082,35091,35139,35102,35109,35114,35115,35137,35140,35131,
+35126,35128,35148,35101,35168,35166,35174,35172,35181,35178,35183,35188,35191,
+35198,35203,35208,35210,35219,35224,35233,35241,35238,35244,35247,35250,35258,
+35261,35263,35264,35290,35292,35293,35303,35316,35320,35331,35350,35344,35340,
+35355,35357,35365,35382,35393,35419,35410,35398,35400,35452,35437,35436,35426,
+35461,35458,35460,35496,35489,35473,35493,35494,35482,35491,35524,35533,35522,
+35546,35563,35571,35559,35556,35569,35604,35552,35554,35575,35550,35547,35596,
+35591,35610,35553,35606,35600,35607,35616,35635,38827,35622,35627,35646,35624,
+35649,35660,35663,35662,35657,35670,35675,35674,35691,35679,35692,35695,35700,
+35709,35712,35724,35726,35730,35731,35734,35737,35738,35898,35905,35903,35912,
+35916,35918,35920,35925,35938,35948,35960,35962,35970,35977,35973,35978,35981,
+35982,35988,35964,35992,25117,36013,36010,36029,36018,36019,36014,36022,36040,
+36033,36068,36067,36058,36093,36090,36091,36100,36101,36106,36103,36111,36109,
+36112,40782,36115,36045,36116,36118,36199,36205,36209,36211,36225,36249,36290,
+36286,36282,36303,36314,36310,36300,36315,36299,36330,36331,36319,36323,36348,
+36360,36361,36351,36381,36382,36368,36383,36418,36405,36400,36404,36426,36423,
+36425,36428,36432,36424,36441,36452,36448,36394,36451,36437,36470,36466,36476,
+36481,36487,36485,36484,36491,36490,36499,36497,36500,
+36505,36522,36513,36524,36528,36550,36529,36542,36549,36552,36555,36571,36579,
+36604,36603,36587,36606,36618,36613,36629,36626,36633,36627,36636,36639,36635,
+36620,36646,36659,36667,36665,36677,36674,36670,36684,36681,36678,36686,36695,
+36700,36706,36707,36708,36764,36767,36771,36781,36783,36791,36826,36837,36834,
+36842,36847,36999,36852,36869,36857,36858,36881,36885,36897,36877,36894,36886,
+36875,36903,36918,36917,36921,36856,36943,36944,36945,36946,36878,36937,36926,
+36950,36952,36958,36968,36975,36982,38568,36978,36994,36989,36993,36992,37002,
+37001,37007,37032,37039,37041,37045,37090,37092,25160,37083,37122,37138,37145,
+37170,37168,37194,37206,37208,37219,37221,37225,37235,37234,37259,37257,37250,
+37282,37291,37295,37290,37301,37300,37306,37312,37313,37321,37323,37328,37334,
+37343,37345,37339,37372,37365,37366,37406,37375,37396,37420,37397,37393,37470,
+37463,37445,37449,37476,37448,37525,37439,37451,37456,37532,37526,37523,37531,
+37466,37583,37561,37559,37609,37647,37626,37700,37678,37657,37666,37658,37667,
+37690,37685,37691,37724,37728,37756,37742,37718,37808,37804,37805,37780,37817,
+37846,37847,37864,37861,37848,37827,37853,37840,37832,37860,37914,37908,37907,
+37891,37895,37904,37942,37931,37941,37921,37946,37953,37970,37956,37979,37984,
+37986,37982,37994,37417,38000,38005,38007,38013,37978,38012,38014,38017,38015,
+38274,38279,38282,38292,38294,38296,38297,38304,38312,38311,38317,38332,38331,
+38329,38334,38346,28662,38339,38349,38348,38357,38356,38358,38364,38369,38373,
+38370,38433,38440,38446,38447,38466,38476,38479,38475,
+38519,38492,38494,38493,38495,38502,38514,38508,38541,38552,38549,38551,38570,
+38567,38577,38578,38576,38580,38582,38584,38585,38606,38603,38601,38605,35149,
+38620,38669,38613,38649,38660,38662,38664,38675,38670,38673,38671,38678,38681,
+38692,38698,38704,38713,38717,38718,38724,38726,38728,38722,38729,38748,38752,
+38756,38758,38760,21202,38763,38769,38777,38789,38780,38785,38778,38790,38795,
+38799,38800,38812,38824,38822,38819,38835,38836,38851,38854,38856,38859,38876,
+38893,40783,38898,31455,38902,38901,38927,38924,38968,38948,38945,38967,38973,
+38982,38991,38987,39019,39023,39024,39025,39028,39027,39082,39087,39089,39094,
+39108,39107,39110,39145,39147,39171,39177,39186,39188,39192,39201,39197,39198,
+39204,39200,39212,39214,39229,39230,39234,39241,39237,39248,39243,39249,39250,
+39244,39253,39319,39320,39333,39341,39342,39356,39391,39387,39389,39384,39377,
+39405,39406,39409,39410,39419,39416,39425,39439,39429,39394,39449,39467,39479,
+39493,39490,39488,39491,39486,39509,39501,39515,39511,39519,39522,39525,39524,
+39529,39531,39530,39597,39600,39612,39616,39631,39633,39635,39636,39646,39647,
+39650,39651,39654,39663,39659,39662,39668,39665,39671,39675,39686,39704,39706,
+39711,39714,39715,39717,39719,39720,39721,39722,39726,39727,39730,39748,39747,
+39759,39757,39758,39761,39768,39796,39827,39811,39825,39830,39831,39839,39840,
+39848,39860,39872,39882,39865,39878,39887,39889,39890,39907,39906,39908,39892,
+39905,39994,39922,39921,39920,39957,39956,39945,39955,39948,39942,39944,39954,
+39946,39940,39982,39963,39973,39972,39969,39984,40007,
+39986,40006,39998,40026,40032,40039,40054,40056,40167,40172,40176,40201,40200,
+40171,40195,40198,40234,40230,40367,40227,40223,40260,40213,40210,40257,40255,
+40254,40262,40264,40285,40286,40292,40273,40272,40281,40306,40329,40327,40363,
+40303,40314,40346,40356,40361,40370,40388,40385,40379,40376,40378,40390,40399,
+40386,40409,40403,40440,40422,40429,40431,40445,40474,40475,40478,40565,40569,
+40573,40577,40584,40587,40588,40594,40597,40593,40605,40613,40617,40632,40618,
+40621,38753,40652,40654,40655,40656,40660,40668,40670,40669,40672,40677,40680,
+40687,40692,40694,40695,40697,40699,40700,40701,40711,40712,30391,40725,40737,
+40748,40766,40778,40786,40788,40803,40799,40800,40801,40806,40807,40812,40810,
+40823,40818,40822,40853,40860,40864,22575,27079,36953,29796,20956,29081,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,
diff --git a/libiconv/include/revjis.h b/libiconv/include/revjis.h
new file mode 100644
index 000000000..3ab369f6e
--- /dev/null
+++ b/libiconv/include/revjis.h
@@ -0,0 +1,515 @@
+31,80,81,87,14,299,74,61,12,344,62,63,1280,1281,1282,1283,1284,1285,1286,1287,
+1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,
+1303,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,
+1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1542,1536,1537,1538,1539,
+1540,1541,1543,1544,1545,1546,1547,1548,1549,1550,1551,1552,1553,1554,1555,
+1556,1557,1558,1559,1560,1561,1562,1563,1564,1565,1566,1567,1568,1584,1585,
+1586,1587,1588,1589,1591,1592,1593,1594,1595,1596,1597,1598,1599,1600,1601,
+1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,
+1590,29,28,33,37,38,39,40,342,343,36,35,338,75,76,263,77,337,266,267,265,268,
+300,301,302,318,303,319,281,282,60,324,326,70,315,297,298,288,287,328,329,71,
+327,325,321,65,320,68,69,322,323,285,286,283,284,316,317,1792,1803,1793,1804,
+1794,1805,1795,1806,1797,1808,1796,1807,1798,1819,1814,1809,1800,1821,1816,
+1811,1799,1815,1820,1810,1801,1817,1822,1812,1802,1818,1823,1813,258,257,260,
+259,262,261,256,93,90,92,91,349,89,88,73,72,341,340,339,0,1,2,22,24,25,26,49,
+50,51,52,53,54,55,56,57,58,264,269,43,44,32,
+768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,
+787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,
+806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,
+825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,
+844,845,846,847,848,849,850,10,11,20,21,1024,1025,1026,1027,1028,1029,1030,
+1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,
+1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,
+1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,
+1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,
+1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,
+1106,1107,1108,1109,5,27,18,19,3915,8793,6934,10843,7493,6671,7492,4379,10291,
+11294,12033,4110,4685,12034,7939,12577,5173,10521,7494,11549,10529,12035,8773,
+12036,5465,12037,4924,8719,6982,12038,12039,12040,9748,5174,9750,9538,5922,
+10770,18472,12041,7495,12042,4372,5444,5967,11080,13573,11343,9564,4868,5140,
+12043,12044,11546,11292,8263,12046,6741,9554,12049,4125,5950,5949,3909,11818,
+11817,6418,3840,12050,12051,12052,10771,12053,5969,3910,10833,5211,5212,5213,
+9025,11547,12054,12055,12056,7724,7193,7725,12061,12059,12060,5175,6402,4431,
+12058,12057,10504,6693,6692,8477,12062,10292,8006,23,12063,12065,8516,11584,
+3881,12064,4381,5411,8774,5710,12066,9731,4938,12067,3882,5951,4939,10329,
+10001,5176,4432,12102,9248,9803,12069,10011,11585,7692,6694,6742,4383,9008,
+8705,12073,3883,9026,7194,6419,11267,8493,4382,12072,11293,12068,12070,6477,
+12071,13315,12079,12082,12080,4385,10522,12074,12078,5970,6695,4869,12083,
+12075,11586,6743,12076,12081,12084,12077,5376,3884,5377,4384,13316,10840,
+10317,5971,7694,11542,10551,5655,8452,4419,7218,12088,12093,12091,12086,8462,
+12089,12092,12090,10556,12087,7693,10834,12094,12095,7171,12108,9775,10261,
+12103,10575,4373,12107,12101,12110,8241,5923,9787,16166,12109,9276,12098,5973,
+5972,12096,6969,12104,10574,8748,12100,5712,12097,12105,12099,11568,12106,
+11808,5445,5711,12111,12112,12116,3885,10543,12115,12114,12118,12117,9027,
+5713,12119,6948,8453,9028,5461,12120,5141,12121,12123,10772,5701,6672,10070,
+12122,6436,11298,12125,12290,12124,6435,7260,5656,12291,5422,12288,12289,9486,
+8283,5378,10796,12292,11548,12293,12296,12294,8237,12295,12297,12299,12298,
+10535,5142,12301,12302,4366,12300,6995,12305,12304,12303,12085,12306,7261,
+12307,11268,11064,12309,12308,12311,12310,12312,12313,3923,5908,5658,7195,
+8794,5379,8007,5974,6221,12315,11047,9253,6744,12314,12316,9277,4692,12317,
+9565,8211,12319,12320,9995,5975,11802,12321,5381,10523,8469,5456,
+9236,5714,12322,12323,9537,4158,12326,6492,12325,6437,12327,17741,12328,10784,
+12329,12330,12331,7496,6955,4870,12334,12332,11036,12333,10297,12335,12336,
+12337,9278,12341,12339,12340,12338,6466,12342,11081,11587,12343,7943,12344,
+7225,12345,8795,11550,9279,12580,12346,21252,5412,12347,10813,7239,8539,12349,
+9539,12350,12351,4621,12352,5382,9515,4185,7215,9984,12353,9280,7726,12354,
+10507,7993,4865,4872,12355,12357,5657,12356,11602,7240,10012,10539,12358,
+11351,12359,12360,9309,12361,7944,6493,5715,12362,6696,6222,9029,12364,8454,
+6478,12365,12366,8207,12363,12368,10773,6211,12367,5716,6461,9804,12371,12369,
+10330,7497,12378,4675,12372,12370,8238,12374,12373,4643,5695,12379,11532,
+12375,12380,12377,12376,11566,5976,4386,11603,7252,9271,6212,12545,12546,
+11588,11786,12548,5977,12547,4622,12549,10805,8987,11269,10552,12550,20276,
+9487,12551,4873,11026,7424,12552,10566,12556,7945,12553,5423,12554,4874,5645,
+12557,12558,12559,12560,6970,5978,11069,11079,9558,10576,12561,12562,12564,
+12566,12565,12567,4380,10795,6491,12568,8248,7425,5384,12569,10042,12570,
+12571,12572,12573,10243,5447,3908,9502,12574,7196,8008,12576,12575,7426,5952,
+12578,10013,12579,10043,8467,8525,5383,9549,8720,9805,10797,12581,8009,5652,
+12582,12583,4107,3924,4940,8455,5168,11344,12586,4374,12585,5385,12587,11088,
+12588,11569,5979,5909,12589,12591,12590,7742,4120,4157,12592,12593,5910,12594,
+5197,6673,12595,10835,6420,5177,11270,8239,10014,7004,7206,6983,
+6996,7253,10015,12598,4130,8240,5980,5924,5446,12602,8704,8541,5386,7427,
+12603,12601,4387,8517,6935,6698,4101,4687,6213,6697,12604,12605,5160,4645,
+6214,5159,9022,4100,9488,11037,6144,11352,9254,5981,5646,12614,5442,10793,
+10044,12613,4925,12608,12609,12611,12612,5178,7744,10508,12610,12606,5954,
+12607,11779,10577,9031,5953,6223,12615,9532,12619,7005,6997,12622,12620,11010,
+12617,12626,12621,12624,5925,11038,12625,12627,12629,6479,11809,12618,12616,
+12628,12623,12631,12802,12633,12637,12800,12634,12829,6472,4624,12632,12804,
+3925,12803,3844,10281,12801,12635,12630,12636,6439,12805,3926,12814,12806,
+12807,7428,10824,12812,12811,9230,12813,12810,4115,6421,7695,12808,9281,12809,
+3841,12819,11266,7430,12825,12824,12815,8482,12816,8526,12821,7429,12818,
+11075,5659,12822,12823,12820,12826,12817,12832,12837,12833,12828,12838,8208,
+12840,6145,12830,8796,12834,12827,4876,4941,4676,12835,12831,5717,12841,12839,
+8242,5161,5387,12836,5459,4131,12845,12843,13062,12848,12842,12846,12844,6699,
+12847,12850,12855,12853,12852,8721,4388,12849,12851,7431,4114,12854,4413,
+12865,7515,12861,12859,12860,12862,4124,8216,12856,12857,4697,12864,4942,
+12867,12863,12866,10509,9524,10007,12869,12868,4644,12870,12873,12872,12871,
+9752,12874,12875,12877,12876,12879,12882,12880,12878,12881,12883,12884,12885,
+12886,12887,12324,7003,6700,4434,3927,8739,12888,6403,3886,7741,12889,5926,
+6224,12891,12890,10559,12892,13056,12893,13057,13058,5718,4159,13059,13061,
+13060,
+13063,9273,13064,3860,6462,5660,8750,13065,13066,13068,13069,6467,5424,10774,
+13067,13070,6432,6146,13074,6404,8722,13071,9017,13075,7745,13073,13076,5662,
+13077,13078,6147,4639,13080,13081,13082,13079,13072,13083,13084,10819,7498,
+13086,13087,13085,13089,9751,3911,10293,13090,7516,6936,9788,4943,6474,10808,
+9489,5719,8494,13088,13091,8483,13092,13093,13095,9032,4877,21248,4160,10578,
+7499,9255,6469,13101,10524,11580,4435,13097,8217,13100,9282,9256,9283,10008,
+9004,6440,13096,4181,9237,13098,13094,7727,13102,7213,5388,13103,10567,8284,
+8997,13105,10798,13106,13111,10510,13110,13104,13107,13109,6405,10536,13112,
+8740,4436,7500,13114,13113,6215,13115,13117,13116,13119,13108,13121,13120,
+13118,6701,7728,8243,13122,7963,3916,9795,9018,13124,13123,13125,13126,13127,
+13128,10544,13129,4389,13130,11291,4623,12584,7207,8478,13131,11082,11027,
+13133,8518,9238,8479,10294,13134,13135,4186,6937,13136,3887,13137,13138,4161,
+4944,9535,10579,13142,8244,13141,5663,10810,13140,9284,13144,13143,13146,
+13145,4187,13147,7432,13149,8708,13148,10514,7254,9274,13312,6148,13313,9728,
+10045,11056,9732,13322,5143,11300,11022,13579,13314,13317,8484,10775,9257,
+13318,10820,6441,7433,13319,6703,6702,3864,5927,7946,3888,13323,13324,13321,
+4119,4878,13320,11044,10256,3847,3928,6704,3889,3842,13329,13327,11035,13330,
+13328,13326,7696,13325,10553,5955,13334,13335,7434,13331,11787,9771,13333,
+6406,13336,10295,13337,13332,11034,9789,13338,10257,13339,13343,
+13340,4390,13342,6938,13341,5720,13355,13348,13345,8771,13344,13346,13347,
+13349,13350,4945,13352,13351,13353,7501,13356,9019,4132,13354,13357,13358,
+13361,13359,13360,6705,13362,6149,13363,6745,8471,13364,13365,6713,6150,11057,
+5127,5928,13366,4663,13367,8472,13368,13570,13369,13370,13371,13373,13374,
+13375,8527,4102,6984,3873,8246,4879,6932,6151,9285,7168,4880,8775,9033,3863,
+5144,10580,6945,5169,8010,6939,11271,13376,5179,6442,4625,4162,7435,4391,
+13377,11301,7208,6979,13378,4946,9521,11016,13379,13380,10296,13382,4871,5462,
+13381,4881,7697,13386,6656,4392,13385,13383,13387,13384,9738,15148,7698,13388,
+11551,13389,13391,8797,13390,7938,6746,8495,6998,10324,8011,6956,13392,7436,
+13393,13394,3890,8473,7729,13395,9490,7437,7438,13396,8012,7439,13397,13398,
+11071,13399,5413,7169,13400,13401,6971,7691,9555,7731,10071,9729,5416,13402,
+5198,13403,5469,9518,4367,6706,13404,13569,13568,5468,13405,9239,8463,9258,
+6951,8247,11353,13571,13572,9525,6674,13574,13575,13576,4947,13577,13578,4363,
+8218,4931,13580,11015,8497,4664,13582,13584,4926,13581,13583,13586,13585,
+13587,13588,9500,5389,4420,13589,13594,13592,10582,10581,9286,13591,7219,
+13590,7761,13595,6473,13601,13602,13596,4626,13597,13606,13605,13604,13600,
+13599,13603,10583,13610,13607,13609,11345,13608,13598,7762,13611,6422,13612,
+13613,13616,13615,13614,9287,13593,13622,13618,13617,13619,13620,13623,11589,
+13624,13621,13625,4927,13626,13628,13627,13629,13630,8013,7170,
+7235,8258,6152,6423,6153,5199,13631,6424,5929,13632,11013,9762,13633,6154,
+4875,8710,5425,6707,10298,10016,13634,4948,13637,8960,13636,13635,13638,9034,
+7746,6708,7977,8498,5121,8961,13639,13640,7502,10776,13643,13642,13641,10332,
+13650,10809,13644,13646,10826,13645,13647,9991,13648,10525,13649,4882,10526,
+9742,13651,13652,6155,4883,13653,5911,11299,11272,4949,13655,8962,6156,7440,
+10046,7441,7255,9035,10584,9240,6157,10299,13656,9272,6433,5930,9036,3874,
+7245,6158,11302,13657,13658,9776,13659,11606,11788,13661,13660,4646,13824,
+13827,13828,13826,10271,7442,13830,13829,13825,13831,13832,13833,13836,13834,
+13835,13837,4163,9037,13838,5721,4437,9749,13839,9562,10554,13840,11789,13841,
+10527,13844,12032,12048,6927,9556,13845,5180,8963,3929,13846,10501,6159,8751,
+9038,11086,5912,5931,13847,13848,13854,6980,8964,5390,13849,10250,8741,13850,
+13851,5391,13852,13853,13855,9301,13856,13857,13858,13843,13842,13859,5664,
+10246,6443,10262,8965,10282,13860,7443,4133,13861,13862,11089,10047,13865,
+4188,7947,13864,13863,5665,8499,13869,13867,13866,11526,5956,7256,13868,9259,
+7197,9503,13872,13871,13870,13873,5957,13874,10331,7226,13875,10072,9504,8966,
+9231,13876,5130,7699,10251,4950,9733,13877,6709,10777,10778,4189,13882,8776,
+13879,4438,14092,13881,9743,13880,13878,6233,13884,13890,13896,13888,9275,
+13893,10300,13887,13892,11590,6710,8500,13885,5181,13895,7948,4164,13889,4439,
+13894,5392,13891,13897,13899,13909,13907,13904,13903,11607,
+13905,5393,6160,7257,13912,13898,13902,13886,4441,13906,13908,8752,6407,4375,
+13900,13911,13910,5394,8456,4677,5666,13901,13913,13916,14080,6940,14086,9039,
+13914,14084,4440,14082,14083,13917,14081,5958,11273,4884,4152,14085,9753,3852,
+10048,13883,14091,14095,11076,14088,9288,14093,7503,14094,9526,11814,14090,
+14096,6234,7978,3891,14089,14087,8249,13915,6675,8485,14108,8250,14103,14100,
+14101,6981,14104,14107,14102,7172,14105,14099,11099,11098,14109,14110,3892,
+14098,5457,3845,4885,14106,14114,14113,14118,14119,14117,14120,14112,14116,
+14121,14122,14111,6747,14115,8501,6161,14097,7700,14135,10568,14125,14126,
+14127,14134,14133,10844,4886,14131,5668,4627,14128,11543,14130,3893,14132,
+14123,14129,14136,5667,14124,11324,11274,14139,14143,8285,11608,14144,14141,
+14138,14137,14142,10511,9491,5669,14145,14140,14146,5722,4368,14154,4887,
+14152,14153,6408,14151,14149,14148,14155,14147,14157,4442,14159,14158,8967,
+14162,14160,14150,5723,14161,14165,14164,14166,14163,14167,14168,14169,10569,
+14171,14170,7198,7949,4421,4443,14172,3870,7979,14173,19234,14336,5696,14337,
+8014,14338,14339,5145,14340,14341,14342,8502,5932,11072,10779,7241,14343,8015,
+19740,10049,6985,6444,14344,8486,10502,8528,14347,14345,14348,14346,14349,
+10512,3862,10301,10050,14350,14353,7444,5146,14351,14358,7445,14352,9763,
+11325,14354,14355,14359,9289,14356,6162,7997,14373,10003,8529,10051,14604,
+10585,9040,10836,14362,4352,8777,14371,8723,14365,14372,14367,14374,14370,
+14369,9806,14363,
+4444,14361,5200,8530,14357,14360,6163,7994,7446,14368,9777,5201,4647,4678,
+7680,14376,14381,14377,5724,14382,6657,6216,7173,14364,6748,14379,6711,14380,
+3875,14375,8968,5202,5395,14378,3846,6434,7701,9041,10035,14384,8253,8457,
+6666,14385,14387,14383,10560,8988,8251,10586,6957,14399,14398,7767,5725,14392,
+7448,9543,9744,14390,8252,6999,14395,7447,14389,14394,9778,14388,5632,4668,
+14396,11530,6445,8724,14393,7995,6164,7747,4165,8219,14391,5156,5670,9006,
+14397,8254,14400,14402,8470,14408,14403,14405,10272,9042,14406,11275,11303,
+4888,3853,14404,14401,4951,4166,14407,11304,14411,8474,14418,14412,14409,
+14416,14386,14413,14417,10017,9290,14410,14414,5671,6480,7996,14422,9221,
+14419,10815,14420,14421,11053,7937,5697,14428,6676,14425,14424,9745,9492,9232,
+14426,14427,10318,9764,6658,8016,10799,4648,14596,14429,11305,14598,14594,
+14595,8255,14593,14366,14597,14592,14602,14603,9222,14605,6659,14600,5147,
+14606,14599,14610,14609,14608,14611,14613,7504,14612,14616,14614,14615,14415,
+14618,14617,14423,14619,14607,6712,14620,14621,14623,14622,14624,4445,6165,
+10587,7950,5933,14626,14629,10289,5182,14628,14627,9779,14630,5396,14632,
+14631,4889,6677,9527,5672,7763,14633,7951,9223,10302,14634,14635,14636,10519,
+13372,7973,10283,6455,10052,10018,9260,11552,14638,6959,14639,3861,5427,7980,
+10303,14640,6689,8742,6714,7702,14641,10588,4182,6715,14644,14642,14645,11544,
+14643,8026,14646,8465,14647,4953,14649,14648,14650,14651,4954,9563,
+8725,5195,6716,8256,7227,3855,14652,4353,14656,6166,14655,6410,7449,14654,
+7450,11039,6409,3894,7981,14661,7952,4134,7220,10821,6481,7451,7942,14660,
+14658,14659,8778,14853,14665,6749,6167,14663,14664,7703,14662,6670,14667,
+14666,14671,14672,14668,4609,14669,14670,10036,10304,5673,14673,7953,7452,
+8753,5414,14674,14678,4394,14675,14677,14676,7242,8743,3876,14679,14680,8969,
+11600,6690,10570,10780,14849,14682,14685,14684,14681,14848,9533,14683,14850,
+7243,14851,11306,9815,14852,14854,14855,14856,5417,4135,6168,14857,14858,7248,
+8257,12599,8221,8220,8503,6438,12113,5709,11276,10589,10333,14859,6482,8990,
+14860,11790,10781,8970,14861,4955,14862,14863,11065,11011,10837,10811,6660,
+14865,6986,10800,14867,14870,14869,4952,5183,14866,14868,14871,7768,11354,
+3880,6463,8475,6972,7506,14874,9261,14872,8458,14873,7505,11068,14875,14876,
+11335,14881,6169,9780,14878,9291,14653,14657,5166,9766,14880,7453,10019,14886,
+10073,14877,14883,14882,7982,10828,11570,10822,4395,6717,11815,14885,7764,
+14884,14879,5934,14891,14889,4396,14887,14893,14899,8487,10528,14901,10241,
+14900,9807,10782,4890,8022,7199,9010,11277,14896,14895,14897,14894,14902,
+14892,14890,14898,14888,8779,11095,6949,6483,6425,10830,4640,9005,9513,4136,
+8017,7955,5641,14904,6170,4699,14906,4691,14912,14909,8018,4650,6411,4649,
+6446,14907,5700,5674,9292,14905,3877,14908,14910,5420,5643,4891,5162,14913,
+6488,10832,6678,14914,10255,14926,4370,14915,14932,14916,11553,14923,
+9790,14931,14918,3859,14920,6171,14922,14921,14917,14928,7454,13132,5959,
+11355,14919,9043,4610,6412,14911,14927,4672,14925,14929,9293,4957,15121,11048,
+14934,4956,14941,10783,15104,15106,15110,14936,8713,9294,15114,14939,15111,
+15105,7704,15115,7954,15113,4892,11823,14933,15109,3895,14935,11033,14940,
+7681,8998,14930,15108,7769,15118,4688,5888,15120,14937,15119,15112,14938,
+15116,15117,15134,9517,15107,15130,15132,9015,11307,10325,15127,8489,15133,
+8222,15124,15137,15136,9550,15135,9545,15139,15126,5415,15129,7228,9791,15131,
+5418,15123,15125,15122,11791,4665,15128,15138,4628,6470,4156,15155,11792,
+15158,7705,15157,15156,15153,15141,15170,15140,15159,15151,15146,15143,15144,
+15152,21249,15149,6172,8999,8259,15147,15142,15145,11308,10825,15150,15160,
+15168,15161,15174,15172,15167,15166,9007,8260,15164,15162,15169,15175,10068,
+15181,15176,15179,15173,8787,10263,15163,15171,7455,11054,15191,15178,5889,
+4354,4670,15154,7456,15183,15190,7000,4689,8717,15180,15185,15189,5397,5163,
+15187,5120,9514,15186,15188,15182,15184,4671,8744,15195,15193,5960,15192,
+15360,14903,15194,15196,15197,15371,15367,14924,15366,15365,15362,15177,15364,
+15363,15369,11781,15372,5466,15368,15370,9990,15373,15377,15374,11346,15375,
+15165,15378,15379,4116,15381,5702,6912,5428,4355,11326,15383,15382,15385,5148,
+5429,4893,15388,15387,15389,4397,8726,15390,4894,15392,15391,15393,15394,
+15395,6718,7956,6400,10319,10561,11811,6740,6447,11601,15396,15397,6719,15398,
+15399,15401,15400,10807,
+7229,6987,6691,15402,15404,7682,15403,15405,15406,15407,15408,15409,15411,
+15410,15412,4356,8745,15413,6661,4651,15414,9249,13099,5122,15415,15416,10571,
+10823,9510,15417,10053,10074,11058,15418,15420,15419,15422,15421,15424,6720,
+11024,15425,15426,5123,15427,15429,15428,7748,10264,4137,10020,9044,7200,5184,
+10021,6925,15431,4895,4183,9553,15430,6173,8754,15432,15440,15433,8480,5185,
+15441,5703,5124,15439,15437,15434,11327,8991,9528,15435,15443,15442,5634,4364,
+6426,15436,15438,10806,8531,10838,15451,15452,4398,10503,11100,15616,6914,
+7457,15447,15453,4167,5398,15444,15449,8019,9808,10054,15446,10752,15448,
+15619,15617,15450,10753,9767,5186,9220,8780,15620,15618,8504,15445,4138,11309,
+15631,15630,8021,15627,11339,9493,15621,8996,4139,6174,15624,7174,15629,15628,
+15623,15626,4679,15625,9768,11533,7507,8020,15637,15635,10284,15632,15634,
+4121,6175,11793,4636,10305,11328,4611,7706,15636,15641,7458,11279,15638,15633,
+15639,11581,9298,9505,4629,4148,15645,15648,11554,11331,15655,15649,15646,
+11571,15652,7209,15654,15659,9296,15657,15651,8727,15658,15647,15653,15660,
+3931,15650,15661,7707,7230,10500,6413,15642,15656,9241,7957,4680,6448,7459,
+15644,7201,5675,15643,15665,7244,5913,15680,15674,5203,9262,15669,15678,3854,
+4113,4376,15671,8459,15662,15664,6176,15681,15676,15668,15675,11018,15673,
+15677,5935,7460,8728,15667,11278,15670,15663,9297,15666,15672,11824,6941,
+10845,15682,9997,15694,5914,7231,15684,11534,6177,15697,3917,15695,15683,
+15689,15691,11310,15686,9229,15688,15696,15690,11046,15685,6913,15709,4681,
+15687,15692,15693,8523,8505,15701,15707,15705,9224,15874,15702,15703,15679,
+5208,10265,6942,6230,11794,15699,15873,4168,8261,9816,4896,11609,11008,9009,
+15706,15708,8209,15872,15704,15698,4898,5704,15886,15881,8023,4674,7232,15890,
+15883,8971,15880,9016,15915,15877,15876,15885,15879,15878,15884,7936,15875,
+15887,15888,4897,15893,15892,15894,15897,9250,15891,15895,5698,8536,15889,
+9754,15896,15901,15899,15902,15905,15898,6217,9735,15640,11347,15900,15904,
+8532,15903,15882,20040,15908,15912,15910,15906,15907,15911,15909,10285,15917,
+15914,15913,15916,9523,15918,8788,8524,7940,15919,15921,15920,15700,15922,
+9542,15923,4399,9299,4612,5187,6973,6449,11782,7749,4169,15925,15924,15928,
+8729,15931,15926,15930,15929,9247,3896,11604,15933,4103,15935,15934,15932,
+15927,10754,15937,15936,4170,15939,10513,15938,11028,7462,8210,7461,11610,
+15945,8024,15941,15946,4171,15944,9792,15940,15943,7463,10032,15947,6960,8025,
+15950,15942,5638,15948,11311,15951,21253,7214,15952,15953,9741,15955,15956,
+9746,9300,15958,15960,11572,15957,15959,4172,15954,12858,15961,8262,6679,
+15963,15962,7683,12600,15964,16128,15949,15965,16129,9817,16130,16131,16132,
+16133,9021,16135,16134,16136,16137,6974,10306,11083,16138,16139,8245,6915,
+16140,16141,16142,10545,10022,16143,9782,8972,16144,4422,5196,11045,11029,
+4371,11795,10801,10505,7958,16145,9506,5890,16146,6451,16148,16147,16149,
+16150,16151,5149,16152,16153,
+5891,10023,16155,7508,16154,5399,16156,16158,16157,16159,5936,16160,5448,8223,
+6236,16162,16163,16161,6988,9511,5400,16165,8715,16164,11796,9793,16168,16170,
+16167,11059,16169,16171,11555,16175,16174,8789,9740,5892,16173,16172,11280,
+11281,16176,4173,6229,6721,16177,16178,16180,7202,16182,16181,16183,4652,
+16185,16184,16187,16186,5915,11527,5419,4357,5449,4928,11591,16189,16191,
+16192,4400,16188,6680,8992,16190,16195,6989,16193,5661,10024,16194,16221,
+16200,5916,5188,16197,11356,11535,8533,16199,16201,11573,5430,10075,9769,
+16202,16204,16207,16203,16206,5961,4140,16208,7759,16205,11579,16211,21251,
+16209,16212,16198,16210,6427,16213,16214,11357,16215,16216,16196,16217,4899,
+6916,16218,16219,16220,4122,16384,10266,16385,4867,16386,16387,16388,16390,
+16391,16389,10290,16393,16392,16395,16394,16396,16397,16399,16398,6232,16401,
+16400,4900,7730,9243,16402,7959,6681,4184,16403,11312,10562,16404,9251,11282,
+6178,7708,8746,12563,8973,4423,16405,16406,16411,16409,16408,14625,4613,16407,
+3897,9993,10025,11536,16412,16410,8763,7941,9994,10252,16414,11531,5676,16415,
+16413,10037,16416,16417,3898,7509,16422,16419,9548,16418,5125,16425,16420,
+16421,16424,16423,10244,8225,8224,5150,16426,16427,16428,16430,16429,4149,
+16438,10055,16432,16434,16436,7709,16437,16435,6943,16431,16433,10273,7464,
+16440,16439,16441,6917,6414,9302,16442,9002,16444,11520,16443,8264,16449,
+16451,16452,8755,16450,16447,16445,16446,16448,16455,16453,16454,16456,16458,
+16459,16460,16461,16457,
+16463,16462,16464,11556,16467,16465,16466,4929,11101,10537,16469,16468,16470,
+16471,16475,16472,16473,16474,16476,16477,16640,16641,16642,9998,9263,16643,
+9809,10259,16644,16645,9225,4614,6179,16646,16647,16648,6664,16650,16649,
+16651,16652,10056,16653,16654,21064,16655,16656,16657,6669,16658,9781,10814,
+4141,4150,16659,16661,16660,9295,7960,15384,16662,11040,16663,4901,10038,
+16664,16665,16666,11067,11060,8989,8265,16668,7233,7465,16671,16670,16669,
+10076,4902,5896,16677,16674,7710,11025,16673,16675,16676,16672,16678,16679,
+8974,4930,8772,16680,16681,16684,7750,9507,16685,10802,16682,16683,16688,
+16687,16686,16690,16689,16691,16693,16692,10540,7221,11557,16694,9494,16695,
+16696,16700,16698,16699,16697,16701,16702,16703,16704,11030,16705,11087,16706,
+8749,9801,5450,8730,16707,5401,7983,16708,6428,16709,16710,5893,6452,16712,
+9269,6453,5165,10755,9770,9270,6203,16714,7466,11537,6180,5894,9986,16716,
+16718,5962,16717,9045,16720,4630,16715,10057,4111,6475,11825,16719,16721,
+10538,7992,16723,16724,16722,4653,16730,16729,6918,16731,16726,16732,16727,
+10039,16725,16728,16897,16896,10816,16733,3914,16899,16898,7467,16900,8226,
+16902,16901,16903,16711,16713,16905,16904,6919,11592,6961,16906,5654,5151,
+5126,6722,11283,16912,16911,8227,16908,16910,7210,7711,16909,16907,9737,7468,
+10267,6454,9303,16913,16914,16936,5431,11804,8212,16915,4401,9046,10496,16916,
+5209,16917,16919,16920,9736,16921,16922,16923,5432,4402,9508,7175,6723,16924,
+7176,4393,10274,16925,
+10058,8228,16928,16929,9800,7712,16926,8768,16927,7469,3899,5128,16930,9047,
+16931,7974,11020,10242,16932,16933,8756,11558,16935,16934,6990,16937,3919,
+16940,16938,4403,5677,16939,6181,6225,10565,16941,10803,16943,7984,4142,4377,
+3851,16942,16944,16945,7510,16946,4654,16948,5705,5189,16949,5460,16950,8027,
+9516,7999,6484,16951,8769,8266,16953,16955,16952,16954,5633,16956,5637,5190,
+11313,16958,16959,4109,16962,4693,16961,16960,16964,16957,16965,11528,16966,
+16967,13139,16969,16968,16970,16971,11540,16972,20302,7470,16973,16974,7222,
+9495,16975,8711,16976,8731,16977,5380,12318,8764,6930,4903,16978,17153,16981,
+5191,16980,17155,16979,7471,16983,16984,9226,16985,4669,7737,10307,16987,8519,
+16982,16986,16988,6490,17157,10253,9989,9304,5433,17156,17154,10004,16989,
+8765,9306,9305,6485,17175,17159,17161,17164,17165,17162,17163,17160,17158,
+17152,10542,4404,17172,17169,17174,17173,9810,11014,6682,17167,17176,17171,
+17170,17166,17168,4904,8732,8028,9985,17181,9987,8000,17178,10030,17182,10546,
+8762,17177,17179,17180,17183,6947,9509,17188,17187,17184,11797,17193,17197,
+17194,17190,17191,17196,17185,12596,17192,17186,17195,17201,4905,17198,17199,
+17200,17203,17202,10069,17204,11611,10572,17209,17206,17205,7985,17208,17210,
+17207,17214,17211,17212,17189,17213,17215,17216,10533,17217,11073,5421,5640,
+17218,10515,7751,11023,17219,11538,9811,8229,9747,7212,3871,17224,17222,17220,
+4864,7472,17225,17223,17221,17229,17228,17227,17226,17230,17231,7961,17232,
+17234,
+17233,5937,8215,17236,9307,17235,17237,10516,8267,6182,17238,11559,17240,
+17241,17242,17243,6724,17244,5678,5193,5129,17408,11090,6183,17245,17411,
+11077,9755,10258,7234,17410,6962,6184,6725,5192,10517,17409,8230,10785,6486,
+6726,9020,17414,11582,6456,17415,7713,17417,7473,6415,17416,7177,5917,8231,
+17412,17418,17413,5679,17421,17425,5706,17420,17429,6185,11340,3867,17426,
+5194,17423,17424,9308,17422,17419,4615,8003,5895,17431,17428,17430,17427,5680,
+8466,17432,8269,17445,17441,17435,17439,7001,3900,17434,17442,17446,6186,
+11061,9013,17436,17444,17433,8733,17438,3868,11049,17437,5434,10059,8268,
+11567,7246,17485,17447,8029,17443,17448,17450,9048,17453,17449,10547,4906,
+11050,3901,17452,11612,17451,4174,9547,17454,17461,17455,17462,17458,9818,
+6953,17460,17457,17463,17456,7203,10756,7211,17459,17471,17467,17470,17468,
+17472,17466,17440,7986,10026,17469,17464,8192,5681,7178,7684,8213,17475,17477,
+17478,17474,17476,17465,17473,17481,17480,10841,5642,17479,17483,17482,17486,
+17488,6683,17484,17489,17490,17491,17497,9242,17493,17492,17494,17495,17496,
+17498,17499,4907,17500,17501,17664,17665,17666,17667,17668,17669,17671,17670,
+17672,17673,17674,17677,17675,17676,6464,5682,8757,10002,7247,9772,10060,
+17678,14156,17679,17681,11332,17680,17683,17682,11314,17684,10077,17685,17688,
+17687,17686,17689,5649,8193,5152,17693,17690,17691,17694,17695,17692,4104,
+4358,17697,17698,17699,11329,7179,17701,17700,7752,17702,17703,17704,4932,
+4908,17705,17706,10812,11330,
+11315,11798,6188,17709,6963,17708,17710,6920,8496,17711,6187,11062,17712,
+17713,17714,17715,17716,6921,11084,17718,8734,17717,17720,17719,17721,7962,
+17722,17723,10520,17724,8270,17725,17726,11613,17729,17728,17727,8975,17730,
+7685,17731,17732,11799,17733,17734,17736,17735,9988,9560,11805,9992,17738,
+7474,10249,17739,17737,4909,5939,6727,10061,5897,10786,17742,17740,6189,6190,
+3912,6471,9784,3902,17747,8735,9783,8506,17749,17745,17748,17743,17746,10757,
+5940,3932,17744,17751,17752,9496,5402,17925,9756,6728,5403,7975,11813,11021,
+17750,7987,5170,17753,17755,17754,17756,8709,9757,8976,17922,17921,17757,7732,
+10308,17924,17923,6191,11826,17940,17928,17929,6991,17927,6231,17926,17930,
+8977,10497,8194,8507,17934,17935,17931,17932,17933,6192,17941,17937,10309,
+10827,10247,17936,17939,17938,10787,17942,17943,8214,17944,17946,17950,17947,
+17945,9758,17948,17949,4369,17956,17951,17952,17953,8448,17955,17954,17957,
+17958,17959,7714,4424,17960,11574,6922,7180,6729,8758,17961,17962,4112,17963,
+17964,17965,17966,17967,5404,14601,17968,8004,17969,6954,17970,12047,17971,
+10557,4923,8195,7223,10320,7181,17972,6193,17973,10027,17987,17975,8488,9812,
+5918,17974,8196,17976,9049,17978,17977,17980,17979,17981,17983,17982,4910,
+17984,17985,17986,6416,11560,17988,7686,4175,17989,17990,17991,3921,17992,
+17993,10310,6950,17995,4616,3857,17994,17997,9773,7715,4405,10758,5692,5435,
+17996,4425,4866,4176,18001,11593,8508,10275,18013,4406,18011,18009,18000,
+17998,17999,
+6978,5451,8790,9520,4144,18003,18002,18008,18004,18007,11055,18006,4407,4700,
+18010,18012,5683,18178,18187,18188,3850,18195,3920,18186,18185,18180,18179,
+18177,18176,8770,8538,18182,18181,18184,8271,5684,4128,18183,6194,8272,18201,
+18202,4408,4365,18199,18189,18197,18204,18198,18196,18005,18194,18190,4911,
+18192,18203,18193,18205,18191,9819,11336,18200,18222,18214,7770,5157,5436,
+18209,4410,7475,18212,6457,9264,18217,10573,18208,4409,5941,10248,18218,18206,
+18215,18225,18210,18211,9497,18216,18213,10759,18219,3903,18207,18221,18220,
+9802,18227,18238,4701,18241,18223,18228,11341,18237,11316,11529,8791,4682,
+10321,18243,9472,3856,18236,18232,8273,18226,18234,18239,9739,3849,18231,
+18240,10327,18235,18230,7476,7182,6923,11063,10278,18246,18255,18233,4694,
+7511,18244,18249,8274,18245,18252,8766,18253,11317,18242,4631,18248,18251,
+11019,18254,18247,18250,10760,11776,18258,18265,18257,6946,18224,10541,11009,
+18264,18263,18259,18260,4117,18262,18256,9012,18261,3933,8449,10530,18266,
+18432,10040,18269,7477,6952,18434,5405,18435,10328,18268,18229,18267,11822,
+9473,10322,18442,18448,18449,18436,9813,18446,18438,18440,18450,18439,18443,
+4177,9540,18444,18447,18437,8197,18441,6662,7716,5647,11091,11096,7249,18454,
+18452,11821,18451,11348,18453,18455,18456,18459,18457,9474,18458,10028,18445,
+7250,18460,18465,8275,18464,18433,18466,8232,18461,18463,18462,15376,15361,
+18468,18467,11349,16667,18469,18470,18471,5942,5171,18473,12348,5204,11545,
+5458,18474,18475,8781,18476,
+9561,3865,4418,18481,18482,18477,6684,18478,9761,18479,18480,18490,18484,
+18487,18483,18485,18486,6967,18488,8736,5685,4641,18491,4638,18496,18492,
+18495,10009,18493,18494,10279,10041,18497,8540,18507,18503,4426,18501,10761,
+18502,18499,18500,18505,18508,18506,18504,18498,8759,18515,11017,18513,18514,
+18509,18511,18512,18510,8005,11800,18519,18520,18688,7689,18522,18525,18517,
+18516,18689,4411,18523,18690,18524,18521,8978,18518,9799,18694,11290,18693,
+18692,18701,18695,18703,11333,18706,18697,18698,18702,18705,18704,18696,18699,
+18716,18709,18707,18708,18713,18714,4617,5153,18712,18691,18711,18715,18710,
+18717,18719,18718,18721,18720,18489,18725,18722,18723,18724,18726,5707,18728,
+18727,7183,6195,15622,18729,7216,4632,18730,4145,7478,18731,6196,18732,3904,
+10268,18733,7753,18740,18737,8782,18738,18735,5437,18734,18741,5653,8509,
+18747,18743,8468,18742,18745,18736,18746,18748,10062,18744,18749,18751,5938,
+18739,3872,18750,6458,11605,18752,18753,8276,11521,18754,11284,18755,18756,
+10563,18757,6431,11522,18762,18763,7479,18761,11334,18758,18760,7964,7773,
+18759,18764,10498,18766,18765,4683,10762,18767,18779,18769,18770,18771,18772,
+18776,18777,18775,18773,18768,18774,18778,20246,4359,18781,5438,18780,18945,
+18944,18947,18946,18948,7184,18949,18950,18951,7965,11318,18952,10499,9765,
+18953,18954,5898,5131,18955,6730,9760,18956,4655,18957,18959,11350,18958,7717,
+18960,18961,18962,4912,18963,18964,18965,18966,4656,18967,18968,18969,4433,
+7687,18970,18971,18972,5919,9050,18973,
+5686,7733,18976,9475,18975,5648,18974,8534,5132,18977,18978,7480,5708,18979,
+10763,7998,5205,11092,8233,18980,7718,8783,7481,18981,18984,18985,6429,8481,
+18983,7482,10269,18982,6731,4146,18989,5687,6733,6732,11820,18988,18987,8198,
+5164,11810,4633,7483,18986,18991,18992,18990,5943,11295,6734,9734,18995,7967,
+8737,11285,18998,5963,7966,18994,18999,5964,18996,18997,18993,8001,9512,8718,
+4412,10063,5154,8979,19002,19000,8747,7968,4913,19001,7738,11561,11807,19003,
+19014,8980,19013,19010,19018,19011,19007,9051,19006,19004,11264,6735,19008,
+19005,19012,7251,5920,8537,10788,4153,3905,9476,19016,19015,9541,19020,19009,
+19019,19021,5899,19017,6197,6964,19022,11319,19025,19028,19026,10260,19023,
+5439,19027,19029,19033,19030,19032,19031,19034,6928,19036,19035,10311,19200,
+5688,19037,19201,19202,5155,17696,7512,19203,5965,19204,19205,6685,14637,
+19206,19207,7185,19208,19209,19210,19211,19212,8714,19213,19215,19214,9477,
+19216,10764,19217,19218,19219,19220,9529,7484,19221,6218,12045,19222,19223,
+10270,19224,19232,19225,19227,19226,19228,10789,19229,19230,19231,19233,4620,
+9030,10312,6465,6198,10286,4414,10029,19236,4914,7988,19235,19240,8792,11074,
+19238,19239,5133,19241,9794,8510,10064,9244,19237,10790,4427,19243,11783,8993,
+11812,6736,19242,8464,19259,8199,9559,10287,19246,6686,6737,7485,9796,5900,
+19245,19244,10313,6944,9265,19248,19249,6199,19247,19250,19251,19253,8450,
+19252,4933,19255,19254,19256,19258,19260,19261,7989,6958,19262,4657,
+19263,8277,19264,19265,10314,5134,19266,8981,4154,19267,6992,7765,8460,19270,
+19269,19268,19276,19274,19271,19273,19272,19275,5206,19279,7990,19280,5944,
+19277,19278,11784,8982,8200,19281,19284,19282,19283,11320,9478,19287,19285,
+19286,19288,19464,19291,19292,19290,19289,9052,19456,19460,19457,19293,19458,
+19459,19466,19461,7991,19463,19465,19462,19468,7186,19467,19469,19470,19473,
+19472,19471,19475,19474,11093,19477,19476,19478,19479,19481,19480,7719,19482,
+5452,19483,19485,19486,19487,19484,19488,6965,19489,5135,5650,5901,19490,9551,
+9245,19491,19494,6931,19493,19492,5689,19495,4658,19497,6459,19496,19505,
+19499,19501,10564,19498,19500,19504,19502,5136,19503,19506,9785,11575,7187,
+19507,11265,19509,19508,19512,11296,19511,4684,19510,19515,19514,19513,9233,
+19516,19517,19518,6219,5636,19519,19520,19521,7720,19522,6924,19523,19524,
+12544,12381,19525,17487,19526,8707,7690,9759,19527,10548,9011,6237,8712,4105,
+10839,7734,5693,5440,10549,19528,19530,19529,4415,9557,19531,9814,9234,19532,
+7217,19534,11041,19549,19536,19537,9000,8511,8278,9479,19535,5172,19544,19541,
+19716,9480,8767,19538,9053,9266,19539,19543,7743,9798,9003,7969,19542,8461,
+8451,19540,3848,11777,19545,8512,7188,7721,19547,19546,3918,19548,10254,19718,
+9530,7754,8760,5463,19717,11286,4126,10550,4416,19712,19713,19714,19715,9498,
+8706,3906,19719,19720,21250,8476,19721,4178,8235,5902,11321,19722,9227,8279,
+6966,19723,19726,7236,19724,8202,8201,3907,11562,19728,10065,19730,19729,
+19727,16963,4915,19533,19732,19731,19733,11287,9536,10765,19734,6968,19735,
+19736,19737,9216,3913,6200,11801,19741,5651,19738,19739,10323,4659,11288,5406,
+9267,19742,19743,19744,9217,19746,19745,9522,19747,7189,6975,9786,8784,6993,
+7755,19748,19749,7740,19750,19751,19752,11342,7190,19754,19753,6201,6226,6687,
+19757,7237,19756,19755,8520,5966,7970,9999,7192,19758,7486,19761,19759,19760,
+19763,19762,7513,19764,19765,19766,10031,6450,6976,19767,19768,11523,7204,
+11085,11563,19769,5441,19770,9218,19773,4695,7722,19771,19772,9023,10804,5467,
+19775,19776,19774,19778,9534,4642,19782,19779,19781,19777,20014,19780,11594,
+5945,19790,9235,19785,19788,19786,19791,19792,19784,19797,4179,19783,9996,
+19787,7487,6202,10791,5443,7205,9499,8204,19795,19789,19794,11042,8983,19796,
+19793,8203,19800,19799,19798,10766,7258,19801,10558,4147,10277,8785,5207,
+19803,6204,6667,19802,7756,7757,19968,19970,7514,19969,19971,5426,10276,6977,
+11778,19805,6487,11806,19973,19972,19974,19804,9544,9268,9014,19979,8738,
+19975,19976,5644,19978,5903,19977,7488,4696,19983,6430,8280,9001,4634,19981,
+19982,8994,19980,19984,19990,19993,19992,9228,19985,19986,19989,19991,5407,
+19994,19988,19987,19998,19999,20000,19997,19996,7489,9481,19995,20004,20002,
+20003,20001,8535,20005,20006,20008,4916,20007,11097,20019,20009,20012,20010,
+20011,20013,20015,20016,20017,20020,20018,20021,20023,20022,8984,11078,20024,
+8205,20025,10531,20026,4618,4123,4918,4917,20027,20028,20029,20030,20031,4919,
+4660,6205,10005,20033,20032,20034,4155,20037,20036,20035,20038,20041,3878,
+20039,20043,20042,20045,20044,20046,9485,20047,20048,20050,20049,10315,20051,
+20052,6468,20053,20054,10792,8234,3843,8490,20055,10316,20058,20056,6206,
+20057,5921,10532,20060,20224,20061,20225,4096,7735,7259,4920,20226,9797,20228,
+4097,20227,8995,11564,9482,20059,11525,5904,11322,5464,11539,5639,8513,17920,
+20229,4619,7758,4661,20231,20232,20230,5699,6460,7490,4098,11576,20234,19725,
+20233,20237,20235,20236,20238,20239,11595,20240,20241,7976,10010,7772,4934,
+11289,4428,7191,5946,20244,20243,6738,20245,20242,6663,20249,18700,12597,7766,
+20247,11524,9552,4106,8002,6933,10518,4127,11596,11338,20250,9252,7002,20251,
+20252,7723,20253,11597,20248,20255,20257,20256,20254,20258,20259,8281,4417,
+20260,11031,20261,20262,11785,14864,20263,20264,20265,20269,20266,20267,20268,
+20270,7971,11094,7972,20271,10066,20272,21042,11051,20273,20274,20275,4662,
+20277,7736,20278,5635,20279,20283,20281,20282,4690,20280,20284,20285,3879,
+20286,20287,7491,20288,5158,20291,20290,20289,19024,10555,20292,20293,20294,
+20295,20296,20297,4921,20298,20299,9730,20301,4378,20304,20303,4099,5408,
+10534,8985,6401,6207,7238,7739,20306,20305,11297,4935,10033,9531,7771,11565,
+5690,20309,20308,10794,9483,4143,20310,20307,10288,11337,20311,20312,20314,
+8521,4666,4667,20313,4936,5905,4937,9246,11583,5947,20315,20316,20317,20480,
+20482,20481,10326,20483,20484,20485,20486,20488,20487,20489,10067,17707,7688,
+5137,20490,
+20491,12555,15386,10034,3930,3866,6739,10767,7517,20492,11070,20493,11323,
+4129,6688,20494,4429,20495,20496,20498,20499,20501,20497,20500,4922,20502,
+20503,20504,20505,20506,20508,20507,20510,20513,20509,20511,20512,20514,5409,
+6994,20515,20516,6208,20517,4637,9774,20518,20519,8761,9546,20520,9820,8491,
+4151,5453,5454,8786,20525,5455,4430,20524,20522,20523,20521,20535,20526,20527,
+20528,20529,20531,20530,7224,20532,20534,5138,20533,8282,5906,20536,8492,
+20537,9484,20538,20543,20541,20540,20542,20539,20545,20544,20547,5410,20546,
+20548,20549,20551,20550,20552,20554,20553,6235,20555,20556,4635,20557,20558,
+7760,20559,20560,20561,20562,6209,20563,20564,20565,20566,20567,10000,20569,
+10245,20570,20568,20572,20571,20573,20736,20737,20738,20739,20740,20741,20742,
+20743,20744,20745,20746,20747,20748,20749,15380,20750,17239,5139,4608,6417,
+20752,20751,11012,20754,20755,20753,20756,10817,20757,5210,11780,20758,20760,
+3869,20761,10506,20759,20762,20763,20764,20765,20766,10829,6668,6489,8206,
+20767,20770,20768,20771,5968,20769,20772,20773,20774,20778,6665,8515,20779,
+20776,20775,20777,5694,20783,20782,20781,3858,20793,20789,20790,20786,20792,
+20788,4673,11819,20791,20787,20785,20784,20795,20798,20797,20796,10280,20794,
+3922,20799,20801,4686,20780,4118,20803,20802,20800,8716,10831,11577,20804,
+20805,20806,20807,20808,8986,20809,10006,20814,20810,20811,10768,11043,9519,
+20815,20816,9501,20813,20812,4361,20824,20823,4180,20821,20820,20818,4698,
+20817,6929,4360,6210,20827,20826,20825,
+20822,20828,20829,20996,20995,20997,4108,20992,20993,6227,11032,20994,10769,
+21002,20998,21003,21000,20999,5691,21004,21005,21006,21001,20819,21007,9024,
+21011,21012,21010,21009,21015,21008,21013,21014,21017,21016,21019,21020,21021,
+11816,21018,8522,6476,21022,21023,21024,21025,21026,5907,21027,21028,6926,
+21029,21030,21031,21032,21035,21033,11803,21034,11598,21036,11578,21037,9821,
+21038,21040,21041,21039,6220,11052,10818,13654,15423,10842,4362,21043,5167,
+21044,21045,21046,6228,21047,16179,11066,8514,21048,21050,21049,21051,21052,
+21053,21054,21055,21056,21057,21058,21059,21060,21061,21062,21063,9219,5948,
+21065,8236,21066,21067,10240,21068,21069,16918,19257,20300,21070,21071,21073,
+21074,21075,11599,21072,21076,21077,21079,21078,21081,21082,21080,11541,21083,
+21084,16947,21085,9,83,79,82,84,41,42,85,59,3,4,30,527,528,529,530,531,532,
+533,534,535,536,6,7,66,64,67,8,86,544,545,546,547,548,549,550,551,552,553,554,
+555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,45,46,15,17,13,
+576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,
+595,596,597,598,599,600,601,47,34,48,16,78,