script, src: regenerate the Vietnamese model.

The alphabet was not complete and thus confidence was a bit too low.
For instance the VISCII test case's confidence bumped from 0.643401 to
0.696346 and the UTF-8 test case bumped from 0.863777 to 0.99.
Only the Windows-1258 test case is slightly worse from 0.532846 to
0.532098. But the overwhole recognition gain is obvious anyway.
This commit is contained in:
Jehan 2021-03-21 01:12:56 +01:00
parent e6b4811c9b
commit 7439766ece
3 changed files with 383 additions and 229 deletions

View File

@ -1,7 +1,7 @@
= Logs of language model for Vietnamese (vi) =
- Generated by BuildLangModel.py
- Started: 2021-03-16 20:34:51.373194
- Started: 2021-03-21 00:42:18.087736
- Maximum depth: 4
- Max number of pages: 100
@ -20,7 +20,7 @@ Chữ_Quốc_ngữ (revision 64521024)
22 tháng 2 (revision 64199177)
26 tháng 11 (revision 60306925)
28 tháng 12 (revision 64197178)
A (revision 64396586)
A (revision 64616139)
ASCII (revision 64542934)
Alexandre de Rhodes (revision 64481737)
Antonio Barbosa (revision 28290803)
@ -47,7 +47,7 @@ Chiều cao (revision 63620682)
Christoforo Borri (revision 39684524)
Chính tả (revision 64168374)
Chính tả tiếng Việt (revision 64566759)
Chủ tịch Hồ Chí Minh (revision 64592392)
Chủ tịch Hồ Chí Minh (revision 64615386)
Chữ Hán (revision 64488663)
Chữ Latinh (revision 64566174)
Chữ Nôm (revision 64497361)
@ -66,14 +66,14 @@ Cổ tự học (revision 63417312)
D (revision 64521463)
Danh sách các chữ cái Latinh (revision 64566174)
De facto (revision 64458216)
Di chúc Hồ Chí Minh (revision 64479855)
Di chúc Hồ Chí Minh (revision 64620754)
Du ký (revision 64306751)
Dòng Tên (revision 64563470)
Dấu câu (revision 64430387)
Dấu huyền (revision 64200881)
Dấu hỏi (revision 64314350)
Dấu ngã (revision 64005169)
Dấu nặng (revision 64200881)
Dấu nặng (revision 64089094)
Dấu phụ (revision 43648394)
Dấu sắc (revision 64200881)
Dấu âm ngắn (revision 64560651)
@ -97,7 +97,7 @@ Hoàng Phê (revision 63792712)
Hán học (revision 64209708)
Hệ chữ viết Latinh (revision 64566174)
Hệ thống chữ nổi tiếng Việt (revision 64158849)
Hồ Chí Minh (revision 64592392)
Hồ Chí Minh (revision 64615386)
Hồ Dzếnh (revision 64471051)
Hội Trí Tri (revision 64593204)
I (revision 55105217)
@ -108,72 +108,119 @@ J (revision 64280732)
== End of Parsed pages ==
- Wikipedia parsing ended at: 2021-03-16 20:57:28.725327
- Wikipedia parsing ended at: 2021-03-21 01:07:32.065373
107 characters appeared 961999 times.
107 characters appeared 107 times.
First 54 characters:
[ 0] Char n: 11.732340678108812 %
[ 1] Char h: 8.846059091537517 %
[ 2] Char t: 6.799279417130371 %
[ 3] Char c: 6.610713732550658 %
[ 4] Char i: 6.088467867430215 %
[ 5] Char g: 5.545639860332495 %
[ 6] Char a: 3.414244713352093 %
[ 7] Char u: 2.916842948901194 %
[ 8] Char m: 2.5668425850754524 %
[ 9] Char o: 2.5124766241960748 %
[10] Char đ: 2.3970918888689074 %
[11] Char à: 2.0960520748982066 %
[12] Char v: 2.0507297824633914 %
[13] Char r: 1.966114309890135 %
[14] Char l: 1.7723511147100985 %
[15] Char á: 1.7447003583163807 %
[16] Char p: 1.523390356954633 %
[17] Char ư: 1.47359820540354 %
[18] Char b: 1.435656378021183 %
[19] Char s: 1.3317061660147256 %
[20] Char y: 1.2888786786680653 %
[21] Char d: 1.1103961646529779 %
[22] Char k: 1.0495852906292003 %
[23] Char ế: 0.9804583996449061 %
[24] Char e: 0.9535352947352336 %
[25] Char ộ: 0.8640341621976738 %
[26] Char ệ: 0.8197513718829229 %
[27] Char â: 0.8006245328737348 %
[28] Char ê: 0.792724316761244 %
[29] Char ô: 0.7877347065849342 %
[30] Char ố: 0.7180880645406076 %
[31] Char ạ: 0.7030152837996714 %
[32] Char q: 0.6624747011171529 %
[33] Char ả: 0.650208576100391 %
[34] Char ữ: 0.622038068646641 %
[35] Char ủ: 0.589085851440594 %
[36] Char ó: 0.5876305484725036 %
[37] Char ớ: 0.5369028450133524 %
[38] Char ề: 0.48440798795009143 %
[39] Char í: 0.47162211187329717 %
[40] Char ờ: 0.47131026123727776 %
[41] Char ợ: 0.46403374639682576 %
[42] Char ấ: 0.44532270823566344 %
[43] Char ể: 0.4278590726185786 %
[44] Char ă: 0.4115388893335648 %
[45] Char ị: 0.40748483106531297 %
[46] Char ậ: 0.3686074517748979 %
[47] Char ơ: 0.36434549308263314 %
[48] Char ự: 0.35519787442606493 %
[49] Char ồ: 0.3434515004693352 %
[50] Char ụ: 0.3314972260885926 %
[51] Char ầ: 0.32848266994040537 %
[52] Char ì: 0.32785896866836656 %
[53] Char x: 0.32650761591228267 %
Most Frequent characters:
[ 0] Char c: 0.9345794392523363 %
[ 1] Char h: 0.9345794392523363 %
[ 2] Char ữ: 0.9345794392523363 %
[ 3] Char q: 0.9345794392523363 %
[ 4] Char u: 0.9345794392523363 %
[ 5] Char ố: 0.9345794392523363 %
[ 6] Char n: 0.9345794392523363 %
[ 7] Char g: 0.9345794392523363 %
[ 8] Char l: 0.9345794392523363 %
[ 9] Char à: 0.9345794392523363 %
[10] Char v: 0.9345794392523363 %
[11] Char i: 0.9345794392523363 %
[12] Char ế: 0.9345794392523363 %
[13] Char t: 0.9345794392523363 %
[14] Char ủ: 0.9345794392523363 %
[15] Char y: 0.9345794392523363 %
[16] Char r: 0.9345794392523363 %
[17] Char ê: 0.9345794392523363 %
[18] Char ự: 0.9345794392523363 %
[19] Char d: 0.9345794392523363 %
[20] Char ù: 0.9345794392523363 %
[21] Char đ: 0.9345794392523363 %
[22] Char ể: 0.9345794392523363 %
[23] Char ệ: 0.9345794392523363 %
[24] Char a: 0.9345794392523363 %
[25] Char ộ: 0.9345794392523363 %
[26] Char b: 0.9345794392523363 %
[27] Char ư: 0.9345794392523363 %
[28] Char ợ: 0.9345794392523363 %
[29] Char ạ: 0.9345794392523363 %
[30] Char o: 0.9345794392523363 %
[31] Char ả: 0.9345794392523363 %
[32] Char á: 0.9345794392523363 %
[33] Char ắ: 0.9345794392523363 %
[34] Char í: 0.9345794392523363 %
[35] Char ă: 0.9345794392523363 %
[36] Char ồ: 0.9345794392523363 %
[37] Char m: 0.9345794392523363 %
[38] Char ú: 0.9345794392523363 %
[39] Char ý: 0.9345794392523363 %
[40] Char ọ: 0.9345794392523363 %
[41] Char ấ: 0.9345794392523363 %
[42] Char ừ: 0.9345794392523363 %
[43] Char ã: 0.9345794392523363 %
[44] Char ó: 0.9345794392523363 %
[45] Char ờ: 0.9345794392523363 %
[46] Char ơ: 0.9345794392523363 %
[47] Char ĩ: 0.9345794392523363 %
[48] Char k: 0.9345794392523363 %
[49] Char x: 0.9345794392523363 %
[50] Char s: 0.9345794392523363 %
[51] Char ề: 0.9345794392523363 %
[52] Char p: 0.9345794392523363 %
[53] Char ầ: 0.9345794392523363 %
[54] Char ằ: 0.9345794392523363 %
[55] Char ẹ: 0.9345794392523363 %
[56] Char ậ: 0.9345794392523363 %
[57] Char ứ: 0.9345794392523363 %
[58] Char ô: 0.9345794392523363 %
[59] Char ỉ: 0.9345794392523363 %
[60] Char é: 0.9345794392523363 %
[61] Char e: 0.9345794392523363 %
[62] Char â: 0.9345794392523363 %
[63] Char è: 0.9345794392523363 %
[64] Char ị: 0.9345794392523363 %
[65] Char ớ: 0.9345794392523363 %
[66] Char ử: 0.9345794392523363 %
[67] Char ụ: 0.9345794392523363 %
[68] Char ỗ: 0.9345794392523363 %
[69] Char ì: 0.9345794392523363 %
[70] Char ỏ: 0.9345794392523363 %
[71] Char ổ: 0.9345794392523363 %
[72] Char ở: 0.9345794392523363 %
[73] Char ặ: 0.9345794392523363 %
[74] Char ẫ: 0.9345794392523363 %
[75] Char ò: 0.9345794392523363 %
[76] Char ũ: 0.9345794392523363 %
[77] Char ẳ: 0.9345794392523363 %
[78] Char ẽ: 0.9345794392523363 %
[79] Char ỷ: 0.9345794392523363 %
[80] Char f: 0.9345794392523363 %
[81] Char j: 0.9345794392523363 %
[82] Char w: 0.9345794392523363 %
[83] Char z: 0.9345794392523363 %
[84] Char ễ: 0.9345794392523363 %
[85] Char ẩ: 0.9345794392523363 %
[86] Char ỹ: 0.9345794392523363 %
[87] Char ỳ: 0.9345794392523363 %
[88] Char ỵ: 0.9345794392523363 %
[89] Char ø: 0.9345794392523363 %
[90] Char ẻ: 0.9345794392523363 %
[91] Char õ: 0.9345794392523363 %
[92] Char ỡ: 0.9345794392523363 %
[93] Char ï: 0.9345794392523363 %
[94] Char ü: 0.9345794392523363 %
[95] Char ÿ: 0.9345794392523363 %
[96] Char ç: 0.9345794392523363 %
[97] Char ö: 0.9345794392523363 %
[98] Char ß: 0.9345794392523363 %
[99] Char æ: 0.9345794392523363 %
[100] Char ẵ: 0.9345794392523363 %
The first 54 characters have an accumulated ratio of 0.9567099342099108.
The first 101 characters have an accumulated ratio of 0.9439252336448598.
1890 sequences found.
1892 sequences found.
First 512 (typical positive ratio): 0.9336493792477815
Next 512 (512-1024): 0.003551978744260649
Rest: 0.007456342500128027
First 1119 (typical positive ratio): 0.9950139912021918
Next 364 (1483-1119): 0.003989975405861768
Rest: 0.000996033391946427
- Processing end: 2021-03-16 20:57:29.603172
- Processing end: 2021-03-21 01:07:32.958132

View File

@ -58,7 +58,7 @@ charsets = ['WINDOWS-1258', 'VISCII']
## Optional Properties ##
alphabet = 'aăâbcdđeêghiklmnoôơpqrstuưvxy'
alphabet = 'aăâàằầảẳẩãẵẫáắấạặậbcdđeèềêẻểẽễéếẹệghiìỉĩíịklmnoôơòồờỏổởõỗỡóốớọộợpqrstuưùừủửũữúứụựvxyỳỷỹýỵ'
start_pages = ['Chữ_Quốc_ngữ']
wikipedia_code = code
case_mapping = True

View File

@ -42,7 +42,7 @@
/**
* Generated by BuildLangModel.py
* On: 2021-03-16 20:57:28.726718
* On: 2021-03-21 01:07:32.067259
**/
/* Character Mapping Table:
@ -68,179 +68,286 @@ static const unsigned char Windows_1258_CharToOrderMap[] =
CTR,CTR,CTR,CTR,CTR,CTR,CTR,CTR,CTR,CTR,CTR,CTR,CTR,CTR,CTR,CTR, /* 1X */
SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM, /* 2X */
NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,SYM,SYM,SYM,SYM,SYM,SYM, /* 3X */
SYM, 6, 18, 3, 21, 24, 71, 5, 1, 4, 78, 22, 14, 8, 0, 9, /* 4X */
16, 32, 13, 19, 2, 7, 12, 74, 53, 20, 83,SYM,SYM,SYM,SYM,SYM, /* 5X */
SYM, 6, 18, 3, 21, 24, 71, 5, 1, 4, 78, 22, 14, 8, 0, 9, /* 6X */
16, 32, 13, 19, 2, 7, 12, 74, 53, 20, 83,SYM,SYM,SYM,SYM,CTR, /* 7X */
SYM,ILL,SYM,105,SYM,SYM,SYM,SYM,SYM,SYM,ILL,SYM, 97,ILL,ILL,ILL, /* 8X */
ILL,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,ILL,SYM, 97,ILL,ILL,104, /* 9X */
SYM, 24, 26, 0, 19, 61, 80, 7, 1, 11, 81, 48, 8, 37, 6, 30, /* 4X */
52, 3, 16, 50, 13, 4, 10, 82, 49, 15, 83,SYM,SYM,SYM,SYM,SYM, /* 5X */
SYM, 24, 26, 0, 19, 61, 80, 7, 1, 11, 81, 48, 8, 37, 6, 30, /* 6X */
52, 3, 16, 50, 13, 4, 10, 82, 49, 15, 83,SYM,SYM,SYM,SYM,CTR, /* 7X */
SYM,ILL,SYM,106,SYM,SYM,SYM,SYM,SYM,SYM,ILL,SYM,101,ILL,ILL,ILL, /* 8X */
ILL,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,ILL,SYM,101,ILL,ILL, 95, /* 9X */
SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM, /* AX */
SYM,SYM,SYM,SYM,SYM,107,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM, /* BX */
11, 15, 27, 44,101,106, 95, 92, 90, 73, 28,108,SYM, 39,103,102, /* CX */
10,100,SYM, 36, 29, 47, 98,SYM, 96, 62, 61,109, 93, 17,SYM, 99, /* DX */
11, 15, 27, 44,101,106, 95, 92, 90, 73, 28,110,SYM, 39,103,102, /* EX */
10,100,SYM, 36, 29, 47, 98,SYM, 96, 62, 61,111, 93, 17,112,104, /* FX */
9, 32, 62, 35,102,105, 99, 96, 63, 60, 17,108,SYM, 34,103, 93, /* CX */
21,104,SYM, 44, 58, 46, 97,SYM, 89, 20, 38,109, 94, 27,SYM, 98, /* DX */
9, 32, 62, 35,102,105, 99, 96, 63, 60, 17,110,SYM, 34,103, 93, /* EX */
21,104,SYM, 44, 58, 46, 97,SYM, 89, 20, 38,111, 94, 27,112, 95, /* FX */
};
/*X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 XA XB XC XD XE XF */
static const unsigned char Viscii_CharToOrderMap[] =
{
CTR,CTR, 85,CTR,CTR, 91, 77,CTR,CTR,CTR,RET,CTR,CTR,RET,CTR,CTR, /* 0X */
CTR,CTR,CTR,CTR, 82,CTR,CTR,CTR,CTR, 84,CTR,CTR,CTR,CTR, 94,CTR, /* 1X */
CTR,CTR, 77,CTR,CTR,100, 74,CTR,CTR,CTR,RET,CTR,CTR,RET,CTR,CTR, /* 0X */
CTR,CTR,CTR,CTR, 79,CTR,CTR,CTR,CTR, 86,CTR,CTR,CTR,CTR, 88,CTR, /* 1X */
SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM,SYM, /* 2X */
NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,SYM,SYM,SYM,SYM,SYM,SYM, /* 3X */
SYM, 6, 18, 3, 21, 24, 71, 5, 1, 4, 78, 22, 14, 8, 0, 9, /* 4X */
16, 32, 13, 19, 2, 7, 12, 74, 53, 20, 83,SYM,SYM,SYM,SYM,SYM, /* 5X */
SYM, 6, 18, 3, 21, 24, 71, 5, 1, 4, 78, 22, 14, 8, 0, 9, /* 6X */
16, 32, 13, 19, 2, 7, 12, 74, 53, 20, 83,SYM,SYM,SYM,SYM,CTR, /* 7X */
31, 60, 68, 64, 42, 51, 76, 46, 80, 89, 23, 38, 43, 72, 26, 30, /* 8X */
49, 59, 81, 25, 41, 37, 40, 57, 45, 75, 54, 70, 35, 69, 50, 79, /* 9X */
86, 60, 68, 64, 42, 51, 76, 46, 80, 89, 23, 38, 43, 72, 26, 30, /* AX */
49, 59, 81, 87, 47, 25, 40, 57, 45, 48, 55, 58, 65, 47, 37, 17, /* BX */
11, 15, 27, 56, 33, 44, 85, 91, 90, 73, 28, 88, 52, 39, 67, 79, /* CX */
10, 55, 63, 36, 29, 31, 82, 58, 65, 62, 61, 84, 94, 66, 87, 17, /* DX */
11, 15, 27, 56, 33, 44, 34, 77, 90, 73, 28, 88, 52, 39, 67, 70, /* EX */
10, 48, 63, 36, 29, 86, 75, 54, 50, 62, 61, 69, 35, 66, 41, 34, /* FX */
SYM, 24, 26, 0, 19, 61, 80, 7, 1, 11, 81, 48, 8, 37, 6, 30, /* 4X */
52, 3, 16, 50, 13, 4, 10, 82, 49, 15, 83,SYM,SYM,SYM,SYM,SYM, /* 5X */
SYM, 24, 26, 0, 19, 61, 80, 7, 1, 11, 81, 48, 8, 37, 6, 30, /* 6X */
52, 3, 16, 50, 13, 4, 10, 82, 49, 15, 83,SYM,SYM,SYM,SYM,CTR, /* 7X */
29, 33, 54, 73, 41, 53, 85, 56, 78, 55, 12, 51, 22, 84, 23, 5, /* 8X */
36, 71, 68, 25, 28, 65, 45, 72, 64, 70, 40, 59, 14, 76, 67, 87, /* 9X */
91, 33, 54, 73, 41, 53, 85, 56, 78, 55, 12, 51, 22, 84, 23, 5, /* AX */
36, 71, 68, 92, 46, 25, 45, 72, 64, 18, 57, 42, 66, 46, 65, 27, /* BX */
9, 32, 62, 43, 31, 35, 77,100, 63, 60, 17, 90, 69, 34, 47, 87, /* CX */
21, 57, 75, 44, 58, 29, 79, 42, 66, 20, 38, 86, 88, 39, 92, 27, /* DX */
9, 32, 62, 43, 31, 35, 2, 74, 63, 60, 17, 90, 69, 34, 47, 59, /* EX */
21, 18, 75, 44, 58, 91, 70, 40, 67, 20, 38, 76, 14, 39, 28, 2, /* FX */
};
/*X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 XA XB XC XD XE XF */
static const int Unicode_Char_size = 108;
static const int Unicode_Char_size = 201;
static const unsigned int Unicode_CharOrder[] =
{
65, 6, 66, 18, 67, 3, 68, 21, 69, 24, 71, 5, 72, 1, 73, 4,
75, 22, 76, 14, 77, 8, 78, 0, 79, 9, 80, 16, 81, 32, 82, 13,
83, 19, 84, 2, 85, 7, 86, 12, 88, 53, 89, 20, 97, 6, 98, 18,
99, 3, 100, 21, 101, 24, 103, 5, 104, 1, 105, 4, 107, 22, 108, 14,
109, 8, 110, 0, 111, 9, 112, 16, 113, 32, 114, 13, 115, 19, 116, 2,
117, 7, 118, 12, 120, 53, 121, 20, 192, 11, 193, 15, 194, 27, 202, 28,
204, 52, 205, 39, 211, 36, 212, 29, 224, 11, 225, 15, 226, 27, 234, 28,
236, 52, 237, 39, 243, 36, 244, 29, 258, 44, 259, 44, 272, 10, 273, 10,
416, 47, 417, 47, 431, 17, 432, 17, 7840, 31, 7841, 31, 7842, 33,7843, 33,
7844, 42, 7845, 42, 7846, 51, 7847, 51, 7852, 46, 7853, 46, 7870, 23,7871, 23,
7872, 38, 7873, 38, 7874, 43, 7875, 43, 7878, 26, 7879, 26, 7882, 45,7883, 45,
7888, 30, 7889, 30, 7890, 49, 7891, 49, 7896, 25, 7897, 25, 7898, 37,7899, 37,
7900, 40, 7901, 40, 7906, 41, 7907, 41, 7908, 50, 7909, 50, 7910, 35,7911, 35,
7918, 34, 7919, 34, 7920, 48, 7921, 48,
65, 24, 66, 26, 67, 0, 68, 19, 69, 61, 70, 80, 71, 7, 72, 1,
73, 11, 74, 81, 75, 48, 76, 8, 77, 37, 78, 6, 79, 30, 80, 52,
81, 3, 82, 16, 83, 50, 84, 13, 85, 4, 86, 10, 87, 82, 88, 49,
89, 15, 90, 83, 97, 24, 98, 26, 99, 0, 100, 19, 101, 61, 102, 80,
103, 7, 104, 1, 105, 11, 106, 81, 107, 48, 108, 8, 109, 37, 110, 6,
111, 30, 112, 52, 113, 3, 114, 16, 115, 50, 116, 13, 117, 4, 118, 10,
119, 82, 120, 49, 121, 15, 122, 83, 192, 9, 193, 32, 194, 62, 195, 43,
198, 99, 199, 96, 200, 63, 201, 60, 202, 17, 204, 69, 205, 34, 207, 93,
210, 75, 211, 44, 212, 58, 213, 91, 214, 97, 216, 89, 217, 20, 218, 38,
220, 94, 221, 39, 223, 98, 224, 9, 225, 32, 226, 62, 227, 43, 230, 99,
231, 96, 232, 63, 233, 60, 234, 17, 236, 69, 237, 34, 239, 93, 242, 75,
243, 44, 244, 58, 245, 91, 246, 97, 248, 89, 249, 20, 250, 38, 252, 94,
253, 39, 255, 95, 258, 35, 259, 35, 272, 21, 273, 21, 296, 47, 297, 47,
360, 76, 361, 76, 376, 95, 416, 46, 417, 46, 431, 27, 432, 27,7840, 29,
7841, 29, 7842, 31, 7843, 31, 7844, 41, 7845, 41, 7846, 53, 7847, 53,7848, 85,
7849, 85, 7850, 74, 7851, 74, 7852, 56, 7853, 56, 7854, 33, 7855, 33,7856, 54,
7857, 54, 7858, 77, 7859, 77, 7860, 100, 7861, 100, 7862, 73, 7863, 73,7864, 55,
7865, 55, 7866, 90, 7867, 90, 7868, 78, 7869, 78, 7870, 12, 7871, 12,7872, 51,
7873, 51, 7874, 22, 7875, 22, 7876, 84, 7877, 84, 7878, 23, 7879, 23,7880, 59,
7881, 59, 7882, 64, 7883, 64, 7884, 40, 7885, 40, 7886, 70, 7887, 70,7888, 5,
7889, 5, 7890, 36, 7891, 36, 7892, 71, 7893, 71, 7894, 68, 7895, 68,7896, 25,
7897, 25, 7898, 65, 7899, 65, 7900, 45, 7901, 45, 7902, 72, 7903, 72,7904, 92,
7905, 92, 7906, 28, 7907, 28, 7908, 67, 7909, 67, 7910, 14, 7911, 14,7912, 57,
7913, 57, 7914, 42, 7915, 42, 7916, 66, 7917, 66, 7918, 2, 7919, 2,7920, 18,
7921, 18, 7922, 87, 7923, 87, 7924, 88, 7925, 88, 7926, 79, 7927, 79,7928, 86,
7929, 86,
};
/* Model Table:
* Total sequences: 1890
* First 512 sequences: 0.9336493792477815
* Next 512 sequences (512-1024): 0.05889427825209051
* Rest: 0.007456342500128027
* Total considered sequences: 1892 / 10201
* - Positive sequences: first 1119 (0.9950139912021918)
* - Probable sequences: next 364 (1483-1119) (0.003989975405861768)
* - Neutral sequences: last 8718 (0.000996033391946427)
* - Negative sequences: 8309 (off-ratio)
* Negative sequences: TODO
*/
static const PRUint8 VietnameseLangModel[] =
{
2,3,3,2,3,3,3,2,1,3,1,3,1,2,2,1,1,3,1,3,2,3,2,2,3,3,1,
2,3,3,2,2,1,1,2,0,3,1,2,1,0,1,1,0,3,1,1,2,0,1,0,1,0,1,
2,1,2,1,3,0,3,3,2,3,1,3,1,2,1,3,1,3,1,1,2,2,1,3,3,3,3,
3,3,3,3,3,1,3,3,3,3,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,
2,3,2,2,3,1,3,3,2,3,0,3,1,3,2,3,1,3,1,2,2,1,1,3,3,3,1,
3,3,3,3,3,0,3,0,1,2,3,1,3,2,0,3,0,2,3,3,1,3,2,2,2,3,1,
2,3,2,2,3,0,3,3,1,3,2,2,1,2,2,3,1,3,1,2,2,1,2,0,3,3,0,
2,0,3,2,2,1,3,1,3,3,1,0,1,1,1,3,0,2,0,2,3,2,0,2,3,0,1,
3,1,3,3,3,2,3,2,3,3,1,2,2,3,3,3,2,1,2,3,1,2,2,3,3,0,3,
1,3,2,2,1,2,3,3,0,1,3,3,0,2,0,2,3,1,0,1,1,0,0,1,1,0,2,
2,3,1,1,3,1,3,3,1,3,1,3,1,2,2,2,1,3,1,2,2,1,1,1,3,2,0,
2,1,3,2,2,0,1,3,1,2,1,0,0,1,2,1,0,2,1,1,1,2,3,1,2,2,1,
3,2,3,3,3,2,1,3,3,3,1,0,2,3,3,0,2,0,2,3,3,3,2,0,2,0,0,
0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,
3,1,2,2,2,2,3,1,2,2,0,1,1,3,2,3,2,0,2,3,3,2,2,2,3,3,1,
3,2,3,3,2,1,3,0,0,0,1,1,1,1,0,3,0,1,0,3,1,0,3,0,3,0,1,
1,1,1,1,3,1,3,3,2,3,0,3,1,2,2,3,2,3,2,2,1,1,1,1,3,3,2,
2,1,3,2,3,0,1,0,1,2,3,2,1,2,0,2,0,1,1,2,1,1,1,3,1,3,1,
3,2,3,2,3,2,3,3,3,2,0,3,2,3,3,3,2,0,2,3,1,3,2,0,2,0,0,
0,0,0,0,3,1,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,2,
0,2,1,0,3,0,3,2,0,3,0,3,0,1,0,3,0,3,1,0,0,0,1,3,2,3,2,
3,2,3,3,3,0,3,0,2,3,1,3,2,3,2,3,3,2,3,2,3,1,3,1,3,2,0,
3,0,0,0,3,0,0,2,3,3,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,
0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2,1,1,0,3,1,3,2,0,2,0,3,0,1,1,1,1,3,0,1,1,1,1,1,3,1,2,
2,1,2,2,2,0,1,1,0,1,3,3,3,1,2,3,0,3,3,3,1,2,0,3,2,3,0,
3,2,3,2,3,2,3,3,2,3,0,2,2,2,2,3,1,3,2,2,2,2,2,1,3,2,1,
1,3,2,2,2,1,2,2,1,1,0,0,3,2,2,3,1,2,3,2,1,2,2,2,2,3,1,
1,2,2,1,3,2,3,3,2,3,0,3,2,1,3,2,2,3,2,2,2,2,1,0,3,2,3,
2,3,2,2,3,1,0,1,0,1,3,1,2,2,2,2,0,2,3,3,1,3,1,2,3,1,1,
3,0,3,3,3,1,0,2,3,3,0,0,1,1,1,0,3,0,1,1,2,1,1,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1,3,2,1,2,1,3,2,1,3,0,0,0,2,2,1,2,1,1,2,1,1,0,0,3,0,0,
1,1,1,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,
3,1,1,1,1,0,3,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,3,0,0,3,3,0,0,0,0,0,3,0,0,0,0,0,0,
2,1,1,3,3,0,3,3,1,3,0,3,1,2,2,3,0,2,3,2,2,1,1,2,3,3,2,
1,2,1,3,2,0,3,1,0,2,1,2,2,2,0,2,1,1,3,2,1,1,3,1,2,3,1,
1,2,3,3,3,1,3,3,1,3,0,2,1,1,2,3,2,3,2,2,2,1,2,0,3,1,0,
2,1,2,3,1,1,3,1,1,2,2,0,1,1,2,1,0,1,0,1,3,3,1,1,1,1,0,
2,0,1,1,1,1,2,1,2,2,0,0,0,2,2,0,2,0,2,2,1,1,1,3,2,0,3,
0,3,0,0,0,0,0,0,0,1,0,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,
2,1,1,2,3,2,3,3,1,3,0,3,1,2,1,1,1,3,1,2,1,1,1,0,3,1,1,
3,1,0,1,3,0,1,1,0,1,0,1,1,1,0,3,1,0,3,2,1,3,1,3,2,1,0,
1,3,1,0,3,0,2,2,2,2,0,0,2,2,1,1,0,0,1,2,1,1,1,3,2,0,1,
0,2,2,0,1,0,0,0,1,1,0,0,2,0,0,0,2,1,2,0,1,0,0,1,1,1,0,
3,0,3,2,0,0,0,3,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,1,3,2,3,2,3,2,3,3,0,0,2,3,3,0,2,0,2,3,2,2,2,0,2,0,0,
0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,
3,0,3,3,3,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,3,3,0,0,0,3,3,0,0,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,1,1,0,0,0,3,3,0,0,0,0,0,1,0,1,0,0,0,3,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,1,1,1,1,0,3,3,0,1,0,0,1,0,0,1,0,0,2,0,0,0,0,0,0,0,
0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
3,0,1,1,3,1,0,0,3,0,0,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,
0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,3,3,3,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,3,3,3,0,0,0,3,3,0,0,0,0,0,0,3,0,0,0,2,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1,0,0,1,0,1,3,0,1,1,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,
0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,0,0,3,0,0,0,2,3,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,0,0,0,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2,0,1,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,1,2,3,0,3,1,2,0,0,0,0,1,0,0,2,0,1,1,0,0,0,0,1,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,1,3,3,0,0,1,2,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,
0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,0,0,0,0,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,2,3,0,1,3,1,2,1,0,0,0,1,1,0,1,0,0,1,0,1,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,2,3,3,0,0,1,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,3,1,1,0,0,3,3,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,1,1,0,0,0,0,3,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,1,3,0,0,3,2,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,3,2,0,0,0,2,2,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,1,1,3,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2,0,0,3,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,1,3,1,0,1,0,2,0,0,0,0,0,0,0,1,0,0,0,2,0,1,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,1,0,0,0,0,3,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,0,0,0,0,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1,1,2,1,3,0,2,3,1,2,0,1,2,0,1,2,1,2,0,0,1,1,0,2,3,1,0,
3,1,3,0,1,0,2,0,0,1,0,0,1,0,0,1,0,1,1,0,1,0,0,0,0,1,2,
3,3,1,2,3,3,3,0,3,3,2,3,0,3,3,3,3,0,3,3,3,3,0,0,3,3,2,3,1,3,3,3,3,3,2,3,0,2,3,0,1,3,2,3,3,3,3,0,3,1,
3,0,3,3,1,0,3,3,3,0,1,3,3,1,0,1,3,3,2,0,2,3,1,3,0,3,3,1,0,0,0,1,3,1,0,3,0,0,0,0,0,1,2,0,0,0,0,0,0,0,0,
2,1,3,1,3,3,3,0,3,3,1,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,1,2,
2,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,1,3,3,2,2,0,1,2,0,3,0,0,0,0,2,1,2,0,0,0,0,0,0,0,2,
0,0,0,0,3,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1,1,0,3,0,0,0,0,0,0,1,0,0,1,0,2,0,0,0,0,2,0,0,1,0,0,1,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,
1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,2,0,1,2,3,3,3,3,2,2,3,3,3,0,3,3,3,0,3,0,0,0,2,3,3,3,0,0,3,3,3,3,0,2,1,3,3,0,3,1,3,0,2,0,2,2,0,3,2,
3,1,3,3,0,0,3,0,3,0,2,3,3,1,0,1,0,0,3,0,0,3,2,2,3,0,0,0,1,3,2,2,1,3,0,3,2,3,2,0,1,0,0,0,0,0,1,0,0,0,0,
3,0,0,0,0,0,3,0,0,0,0,3,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,0,
0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,3,3,3,3,3,3,3,3,3,2,3,3,3,0,3,3,3,0,3,2,2,0,1,3,3,2,3,2,3,3,1,3,3,2,3,2,2,3,0,2,2,0,2,3,0,3,0,3,3,
3,3,1,2,3,0,2,2,3,0,3,3,3,2,1,2,3,0,3,0,0,3,1,3,0,2,0,0,0,0,3,3,2,3,0,0,0,0,0,0,0,0,1,0,1,0,3,0,0,0,3,
1,3,3,0,3,3,3,2,3,3,2,3,2,2,2,3,3,1,3,2,0,1,0,0,3,3,1,3,3,3,3,2,3,3,0,3,3,2,0,0,3,2,3,3,3,3,2,0,2,1,
3,0,2,3,1,0,2,0,3,0,2,3,3,2,2,1,3,3,2,3,1,1,1,3,1,3,3,0,0,0,1,0,1,0,0,1,0,0,0,0,0,3,2,0,1,0,0,0,0,0,0,
3,3,3,1,3,3,2,3,3,3,3,3,0,3,0,3,1,3,3,3,2,0,0,3,3,3,3,3,3,3,3,0,3,3,3,3,1,3,3,3,3,3,2,3,2,3,1,3,2,2,
3,1,3,3,0,1,3,0,3,0,3,3,3,1,3,3,3,3,3,1,2,0,0,3,3,3,2,0,3,0,3,1,1,0,3,0,0,0,2,0,2,1,0,0,1,0,0,0,0,0,0,
0,0,0,1,3,0,3,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,2,3,0,3,3,3,1,1,3,0,3,2,1,0,2,2,2,3,2,3,0,0,3,3,1,0,3,3,3,3,2,3,3,3,3,0,0,0,0,3,3,3,2,1,1,1,3,2,0,
2,3,1,3,0,3,3,1,3,1,2,3,3,0,3,3,0,3,2,3,2,0,3,1,3,3,3,0,3,0,0,1,0,0,0,1,2,0,0,0,3,3,2,0,0,0,0,0,0,0,0,
3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,2,3,3,0,3,1,2,3,3,3,0,3,2,0,1,3,3,3,0,0,1,0,3,3,0,3,3,0,2,3,3,1,0,3,3,
3,3,3,1,0,1,2,0,3,0,2,3,2,2,0,3,0,1,1,0,2,0,0,3,2,0,1,0,1,0,3,2,0,3,3,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,
3,0,0,2,3,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,3,0,0,3,3,3,1,3,3,3,3,3,3,2,3,3,3,3,3,3,0,0,3,3,3,1,3,0,3,3,3,3,3,3,3,3,3,3,1,2,3,3,2,3,3,1,3,2,1,
3,2,2,3,0,0,3,3,3,3,3,3,3,2,3,3,3,3,0,3,3,3,0,2,0,3,0,0,0,3,2,0,3,2,1,2,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,
0,0,0,0,0,0,3,0,0,0,0,2,0,1,0,3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,0,0,3,0,3,2,3,0,0,2,3,2,0,2,3,3,0,2,0,0,3,3,3,0,3,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,1,0,0,0,2,0,
3,3,3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,3,3,2,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,0,1,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,2,3,2,0,3,3,
3,0,3,3,3,0,3,2,3,1,3,3,2,1,3,0,3,3,2,3,1,2,3,1,0,3,0,0,2,0,2,1,2,1,2,1,0,0,0,0,3,3,0,0,1,0,1,1,0,0,0,
2,0,0,1,3,0,3,2,0,0,0,1,0,2,0,0,3,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,1,
3,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,0,0,3,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,2,3,0,3,2,3,3,3,3,1,3,0,1,0,2,3,1,3,2,3,0,1,2,3,2,2,3,0,3,3,2,2,2,3,0,2,2,0,0,3,3,2,3,2,2,1,3,1,0,
3,2,2,3,1,1,3,3,0,0,2,3,3,2,3,0,0,3,1,2,0,0,2,3,3,3,2,2,0,0,2,2,3,3,3,0,0,0,0,0,2,2,1,0,0,0,0,0,0,0,0,
0,0,0,1,0,0,3,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,3,0,0,3,3,0,0,0,3,0,3,3,1,3,0,2,3,3,0,2,0,3,3,3,3,1,3,3,3,3,3,3,3,3,3,3,0,3,0,3,3,2,3,3,3,3,2,1,0,
0,3,0,3,2,3,3,3,3,3,1,3,3,2,3,2,0,2,3,3,3,3,0,3,1,3,1,3,0,0,0,0,0,0,0,3,0,0,0,0,2,0,3,0,0,0,0,0,0,0,0,
0,0,0,0,3,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,0,0,3,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,1,0,
0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,3,0,2,3,0,3,3,3,0,3,3,0,3,0,3,3,0,0,3,0,2,0,0,2,0,3,0,0,0,3,0,0,0,1,0,0,3,1,0,0,0,0,0,0,0,0,0,3,3,
3,0,3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,2,0,0,0,0,0,0,0,0,0,1,1,0,3,0,0,0,0,
3,0,0,0,0,0,3,0,0,0,0,3,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,
0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,2,2,0,3,3,3,0,3,3,1,3,3,1,0,3,3,3,1,2,3,0,1,3,3,3,3,3,0,3,3,3,3,3,3,3,3,2,3,0,3,3,1,3,3,3,2,0,1,1,
3,3,0,3,3,1,3,3,2,3,3,3,3,2,3,3,2,2,2,3,3,3,3,0,0,2,0,0,1,0,1,2,1,0,0,2,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,
1,1,0,0,3,0,3,0,0,0,0,2,0,3,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,3,3,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,
3,0,0,0,2,0,3,0,0,0,0,3,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,
0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,0,0,0,0,3,0,0,0,0,3,0,3,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,3,0,2,3,0,3,3,3,3,3,3,0,3,0,2,3,0,0,3,0,0,0,0,3,0,3,0,0,3,3,3,3,3,0,3,0,3,0,0,0,0,0,3,0,0,0,0,3,3,
3,0,3,0,1,0,0,0,0,0,1,3,0,2,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,3,2,3,3,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,1,
0,0,0,0,0,0,3,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,0,0,3,0,3,1,2,0,1,3,0,3,0,3,2,0,0,1,0,0,0,0,0,0,2,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,2,0,
1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,0,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,3,0,
0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,0,0,1,0,3,1,1,0,0,0,0,3,0,0,1,0,0,1,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,
2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2,0,0,0,0,0,3,0,1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,2,0,
0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,1,0,0,3,3,3,1,3,3,1,3,2,2,1,2,3,2,3,2,3,0,0,3,3,3,3,3,0,3,3,3,3,3,1,2,3,3,2,0,3,3,3,3,3,3,2,3,1,2,
3,3,3,3,1,3,3,3,3,1,3,3,3,1,2,3,0,3,3,3,2,0,3,3,3,2,3,0,2,0,2,1,1,0,0,2,3,1,1,0,1,1,0,0,0,0,0,0,0,0,0,
3,0,0,0,0,0,3,0,1,0,0,3,0,3,0,3,1,0,0,1,0,0,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,
1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,0,0,0,0,3,0,0,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,
0,0,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2,0,0,0,3,0,3,0,0,0,0,2,0,3,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,
0,0,0,0,2,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1,0,0,0,0,3,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,0,0,1,0,3,0,0,0,0,3,0,3,0,0,2,0,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,
1,0,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,2,0,0,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1,0,0,0,2,0,3,0,0,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,3,0,0,3,0,3,0,2,0,3,3,3,2,2,2,3,3,0,1,0,0,3,1,3,0,1,0,0,1,3,0,2,0,3,1,0,3,0,3,0,0,0,0,1,0,2,2,1,0,
3,0,0,1,0,2,0,1,3,2,3,3,0,3,3,0,0,1,0,3,0,0,0,0,0,0,0,0,2,3,0,0,2,1,0,0,3,3,1,0,3,0,0,0,0,0,0,1,0,0,0,
2,2,0,0,3,0,1,0,2,1,3,3,3,3,0,2,0,2,0,1,1,0,0,0,3,1,0,3,0,2,3,3,3,0,3,1,0,1,3,0,0,3,0,3,3,0,1,0,0,3,
0,0,2,0,0,0,0,3,3,1,3,3,3,1,1,0,3,0,0,1,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,
3,3,1,2,3,3,2,2,3,3,1,3,0,3,2,3,2,1,3,2,3,0,0,0,3,1,3,3,3,2,3,3,3,3,1,1,2,3,3,0,0,3,0,2,3,1,3,3,3,0,
3,0,3,1,0,0,1,3,3,0,3,3,3,1,0,3,3,2,0,1,0,2,3,1,0,0,0,0,3,0,2,2,2,2,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,3,
0,0,0,0,3,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1,3,0,0,3,1,1,2,3,0,0,3,0,3,0,2,3,1,0,2,0,0,0,0,3,0,1,1,0,0,3,0,2,2,1,0,1,2,2,0,0,0,0,0,1,0,0,0,0,1,
3,0,3,0,0,0,0,0,2,0,2,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,
0,0,0,0,3,0,3,0,0,0,0,0,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
0,0,0,1,0,0,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1,0,0,0,0,0,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,0,0,3,0,3,0,0,0,0,0,0,3,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,0,0,3,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2,0,0,0,0,0,3,1,0,0,0,3,0,2,0,0,2,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,1,0,
0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2,1,0,0,0,0,3,2,2,0,2,1,0,3,0,0,3,0,0,2,0,0,0,0,1,0,2,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,1,1,
3,0,3,0,0,0,0,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,3,0,2,3,0,3,3,3,0,3,3,0,3,0,3,3,0,0,3,0,0,0,0,3,0,3,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,2,0,0,0,3,3,
3,0,3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,
2,0,0,0,3,0,3,0,1,0,0,0,0,2,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1,0,0,0,0,0,3,1,1,0,2,0,0,2,0,0,2,0,0,1,0,0,0,0,0,0,1,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,
2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,0,0,3,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,1,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,0,1,1,0,3,0,0,0,0,3,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,1,0,
0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,2,0,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,0,0,0,0,3,0,0,0,0,2,0,2,0,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,2,0,
0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,2,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,0,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,3,0,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,3,0,0,0,0,3,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2,3,0,0,2,0,1,1,2,0,0,3,0,3,1,0,3,0,0,0,0,0,0,0,3,0,1,1,0,1,3,0,2,0,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,0,
1,0,1,0,0,0,0,0,0,0,1,3,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,3,0,1,1,0,0,0,3,0,0,0,1,2,0,0,0,0,0,0,0,3,0,0,0,0,0,3,0,0,0,0,0,0,1,3,0,0,0,0,0,0,0,1,0,1,0,
1,0,1,0,0,0,0,0,1,0,2,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2,3,0,0,2,0,2,0,2,0,0,3,0,1,1,3,3,1,1,2,0,0,1,0,3,0,1,0,0,0,3,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,1,0,
3,0,1,0,0,0,0,1,0,0,0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,
0,2,1,0,3,0,0,0,0,1,0,3,3,0,0,2,0,0,0,0,1,0,0,0,3,0,0,0,0,2,3,0,2,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,
1,0,0,0,0,0,0,0,0,0,0,3,2,1,0,1,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,3,0,3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,
0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
};
@ -248,8 +355,8 @@ const SequenceModel Windows_1258VietnameseModel =
{
Windows_1258_CharToOrderMap,
VietnameseLangModel,
54,
(float)0.9336493792477815,
101,
(float)0.9990039666080536,
PR_FALSE,
"WINDOWS-1258",
"vi"
@ -259,8 +366,8 @@ const SequenceModel VisciiVietnameseModel =
{
Viscii_CharToOrderMap,
VietnameseLangModel,
54,
(float)0.9336493792477815,
101,
(float)0.9990039666080536,
PR_FALSE,
"VISCII",
"vi"
@ -270,8 +377,8 @@ const LanguageModel VietnameseModel =
{
"vi",
Unicode_CharOrder,
108,
201,
VietnameseLangModel,
54,
(float)0.9336493792477815,
101,
(float)0.9439252336448598,
};