1<?php
2
3namespace Mpdf;
4
5class Ucdn
6{
7
8	/* HarfBuzz ucdn/unicodedata_db.h */
9	/* HarfBuzz ucdn/ucdn.c */
10	/* HarfBuzz ucdn/ucdn.h */
11
12	const SCRIPT_COMMON = 0;
13	const SCRIPT_LATIN = 1;
14	const SCRIPT_GREEK = 2;
15	const SCRIPT_CYRILLIC = 3;
16	const SCRIPT_ARMENIAN = 4;
17	const SCRIPT_HEBREW = 5;
18	const SCRIPT_ARABIC = 6;
19	const SCRIPT_SYRIAC = 7;
20	const SCRIPT_THAANA = 8;
21	const SCRIPT_DEVANAGARI = 9;
22	const SCRIPT_BENGALI = 10;
23	const SCRIPT_GURMUKHI = 11;
24	const SCRIPT_GUJARATI = 12;
25	const SCRIPT_ORIYA = 13;
26	const SCRIPT_TAMIL = 14;
27	const SCRIPT_TELUGU = 15;
28	const SCRIPT_KANNADA = 16;
29	const SCRIPT_MALAYALAM = 17;
30	const SCRIPT_SINHALA = 18;
31	const SCRIPT_THAI = 19;
32	const SCRIPT_LAO = 20;
33	const SCRIPT_TIBETAN = 21;
34	const SCRIPT_MYANMAR = 22;
35	const SCRIPT_GEORGIAN = 23;
36	const SCRIPT_HANGUL = 24;
37	const SCRIPT_ETHIOPIC = 25;
38	const SCRIPT_CHEROKEE = 26;
39	const SCRIPT_CANADIAN_ABORIGINAL = 27;
40	const SCRIPT_OGHAM = 28;
41	const SCRIPT_RUNIC = 29;
42	const SCRIPT_KHMER = 30;
43	const SCRIPT_MONGOLIAN = 31;
44	const SCRIPT_HIRAGANA = 32;
45	const SCRIPT_KATAKANA = 33;
46	const SCRIPT_BOPOMOFO = 34;
47	const SCRIPT_HAN = 35;
48	const SCRIPT_YI = 36;
49	const SCRIPT_OLD_ITALIC = 37;
50	const SCRIPT_GOTHIC = 38;
51	const SCRIPT_DESERET = 39;
52	const SCRIPT_INHERITED = 40;
53	const SCRIPT_TAGALOG = 41;
54	const SCRIPT_HANUNOO = 42;
55	const SCRIPT_BUHID = 43;
56	const SCRIPT_TAGBANWA = 44;
57	const SCRIPT_LIMBU = 45;
58	const SCRIPT_TAI_LE = 46;
59	const SCRIPT_LINEAR_B = 47;
60	const SCRIPT_UGARITIC = 48;
61	const SCRIPT_SHAVIAN = 49;
62	const SCRIPT_OSMANYA = 50;
63	const SCRIPT_CYPRIOT = 51;
64	const SCRIPT_BRAILLE = 52;
65	const SCRIPT_BUGINESE = 53;
66	const SCRIPT_COPTIC = 54;
67	const SCRIPT_NEW_TAI_LUE = 55;
68	const SCRIPT_GLAGOLITIC = 56;
69	const SCRIPT_TIFINAGH = 57;
70	const SCRIPT_SYLOTI_NAGRI = 58;
71	const SCRIPT_OLD_PERSIAN = 59;
72	const SCRIPT_KHAROSHTHI = 60;
73	const SCRIPT_BALINESE = 61;
74	const SCRIPT_CUNEIFORM = 62;
75	const SCRIPT_PHOENICIAN = 63;
76	const SCRIPT_PHAGS_PA = 64;
77	const SCRIPT_NKO = 65;
78	const SCRIPT_SUNDANESE = 66;
79	const SCRIPT_LEPCHA = 67;
80	const SCRIPT_OL_CHIKI = 68;
81	const SCRIPT_VAI = 69;
82	const SCRIPT_SAURASHTRA = 70;
83	const SCRIPT_KAYAH_LI = 71;
84	const SCRIPT_REJANG = 72;
85	const SCRIPT_LYCIAN = 73;
86	const SCRIPT_CARIAN = 74;
87	const SCRIPT_LYDIAN = 75;
88	const SCRIPT_CHAM = 76;
89	const SCRIPT_TAI_THAM = 77;
90	const SCRIPT_TAI_VIET = 78;
91	const SCRIPT_AVESTAN = 79;
92	const SCRIPT_EGYPTIAN_HIEROGLYPHS = 80;
93	const SCRIPT_SAMARITAN = 81;
94	const SCRIPT_LISU = 82;
95	const SCRIPT_BAMUM = 83;
96	const SCRIPT_JAVANESE = 84;
97	const SCRIPT_MEETEI_MAYEK = 85;
98	const SCRIPT_IMPERIAL_ARAMAIC = 86;
99	const SCRIPT_OLD_SOUTH_ARABIAN = 87;
100	const SCRIPT_INSCRIPTIONAL_PARTHIAN = 88;
101	const SCRIPT_INSCRIPTIONAL_PAHLAVI = 89;
102	const SCRIPT_OLD_TURKIC = 90;
103	const SCRIPT_KAITHI = 91;
104	const SCRIPT_BATAK = 92;
105	const SCRIPT_BRAHMI = 93;
106	const SCRIPT_MANDAIC = 94;
107	const SCRIPT_CHAKMA = 95;
108	const SCRIPT_MEROITIC_CURSIVE = 96;
109	const SCRIPT_MEROITIC_HIEROGLYPHS = 97;
110	const SCRIPT_MIAO = 98;
111	const SCRIPT_SHARADA = 99;
112	const SCRIPT_SORA_SOMPENG = 100;
113	const SCRIPT_TAKRI = 101;
114	const SCRIPT_UNKNOWN = 102;
115
116	public static function get_ucd_record($code)
117	{
118		if ($code >= 0x110000) {
119			$index = 0;
120		} else {
121			$index = self::$index0[$code >> (8)] << 5;
122			$offset = ($code >> 3) & ((1 << 5) - 1);
123			$index = self::$index1[$index + $offset] << 3;
124			$offset = $code & ((1 << 3) - 1);
125			$index = self::$index2[$index + $offset];
126		}
127		return self::$ucd_records[$index];
128	}
129
130	public static function get_general_category($code)
131	{
132		$ucd_record = self::get_ucd_record($code);
133		return $ucd_record[0];
134	}
135
136	public static function get_combining_class($code)
137	{
138		$ucd_record = self::get_ucd_record($code);
139		return $ucd_record[1];
140	}
141
142	public static function get_bidi_class($code)
143	{
144		$ucd_record = self::get_ucd_record($code);
145		return $ucd_record[2];
146	}
147
148	public static function get_mirrored($code)
149	{
150		$ucd_record = self::get_ucd_record($code);
151		return $ucd_record[3];
152	}
153
154	public static function get_east_asian_width($code)
155	{
156		$ucd_record = self::get_ucd_record($code);
157		return $ucd_record[4];
158	}
159
160	public static function get_normalization_check($code)
161	{
162		$ucd_record = self::get_ucd_record($code);
163		return $ucd_record[5];
164	}
165
166	public static function get_script($code)
167	{
168		$ucd_record = self::get_ucd_record($code);
169		return $ucd_record[6];
170	}
171
172	// mPDF added
173	public static $uni_scriptblock = [
174		/* SCRIPT_COMMON */ 0 => '',
175		/* SCRIPT_LATIN */ 1 => 'latn',
176		/* SCRIPT_GREEK */ 2 => 'grek',
177		/* SCRIPT_CYRILLIC */ 3 => 'cyrl',
178		/* SCRIPT_ARMENIAN */ 4 => 'armn',
179		/* SCRIPT_HEBREW */ 5 => 'hebr',
180		/* SCRIPT_ARABIC */ 6 => 'arab',
181		/* SCRIPT_SYRIAC */ 7 => 'syrc',
182		/* SCRIPT_THAANA */ 8 => 'thaa',
183		/* SCRIPT_DEVANAGARI */ 9 => 'dev2',
184		/* SCRIPT_BENGALI */ 10 => 'bng2',
185		/* SCRIPT_GURMUKHI */ 11 => 'gur2',
186		/* SCRIPT_GUJARATI */ 12 => 'gjr2',
187		/* SCRIPT_ORIYA */ 13 => 'ory2',
188		/* SCRIPT_TAMIL */ 14 => 'tml2',
189		/* SCRIPT_TELUGU */ 15 => 'tel2',
190		/* SCRIPT_KANNADA */ 16 => 'knd2',
191		/* SCRIPT_MALAYALAM */ 17 => 'mlm2',
192		/* SCRIPT_SINHALA */ 18 => 'sinh',
193		/* SCRIPT_THAI */ 19 => 'thai',
194		/* SCRIPT_LAO */ 20 => 'lao ',
195		/* SCRIPT_TIBETAN */ 21 => 'tibt',
196		/* SCRIPT_MYANMAR */ 22 => 'mym2',
197		/* SCRIPT_GEORGIAN */ 23 => 'geor',
198		/* SCRIPT_HANGUL */ 24 => 'jamo', /* there is also a hang tag, but we want to activate jamo features if present */
199		/* SCRIPT_ETHIOPIC */ 25 => 'ethi',
200		/* SCRIPT_CHEROKEE */ 26 => 'cher',
201		/* SCRIPT_CANADIAN_ABORIGINAL */ 27 => 'cans',
202		/* SCRIPT_OGHAM */ 28 => 'ogam',
203		/* SCRIPT_RUNIC */ 29 => 'runr',
204		/* SCRIPT_KHMER */ 30 => 'khmr',
205		/* SCRIPT_MONGOLIAN */ 31 => 'mong',
206		/* SCRIPT_HIRAGANA */ 32 => 'kana',
207		/* SCRIPT_KATAKANA */ 33 => 'kana',
208		/* SCRIPT_BOPOMOFO */ 34 => 'bopo',
209		/* SCRIPT_HAN */ 35 => 'hani',
210		/* SCRIPT_YI */ 36 => 'yi  ',
211		/* SCRIPT_OLD_ITALIC */ 37 => 'ital',
212		/* SCRIPT_GOTHIC */ 38 => 'goth',
213		/* SCRIPT_DESERET */ 39 => 'dsrt',
214		/* SCRIPT_INHERITED */ 40 => '',
215		/* SCRIPT_TAGALOG */ 41 => 'tglg',
216		/* SCRIPT_HANUNOO */ 42 => 'hano',
217		/* SCRIPT_BUHID */ 43 => 'buhd',
218		/* SCRIPT_TAGBANWA */ 44 => 'tagb',
219		/* SCRIPT_LIMBU */ 45 => 'limb',
220		/* SCRIPT_TAI_LE */ 46 => 'tale',
221		/* SCRIPT_LINEAR_B */ 47 => 'linb',
222		/* SCRIPT_UGARITIC */ 48 => 'ugar',
223		/* SCRIPT_SHAVIAN */ 49 => 'shaw',
224		/* SCRIPT_OSMANYA */ 50 => 'osma',
225		/* SCRIPT_CYPRIOT */ 51 => 'cprt',
226		/* SCRIPT_BRAILLE */ 52 => 'brai',
227		/* SCRIPT_BUGINESE */ 53 => 'bugi',
228		/* SCRIPT_COPTIC */ 54 => 'copt',
229		/* SCRIPT_NEW_TAI_LUE */ 55 => 'talu',
230		/* SCRIPT_GLAGOLITIC */ 56 => 'glag',
231		/* SCRIPT_TIFINAGH */ 57 => 'tfng',
232		/* SCRIPT_SYLOTI_NAGRI */ 58 => 'sylo',
233		/* SCRIPT_OLD_PERSIAN */ 59 => 'xpeo',
234		/* SCRIPT_KHAROSHTHI */ 60 => 'khar',
235		/* SCRIPT_BALINESE */ 61 => 'bali',
236		/* SCRIPT_CUNEIFORM */ 62 => 'xsux',
237		/* SCRIPT_PHOENICIAN */ 63 => 'phnx',
238		/* SCRIPT_PHAGS_PA */ 64 => 'phag',
239		/* SCRIPT_NKO */ 65 => 'nko ',
240		/* SCRIPT_SUNDANESE */ 66 => 'sund',
241		/* SCRIPT_LEPCHA */ 67 => 'lepc',
242		/* SCRIPT_OL_CHIKI */ 68 => 'olck',
243		/* SCRIPT_VAI */ 69 => 'vai ',
244		/* SCRIPT_SAURASHTRA */ 70 => 'saur',
245		/* SCRIPT_KAYAH_LI */ 71 => 'kali',
246		/* SCRIPT_REJANG */ 72 => 'rjng',
247		/* SCRIPT_LYCIAN */ 73 => 'lyci',
248		/* SCRIPT_CARIAN */ 74 => 'cari',
249		/* SCRIPT_LYDIAN */ 75 => 'lydi',
250		/* SCRIPT_CHAM */ 76 => 'cham',
251		/* SCRIPT_TAI_THAM */ 77 => 'lana',
252		/* SCRIPT_TAI_VIET */ 78 => 'tavt',
253		/* SCRIPT_AVESTAN */ 79 => 'avst',
254		/* SCRIPT_EGYPTIAN_HIEROGLYPHS */ 80 => 'egyp',
255		/* SCRIPT_SAMARITAN */ 81 => 'samr',
256		/* SCRIPT_LISU */ 82 => 'lisu',
257		/* SCRIPT_BAMUM */ 83 => 'bamu',
258		/* SCRIPT_JAVANESE */ 84 => 'java',
259		/* SCRIPT_MEETEI_MAYEK */ 85 => 'mtei',
260		/* SCRIPT_IMPERIAL_ARAMAIC */ 86 => 'armi',
261		/* SCRIPT_OLD_SOUTH_ARABIAN */ 87 => 'sarb',
262		/* SCRIPT_INSCRIPTIONAL_PARTHIAN */ 88 => 'prti',
263		/* SCRIPT_INSCRIPTIONAL_PAHLAVI */ 89 => 'phli',
264		/* SCRIPT_OLD_TURKIC */ 90 => 'orkh',
265		/* SCRIPT_KAITHI */ 91 => 'kthi',
266		/* SCRIPT_BATAK */ 92 => 'batk',
267		/* SCRIPT_BRAHMI */ 93 => 'brah',
268		/* SCRIPT_MANDAIC */ 94 => 'mand',
269		/* SCRIPT_CHAKMA */ 95 => 'cakm',
270		/* SCRIPT_MEROITIC_CURSIVE */ 96 => 'merc',
271		/* SCRIPT_MEROITIC_HIEROGLYPHS */ 97 => 'mero',
272		/* SCRIPT_MIAO */ 98 => 'plrd',
273		/* SCRIPT_SHARADA */ 99 => 'shrd',
274		/* SCRIPT_SORA_SOMPENG */ 100 => 'sora',
275		/* SCRIPT_TAKRI */ 101 => 'takr',
276		/* SCRIPT_UNKNOWN */ 102 => '',
277	];
278
279	public static $ot_languages = [
280		'aa' => 'AFR ', /* Afar */
281		'ab' => 'ABK ', /* Abkhazian */
282		'abq' => 'ABA ', /* Abaza */
283		'ada' => 'DNG ', /* Dangme */
284		'ady' => 'ADY ', /* Adyghe */
285		'af' => 'AFK ', /* Afrikaans */
286		'aii' => 'SWA ', /* Swadaya Aramaic */
287		'aiw' => 'ARI ', /* Aari */
288		'alt' => 'ALT ', /* [Southern] Altai */
289		'am' => 'AMH ', /* Amharic */
290		'amf' => 'HBN ', /* Hammer-Banna */
291		'ar' => 'ARA ', /* Arabic */
292		'arn' => 'MAP ', /* Mapudungun */
293		'as' => 'ASM ', /* Assamese */
294		'ath' => 'ATH ', /* Athapaskan [family] */
295		'atv' => 'ALT ', /* [Northern] Altai */
296		'av' => 'AVR ', /* Avaric */
297		'awa' => 'AWA ', /* Awadhi */
298		'ay' => 'AYM ', /* Aymara */
299		'az' => 'AZE ', /* Azerbaijani */
300		'ba' => 'BSH ', /* Bashkir */
301		'bai' => 'BML ', /* Bamileke [family] */
302		'bal' => 'BLI ', /* Baluchi */
303		'bci' => 'BAU ', /* Baule */
304		'bcq' => 'BCH ', /* Bench */
305		'be' => 'BEL ', /* Belarussian */
306		'bem' => 'BEM ', /* Bemba (Zambia) */
307		'ber' => 'BER ', /* Berber [family] */
308		'bfq' => 'BAD ', /* Badaga */
309		'bft' => 'BLT ', /* Balti */
310		'bfy' => 'BAG ', /* Baghelkhandi */
311		'bg' => 'BGR ', /* Bulgarian */
312		'bhb' => 'BHI ', /* Bhili */
313		'bho' => 'BHO ', /* Bhojpuri */
314		'bik' => 'BIK ', /* Bikol */
315		'bin' => 'EDO ', /* Bini */
316		'bjt' => 'BLN ', /* Balanta-Ganja */
317		'bla' => 'BKF ', /* Blackfoot */
318		'ble' => 'BLN ', /* Balanta-Kentohe */
319		'bm' => 'BMB ', /* Bambara */
320		'bn' => 'BEN ', /* Bengali */
321		'bo' => 'TIB ', /* Tibetan */
322		'br' => 'BRE ', /* Breton */
323		'bra' => 'BRI ', /* Braj Bhasha */
324		'brh' => 'BRH ', /* Brahui */
325		'bs' => 'BOS ', /* Bosnian */
326		'btb' => 'BTI ', /* Beti (Cameroon) */
327		'bxr' => 'RBU ', /* Russian Buriat */
328		'byn' => 'BIL ', /* Bilen */
329		'ca' => 'CAT ', /* Catalan */
330		'ce' => 'CHE ', /* Chechen */
331		'ceb' => 'CEB ', /* Cebuano */
332		'chp' => 'CHP ', /* Chipewyan */
333		'chr' => 'CHR ', /* Cherokee */
334		'ckt' => 'CHK ', /* Chukchi */
335		'cop' => 'COP ', /* Coptic */
336		'cr' => 'CRE ', /* Cree */
337		'crh' => 'CRT ', /* Crimean Tatar */
338		'crj' => 'ECR ', /* [Southern] East Cree */
339		'crl' => 'ECR ', /* [Northern] East Cree */
340		'crm' => 'MCR ', /* Moose Cree */
341		'crx' => 'CRR ', /* Carrier */
342		'cs' => 'CSY ', /* Czech */
343		'cu' => 'CSL ', /* Church Slavic */
344		'cv' => 'CHU ', /* Chuvash */
345		'cwd' => 'DCR ', /* Woods Cree */
346		'cy' => 'WEL ', /* Welsh */
347		'da' => 'DAN ', /* Danish */
348		'dap' => 'NIS ', /* Nisi (India) */
349		'dar' => 'DAR ', /* Dargwa */
350		'de' => 'DEU ', /* German */
351		'din' => 'DNK ', /* Dinka */
352		'dje' => 'DJR ', /* Djerma */
353		'dng' => 'DUN ', /* Dungan */
354		'doi' => 'DGR ', /* Dogri */
355		'dsb' => 'LSB ', /* Lower Sorbian */
356		'dv' => 'DIV ', /* Dhivehi */
357		'dyu' => 'JUL ', /* Jula */
358		'dz' => 'DZN ', /* Dzongkha */
359		'ee' => 'EWE ', /* Ewe */
360		'efi' => 'EFI ', /* Efik */
361		'el' => 'ELL ', /* Modern Greek (1453-) */
362		'grc' => 'PGR ', /* Polytonic Greek */
363		'en' => 'ENG ', /* English */
364		'eo' => 'NTO ', /* Esperanto */
365		'eot' => 'BTI ', /* Beti (Côte d'Ivoire) */
366		'es' => 'ESP ', /* Spanish */
367		'et' => 'ETI ', /* Estonian */
368		'eu' => 'EUQ ', /* Basque */
369		'eve' => 'EVN ', /* Even */
370		'evn' => 'EVK ', /* Evenki */
371		'fa' => 'FAR ', /* Persian */
372		'ff' => 'FUL ', /* Fulah */
373		'fi' => 'FIN ', /* Finnish */
374		'fil' => 'PIL ', /* Filipino */
375		'fj' => 'FJI ', /* Fijian */
376		'fo' => 'FOS ', /* Faroese */
377		'fon' => 'FON ', /* Fon */
378		'fr' => 'FRA ', /* French */
379		'fur' => 'FRL ', /* Friulian */
380		'fy' => 'FRI ', /* Western Frisian */
381		'ga' => 'IRI ', /* Irish */
382		'gaa' => 'GAD ', /* Ga */
383		'gag' => 'GAG ', /* Gagauz */
384		'gbm' => 'GAW ', /* Garhwali */
385		'gd' => 'GAE ', /* Scottish Gaelic */
386		'gez' => 'GEZ ', /* Ge'ez */
387		'gl' => 'GAL ', /* Galician */
388		'gld' => 'NAN ', /* Nanai */
389		'gn' => 'GUA ', /* Guarani */
390		'gon' => 'GON ', /* Gondi */
391		'grt' => 'GRO ', /* Garo */
392		'gru' => 'SOG ', /* Sodo Gurage */
393		'gu' => 'GUJ ', /* Gujarati */
394		'guk' => 'GMZ ', /* Gumuz */
395		'gv' => 'MNX ', /* Manx Gaelic */
396		'ha' => 'HAU ', /* Hausa */
397		'har' => 'HRI ', /* Harari */
398		'haw' => 'HAW ', /* Hawaiin */
399		'he' => 'IWR ', /* Hebrew */
400		'hi' => 'HIN ', /* Hindi */
401		'hil' => 'HIL ', /* Hiligaynon */
402		'hnd' => 'HND ', /* [Southern] Hindko */
403		'hne' => 'CHH ', /* Chattisgarhi */
404		'hno' => 'HND ', /* [Northern] Hindko */
405		'hoc' => 'HO  ', /* Ho */
406		'hoj' => 'HAR ', /* Harauti */
407		'hr' => 'HRV ', /* Croatian */
408		'hsb' => 'USB ', /* Upper Sorbian */
409		'ht' => 'HAI ', /* Haitian */
410		'hu' => 'HUN ', /* Hungarian */
411		'hy' => 'HYE ', /* Armenian */
412		'id' => 'IND ', /* Indonesian */
413		'ig' => 'IBO ', /* Igbo */
414		'igb' => 'EBI ', /* Ebira */
415		'ijo' => 'IJO ', /* Ijo [family] */
416		'ilo' => 'ILO ', /* Ilokano */
417		'inh' => 'ING ', /* Ingush */
418		'is' => 'ISL ', /* Icelandic */
419		'it' => 'ITA ', /* Italian */
420		'iu' => 'INU ', /* Inuktitut */
421		'ja' => 'JAN ', /* Japanese */
422		'jv' => 'JAV ', /* Javanese */
423		'ka' => 'KAT ', /* Georgian */
424		'kaa' => 'KRK ', /* Karakalpak */
425		'kam' => 'KMB ', /* Kamba (Kenya) */
426		'kar' => 'KRN ', /* Karen [family] */
427		'kbd' => 'KAB ', /* Kabardian */
428		'kdr' => 'KRM ', /* Karaim */
429		'kdt' => 'KUY ', /* Kuy */
430		'kex' => 'KKN ', /* Kokni */
431		'kfr' => 'KAC ', /* Kachchi */
432		'kfy' => 'KMN ', /* Kumaoni */
433		'kha' => 'KSI ', /* Khasi */
434		'khb' => 'XBD ', /* Tai Lue */
435		'khw' => 'KHW ', /* Khowar */
436		'ki' => 'KIK ', /* Kikuyu */
437		'kjh' => 'KHA ', /* Khakass */
438		'kk' => 'KAZ ', /* Kazakh */
439		'kl' => 'GRN ', /* Kalaallisut */
440		'kln' => 'KAL ', /* Kalenjin */
441		'km' => 'KHM ', /* Central Khmer */
442		'kmb' => 'MBN ', /* [North] Mbundu */
443		'kmw' => 'KMO ', /* Komo (Democratic Republic of Congo) */
444		'kn' => 'KAN ', /* Kannada */
445		'ko' => 'KOR ', /* Korean */
446		'koi' => 'KOP ', /* Komi-Permyak */
447		'kok' => 'KOK ', /* Konkani */
448		'kpe' => 'KPL ', /* Kpelle */
449		'kpv' => 'KOZ ', /* Komi-Zyrian */
450		'kpy' => 'KYK ', /* Koryak */
451		'kqy' => 'KRT ', /* Koorete */
452		'kr' => 'KNR ', /* Kanuri */
453		'kri' => 'KRI ', /* Krio */
454		'krl' => 'KRL ', /* Karelian */
455		'kru' => 'KUU ', /* Kurukh */
456		'ks' => 'KSH ', /* Kashmiri */
457		'ku' => 'KUR ', /* Kurdish */
458		'kum' => 'KUM ', /* Kumyk */
459		'kvd' => 'KUI ', /* Kui (Indonesia) */
460		'kxc' => 'KMS ', /* Komso */
461		'kxu' => 'KUI ', /* Kui (India) */
462		'ky' => 'KIR ', /* Kirghiz */
463		'la' => 'LAT ', /* Latin */
464		'lad' => 'JUD ', /* Ladino */
465		'lb' => 'LTZ ', /* Luxembourgish */
466		'lbe' => 'LAK ', /* Lak */
467		'lbj' => 'LDK ', /* Ladakhi */
468		'lez' => 'LEZ ', /* Lezgi */
469		'lg' => 'LUG ', /* Luganda */
470		'lif' => 'LMB ', /* Limbu */
471		'lld' => 'LAD ', /* Ladin */
472		'lmn' => 'LAM ', /* Lambani */
473		'ln' => 'LIN ', /* Lingala */
474		'lo' => 'LAO ', /* Lao */
475		'lt' => 'LTH ', /* Lithuanian */
476		'lu' => 'LUB ', /* Luba-Katanga */
477		'lua' => 'LUB ', /* Luba-Kasai */
478		'luo' => 'LUO ', /* Luo (Kenya and Tanzania) */
479		'lus' => 'MIZ ', /* Mizo */
480		'luy' => 'LUH ', /* Luhya [macrolanguage] */
481		'lv' => 'LVI ', /* Latvian */
482		'lzz' => 'LAZ ', /* Laz */
483		'mai' => 'MTH ', /* Maithili */
484		'mdc' => 'MLE ', /* Male (Papua New Guinea) */
485		'mdf' => 'MOK ', /* Moksha */
486		'mdy' => 'MLE ', /* Male (Ethiopia) */
487		'men' => 'MDE ', /* Mende (Sierra Leone) */
488		'mg' => 'MLG ', /* Malagasy */
489		'mhr' => 'LMA ', /* Low Mari */
490		'mi' => 'MRI ', /* Maori */
491		'mk' => 'MKD ', /* Macedonian */
492		'ml' => 'MLR ', /* Malayalam reformed  (MAL is Malayalam Traditional) */
493		'mn' => 'MNG ', /* Mongolian */
494		'mnc' => 'MCH ', /* Manchu */
495		'mni' => 'MNI ', /* Manipuri */
496		'mnk' => 'MND ', /* Mandinka */
497		'mns' => 'MAN ', /* Mansi */
498		'mnw' => 'MON ', /* Mon */
499		'mo' => 'MOL ', /* Moldavian */
500		'moh' => 'MOH ', /* Mohawk */
501		'mpe' => 'MAJ ', /* Majang */
502		'mr' => 'MAR ', /* Marathi */
503		'mrj' => 'HMA ', /* High Mari */
504		'ms' => 'MLY ', /* Malay */
505		'mt' => 'MTS ', /* Maltese */
506		'mwr' => 'MAW ', /* Marwari */
507		'my' => 'BRM ', /* Burmese */
508		'mym' => 'MEN ', /* Me'en */
509		'myv' => 'ERZ ', /* Erzya */
510		'nag' => 'NAG ', /* Naga-Assamese */
511		'nb' => 'NOR ', /* Norwegian Bokmål */
512		'nco' => 'SIB ', /* Sibe */
513		'nd' => 'NDB ', /* [North] Ndebele */
514		'ne' => 'NEP ', /* Nepali */
515		'new' => 'NEW ', /* Newari */
516		'ng' => 'NDG ', /* Ndonga */
517		'ngl' => 'LMW ', /* Lomwe */
518		'niu' => 'NIU ', /* Niuean */
519		'niv' => 'GIL ', /* Gilyak */
520		'nl' => 'NLD ', /* Dutch */
521		'nn' => 'NYN ', /* Norwegian Nynorsk */
522		'no' => 'NOR ', /* Norwegian (deprecated) */
523		'nod' => 'NTA ', /* Northern Tai */
524		'nog' => 'NOG ', /* Nogai */
525		'nqo' => 'NKO ', /* N'Ko */
526		'nr' => 'NDB ', /* [South] Ndebele */
527		'nsk' => 'NAS ', /* Naskapi */
528		'nso' => 'SOT ', /* [Northern] Sotho */
529		'ny' => 'CHI ', /* Nyanja */
530		'nyn' => 'NKL ', /* Nkole */
531		'oc' => 'OCI ', /* Occitan (post 1500) */
532		'oj' => 'OJB ', /* Ojibwa */
533		'ojs' => 'OCR ', /* Oji-Cree */
534		'om' => 'ORO ', /* Oromo */
535		'or' => 'ORI ', /* Oriya */
536		'os' => 'OSS ', /* Ossetian */
537		'pa' => 'PAN ', /* Panjabi */
538		'pce' => 'PLG ', /* [Ruching] Palaung */
539		'pi' => 'PAL ', /* Pali */
540		'pl' => 'PLK ', /* Polish */
541		'pll' => 'PLG ', /* [Shwe] Palaung */
542		'plp' => 'PAP ', /* Palpa */
543		'prs' => 'DRI ', /* Dari */
544		'ps' => 'PAS ', /* Pushto */
545		'pt' => 'PTG ', /* Portuguese */
546		'raj' => 'RAJ ', /* Rajasthani */
547		'rbb' => 'PLG ', /* [Rumai] Palaung */
548		'ria' => 'RIA ', /* Riang (India) */
549		'ril' => 'RIA ', /* Riang (Myanmar) */
550		'rki' => 'ARK ', /* Arakanese */
551		'rm' => 'RMS ', /* Rhaeto-Romanic */
552		'ro' => 'ROM ', /* Romanian */
553		'rom' => 'ROY ', /* Romany */
554		'ru' => 'RUS ', /* Russian */
555		'rue' => 'RSY ', /* Rusyn */
556		'rw' => 'RUA ', /* Ruanda */
557		'sa' => 'SAN ', /* Sanskrit */
558		'sah' => 'YAK ', /* Yakut */
559		'sat' => 'SAT ', /* Santali */
560		'sck' => 'SAD ', /* Sadri */
561		'scs' => 'SLA ', /* [North] Slavey */
562		'sd' => 'SND ', /* Sindhi */
563		'se' => 'NSM ', /* Northern Sami */
564		'seh' => 'SNA ', /* Sena */
565		'sel' => 'SEL ', /* Selkup */
566		'sg' => 'SGO ', /* Sango */
567		'shn' => 'SHN ', /* Shan */
568		'si' => 'SNH ', /* Sinhala */
569		'sid' => 'SID ', /* Sidamo */
570		'sjd' => 'KSM ', /* Kildin Sami */
571		'sk' => 'SKY ', /* Slovak */
572		'skr' => 'SRK ', /* Seraiki */
573		'sl' => 'SLV ', /* Slovenian */
574		'sm' => 'SMO ', /* Samoan */
575		'sma' => 'SSM ', /* Southern Sami */
576		'smj' => 'LSM ', /* Lule Sami */
577		'smn' => 'ISM ', /* Inari Sami */
578		'sms' => 'SKS ', /* Skolt Sami */
579		'snk' => 'SNK ', /* Soninke */
580		'so' => 'SML ', /* Somali */
581		'sq' => 'SQI ', /* Albanian */
582		'sr' => 'SRB ', /* Serbian */
583		'srr' => 'SRR ', /* Serer */
584		'ss' => 'SWZ ', /* Swazi */
585		'st' => 'SOT ', /* [Southern] Sotho */
586		'suq' => 'SUR ', /* Suri */
587		'sv' => 'SVE ', /* Swedish */
588		'sva' => 'SVA ', /* Svan */
589		'sw' => 'SWK ', /* Swahili */
590		'swb' => 'CMR ', /* Comorian */
591		'syr' => 'SYR ', /* Syriac */
592		'ta' => 'TAM ', /* Tamil */
593		'tab' => 'TAB ', /* Tabasaran */
594		'tcy' => 'TUL ', /* Tulu */
595		'te' => 'TEL ', /* Telugu */
596		'tem' => 'TMN ', /* Temne */
597		'tg' => 'TAJ ', /* Tajik */
598		'th' => 'THA ', /* Thai */
599		'ti' => 'TGY ', /* Tigrinya */
600		'tig' => 'TGR ', /* Tigre */
601		'tk' => 'TKM ', /* Turkmen */
602		'tn' => 'TNA ', /* Tswana */
603		'to' => 'TGN ', /* Tonga (Tonga Islands) */
604		'tr' => 'TRK ', /* Turkish */
605		'tru' => 'TUA ', /* Turoyo Aramaic */
606		'ts' => 'TSG ', /* Tsonga */
607		'tt' => 'TAT ', /* Tatar */
608		'tw' => 'TWI ', /* Twi */
609		'ty' => 'THT ', /* Tahitian */
610		'tyv' => 'TUV ', /* Tuvin */
611		'udm' => 'UDM ', /* Udmurt */
612		'ug' => 'UYG ', /* Uighur */
613		'uk' => 'UKR ', /* Ukrainian */
614		'umb' => 'MBN ', /* [South] Mbundu */
615		'unr' => 'MUN ', /* Mundari */
616		'ur' => 'URD ', /* Urdu */
617		'uz' => 'UZB ', /* Uzbek */
618		've' => 'VEN ', /* Venda */
619		'vi' => 'VIT ', /* Vietnamese */
620		'vmw' => 'MAK ', /* Makua */
621		'wbm' => 'WA  ', /* Wa */
622		'wbr' => 'WAG ', /* Wagdi */
623		'wo' => 'WLF ', /* Wolof */
624		'xal' => 'KLM ', /* Kalmyk */
625		'xh' => 'XHS ', /* Xhosa */
626		'xom' => 'KMO ', /* Komo (Sudan) */
627		'xsl' => 'SSL ', /* South Slavey */
628		'yi' => 'JII ', /* Yiddish */
629		'yid' => 'JII ', /* Yiddish */
630		'yo' => 'YBA ', /* Yoruba */
631		'yso' => 'NIS ', /* Nisi (China) */
632		'zne' => 'ZND ', /* Zande */
633		'zu' => 'ZUL ', /* Zulu */
634		'zh-cn' => 'ZHS ', /* Chinese (China) */
635		'zh-hk' => 'ZHH ', /* Chinese (Hong Kong) */
636		'zh-mo' => 'ZHT ', /* Chinese (Macao) */
637		'zh-sg' => 'ZHS ', /* Chinese (Singapore) */
638		'zh-tw' => 'ZHT ', /* Chinese (Taiwan) */
639	];
640
641	// hb-unicode.h
642	const UNICODE_GENERAL_CATEGORY_CONTROL = 0;   /* Cc */
643	const UNICODE_GENERAL_CATEGORY_FORMAT = 1;   /* Cf */
644	const UNICODE_GENERAL_CATEGORY_UNASSIGNED = 2;   /* Cn */
645	const UNICODE_GENERAL_CATEGORY_PRIVATE_USE = 3;   /* Co */
646	const UNICODE_GENERAL_CATEGORY_SURROGATE = 4;   /* Cs */
647	const UNICODE_GENERAL_CATEGORY_LOWERCASE_LETTER = 5;  /* Ll */
648	const UNICODE_GENERAL_CATEGORY_MODIFIER_LETTER = 6;  /* Lm */
649	const UNICODE_GENERAL_CATEGORY_OTHER_LETTER = 7;  /* Lo */
650	const UNICODE_GENERAL_CATEGORY_TITLECASE_LETTER = 8;  /* Lt */
651	const UNICODE_GENERAL_CATEGORY_UPPERCASE_LETTER = 9;  /* Lu */
652	const UNICODE_GENERAL_CATEGORY_SPACING_MARK = 10;  /* Mc */
653	const UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK = 11;  /* Me */
654	const UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK = 12;  /* Mn */
655	const UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER = 13;  /* Nd */
656	const UNICODE_GENERAL_CATEGORY_LETTER_NUMBER = 14;  /* Nl */
657	const UNICODE_GENERAL_CATEGORY_OTHER_NUMBER = 15;  /* No */
658	const UNICODE_GENERAL_CATEGORY_CONNECT_PUNCTUATION = 16; /* Pc */
659	const UNICODE_GENERAL_CATEGORY_DASH_PUNCTUATION = 17;  /* Pd */
660	const UNICODE_GENERAL_CATEGORY_CLOSE_PUNCTUATION = 18; /* Pe */
661	const UNICODE_GENERAL_CATEGORY_FINAL_PUNCTUATION = 19; /* Pf */
662	const UNICODE_GENERAL_CATEGORY_INITIAL_PUNCTUATION = 20; /* Pi */
663	const UNICODE_GENERAL_CATEGORY_OTHER_PUNCTUATION = 21; /* Po */
664	const UNICODE_GENERAL_CATEGORY_OPEN_PUNCTUATION = 22;  /* Ps */
665	const UNICODE_GENERAL_CATEGORY_CURRENCY_SYMBOL = 23;  /* Sc */
666	const UNICODE_GENERAL_CATEGORY_MODIFIER_SYMBOL = 24;  /* Sk */
667	const UNICODE_GENERAL_CATEGORY_MATH_SYMBOL = 25;  /* Sm */
668	const UNICODE_GENERAL_CATEGORY_OTHER_SYMBOL = 26;  /* So */
669	const UNICODE_GENERAL_CATEGORY_LINE_SEPARATOR = 27;  /* Zl */
670	const UNICODE_GENERAL_CATEGORY_PARAGRAPH_SEPARATOR = 28; /* Zp */
671	const UNICODE_GENERAL_CATEGORY_SPACE_SEPARATOR = 29;  /* Zs */
672
673	function general_category_is_mark($gen_cat)
674	{
675		return $gen_cat == self::UNICODE_GENERAL_CATEGORY_SPACING_MARK || $gen_cat == self::UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK ||
676			$gen_cat == self::UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK;
677		// define UNICODE_GENERAL_CATEGORY_IS_MARK(gen_cat)
678		//if (FLAG(gen_cat) & (FLAG(UNICODE_GENERAL_CATEGORY_SPACING_MARK) | FLAG(UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK) | FLAG(UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK))) { return true; }
679	}
680
681	const BIDI_CLASS_L = 0;
682	const BIDI_CLASS_LRE = 1;
683	const BIDI_CLASS_LRO = 2;
684	const BIDI_CLASS_R = 3;
685	const BIDI_CLASS_AL = 4;
686	const BIDI_CLASS_RLE = 5;
687	const BIDI_CLASS_RLO = 6;
688	const BIDI_CLASS_PDF = 7;
689	const BIDI_CLASS_EN = 8;
690	const BIDI_CLASS_ES = 9;
691	const BIDI_CLASS_ET = 10;
692	const BIDI_CLASS_AN = 11;
693	const BIDI_CLASS_CS = 12;
694	const BIDI_CLASS_NSM = 13;
695	const BIDI_CLASS_BN = 14;
696	const BIDI_CLASS_B = 15;
697	const BIDI_CLASS_S = 16;
698	const BIDI_CLASS_WS = 17;
699	const BIDI_CLASS_ON = 18;
700
701	// UNIDATA_VERSION 6.2.0
702	/* a list of unique database records */
703	/* struct {
704	  category;
705	  combining;
706	  bidi_class;
707	  mirrored;
708	  east_asian_width;
709	  normalization_check;
710	  script;
711	  }
712	 */
713	private static $ucd_records = [
714		[2, 0, 18, 0, 5, 0, 102],
715		[0, 0, 14, 0, 5, 0, 0],
716		[0, 0, 16, 0, 5, 0, 0],
717		[0, 0, 15, 0, 5, 0, 0],
718		[0, 0, 17, 0, 5, 0, 0],
719		[29, 0, 17, 0, 3, 0, 0],
720		[21, 0, 18, 0, 3, 0, 0],
721		[21, 0, 10, 0, 3, 0, 0],
722		[23, 0, 10, 0, 3, 0, 0],
723		[22, 0, 18, 1, 3, 0, 0],
724		[18, 0, 18, 1, 3, 0, 0],
725		[25, 0, 9, 0, 3, 0, 0],
726		[21, 0, 12, 0, 3, 0, 0],
727		[17, 0, 9, 0, 3, 0, 0],
728		[13, 0, 8, 0, 3, 0, 0],
729		[25, 0, 18, 1, 3, 0, 0],
730		[25, 0, 18, 0, 3, 0, 0],
731		[9, 0, 0, 0, 3, 0, 1],
732		[24, 0, 18, 0, 3, 0, 0],
733		[16, 0, 18, 0, 3, 0, 0],
734		[5, 0, 0, 0, 3, 0, 1],
735		[29, 0, 12, 0, 5, 0, 0],
736		[21, 0, 18, 0, 4, 0, 0],
737		[23, 0, 10, 0, 4, 0, 0],
738		[26, 0, 18, 0, 3, 0, 0],
739		[24, 0, 18, 0, 4, 0, 0],
740		[26, 0, 18, 0, 5, 0, 0],
741		[7, 0, 0, 0, 4, 0, 1],
742		[20, 0, 18, 1, 5, 0, 0],
743		[1, 0, 14, 0, 4, 0, 0],
744		[26, 0, 18, 0, 4, 0, 0],
745		[26, 0, 10, 0, 4, 0, 0],
746		[25, 0, 10, 0, 4, 0, 0],
747		[15, 0, 8, 0, 4, 0, 0],
748		[5, 0, 0, 0, 5, 0, 0],
749		[19, 0, 18, 1, 5, 0, 0],
750		[15, 0, 18, 0, 4, 0, 0],
751		[9, 0, 0, 0, 5, 0, 1],
752		[9, 0, 0, 0, 4, 0, 1],
753		[25, 0, 18, 0, 4, 0, 0],
754		[5, 0, 0, 0, 4, 0, 1],
755		[5, 0, 0, 0, 5, 0, 1],
756		[7, 0, 0, 0, 5, 0, 1],
757		[8, 0, 0, 0, 5, 0, 1],
758		[6, 0, 0, 0, 5, 0, 1],
759		[6, 0, 18, 0, 5, 0, 0],
760		[6, 0, 0, 0, 5, 0, 0],
761		[24, 0, 18, 0, 5, 0, 0],
762		[6, 0, 18, 0, 4, 0, 0],
763		[6, 0, 0, 0, 4, 0, 0],
764		[24, 0, 18, 0, 5, 0, 34],
765		[12, 230, 13, 0, 4, 0, 40],
766		[12, 232, 13, 0, 4, 0, 40],
767		[12, 220, 13, 0, 4, 0, 40],
768		[12, 216, 13, 0, 4, 0, 40],
769		[12, 202, 13, 0, 4, 0, 40],
770		[12, 1, 13, 0, 4, 0, 40],
771		[12, 240, 13, 0, 4, 0, 40],
772		[12, 0, 13, 0, 4, 0, 40],
773		[12, 233, 13, 0, 4, 0, 40],
774		[12, 234, 13, 0, 4, 0, 40],
775		[9, 0, 0, 0, 5, 0, 2],
776		[5, 0, 0, 0, 5, 0, 2],
777		[24, 0, 18, 0, 5, 0, 2],
778		[2, 0, 18, 0, 5, 0, 102],
779		[6, 0, 0, 0, 5, 0, 2],
780		[21, 0, 18, 0, 5, 0, 0],
781		[9, 0, 0, 0, 4, 0, 2],
782		[5, 0, 0, 0, 4, 0, 2],
783		[9, 0, 0, 0, 5, 0, 54],
784		[5, 0, 0, 0, 5, 0, 54],
785		[25, 0, 18, 0, 5, 0, 2],
786		[9, 0, 0, 0, 5, 0, 3],
787		[9, 0, 0, 0, 4, 0, 3],
788		[5, 0, 0, 0, 4, 0, 3],
789		[5, 0, 0, 0, 5, 0, 3],
790		[26, 0, 0, 0, 5, 0, 3],
791		[12, 230, 13, 0, 5, 0, 3],
792		[12, 230, 13, 0, 5, 0, 40],
793		[11, 0, 13, 0, 5, 0, 3],
794		[9, 0, 0, 0, 5, 0, 4],
795		[6, 0, 0, 0, 5, 0, 4],
796		[21, 0, 0, 0, 5, 0, 4],
797		[5, 0, 0, 0, 5, 0, 4],
798		[21, 0, 0, 0, 5, 0, 0],
799		[17, 0, 18, 0, 5, 0, 4],
800		[23, 0, 10, 0, 5, 0, 4],
801		[12, 220, 13, 0, 5, 0, 5],
802		[12, 230, 13, 0, 5, 0, 5],
803		[12, 222, 13, 0, 5, 0, 5],
804		[12, 228, 13, 0, 5, 0, 5],
805		[12, 10, 13, 0, 5, 0, 5],
806		[12, 11, 13, 0, 5, 0, 5],
807		[12, 12, 13, 0, 5, 0, 5],
808		[12, 13, 13, 0, 5, 0, 5],
809		[12, 14, 13, 0, 5, 0, 5],
810		[12, 15, 13, 0, 5, 0, 5],
811		[12, 16, 13, 0, 5, 0, 5],
812		[12, 17, 13, 0, 5, 0, 5],
813		[12, 18, 13, 0, 5, 0, 5],
814		[12, 19, 13, 0, 5, 0, 5],
815		[12, 20, 13, 0, 5, 0, 5],
816		[12, 21, 13, 0, 5, 0, 5],
817		[12, 22, 13, 0, 5, 0, 5],
818		[17, 0, 3, 0, 5, 0, 5],
819		[12, 23, 13, 0, 5, 0, 5],
820		[21, 0, 3, 0, 5, 0, 5],
821		[12, 24, 13, 0, 5, 0, 5],
822		[12, 25, 13, 0, 5, 0, 5],
823		[7, 0, 3, 0, 5, 0, 5],
824		[1, 0, 11, 0, 5, 0, 6],
825		[25, 0, 18, 0, 5, 0, 6],
826		[25, 0, 4, 0, 5, 0, 6],
827		[21, 0, 10, 0, 5, 0, 6],
828		[23, 0, 4, 0, 5, 0, 6],
829		[21, 0, 12, 0, 5, 0, 0],
830		[21, 0, 4, 0, 5, 0, 6],
831		[26, 0, 18, 0, 5, 0, 6],
832		[12, 230, 13, 0, 5, 0, 6],
833		[12, 30, 13, 0, 5, 0, 6],
834		[12, 31, 13, 0, 5, 0, 6],
835		[12, 32, 13, 0, 5, 0, 6],
836		[21, 0, 4, 0, 5, 0, 0],
837		[7, 0, 4, 0, 5, 0, 6],
838		[6, 0, 4, 0, 5, 0, 0],
839		[12, 27, 13, 0, 5, 0, 40],
840		[12, 28, 13, 0, 5, 0, 40],
841		[12, 29, 13, 0, 5, 0, 40],
842		[12, 30, 13, 0, 5, 0, 40],
843		[12, 31, 13, 0, 5, 0, 40],
844		[12, 32, 13, 0, 5, 0, 40],
845		[12, 33, 13, 0, 5, 0, 40],
846		[12, 34, 13, 0, 5, 0, 40],
847		[12, 220, 13, 0, 5, 0, 40],
848		[12, 220, 13, 0, 5, 0, 6],
849		[13, 0, 11, 0, 5, 0, 0],
850		[21, 0, 11, 0, 5, 0, 6],
851		[12, 35, 13, 0, 5, 0, 40],
852		[1, 0, 11, 0, 5, 0, 0],
853		[6, 0, 4, 0, 5, 0, 6],
854		[13, 0, 8, 0, 5, 0, 6],
855		[26, 0, 4, 0, 5, 0, 6],
856		[21, 0, 4, 0, 5, 0, 7],
857		[1, 0, 4, 0, 5, 0, 7],
858		[7, 0, 4, 0, 5, 0, 7],
859		[12, 36, 13, 0, 5, 0, 7],
860		[12, 230, 13, 0, 5, 0, 7],
861		[12, 220, 13, 0, 5, 0, 7],
862		[7, 0, 4, 0, 5, 0, 8],
863		[12, 0, 13, 0, 5, 0, 8],
864		[13, 0, 3, 0, 5, 0, 65],
865		[7, 0, 3, 0, 5, 0, 65],
866		[12, 230, 13, 0, 5, 0, 65],
867		[12, 220, 13, 0, 5, 0, 65],
868		[6, 0, 3, 0, 5, 0, 65],
869		[26, 0, 18, 0, 5, 0, 65],
870		[21, 0, 18, 0, 5, 0, 65],
871		[7, 0, 3, 0, 5, 0, 81],
872		[12, 230, 13, 0, 5, 0, 81],
873		[6, 0, 3, 0, 5, 0, 81],
874		[21, 0, 3, 0, 5, 0, 81],
875		[7, 0, 3, 0, 5, 0, 94],
876		[12, 220, 13, 0, 5, 0, 94],
877		[21, 0, 3, 0, 5, 0, 94],
878		[12, 27, 13, 0, 5, 0, 6],
879		[12, 28, 13, 0, 5, 0, 6],
880		[12, 29, 13, 0, 5, 0, 6],
881		[12, 0, 13, 0, 5, 0, 9],
882		[10, 0, 0, 0, 5, 0, 9],
883		[7, 0, 0, 0, 5, 0, 9],
884		[12, 7, 13, 0, 5, 0, 9],
885		[12, 9, 13, 0, 5, 0, 9],
886		[12, 230, 13, 0, 5, 0, 9],
887		[13, 0, 0, 0, 5, 0, 9],
888		[21, 0, 0, 0, 5, 0, 9],
889		[6, 0, 0, 0, 5, 0, 9],
890		[12, 0, 13, 0, 5, 0, 10],
891		[10, 0, 0, 0, 5, 0, 10],
892		[7, 0, 0, 0, 5, 0, 10],
893		[12, 7, 13, 0, 5, 0, 10],
894		[12, 9, 13, 0, 5, 0, 10],
895		[13, 0, 0, 0, 5, 0, 10],
896		[23, 0, 10, 0, 5, 0, 10],
897		[15, 0, 0, 0, 5, 0, 10],
898		[26, 0, 0, 0, 5, 0, 10],
899		[12, 0, 13, 0, 5, 0, 11],
900		[10, 0, 0, 0, 5, 0, 11],
901		[7, 0, 0, 0, 5, 0, 11],
902		[12, 7, 13, 0, 5, 0, 11],
903		[12, 9, 13, 0, 5, 0, 11],
904		[13, 0, 0, 0, 5, 0, 11],
905		[12, 0, 13, 0, 5, 0, 12],
906		[10, 0, 0, 0, 5, 0, 12],
907		[7, 0, 0, 0, 5, 0, 12],
908		[12, 7, 13, 0, 5, 0, 12],
909		[12, 9, 13, 0, 5, 0, 12],
910		[13, 0, 0, 0, 5, 0, 12],
911		[21, 0, 0, 0, 5, 0, 12],
912		[23, 0, 10, 0, 5, 0, 12],
913		[12, 0, 13, 0, 5, 0, 13],
914		[10, 0, 0, 0, 5, 0, 13],
915		[7, 0, 0, 0, 5, 0, 13],
916		[12, 7, 13, 0, 5, 0, 13],
917		[12, 9, 13, 0, 5, 0, 13],
918		[13, 0, 0, 0, 5, 0, 13],
919		[26, 0, 0, 0, 5, 0, 13],
920		[15, 0, 0, 0, 5, 0, 13],
921		[12, 0, 13, 0, 5, 0, 14],
922		[7, 0, 0, 0, 5, 0, 14],
923		[10, 0, 0, 0, 5, 0, 14],
924		[12, 9, 13, 0, 5, 0, 14],
925		[13, 0, 0, 0, 5, 0, 14],
926		[15, 0, 0, 0, 5, 0, 14],
927		[26, 0, 18, 0, 5, 0, 14],
928		[23, 0, 10, 0, 5, 0, 14],
929		[10, 0, 0, 0, 5, 0, 15],
930		[7, 0, 0, 0, 5, 0, 15],
931		[12, 0, 13, 0, 5, 0, 15],
932		[12, 9, 13, 0, 5, 0, 15],
933		[12, 84, 13, 0, 5, 0, 15],
934		[12, 91, 13, 0, 5, 0, 15],
935		[13, 0, 0, 0, 5, 0, 15],
936		[15, 0, 18, 0, 5, 0, 15],
937		[26, 0, 0, 0, 5, 0, 15],
938		[10, 0, 0, 0, 5, 0, 16],
939		[7, 0, 0, 0, 5, 0, 16],
940		[12, 7, 13, 0, 5, 0, 16],
941		[12, 0, 0, 0, 5, 0, 16],
942		[12, 0, 13, 0, 5, 0, 16],
943		[12, 9, 13, 0, 5, 0, 16],
944		[13, 0, 0, 0, 5, 0, 16],
945		[10, 0, 0, 0, 5, 0, 17],
946		[7, 0, 0, 0, 5, 0, 17],
947		[12, 0, 13, 0, 5, 0, 17],
948		[12, 9, 13, 0, 5, 0, 17],
949		[13, 0, 0, 0, 5, 0, 17],
950		[15, 0, 0, 0, 5, 0, 17],
951		[26, 0, 0, 0, 5, 0, 17],
952		[10, 0, 0, 0, 5, 0, 18],
953		[7, 0, 0, 0, 5, 0, 18],
954		[12, 9, 13, 0, 5, 0, 18],
955		[12, 0, 13, 0, 5, 0, 18],
956		[21, 0, 0, 0, 5, 0, 18],
957		[7, 0, 0, 0, 5, 0, 19],
958		[12, 0, 13, 0, 5, 0, 19],
959		[12, 103, 13, 0, 5, 0, 19],
960		[12, 9, 13, 0, 5, 0, 19],
961		[23, 0, 10, 0, 5, 0, 0],
962		[6, 0, 0, 0, 5, 0, 19],
963		[12, 107, 13, 0, 5, 0, 19],
964		[21, 0, 0, 0, 5, 0, 19],
965		[13, 0, 0, 0, 5, 0, 19],
966		[7, 0, 0, 0, 5, 0, 20],
967		[12, 0, 13, 0, 5, 0, 20],
968		[12, 118, 13, 0, 5, 0, 20],
969		[6, 0, 0, 0, 5, 0, 20],
970		[12, 122, 13, 0, 5, 0, 20],
971		[13, 0, 0, 0, 5, 0, 20],
972		[7, 0, 0, 0, 5, 0, 21],
973		[26, 0, 0, 0, 5, 0, 21],
974		[21, 0, 0, 0, 5, 0, 21],
975		[12, 220, 13, 0, 5, 0, 21],
976		[13, 0, 0, 0, 5, 0, 21],
977		[15, 0, 0, 0, 5, 0, 21],
978		[12, 216, 13, 0, 5, 0, 21],
979		[22, 0, 18, 1, 5, 0, 21],
980		[18, 0, 18, 1, 5, 0, 21],
981		[10, 0, 0, 0, 5, 0, 21],
982		[12, 129, 13, 0, 5, 0, 21],
983		[12, 130, 13, 0, 5, 0, 21],
984		[12, 0, 13, 0, 5, 0, 21],
985		[12, 132, 13, 0, 5, 0, 21],
986		[12, 230, 13, 0, 5, 0, 21],
987		[12, 9, 13, 0, 5, 0, 21],
988		[26, 0, 0, 0, 5, 0, 0],
989		[7, 0, 0, 0, 5, 0, 22],
990		[10, 0, 0, 0, 5, 0, 22],
991		[12, 0, 13, 0, 5, 0, 22],
992		[12, 7, 13, 0, 5, 0, 22],
993		[12, 9, 13, 0, 5, 0, 22],
994		[13, 0, 0, 0, 5, 0, 22],
995		[21, 0, 0, 0, 5, 0, 22],
996		[12, 220, 13, 0, 5, 0, 22],
997		[26, 0, 0, 0, 5, 0, 22],
998		[9, 0, 0, 0, 5, 0, 23],
999		[7, 0, 0, 0, 5, 0, 23],
1000		[6, 0, 0, 0, 5, 0, 23],
1001		[7, 0, 0, 0, 2, 0, 24],
1002		[7, 0, 0, 0, 5, 0, 24],
1003		[7, 0, 0, 0, 5, 0, 25],
1004		[12, 230, 13, 0, 5, 0, 25],
1005		[21, 0, 0, 0, 5, 0, 25],
1006		[15, 0, 0, 0, 5, 0, 25],
1007		[26, 0, 18, 0, 5, 0, 25],
1008		[7, 0, 0, 0, 5, 0, 26],
1009		[17, 0, 18, 0, 5, 0, 27],
1010		[7, 0, 0, 0, 5, 0, 27],
1011		[21, 0, 0, 0, 5, 0, 27],
1012		[29, 0, 17, 0, 5, 0, 28],
1013		[7, 0, 0, 0, 5, 0, 28],
1014		[22, 0, 18, 1, 5, 0, 28],
1015		[18, 0, 18, 1, 5, 0, 28],
1016		[7, 0, 0, 0, 5, 0, 29],
1017		[14, 0, 0, 0, 5, 0, 29],
1018		[7, 0, 0, 0, 5, 0, 41],
1019		[12, 0, 13, 0, 5, 0, 41],
1020		[12, 9, 13, 0, 5, 0, 41],
1021		[7, 0, 0, 0, 5, 0, 42],
1022		[12, 0, 13, 0, 5, 0, 42],
1023		[12, 9, 13, 0, 5, 0, 42],
1024		[7, 0, 0, 0, 5, 0, 43],
1025		[12, 0, 13, 0, 5, 0, 43],
1026		[7, 0, 0, 0, 5, 0, 44],
1027		[12, 0, 13, 0, 5, 0, 44],
1028		[7, 0, 0, 0, 5, 0, 30],
1029		[12, 0, 13, 0, 5, 0, 30],
1030		[10, 0, 0, 0, 5, 0, 30],
1031		[12, 9, 13, 0, 5, 0, 30],
1032		[21, 0, 0, 0, 5, 0, 30],
1033		[6, 0, 0, 0, 5, 0, 30],
1034		[23, 0, 10, 0, 5, 0, 30],
1035		[12, 230, 13, 0, 5, 0, 30],
1036		[13, 0, 0, 0, 5, 0, 30],
1037		[15, 0, 18, 0, 5, 0, 30],
1038		[21, 0, 18, 0, 5, 0, 31],
1039		[17, 0, 18, 0, 5, 0, 31],
1040		[12, 0, 13, 0, 5, 0, 31],
1041		[29, 0, 17, 0, 5, 0, 31],
1042		[13, 0, 0, 0, 5, 0, 31],
1043		[7, 0, 0, 0, 5, 0, 31],
1044		[6, 0, 0, 0, 5, 0, 31],
1045		[12, 228, 13, 0, 5, 0, 31],
1046		[7, 0, 0, 0, 5, 0, 45],
1047		[12, 0, 13, 0, 5, 0, 45],
1048		[10, 0, 0, 0, 5, 0, 45],
1049		[12, 222, 13, 0, 5, 0, 45],
1050		[12, 230, 13, 0, 5, 0, 45],
1051		[12, 220, 13, 0, 5, 0, 45],
1052		[26, 0, 18, 0, 5, 0, 45],
1053		[21, 0, 18, 0, 5, 0, 45],
1054		[13, 0, 0, 0, 5, 0, 45],
1055		[7, 0, 0, 0, 5, 0, 46],
1056		[7, 0, 0, 0, 5, 0, 55],
1057		[10, 0, 0, 0, 5, 0, 55],
1058		[13, 0, 0, 0, 5, 0, 55],
1059		[15, 0, 0, 0, 5, 0, 55],
1060		[26, 0, 18, 0, 5, 0, 55],
1061		[26, 0, 18, 0, 5, 0, 30],
1062		[7, 0, 0, 0, 5, 0, 53],
1063		[12, 230, 13, 0, 5, 0, 53],
1064		[12, 220, 13, 0, 5, 0, 53],
1065		[10, 0, 0, 0, 5, 0, 53],
1066		[21, 0, 0, 0, 5, 0, 53],
1067		[7, 0, 0, 0, 5, 0, 77],
1068		[10, 0, 0, 0, 5, 0, 77],
1069		[12, 0, 13, 0, 5, 0, 77],
1070		[12, 9, 13, 0, 5, 0, 77],
1071		[12, 230, 13, 0, 5, 0, 77],
1072		[12, 220, 13, 0, 5, 0, 77],
1073		[13, 0, 0, 0, 5, 0, 77],
1074		[21, 0, 0, 0, 5, 0, 77],
1075		[6, 0, 0, 0, 5, 0, 77],
1076		[12, 0, 13, 0, 5, 0, 61],
1077		[10, 0, 0, 0, 5, 0, 61],
1078		[7, 0, 0, 0, 5, 0, 61],
1079		[12, 7, 13, 0, 5, 0, 61],
1080		[10, 9, 0, 0, 5, 0, 61],
1081		[13, 0, 0, 0, 5, 0, 61],
1082		[21, 0, 0, 0, 5, 0, 61],
1083		[26, 0, 0, 0, 5, 0, 61],
1084		[12, 230, 13, 0, 5, 0, 61],
1085		[12, 220, 13, 0, 5, 0, 61],
1086		[12, 0, 13, 0, 5, 0, 66],
1087		[10, 0, 0, 0, 5, 0, 66],
1088		[7, 0, 0, 0, 5, 0, 66],
1089		[10, 9, 0, 0, 5, 0, 66],
1090		[12, 9, 13, 0, 5, 0, 66],
1091		[13, 0, 0, 0, 5, 0, 66],
1092		[7, 0, 0, 0, 5, 0, 92],
1093		[12, 7, 13, 0, 5, 0, 92],
1094		[10, 0, 0, 0, 5, 0, 92],
1095		[12, 0, 13, 0, 5, 0, 92],
1096		[10, 9, 0, 0, 5, 0, 92],
1097		[21, 0, 0, 0, 5, 0, 92],
1098		[7, 0, 0, 0, 5, 0, 67],
1099		[10, 0, 0, 0, 5, 0, 67],
1100		[12, 0, 13, 0, 5, 0, 67],
1101		[12, 7, 13, 0, 5, 0, 67],
1102		[21, 0, 0, 0, 5, 0, 67],
1103		[13, 0, 0, 0, 5, 0, 67],
1104		[13, 0, 0, 0, 5, 0, 68],
1105		[7, 0, 0, 0, 5, 0, 68],
1106		[6, 0, 0, 0, 5, 0, 68],
1107		[21, 0, 0, 0, 5, 0, 68],
1108		[21, 0, 0, 0, 5, 0, 66],
1109		[12, 1, 13, 0, 5, 0, 40],
1110		[10, 0, 0, 0, 5, 0, 0],
1111		[7, 0, 0, 0, 5, 0, 0],
1112		[6, 0, 0, 0, 5, 0, 3],
1113		[12, 234, 13, 0, 5, 0, 40],
1114		[12, 214, 13, 0, 5, 0, 40],
1115		[12, 202, 13, 0, 5, 0, 40],
1116		[12, 233, 13, 0, 5, 0, 40],
1117		[8, 0, 0, 0, 5, 0, 2],
1118		[29, 0, 17, 0, 5, 0, 0],
1119		[1, 0, 14, 0, 5, 0, 0],
1120		[1, 0, 14, 0, 5, 0, 40],
1121		[1, 0, 0, 0, 5, 0, 0],
1122		[1, 0, 3, 0, 5, 0, 0],
1123		[17, 0, 18, 0, 4, 0, 0],
1124		[17, 0, 18, 0, 5, 0, 0],
1125		[20, 0, 18, 0, 4, 0, 0],
1126		[19, 0, 18, 0, 4, 0, 0],
1127		[22, 0, 18, 0, 5, 0, 0],
1128		[20, 0, 18, 0, 5, 0, 0],
1129		[27, 0, 17, 0, 5, 0, 0],
1130		[28, 0, 15, 0, 5, 0, 0],
1131		[1, 0, 1, 0, 5, 0, 0],
1132		[1, 0, 5, 0, 5, 0, 0],
1133		[1, 0, 7, 0, 5, 0, 0],
1134		[1, 0, 2, 0, 5, 0, 0],
1135		[1, 0, 6, 0, 5, 0, 0],
1136		[21, 0, 10, 0, 4, 0, 0],
1137		[21, 0, 10, 0, 5, 0, 0],
1138		[16, 0, 18, 0, 5, 0, 0],
1139		[25, 0, 12, 0, 5, 0, 0],
1140		[22, 0, 18, 1, 5, 0, 0],
1141		[18, 0, 18, 1, 5, 0, 0],
1142		[25, 0, 18, 0, 5, 0, 0],
1143		[15, 0, 8, 0, 5, 0, 0],
1144		[25, 0, 9, 0, 5, 0, 0],
1145		[6, 0, 0, 0, 4, 0, 1],
1146		[23, 0, 10, 0, 1, 0, 0],
1147		[11, 0, 13, 0, 5, 0, 40],
1148		[9, 0, 0, 0, 5, 0, 0],
1149		[5, 0, 0, 0, 4, 0, 0],
1150		[26, 0, 10, 0, 5, 0, 0],
1151		[25, 0, 18, 1, 5, 0, 0],
1152		[15, 0, 18, 0, 5, 0, 0],
1153		[14, 0, 0, 0, 4, 0, 1],
1154		[14, 0, 0, 0, 5, 0, 1],
1155		[25, 0, 18, 1, 4, 0, 0],
1156		[25, 0, 10, 0, 5, 0, 0],
1157		[22, 0, 18, 1, 2, 0, 0],
1158		[18, 0, 18, 1, 2, 0, 0],
1159		[26, 0, 0, 0, 4, 0, 0],
1160		[26, 0, 0, 0, 5, 0, 52],
1161		[9, 0, 0, 0, 5, 0, 56],
1162		[5, 0, 0, 0, 5, 0, 56],
1163		[26, 0, 18, 0, 5, 0, 54],
1164		[12, 230, 13, 0, 5, 0, 54],
1165		[21, 0, 18, 0, 5, 0, 54],
1166		[15, 0, 18, 0, 5, 0, 54],
1167		[5, 0, 0, 0, 5, 0, 23],
1168		[7, 0, 0, 0, 5, 0, 57],
1169		[6, 0, 0, 0, 5, 0, 57],
1170		[21, 0, 0, 0, 5, 0, 57],
1171		[12, 9, 13, 0, 5, 0, 57],
1172		[26, 0, 18, 0, 2, 0, 35],
1173		[26, 0, 18, 0, 2, 0, 0],
1174		[29, 0, 17, 0, 0, 0, 0],
1175		[21, 0, 18, 0, 2, 0, 0],
1176		[6, 0, 0, 0, 2, 0, 35],
1177		[7, 0, 0, 0, 2, 0, 0],
1178		[14, 0, 0, 0, 2, 0, 35],
1179		[17, 0, 18, 0, 2, 0, 0],
1180		[22, 0, 18, 0, 2, 0, 0],
1181		[18, 0, 18, 0, 2, 0, 0],
1182		[12, 218, 13, 0, 2, 0, 40],
1183		[12, 228, 13, 0, 2, 0, 40],
1184		[12, 232, 13, 0, 2, 0, 40],
1185		[12, 222, 13, 0, 2, 0, 40],
1186		[10, 224, 0, 0, 2, 0, 24],
1187		[6, 0, 0, 0, 2, 0, 0],
1188		[7, 0, 0, 0, 2, 0, 32],
1189		[12, 8, 13, 0, 2, 0, 40],
1190		[24, 0, 18, 0, 2, 0, 0],
1191		[6, 0, 0, 0, 2, 0, 32],
1192		[7, 0, 0, 0, 2, 0, 33],
1193		[6, 0, 0, 0, 2, 0, 33],
1194		[7, 0, 0, 0, 2, 0, 34],
1195		[26, 0, 0, 0, 2, 0, 0],
1196		[15, 0, 0, 0, 2, 0, 0],
1197		[26, 0, 0, 0, 2, 0, 24],
1198		[26, 0, 18, 0, 2, 0, 24],
1199		[15, 0, 0, 0, 4, 0, 0],
1200		[15, 0, 18, 0, 2, 0, 0],
1201		[26, 0, 0, 0, 2, 0, 33],
1202		[7, 0, 0, 0, 2, 0, 35],
1203		[2, 0, 18, 0, 2, 0, 35],
1204		[2, 0, 18, 0, 2, 0, 102],
1205		[7, 0, 0, 0, 2, 0, 36],
1206		[6, 0, 0, 0, 2, 0, 36],
1207		[26, 0, 18, 0, 2, 0, 36],
1208		[7, 0, 0, 0, 5, 0, 82],
1209		[6, 0, 0, 0, 5, 0, 82],
1210		[21, 0, 0, 0, 5, 0, 82],
1211		[7, 0, 0, 0, 5, 0, 69],
1212		[6, 0, 0, 0, 5, 0, 69],
1213		[21, 0, 18, 0, 5, 0, 69],
1214		[13, 0, 0, 0, 5, 0, 69],
1215		[7, 0, 0, 0, 5, 0, 3],
1216		[21, 0, 18, 0, 5, 0, 3],
1217		[6, 0, 18, 0, 5, 0, 3],
1218		[7, 0, 0, 0, 5, 0, 83],
1219		[14, 0, 0, 0, 5, 0, 83],
1220		[12, 230, 13, 0, 5, 0, 83],
1221		[21, 0, 0, 0, 5, 0, 83],
1222		[24, 0, 0, 0, 5, 0, 0],
1223		[7, 0, 0, 0, 5, 0, 58],
1224		[12, 0, 13, 0, 5, 0, 58],
1225		[12, 9, 13, 0, 5, 0, 58],
1226		[10, 0, 0, 0, 5, 0, 58],
1227		[26, 0, 18, 0, 5, 0, 58],
1228		[15, 0, 0, 0, 5, 0, 0],
1229		[7, 0, 0, 0, 5, 0, 64],
1230		[21, 0, 18, 0, 5, 0, 64],
1231		[10, 0, 0, 0, 5, 0, 70],
1232		[7, 0, 0, 0, 5, 0, 70],
1233		[12, 9, 13, 0, 5, 0, 70],
1234		[21, 0, 0, 0, 5, 0, 70],
1235		[13, 0, 0, 0, 5, 0, 70],
1236		[13, 0, 0, 0, 5, 0, 71],
1237		[7, 0, 0, 0, 5, 0, 71],
1238		[12, 0, 13, 0, 5, 0, 71],
1239		[12, 220, 13, 0, 5, 0, 71],
1240		[21, 0, 0, 0, 5, 0, 71],
1241		[7, 0, 0, 0, 5, 0, 72],
1242		[12, 0, 13, 0, 5, 0, 72],
1243		[10, 0, 0, 0, 5, 0, 72],
1244		[10, 9, 0, 0, 5, 0, 72],
1245		[21, 0, 0, 0, 5, 0, 72],
1246		[12, 0, 13, 0, 5, 0, 84],
1247		[10, 0, 0, 0, 5, 0, 84],
1248		[7, 0, 0, 0, 5, 0, 84],
1249		[12, 7, 13, 0, 5, 0, 84],
1250		[10, 9, 0, 0, 5, 0, 84],
1251		[21, 0, 0, 0, 5, 0, 84],
1252		[6, 0, 0, 0, 5, 0, 84],
1253		[13, 0, 0, 0, 5, 0, 84],
1254		[7, 0, 0, 0, 5, 0, 76],
1255		[12, 0, 13, 0, 5, 0, 76],
1256		[10, 0, 0, 0, 5, 0, 76],
1257		[13, 0, 0, 0, 5, 0, 76],
1258		[21, 0, 0, 0, 5, 0, 76],
1259		[6, 0, 0, 0, 5, 0, 22],
1260		[7, 0, 0, 0, 5, 0, 78],
1261		[12, 230, 13, 0, 5, 0, 78],
1262		[12, 220, 13, 0, 5, 0, 78],
1263		[6, 0, 0, 0, 5, 0, 78],
1264		[21, 0, 0, 0, 5, 0, 78],
1265		[7, 0, 0, 0, 5, 0, 85],
1266		[10, 0, 0, 0, 5, 0, 85],
1267		[12, 0, 13, 0, 5, 0, 85],
1268		[21, 0, 0, 0, 5, 0, 85],
1269		[6, 0, 0, 0, 5, 0, 85],
1270		[12, 9, 13, 0, 5, 0, 85],
1271		[13, 0, 0, 0, 5, 0, 85],
1272		[2, 0, 18, 0, 2, 0, 24],
1273		[4, 0, 0, 0, 5, 0, 102],
1274		[3, 0, 0, 0, 4, 0, 102],
1275		[2, 0, 18, 0, 4, 0, 102],
1276		[12, 26, 13, 0, 5, 0, 5],
1277		[25, 0, 9, 0, 5, 0, 5],
1278		[24, 0, 4, 0, 5, 0, 6],
1279		[18, 0, 18, 0, 5, 0, 0],
1280		[16, 0, 18, 0, 2, 0, 0],
1281		[21, 0, 12, 0, 2, 0, 0],
1282		[21, 0, 10, 0, 2, 0, 0],
1283		[25, 0, 9, 0, 2, 0, 0],
1284		[17, 0, 9, 0, 2, 0, 0],
1285		[25, 0, 18, 1, 2, 0, 0],
1286		[25, 0, 18, 0, 2, 0, 0],
1287		[23, 0, 10, 0, 2, 0, 0],
1288		[21, 0, 18, 0, 0, 0, 0],
1289		[21, 0, 10, 0, 0, 0, 0],
1290		[23, 0, 10, 0, 0, 0, 0],
1291		[22, 0, 18, 1, 0, 0, 0],
1292		[18, 0, 18, 1, 0, 0, 0],
1293		[25, 0, 9, 0, 0, 0, 0],
1294		[21, 0, 12, 0, 0, 0, 0],
1295		[17, 0, 9, 0, 0, 0, 0],
1296		[13, 0, 8, 0, 0, 0, 0],
1297		[25, 0, 18, 1, 0, 0, 0],
1298		[25, 0, 18, 0, 0, 0, 0],
1299		[9, 0, 0, 0, 0, 0, 1],
1300		[24, 0, 18, 0, 0, 0, 0],
1301		[16, 0, 18, 0, 0, 0, 0],
1302		[5, 0, 0, 0, 0, 0, 1],
1303		[21, 0, 18, 0, 1, 0, 0],
1304		[22, 0, 18, 1, 1, 0, 0],
1305		[18, 0, 18, 1, 1, 0, 0],
1306		[7, 0, 0, 0, 1, 0, 33],
1307		[6, 0, 0, 0, 1, 0, 0],
1308		[7, 0, 0, 0, 1, 0, 24],
1309		[26, 0, 18, 0, 0, 0, 0],
1310		[26, 0, 18, 0, 1, 0, 0],
1311		[25, 0, 18, 0, 1, 0, 0],
1312		[1, 0, 18, 0, 5, 0, 0],
1313		[7, 0, 0, 0, 5, 0, 47],
1314		[14, 0, 18, 0, 5, 0, 2],
1315		[15, 0, 18, 0, 5, 0, 2],
1316		[26, 0, 18, 0, 5, 0, 2],
1317		[7, 0, 0, 0, 5, 0, 73],
1318		[7, 0, 0, 0, 5, 0, 74],
1319		[7, 0, 0, 0, 5, 0, 37],
1320		[15, 0, 0, 0, 5, 0, 37],
1321		[7, 0, 0, 0, 5, 0, 38],
1322		[14, 0, 0, 0, 5, 0, 38],
1323		[7, 0, 0, 0, 5, 0, 48],
1324		[21, 0, 0, 0, 5, 0, 48],
1325		[7, 0, 0, 0, 5, 0, 59],
1326		[21, 0, 0, 0, 5, 0, 59],
1327		[14, 0, 0, 0, 5, 0, 59],
1328		[9, 0, 0, 0, 5, 0, 39],
1329		[5, 0, 0, 0, 5, 0, 39],
1330		[7, 0, 0, 0, 5, 0, 49],
1331		[7, 0, 0, 0, 5, 0, 50],
1332		[13, 0, 0, 0, 5, 0, 50],
1333		[7, 0, 3, 0, 5, 0, 51],
1334		[7, 0, 3, 0, 5, 0, 86],
1335		[21, 0, 3, 0, 5, 0, 86],
1336		[15, 0, 3, 0, 5, 0, 86],
1337		[7, 0, 3, 0, 5, 0, 63],
1338		[15, 0, 3, 0, 5, 0, 63],
1339		[21, 0, 18, 0, 5, 0, 63],
1340		[7, 0, 3, 0, 5, 0, 75],
1341		[21, 0, 3, 0, 5, 0, 75],
1342		[7, 0, 3, 0, 5, 0, 97],
1343		[7, 0, 3, 0, 5, 0, 96],
1344		[7, 0, 3, 0, 5, 0, 60],
1345		[12, 0, 13, 0, 5, 0, 60],
1346		[12, 220, 13, 0, 5, 0, 60],
1347		[12, 230, 13, 0, 5, 0, 60],
1348		[12, 1, 13, 0, 5, 0, 60],
1349		[12, 9, 13, 0, 5, 0, 60],
1350		[15, 0, 3, 0, 5, 0, 60],
1351		[21, 0, 3, 0, 5, 0, 60],
1352		[7, 0, 3, 0, 5, 0, 87],
1353		[15, 0, 3, 0, 5, 0, 87],
1354		[21, 0, 3, 0, 5, 0, 87],
1355		[7, 0, 3, 0, 5, 0, 79],
1356		[21, 0, 18, 0, 5, 0, 79],
1357		[7, 0, 3, 0, 5, 0, 88],
1358		[15, 0, 3, 0, 5, 0, 88],
1359		[7, 0, 3, 0, 5, 0, 89],
1360		[15, 0, 3, 0, 5, 0, 89],
1361		[7, 0, 3, 0, 5, 0, 90],
1362		[15, 0, 11, 0, 5, 0, 6],
1363		[10, 0, 0, 0, 5, 0, 93],
1364		[12, 0, 13, 0, 5, 0, 93],
1365		[7, 0, 0, 0, 5, 0, 93],
1366		[12, 9, 13, 0, 5, 0, 93],
1367		[21, 0, 0, 0, 5, 0, 93],
1368		[15, 0, 18, 0, 5, 0, 93],
1369		[13, 0, 0, 0, 5, 0, 93],
1370		[12, 0, 13, 0, 5, 0, 91],
1371		[10, 0, 0, 0, 5, 0, 91],
1372		[7, 0, 0, 0, 5, 0, 91],
1373		[12, 9, 13, 0, 5, 0, 91],
1374		[12, 7, 13, 0, 5, 0, 91],
1375		[21, 0, 0, 0, 5, 0, 91],
1376		[1, 0, 0, 0, 5, 0, 91],
1377		[7, 0, 0, 0, 5, 0, 100],
1378		[13, 0, 0, 0, 5, 0, 100],
1379		[12, 230, 13, 0, 5, 0, 95],
1380		[7, 0, 0, 0, 5, 0, 95],
1381		[12, 0, 13, 0, 5, 0, 95],
1382		[10, 0, 0, 0, 5, 0, 95],
1383		[12, 9, 13, 0, 5, 0, 95],
1384		[13, 0, 0, 0, 5, 0, 95],
1385		[21, 0, 0, 0, 5, 0, 95],
1386		[12, 0, 13, 0, 5, 0, 99],
1387		[10, 0, 0, 0, 5, 0, 99],
1388		[7, 0, 0, 0, 5, 0, 99],
1389		[10, 9, 0, 0, 5, 0, 99],
1390		[21, 0, 0, 0, 5, 0, 99],
1391		[13, 0, 0, 0, 5, 0, 99],
1392		[7, 0, 0, 0, 5, 0, 101],
1393		[12, 0, 13, 0, 5, 0, 101],
1394		[10, 0, 0, 0, 5, 0, 101],
1395		[10, 9, 0, 0, 5, 0, 101],
1396		[12, 7, 13, 0, 5, 0, 101],
1397		[13, 0, 0, 0, 5, 0, 101],
1398		[7, 0, 0, 0, 5, 0, 62],
1399		[14, 0, 0, 0, 5, 0, 62],
1400		[21, 0, 0, 0, 5, 0, 62],
1401		[7, 0, 0, 0, 5, 0, 80],
1402		[7, 0, 0, 0, 5, 0, 98],
1403		[10, 0, 0, 0, 5, 0, 98],
1404		[12, 0, 13, 0, 5, 0, 98],
1405		[6, 0, 0, 0, 5, 0, 98],
1406		[10, 216, 0, 0, 5, 0, 0],
1407		[10, 226, 0, 0, 5, 0, 0],
1408		[12, 230, 13, 0, 5, 0, 2],
1409		[25, 0, 0, 0, 5, 0, 0],
1410		[13, 0, 8, 0, 5, 0, 0],
1411		[26, 0, 0, 0, 2, 0, 32],
1412	];
1413
1414	/* Mirror unicode characters. Bidirectional Algorithm, at http://www.unicode.org/unicode/reports/tr9/  */
1415
1416	public static $mirror_pairs = [
1417		40 => 41,
1418		41 => 40,
1419		60 => 62,
1420		62 => 60,
1421		91 => 93,
1422		93 => 91,
1423		123 => 125,
1424		125 => 123,
1425		171 => 187,
1426		187 => 171,
1427		3898 => 3899,
1428		3899 => 3898,
1429		3900 => 3901,
1430		3901 => 3900,
1431		5787 => 5788,
1432		5788 => 5787,
1433		8249 => 8250,
1434		8250 => 8249,
1435		8261 => 8262,
1436		8262 => 8261,
1437		8317 => 8318,
1438		8318 => 8317,
1439		8333 => 8334,
1440		8334 => 8333,
1441		8712 => 8715,
1442		8713 => 8716,
1443		8714 => 8717,
1444		8715 => 8712,
1445		8716 => 8713,
1446		8717 => 8714,
1447		8725 => 10741,
1448		8764 => 8765,
1449		8765 => 8764,
1450		8771 => 8909,
1451		8786 => 8787,
1452		8787 => 8786,
1453		8788 => 8789,
1454		8789 => 8788,
1455		8804 => 8805,
1456		8805 => 8804,
1457		8806 => 8807,
1458		8807 => 8806,
1459		8808 => 8809,
1460		8809 => 8808,
1461		8810 => 8811,
1462		8811 => 8810,
1463		8814 => 8815,
1464		8815 => 8814,
1465		8816 => 8817,
1466		8817 => 8816,
1467		8818 => 8819,
1468		8819 => 8818,
1469		8820 => 8821,
1470		8821 => 8820,
1471		8822 => 8823,
1472		8823 => 8822,
1473		8824 => 8825,
1474		8825 => 8824,
1475		8826 => 8827,
1476		8827 => 8826,
1477		8828 => 8829,
1478		8829 => 8828,
1479		8830 => 8831,
1480		8831 => 8830,
1481		8832 => 8833,
1482		8833 => 8832,
1483		8834 => 8835,
1484		8835 => 8834,
1485		8836 => 8837,
1486		8837 => 8836,
1487		8838 => 8839,
1488		8839 => 8838,
1489		8840 => 8841,
1490		8841 => 8840,
1491		8842 => 8843,
1492		8843 => 8842,
1493		8847 => 8848,
1494		8848 => 8847,
1495		8849 => 8850,
1496		8850 => 8849,
1497		8856 => 10680,
1498		8866 => 8867,
1499		8867 => 8866,
1500		8870 => 10974,
1501		8872 => 10980,
1502		8873 => 10979,
1503		8875 => 10981,
1504		8880 => 8881,
1505		8881 => 8880,
1506		8882 => 8883,
1507		8883 => 8882,
1508		8884 => 8885,
1509		8885 => 8884,
1510		8886 => 8887,
1511		8887 => 8886,
1512		8905 => 8906,
1513		8906 => 8905,
1514		8907 => 8908,
1515		8908 => 8907,
1516		8909 => 8771,
1517		8912 => 8913,
1518		8913 => 8912,
1519		8918 => 8919,
1520		8919 => 8918,
1521		8920 => 8921,
1522		8921 => 8920,
1523		8922 => 8923,
1524		8923 => 8922,
1525		8924 => 8925,
1526		8925 => 8924,
1527		8926 => 8927,
1528		8927 => 8926,
1529		8928 => 8929,
1530		8929 => 8928,
1531		8930 => 8931,
1532		8931 => 8930,
1533		8932 => 8933,
1534		8933 => 8932,
1535		8934 => 8935,
1536		8935 => 8934,
1537		8936 => 8937,
1538		8937 => 8936,
1539		8938 => 8939,
1540		8939 => 8938,
1541		8940 => 8941,
1542		8941 => 8940,
1543		8944 => 8945,
1544		8945 => 8944,
1545		8946 => 8954,
1546		8947 => 8955,
1547		8948 => 8956,
1548		8950 => 8957,
1549		8951 => 8958,
1550		8954 => 8946,
1551		8955 => 8947,
1552		8956 => 8948,
1553		8957 => 8950,
1554		8958 => 8951,
1555		8968 => 8969,
1556		8969 => 8968,
1557		8970 => 8971,
1558		8971 => 8970,
1559		9001 => 9002,
1560		9002 => 9001,
1561		10088 => 10089,
1562		10089 => 10088,
1563		10090 => 10091,
1564		10091 => 10090,
1565		10092 => 10093,
1566		10093 => 10092,
1567		10094 => 10095,
1568		10095 => 10094,
1569		10096 => 10097,
1570		10097 => 10096,
1571		10098 => 10099,
1572		10099 => 10098,
1573		10100 => 10101,
1574		10101 => 10100,
1575		10179 => 10180,
1576		10180 => 10179,
1577		10181 => 10182,
1578		10182 => 10181,
1579		10184 => 10185,
1580		10185 => 10184,
1581		10187 => 10189,
1582		10189 => 10187,
1583		10197 => 10198,
1584		10198 => 10197,
1585		10205 => 10206,
1586		10206 => 10205,
1587		10210 => 10211,
1588		10211 => 10210,
1589		10212 => 10213,
1590		10213 => 10212,
1591		10214 => 10215,
1592		10215 => 10214,
1593		10216 => 10217,
1594		10217 => 10216,
1595		10218 => 10219,
1596		10219 => 10218,
1597		10220 => 10221,
1598		10221 => 10220,
1599		10222 => 10223,
1600		10223 => 10222,
1601		10627 => 10628,
1602		10628 => 10627,
1603		10629 => 10630,
1604		10630 => 10629,
1605		10631 => 10632,
1606		10632 => 10631,
1607		10633 => 10634,
1608		10634 => 10633,
1609		10635 => 10636,
1610		10636 => 10635,
1611		10637 => 10640,
1612		10638 => 10639,
1613		10639 => 10638,
1614		10640 => 10637,
1615		10641 => 10642,
1616		10642 => 10641,
1617		10643 => 10644,
1618		10644 => 10643,
1619		10645 => 10646,
1620		10646 => 10645,
1621		10647 => 10648,
1622		10648 => 10647,
1623		10680 => 8856,
1624		10688 => 10689,
1625		10689 => 10688,
1626		10692 => 10693,
1627		10693 => 10692,
1628		10703 => 10704,
1629		10704 => 10703,
1630		10705 => 10706,
1631		10706 => 10705,
1632		10708 => 10709,
1633		10709 => 10708,
1634		10712 => 10713,
1635		10713 => 10712,
1636		10714 => 10715,
1637		10715 => 10714,
1638		10741 => 8725,
1639		10744 => 10745,
1640		10745 => 10744,
1641		10748 => 10749,
1642		10749 => 10748,
1643		10795 => 10796,
1644		10796 => 10795,
1645		10797 => 10798,
1646		10798 => 10797,
1647		10804 => 10805,
1648		10805 => 10804,
1649		10812 => 10813,
1650		10813 => 10812,
1651		10852 => 10853,
1652		10853 => 10852,
1653		10873 => 10874,
1654		10874 => 10873,
1655		10877 => 10878,
1656		10878 => 10877,
1657		10879 => 10880,
1658		10880 => 10879,
1659		10881 => 10882,
1660		10882 => 10881,
1661		10883 => 10884,
1662		10884 => 10883,
1663		10891 => 10892,
1664		10892 => 10891,
1665		10897 => 10898,
1666		10898 => 10897,
1667		10899 => 10900,
1668		10900 => 10899,
1669		10901 => 10902,
1670		10902 => 10901,
1671		10903 => 10904,
1672		10904 => 10903,
1673		10905 => 10906,
1674		10906 => 10905,
1675		10907 => 10908,
1676		10908 => 10907,
1677		10913 => 10914,
1678		10914 => 10913,
1679		10918 => 10919,
1680		10919 => 10918,
1681		10920 => 10921,
1682		10921 => 10920,
1683		10922 => 10923,
1684		10923 => 10922,
1685		10924 => 10925,
1686		10925 => 10924,
1687		10927 => 10928,
1688		10928 => 10927,
1689		10931 => 10932,
1690		10932 => 10931,
1691		10939 => 10940,
1692		10940 => 10939,
1693		10941 => 10942,
1694		10942 => 10941,
1695		10943 => 10944,
1696		10944 => 10943,
1697		10945 => 10946,
1698		10946 => 10945,
1699		10947 => 10948,
1700		10948 => 10947,
1701		10949 => 10950,
1702		10950 => 10949,
1703		10957 => 10958,
1704		10958 => 10957,
1705		10959 => 10960,
1706		10960 => 10959,
1707		10961 => 10962,
1708		10962 => 10961,
1709		10963 => 10964,
1710		10964 => 10963,
1711		10965 => 10966,
1712		10966 => 10965,
1713		10974 => 8870,
1714		10979 => 8873,
1715		10980 => 8872,
1716		10981 => 8875,
1717		10988 => 10989,
1718		10989 => 10988,
1719		10999 => 11000,
1720		11000 => 10999,
1721		11001 => 11002,
1722		11002 => 11001,
1723		11778 => 11779,
1724		11779 => 11778,
1725		11780 => 11781,
1726		11781 => 11780,
1727		11785 => 11786,
1728		11786 => 11785,
1729		11788 => 11789,
1730		11789 => 11788,
1731		11804 => 11805,
1732		11805 => 11804,
1733		11808 => 11809,
1734		11809 => 11808,
1735		11810 => 11811,
1736		11811 => 11810,
1737		11812 => 11813,
1738		11813 => 11812,
1739		11814 => 11815,
1740		11815 => 11814,
1741		11816 => 11817,
1742		11817 => 11816,
1743		12296 => 12297,
1744		12297 => 12296,
1745		12298 => 12299,
1746		12299 => 12298,
1747		12300 => 12301,
1748		12301 => 12300,
1749		12302 => 12303,
1750		12303 => 12302,
1751		12304 => 12305,
1752		12305 => 12304,
1753		12308 => 12309,
1754		12309 => 12308,
1755		12310 => 12311,
1756		12311 => 12310,
1757		12312 => 12313,
1758		12313 => 12312,
1759		12314 => 12315,
1760		12315 => 12314,
1761		65113 => 65114,
1762		65114 => 65113,
1763		65115 => 65116,
1764		65116 => 65115,
1765		65117 => 65118,
1766		65118 => 65117,
1767		65124 => 65125,
1768		65125 => 65124,
1769		65288 => 65289,
1770		65289 => 65288,
1771		65308 => 65310,
1772		65310 => 65308,
1773		65339 => 65341,
1774		65341 => 65339,
1775		65371 => 65373,
1776		65373 => 65371,
1777		65375 => 65376,
1778		65376 => 65375,
1779		65378 => 65379,
1780		65379 => 65378,
1781	];
1782
1783
1784	/* index tables for the database records */
1785
1786	private static $index0 = [
1787		0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1788		21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1789		39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 53, 53, 53,
1790		53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1791		53, 53, 54, 52, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1792		53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1793		53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1794		53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1795		53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 55, 56, 57, 57, 57, 58,
1796		59, 60, 61, 62, 63, 64, 65, 66, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
1797		67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
1798		67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 68, 69, 70, 70,
1799		71, 69, 70, 70, 72, 73, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
1800		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 75, 76, 77, 78, 79, 80, 81,
1801		82, 83, 84, 85, 86, 87, 70, 70, 70, 88, 89, 90, 91, 92, 70, 93, 70, 94,
1802		95, 70, 70, 70, 70, 96, 70, 70, 70, 70, 70, 70, 70, 70, 70, 97, 97, 97,
1803		98, 99, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 100, 100, 100, 100,
1804		101, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1805		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1806		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 102, 102,
1807		103, 70, 70, 70, 70, 104, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1808		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1809		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1810		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 105, 70,
1811		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1812		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 106, 107, 108, 109, 110,
1813		111, 112, 113, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1814		70, 70, 70, 70, 70, 70, 70, 70, 114, 70, 115, 116, 117, 118, 119, 120,
1815		121, 122, 70, 70, 70, 70, 70, 70, 70, 70, 52, 53, 53, 53, 53, 53, 53, 53,
1816		53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1817		53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1818		53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1819		53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1820		53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1821		53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1822		53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1823		53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1824		53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 123, 52, 53, 53,
1825		53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 124, 125, 126, 126,
1826		126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1827		126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1828		126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1829		126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1830		126, 126, 126, 126, 126, 76, 76, 127, 126, 126, 126, 126, 128, 126, 126,
1831		126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1832		126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1833		126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1834		126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1835		126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1836		126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1837		126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1838		126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1839		126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1840		126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1841		126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1842		126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1843		126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1844		126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1845		126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1846		126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1847		126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1848		126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1849		126, 128, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1850		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1851		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1852		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1853		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1854		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1855		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1856		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1857		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1858		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1859		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1860		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1861		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1862		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1863		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1864		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1865		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1866		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1867		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1868		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1869		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1870		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1871		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1872		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1873		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1874		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1875		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1876		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1877		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1878		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1879		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1880		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1881		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1882		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1883		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1884		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1885		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1886		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1887		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1888		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1889		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1890		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1891		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1892		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1893		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1894		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1895		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1896		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1897		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1898		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1899		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1900		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1901		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1902		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1903		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1904		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1905		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1906		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1907		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1908		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1909		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1910		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1911		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1912		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1913		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1914		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1915		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1916		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1917		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1918		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1919		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1920		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1921		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1922		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1923		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1924		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1925		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1926		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1927		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1928		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1929		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1930		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1931		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1932		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1933		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1934		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1935		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1936		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1937		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1938		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1939		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1940		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1941		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1942		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1943		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1944		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1945		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1946		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1947		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1948		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1949		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1950		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1951		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1952		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1953		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1954		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1955		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1956		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1957		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1958		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1959		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1960		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1961		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1962		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1963		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1964		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1965		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1966		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1967		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1968		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1969		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1970		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1971		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1972		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1973		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1974		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1975		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1976		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1977		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1978		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1979		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1980		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1981		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1982		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1983		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1984		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1985		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1986		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1987		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1988		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1989		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1990		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1991		70, 70, 70, 70, 70, 70, 129, 130, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1992		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1993		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1994		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1995		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1996		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1997		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1998		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1999		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
2000		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
2001		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
2002		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
2003		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
2004		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
2005		70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 73, 74, 74, 74, 74, 74, 74, 74,
2006		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2007		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2008		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2009		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2010		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2011		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2012		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2013		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2014		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2015		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2016		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2017		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2018		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2019		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 131, 73, 74, 74, 74,
2020		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2021		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2022		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2023		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2024		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2025		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2026		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2027		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2028		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2029		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2030		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2031		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2032		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2033		74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 131,
2034	];
2035
2036	private static $index1 = [
2037		0, 1, 0, 2, 3, 4, 5, 6, 7, 8, 8, 9, 10, 11, 11, 12, 13, 0, 0, 0, 14, 15,
2038		16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 29, 31, 32,
2039		33, 34, 35, 27, 30, 29, 27, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2040		47, 48, 27, 27, 49, 27, 27, 27, 27, 27, 27, 27, 50, 51, 52, 27, 53, 54,
2041		53, 54, 54, 54, 54, 54, 55, 54, 54, 54, 56, 57, 58, 59, 60, 61, 62, 63,
2042		64, 64, 65, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 65, 77, 78,
2043		79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2044		97, 97, 97, 97, 98, 98, 98, 98, 99, 100, 101, 101, 101, 101, 102, 103,
2045		101, 101, 101, 101, 101, 101, 104, 105, 101, 101, 101, 101, 101, 101,
2046		101, 101, 101, 101, 101, 106, 107, 108, 108, 108, 109, 110, 111, 112,
2047		112, 112, 112, 113, 114, 115, 116, 117, 118, 119, 120, 106, 121, 121,
2048		121, 122, 123, 106, 124, 125, 126, 127, 128, 128, 128, 128, 129, 130,
2049		131, 132, 133, 134, 135, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2050		128, 128, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 145, 145,
2051		146, 147, 148, 149, 128, 128, 128, 128, 128, 128, 150, 150, 150, 150,
2052		151, 152, 153, 106, 154, 155, 156, 156, 156, 157, 158, 159, 160, 160,
2053		161, 162, 163, 164, 165, 166, 167, 167, 167, 168, 106, 106, 106, 106,
2054		106, 106, 106, 106, 169, 170, 106, 106, 106, 106, 106, 106, 171, 172,
2055		173, 174, 175, 176, 176, 176, 176, 176, 176, 177, 178, 179, 180, 176,
2056		181, 182, 183, 184, 185, 186, 187, 188, 188, 189, 190, 191, 192, 193,
2057		194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 203, 204, 205, 206,
2058		207, 208, 209, 210, 211, 212, 213, 106, 214, 215, 216, 217, 217, 218,
2059		219, 220, 221, 222, 223, 106, 224, 225, 226, 106, 227, 228, 229, 230,
2060		230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 106, 241, 242,
2061		243, 244, 245, 242, 246, 247, 248, 249, 250, 106, 251, 252, 253, 254,
2062		255, 256, 257, 258, 258, 257, 259, 260, 261, 262, 263, 264, 265, 266,
2063		106, 267, 268, 269, 270, 271, 271, 270, 272, 273, 274, 275, 276, 277,
2064		278, 279, 280, 106, 281, 282, 283, 284, 284, 284, 284, 285, 286, 287,
2065		288, 106, 289, 290, 291, 292, 293, 294, 295, 296, 294, 294, 297, 298,
2066		295, 299, 300, 301, 106, 106, 302, 106, 303, 304, 304, 304, 304, 304,
2067		305, 306, 307, 308, 309, 310, 106, 106, 106, 106, 311, 312, 313, 314,
2068		315, 316, 317, 318, 319, 320, 321, 322, 106, 106, 106, 106, 323, 324,
2069		325, 326, 327, 328, 329, 330, 331, 332, 331, 331, 331, 333, 334, 335,
2070		336, 337, 338, 339, 338, 338, 338, 340, 341, 342, 343, 344, 106, 106,
2071		106, 106, 345, 345, 345, 345, 345, 346, 347, 348, 349, 350, 351, 352,
2072		353, 354, 355, 345, 356, 357, 349, 358, 359, 359, 359, 359, 360, 361,
2073		362, 362, 362, 362, 362, 363, 364, 364, 364, 364, 364, 364, 364, 364,
2074		364, 364, 364, 364, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
2075		365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 366, 366, 366, 366,
2076		366, 366, 366, 366, 366, 367, 368, 367, 366, 366, 366, 366, 366, 367,
2077		366, 366, 366, 366, 367, 368, 367, 366, 368, 366, 366, 366, 366, 366,
2078		366, 366, 367, 366, 366, 366, 366, 366, 366, 366, 366, 369, 370, 371,
2079		372, 373, 366, 366, 374, 375, 376, 376, 376, 376, 376, 376, 376, 376,
2080		376, 376, 377, 106, 378, 379, 379, 379, 379, 379, 379, 379, 379, 379,
2081		379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
2082		379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
2083		379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
2084		379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
2085		379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 380, 379, 379,
2086		381, 382, 382, 383, 384, 384, 384, 384, 384, 384, 384, 384, 384, 385,
2087		386, 106, 387, 388, 389, 106, 390, 390, 391, 106, 392, 392, 393, 106,
2088		394, 395, 396, 106, 397, 397, 397, 397, 397, 397, 398, 399, 400, 401,
2089		402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 412, 412, 412,
2090		413, 412, 412, 412, 412, 412, 412, 106, 412, 412, 412, 412, 412, 414,
2091		379, 379, 379, 379, 379, 379, 379, 379, 415, 106, 416, 416, 416, 417,
2092		418, 419, 420, 421, 422, 423, 424, 424, 424, 425, 426, 106, 427, 427,
2093		427, 427, 427, 428, 429, 429, 430, 431, 432, 433, 434, 434, 434, 434,
2094		435, 435, 436, 437, 438, 438, 438, 438, 438, 438, 439, 440, 441, 442,
2095		443, 444, 445, 446, 445, 446, 447, 448, 106, 106, 106, 106, 106, 106,
2096		106, 106, 106, 106, 449, 450, 450, 450, 450, 450, 451, 452, 453, 454,
2097		455, 456, 457, 458, 459, 460, 461, 462, 462, 462, 463, 464, 465, 466,
2098		467, 467, 467, 467, 468, 469, 470, 471, 472, 472, 472, 472, 473, 474,
2099		475, 476, 477, 478, 479, 480, 481, 481, 481, 482, 106, 106, 106, 106,
2100		106, 106, 106, 106, 483, 106, 484, 485, 486, 487, 488, 106, 54, 54, 54,
2101		54, 489, 490, 56, 56, 56, 56, 56, 491, 492, 493, 54, 494, 54, 54, 54,
2102		495, 56, 56, 56, 496, 497, 498, 499, 500, 501, 106, 106, 502, 27, 27, 27,
2103		27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 503, 504, 27,
2104		27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 505, 506, 507, 508, 505, 506,
2105		505, 506, 507, 508, 505, 509, 505, 506, 505, 507, 505, 510, 505, 510,
2106		505, 510, 511, 512, 513, 514, 515, 516, 505, 517, 518, 519, 520, 521,
2107		522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
2108		536, 537, 56, 538, 539, 540, 539, 541, 106, 106, 542, 543, 544, 545, 546,
2109		106, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
2110		560, 559, 561, 562, 563, 564, 565, 566, 567, 568, 569, 568, 570, 571,
2111		568, 572, 568, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
2112		584, 585, 586, 587, 588, 583, 583, 589, 590, 591, 592, 593, 583, 583,
2113		594, 574, 595, 596, 583, 583, 597, 583, 583, 568, 598, 599, 568, 600,
2114		601, 602, 603, 603, 603, 603, 603, 603, 603, 603, 604, 568, 568, 605,
2115		606, 574, 574, 607, 568, 568, 568, 568, 573, 608, 568, 609, 106, 568,
2116		568, 568, 568, 610, 106, 106, 106, 568, 611, 106, 106, 612, 612, 612,
2117		612, 612, 613, 613, 614, 615, 615, 615, 615, 615, 615, 615, 615, 615,
2118		616, 612, 612, 617, 617, 617, 617, 617, 617, 617, 617, 617, 618, 617,
2119		617, 617, 617, 618, 568, 617, 617, 619, 568, 620, 569, 621, 622, 623,
2120		624, 569, 568, 619, 572, 568, 574, 625, 626, 622, 627, 568, 568, 568,
2121		568, 628, 568, 568, 568, 629, 630, 568, 568, 568, 568, 568, 631, 568,
2122		632, 568, 631, 633, 634, 617, 617, 635, 617, 617, 617, 636, 568, 568,
2123		568, 568, 568, 568, 637, 568, 568, 572, 568, 568, 638, 639, 612, 640,
2124		640, 641, 568, 568, 568, 568, 568, 642, 643, 644, 645, 646, 647, 574,
2125		574, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648,
2126		648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648,
2127		648, 648, 648, 648, 648, 574, 574, 574, 574, 574, 574, 574, 574, 574,
2128		574, 574, 574, 574, 574, 574, 574, 649, 650, 650, 651, 583, 583, 574,
2129		652, 597, 653, 654, 655, 656, 657, 658, 659, 574, 660, 583, 661, 662,
2130		663, 664, 645, 574, 574, 586, 652, 664, 665, 666, 667, 583, 583, 583,
2131		583, 668, 669, 583, 583, 583, 583, 670, 671, 672, 645, 673, 674, 568,
2132		568, 568, 568, 568, 568, 574, 574, 675, 676, 677, 678, 106, 106, 106,
2133		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2134		106, 106, 106, 679, 679, 679, 679, 679, 680, 681, 681, 681, 681, 681,
2135		682, 683, 684, 685, 686, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
2136		687, 688, 689, 690, 691, 691, 691, 691, 692, 693, 694, 694, 694, 694,
2137		694, 694, 694, 695, 696, 697, 366, 366, 368, 106, 368, 368, 368, 368,
2138		368, 368, 368, 368, 698, 698, 698, 698, 699, 700, 701, 702, 703, 704,
2139		529, 705, 106, 106, 106, 106, 106, 106, 106, 106, 706, 706, 706, 707,
2140		706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 708, 106, 706, 706,
2141		706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,
2142		706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 709, 106, 106, 106,
2143		710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 721, 721,
2144		721, 721, 721, 721, 721, 721, 722, 723, 724, 725, 725, 725, 725, 725,
2145		725, 725, 725, 725, 725, 726, 727, 728, 728, 728, 728, 729, 730, 364,
2146		364, 364, 364, 364, 364, 364, 364, 364, 364, 731, 732, 733, 728, 728,
2147		728, 734, 710, 710, 710, 710, 711, 106, 725, 725, 735, 735, 735, 736,
2148		737, 738, 733, 733, 733, 739, 740, 741, 735, 735, 735, 742, 737, 738,
2149		733, 733, 733, 733, 743, 741, 733, 744, 745, 745, 745, 745, 745, 746,
2150		745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 733, 733, 733,
2151		747, 748, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 749,
2152		733, 733, 733, 747, 750, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2153		751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2154		751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2155		751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2156		751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2157		751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2158		751, 751, 751, 751, 751, 751, 752, 753, 568, 568, 568, 568, 568, 568,
2159		568, 568, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2160		751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 754,
2161		753, 753, 753, 753, 753, 753, 755, 755, 756, 755, 755, 755, 755, 755,
2162		755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
2163		755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
2164		755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
2165		755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
2166		755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
2167		755, 755, 755, 757, 758, 758, 758, 758, 758, 758, 759, 106, 760, 760,
2168		760, 760, 760, 761, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
2169		762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
2170		762, 762, 762, 762, 762, 762, 762, 762, 762, 763, 762, 762, 764, 765,
2171		106, 106, 101, 101, 101, 101, 101, 766, 767, 768, 101, 101, 101, 769,
2172		770, 770, 770, 770, 770, 770, 770, 770, 771, 772, 773, 106, 64, 64, 774,
2173		775, 776, 27, 777, 27, 27, 27, 27, 27, 27, 27, 778, 779, 27, 780, 781,
2174		106, 27, 782, 106, 106, 106, 106, 106, 106, 106, 106, 106, 783, 784, 785,
2175		786, 786, 787, 788, 789, 790, 791, 791, 791, 791, 791, 791, 792, 106,
2176		793, 794, 794, 794, 794, 794, 795, 796, 797, 798, 799, 800, 801, 801,
2177		802, 803, 804, 805, 806, 806, 807, 808, 809, 809, 810, 811, 812, 813,
2178		364, 364, 364, 814, 815, 816, 816, 816, 816, 816, 817, 818, 819, 820,
2179		821, 822, 106, 106, 106, 106, 823, 823, 823, 823, 823, 824, 825, 106,
2180		826, 827, 828, 829, 345, 345, 830, 831, 832, 832, 832, 832, 832, 832,
2181		833, 834, 835, 106, 106, 836, 837, 838, 839, 106, 840, 840, 840, 106,
2182		368, 368, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2183		106, 106, 106, 106, 106, 106, 837, 837, 837, 837, 841, 842, 843, 844,
2184		845, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
2185		846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
2186		846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
2187		846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
2188		846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
2189		846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
2190		847, 106, 365, 365, 848, 849, 365, 365, 365, 365, 365, 850, 851, 106,
2191		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2192		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2193		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2194		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2195		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2196		106, 106, 106, 106, 106, 106, 106, 852, 851, 106, 106, 106, 106, 106,
2197		106, 106, 106, 106, 106, 106, 106, 106, 106, 852, 106, 106, 106, 106,
2198		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2199		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 852,
2200		853, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2201		854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2202		854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2203		854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2204		854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2205		854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2206		854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 855, 856, 856,
2207		856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
2208		856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
2209		856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
2210		856, 857, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
2211		856, 858, 753, 753, 753, 753, 859, 106, 860, 861, 121, 862, 863, 864,
2212		865, 121, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2213		866, 867, 868, 106, 869, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2214		128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2215		128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2216		128, 128, 128, 128, 128, 128, 128, 870, 106, 106, 128, 128, 128, 128,
2217		128, 128, 128, 128, 871, 128, 128, 128, 128, 128, 128, 106, 106, 106,
2218		106, 106, 128, 872, 873, 873, 874, 875, 501, 106, 876, 877, 878, 879,
2219		880, 881, 882, 883, 884, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2220		128, 128, 128, 128, 128, 128, 128, 885, 886, 887, 888, 889, 890, 891,
2221		891, 892, 893, 894, 894, 895, 896, 897, 898, 897, 897, 897, 897, 899,
2222		900, 900, 900, 901, 902, 902, 902, 903, 904, 905, 106, 906, 907, 908,
2223		907, 907, 909, 907, 907, 910, 907, 911, 907, 911, 106, 106, 106, 106,
2224		907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907,
2225		907, 912, 913, 914, 914, 914, 914, 914, 915, 603, 916, 916, 916, 916,
2226		916, 916, 917, 918, 919, 920, 568, 609, 106, 106, 106, 106, 106, 106,
2227		603, 603, 603, 603, 603, 921, 106, 106, 106, 106, 106, 106, 106, 106,
2228		106, 106, 106, 106, 106, 106, 106, 106, 922, 922, 922, 923, 924, 924,
2229		924, 924, 924, 924, 925, 106, 106, 106, 106, 106, 926, 926, 926, 927,
2230		928, 106, 929, 929, 930, 931, 106, 106, 106, 106, 106, 106, 932, 932,
2231		932, 933, 934, 934, 934, 934, 935, 934, 936, 106, 106, 106, 106, 106,
2232		937, 937, 937, 937, 937, 938, 938, 938, 938, 938, 939, 939, 939, 939,
2233		939, 939, 940, 940, 940, 941, 942, 943, 106, 106, 106, 106, 106, 106,
2234		106, 106, 106, 106, 944, 945, 946, 946, 946, 946, 947, 948, 949, 949,
2235		950, 951, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2236		106, 106, 106, 106, 106, 106, 106, 106, 952, 952, 953, 954, 955, 955,
2237		955, 956, 106, 106, 106, 106, 106, 106, 106, 106, 957, 957, 957, 957,
2238		958, 958, 958, 959, 106, 106, 106, 106, 106, 106, 106, 106, 960, 961,
2239		962, 963, 964, 964, 965, 966, 967, 106, 968, 969, 970, 970, 970, 971,
2240		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2241		106, 106, 972, 972, 972, 972, 972, 972, 973, 974, 975, 975, 976, 977,
2242		978, 978, 979, 980, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2243		106, 106, 106, 106, 106, 106, 981, 981, 981, 981, 981, 981, 981, 981,
2244		981, 982, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2245		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2246		106, 106, 106, 106, 106, 106, 106, 106, 983, 983, 983, 984, 106, 106,
2247		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2248		985, 986, 986, 986, 986, 986, 986, 987, 988, 989, 990, 991, 992, 993,
2249		106, 106, 994, 995, 995, 995, 995, 995, 996, 997, 998, 106, 999, 999,
2250		999, 1000, 1001, 1002, 1003, 1004, 1004, 1004, 1005, 1006, 1007, 1008,
2251		1009, 106, 106, 106, 106, 106, 106, 106, 1010, 1011, 1011, 1011, 1011,
2252		1011, 1012, 1013, 1014, 1015, 1016, 1017, 106, 106, 106, 106, 106, 106,
2253		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2254		1018, 1018, 1018, 1018, 1018, 1019, 1020, 106, 1021, 1022, 106, 106, 106,
2255		106, 106, 106, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,
2256		1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,
2257		1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,
2258		1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,
2259		1024, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2260		106, 106, 106, 106, 106, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025,
2261		1025, 1025, 1025, 1025, 1026, 106, 1027, 106, 106, 106, 106, 106, 106,
2262		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 1028, 1028, 1028,
2263		1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028,
2264		1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028,
2265		1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1029, 106,
2266		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2267		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 770, 770, 770,
2268		770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770,
2269		770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770,
2270		770, 770, 770, 770, 770, 770, 770, 770, 1030, 106, 106, 106, 106, 106,
2271		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2272		106, 106, 106, 106, 106, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031,
2273		1032, 106, 1033, 1034, 1034, 1034, 1034, 1035, 106, 1036, 1037, 1038,
2274		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 1039, 106,
2275		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2276		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2277		106, 106, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
2278		603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
2279		603, 603, 603, 603, 1040, 106, 603, 603, 603, 603, 1041, 1042, 603, 603,
2280		603, 603, 603, 603, 1043, 1044, 1045, 1046, 1047, 1048, 603, 603, 603,
2281		1049, 603, 603, 603, 603, 603, 1040, 106, 106, 106, 106, 919, 919, 919,
2282		919, 919, 919, 919, 919, 1050, 106, 106, 106, 106, 106, 106, 106, 106,
2283		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2284		106, 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 610, 106, 914,
2285		914, 1051, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2286		106, 106, 106, 106, 106, 1052, 1052, 1052, 1053, 1054, 1054, 1055, 1052,
2287		1052, 1056, 1057, 1054, 1054, 1052, 1052, 1052, 1053, 1054, 1054, 1058,
2288		1059, 1060, 1056, 1061, 1062, 1054, 1052, 1052, 1052, 1053, 1054, 1054,
2289		1063, 1064, 1065, 1066, 1054, 1054, 1054, 1067, 1068, 1069, 1070, 1054,
2290		1054, 1055, 1052, 1052, 1056, 1054, 1054, 1054, 1052, 1052, 1052, 1053,
2291		1054, 1054, 1055, 1052, 1052, 1056, 1054, 1054, 1054, 1052, 1052, 1052,
2292		1053, 1054, 1054, 1055, 1052, 1052, 1056, 1054, 1054, 1054, 1052, 1052,
2293		1052, 1053, 1054, 1054, 1071, 1052, 1052, 1052, 1072, 1054, 1054, 1073,
2294		1074, 1052, 1052, 1075, 1054, 1054, 1076, 1055, 1052, 1052, 1077, 1054,
2295		1054, 1078, 1079, 1052, 1052, 1080, 1054, 1054, 1054, 1081, 1052, 1052,
2296		1052, 1072, 1054, 1054, 1073, 1082, 1083, 1083, 1083, 1083, 1083, 1083,
2297		1084, 128, 128, 128, 1085, 1086, 1087, 1088, 1089, 1090, 1085, 1091,
2298		1085, 1087, 1087, 1092, 128, 1093, 128, 1094, 1095, 1093, 128, 1094, 106,
2299		106, 106, 106, 106, 106, 1096, 106, 568, 568, 568, 568, 568, 609, 568,
2300		568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 609, 106, 568,
2301		610, 636, 610, 636, 568, 636, 568, 106, 106, 106, 106, 613, 1097, 615,
2302		615, 615, 1098, 615, 615, 615, 615, 615, 615, 615, 1099, 615, 615, 615,
2303		615, 615, 1100, 106, 106, 106, 106, 106, 106, 106, 106, 1101, 603, 603,
2304		603, 1102, 106, 733, 733, 733, 733, 733, 1103, 733, 1104, 1105, 106, 106,
2305		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2306		106, 106, 106, 106, 106, 568, 568, 568, 568, 1106, 106, 1107, 568, 568,
2307		568, 568, 568, 568, 568, 568, 1108, 568, 568, 609, 106, 568, 568, 568,
2308		568, 1109, 611, 106, 106, 568, 568, 1106, 106, 568, 568, 568, 568, 568,
2309		568, 568, 610, 1110, 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
2310		568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 1111, 568,
2311		568, 568, 568, 568, 568, 568, 1112, 609, 106, 568, 568, 568, 106, 106,
2312		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2313		106, 106, 1113, 568, 568, 568, 568, 568, 568, 568, 568, 1114, 568, 106,
2314		106, 106, 106, 106, 106, 568, 568, 568, 568, 568, 568, 568, 568, 1112,
2315		106, 106, 106, 106, 106, 106, 106, 568, 568, 568, 568, 568, 568, 568,
2316		568, 568, 568, 568, 568, 568, 568, 609, 106, 106, 106, 106, 106, 106,
2317		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 751, 751, 751,
2318		751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2319		751, 751, 751, 751, 751, 751, 751, 751, 751, 1115, 753, 753, 753, 753,
2320		753, 751, 751, 751, 751, 751, 751, 754, 753, 750, 751, 751, 751, 751,
2321		751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2322		751, 751, 751, 751, 751, 751, 751, 751, 752, 753, 753, 753, 753, 753,
2323		753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
2324		753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
2325		753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
2326		753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 856,
2327		856, 856, 857, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
2328		753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
2329		753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
2330		753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
2331		753, 753, 753, 753, 753, 753, 1116, 1117, 106, 106, 106, 1118, 1118,
2332		1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 106, 106,
2333		106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2334		873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873,
2335		873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873,
2336		873, 873, 106, 106, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2337		854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2338		854, 854, 854, 854, 854, 854, 854, 1119,
2339	];
2340
2341	private static $index2 = [
2342		1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 2, 4, 3, 1, 1, 1, 1, 1, 1, 3, 3, 3, 2,
2343		5, 6, 6, 7, 8, 7, 6, 6, 9, 10, 6, 11, 12, 13, 12, 12, 14, 14, 14, 14, 14,
2344		14, 14, 14, 14, 14, 12, 6, 15, 16, 15, 6, 6, 17, 17, 17, 17, 17, 17, 17,
2345		17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 9, 6, 10, 18, 19, 18, 20, 20,
2346		20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 9, 16,
2347		10, 16, 1, 1, 1, 1, 1, 1, 3, 1, 1, 21, 22, 8, 8, 23, 8, 24, 22, 25, 26,
2348		27, 28, 16, 29, 30, 18, 31, 32, 33, 33, 25, 34, 22, 22, 25, 33, 27, 35,
2349		36, 36, 36, 22, 37, 37, 37, 37, 37, 37, 38, 37, 37, 37, 37, 37, 37, 37,
2350		37, 37, 38, 37, 37, 37, 37, 37, 37, 39, 38, 37, 37, 37, 37, 37, 38, 40,
2351		40, 40, 41, 41, 41, 41, 40, 41, 40, 40, 40, 41, 40, 40, 41, 41, 40, 41,
2352		40, 40, 41, 41, 41, 39, 40, 40, 40, 41, 40, 41, 40, 41, 37, 40, 37, 41,
2353		37, 41, 37, 41, 37, 41, 37, 41, 37, 41, 37, 41, 37, 40, 37, 40, 37, 41,
2354		37, 41, 37, 41, 37, 40, 37, 41, 37, 41, 37, 41, 37, 41, 37, 41, 38, 40,
2355		37, 40, 38, 40, 37, 41, 37, 41, 40, 37, 41, 37, 41, 37, 41, 38, 40, 38,
2356		40, 37, 40, 37, 41, 37, 40, 40, 38, 40, 37, 40, 37, 41, 37, 41, 38, 40,
2357		37, 41, 37, 41, 37, 37, 41, 37, 41, 37, 41, 41, 41, 37, 37, 41, 37, 41,
2358		37, 37, 41, 37, 37, 37, 41, 41, 37, 37, 37, 37, 41, 37, 37, 41, 37, 37,
2359		37, 41, 41, 41, 37, 37, 41, 37, 37, 41, 37, 41, 37, 41, 37, 37, 41, 37,
2360		41, 41, 37, 41, 37, 37, 41, 37, 37, 37, 41, 37, 41, 37, 37, 41, 41, 42,
2361		37, 41, 41, 41, 42, 42, 42, 42, 37, 43, 41, 37, 43, 41, 37, 43, 41, 37,
2362		40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 41, 37, 41,
2363		41, 37, 43, 41, 37, 41, 37, 37, 37, 41, 37, 41, 41, 41, 41, 41, 41, 41,
2364		37, 37, 41, 37, 37, 41, 41, 37, 41, 37, 37, 37, 37, 41, 41, 40, 41, 41,
2365		41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 42, 41,
2366		41, 41, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 45, 46, 46, 46, 46, 46,
2367		46, 46, 47, 47, 25, 47, 45, 48, 45, 48, 48, 48, 45, 48, 45, 45, 49, 46,
2368		47, 47, 47, 47, 47, 47, 25, 25, 25, 25, 47, 25, 47, 25, 44, 44, 44, 44,
2369		44, 47, 47, 47, 47, 47, 50, 50, 45, 47, 46, 47, 47, 47, 47, 47, 47, 47,
2370		47, 47, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 52, 53, 53,
2371		53, 53, 52, 54, 53, 53, 53, 53, 53, 55, 55, 53, 53, 53, 53, 55, 55, 53,
2372		53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 56, 56, 56, 56, 56, 53, 53, 53,
2373		53, 51, 51, 51, 51, 51, 51, 51, 51, 57, 51, 53, 53, 53, 51, 51, 51, 53,
2374		53, 58, 51, 51, 51, 53, 53, 53, 53, 51, 52, 53, 53, 51, 59, 60, 60, 59,
2375		60, 60, 59, 51, 51, 51, 51, 51, 61, 62, 61, 62, 45, 63, 61, 62, 64, 64,
2376		65, 62, 62, 62, 66, 64, 64, 64, 64, 64, 63, 47, 61, 66, 61, 61, 61, 64,
2377		61, 64, 61, 61, 62, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
2378		67, 67, 67, 67, 64, 67, 67, 67, 67, 67, 67, 67, 61, 61, 62, 62, 62, 62,
2379		62, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
2380		62, 68, 68, 68, 68, 68, 68, 68, 62, 62, 62, 62, 62, 61, 62, 62, 61, 61,
2381		61, 62, 62, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 69, 70, 69, 70,
2382		69, 70, 69, 70, 69, 70, 69, 70, 69, 70, 62, 62, 62, 62, 61, 62, 71, 61,
2383		62, 61, 61, 62, 62, 61, 61, 61, 72, 73, 72, 72, 72, 72, 72, 72, 72, 72,
2384		72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 73, 73, 74, 74, 74, 74,
2385		74, 74, 74, 74, 75, 74, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
2386		75, 75, 72, 75, 72, 75, 72, 75, 72, 75, 72, 75, 76, 77, 77, 78, 78, 77,
2387		79, 79, 72, 75, 72, 75, 72, 75, 72, 72, 75, 72, 75, 72, 75, 72, 75, 72,
2388		75, 72, 75, 72, 75, 75, 64, 64, 64, 64, 64, 64, 64, 64, 64, 80, 80, 80,
2389		80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
2390		80, 64, 64, 81, 82, 82, 82, 82, 82, 82, 64, 83, 83, 83, 83, 83, 83, 83,
2391		83, 83, 83, 83, 83, 83, 83, 83, 64, 84, 85, 64, 64, 64, 64, 86, 64, 87,
2392		88, 88, 88, 88, 87, 88, 88, 88, 89, 87, 88, 88, 88, 88, 88, 88, 87, 87,
2393		87, 87, 87, 87, 88, 88, 87, 88, 88, 89, 90, 88, 91, 92, 93, 94, 95, 96,
2394		97, 98, 99, 100, 100, 101, 102, 103, 104, 105, 106, 107, 108, 106, 88,
2395		87, 106, 99, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 64,
2396		64, 64, 64, 64, 109, 109, 109, 106, 106, 64, 64, 64, 110, 110, 110, 110,
2397		110, 64, 111, 111, 112, 113, 113, 114, 115, 116, 117, 117, 118, 118, 118,
2398		118, 118, 118, 118, 118, 119, 120, 121, 122, 64, 64, 116, 122, 123, 123,
2399		123, 123, 123, 123, 123, 123, 124, 123, 123, 123, 123, 123, 123, 123,
2400		123, 123, 123, 125, 126, 127, 128, 129, 130, 131, 132, 78, 78, 133, 134,
2401		118, 118, 118, 118, 118, 134, 118, 118, 134, 135, 135, 135, 135, 135,
2402		135, 135, 135, 135, 135, 113, 136, 136, 116, 123, 123, 137, 123, 123,
2403		123, 123, 123, 123, 123, 123, 123, 123, 123, 116, 123, 118, 118, 118,
2404		118, 118, 118, 118, 138, 117, 118, 118, 118, 118, 134, 118, 139, 139,
2405		118, 118, 117, 134, 118, 118, 134, 123, 123, 140, 140, 140, 140, 140,
2406		140, 140, 140, 140, 140, 123, 123, 123, 141, 141, 123, 142, 142, 142,
2407		142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 64, 143, 144, 145,
2408		144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2409		146, 147, 146, 146, 147, 146, 146, 147, 147, 147, 146, 147, 147, 146,
2410		147, 146, 146, 146, 147, 146, 147, 146, 147, 146, 147, 146, 146, 64, 64,
2411		144, 144, 144, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
2412		148, 148, 148, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
2413		148, 64, 64, 64, 64, 64, 64, 150, 150, 150, 150, 150, 150, 150, 150, 150,
2414		150, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151,
2415		151, 151, 151, 151, 152, 152, 152, 152, 152, 152, 152, 153, 152, 154,
2416		154, 155, 156, 156, 156, 154, 64, 64, 64, 64, 64, 157, 157, 157, 157,
2417		157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 158, 158, 158, 158,
2418		159, 158, 158, 158, 158, 158, 158, 158, 158, 158, 159, 158, 158, 158,
2419		159, 158, 158, 158, 158, 158, 64, 64, 160, 160, 160, 160, 160, 160, 160,
2420		160, 160, 160, 160, 160, 160, 160, 160, 64, 161, 161, 161, 161, 161, 161,
2421		161, 161, 161, 162, 162, 162, 64, 64, 163, 64, 123, 64, 123, 123, 123,
2422		123, 123, 123, 123, 123, 123, 123, 123, 64, 64, 64, 64, 64, 64, 64, 118,
2423		118, 134, 118, 118, 134, 118, 118, 118, 134, 134, 134, 164, 165, 166,
2424		118, 118, 118, 134, 118, 118, 134, 134, 118, 118, 118, 118, 64, 167, 167,
2425		167, 168, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
2426		169, 169, 167, 168, 170, 169, 168, 168, 168, 167, 167, 167, 167, 167,
2427		167, 167, 167, 168, 168, 168, 168, 171, 168, 168, 169, 78, 133, 172, 172,
2428		167, 167, 167, 169, 169, 167, 167, 84, 84, 173, 173, 173, 173, 173, 173,
2429		173, 173, 173, 173, 174, 175, 169, 169, 169, 169, 169, 169, 64, 169, 169,
2430		169, 169, 169, 169, 169, 64, 176, 177, 177, 64, 178, 178, 178, 178, 178,
2431		178, 178, 178, 64, 64, 178, 178, 64, 64, 178, 178, 178, 178, 178, 178,
2432		178, 178, 178, 178, 178, 178, 178, 178, 64, 178, 178, 178, 178, 178, 178,
2433		178, 64, 178, 64, 64, 64, 178, 178, 178, 178, 64, 64, 179, 178, 177, 177,
2434		177, 176, 176, 176, 176, 64, 64, 177, 177, 64, 64, 177, 177, 180, 178,
2435		64, 64, 64, 64, 64, 64, 64, 64, 177, 64, 64, 64, 64, 178, 178, 64, 178,
2436		178, 178, 176, 176, 64, 64, 181, 181, 181, 181, 181, 181, 181, 181, 181,
2437		181, 178, 178, 182, 182, 183, 183, 183, 183, 183, 183, 184, 182, 64, 64,
2438		64, 64, 64, 185, 185, 186, 64, 187, 187, 187, 187, 187, 187, 64, 64, 64,
2439		64, 187, 187, 64, 64, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
2440		187, 187, 187, 187, 64, 187, 187, 187, 187, 187, 187, 187, 64, 187, 187,
2441		64, 187, 187, 64, 187, 187, 64, 64, 188, 64, 186, 186, 186, 185, 185, 64,
2442		64, 64, 64, 185, 185, 64, 64, 185, 185, 189, 64, 64, 64, 185, 64, 64, 64,
2443		64, 64, 64, 64, 187, 187, 187, 187, 64, 187, 64, 64, 64, 64, 64, 64, 64,
2444		190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 185, 185, 187, 187,
2445		187, 185, 64, 64, 64, 191, 191, 192, 64, 193, 193, 193, 193, 193, 193,
2446		193, 193, 193, 64, 193, 193, 193, 64, 193, 193, 193, 193, 193, 193, 193,
2447		193, 193, 193, 193, 193, 193, 193, 64, 193, 193, 193, 193, 193, 193, 193,
2448		64, 193, 193, 64, 193, 193, 193, 193, 193, 64, 64, 194, 193, 192, 192,
2449		192, 191, 191, 191, 191, 191, 64, 191, 191, 192, 64, 192, 192, 195, 64,
2450		64, 193, 64, 64, 64, 64, 64, 64, 64, 193, 193, 191, 191, 64, 64, 196,
2451		196, 196, 196, 196, 196, 196, 196, 196, 196, 197, 198, 64, 64, 64, 64,
2452		64, 64, 64, 199, 200, 200, 64, 201, 201, 201, 201, 201, 201, 201, 201,
2453		64, 64, 201, 201, 64, 64, 201, 201, 201, 201, 201, 201, 201, 201, 201,
2454		201, 201, 201, 201, 201, 64, 201, 201, 201, 201, 201, 201, 201, 64, 201,
2455		201, 64, 201, 201, 201, 201, 201, 64, 64, 202, 201, 200, 199, 200, 199,
2456		199, 199, 199, 64, 64, 200, 200, 64, 64, 200, 200, 203, 64, 64, 64, 64,
2457		64, 64, 64, 64, 199, 200, 64, 64, 64, 64, 201, 201, 64, 201, 201, 201,
2458		199, 199, 64, 64, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 205,
2459		201, 206, 206, 206, 206, 206, 206, 64, 64, 207, 208, 64, 208, 208, 208,
2460		208, 208, 208, 64, 64, 64, 208, 208, 208, 64, 208, 208, 208, 208, 64, 64,
2461		64, 208, 208, 64, 208, 64, 208, 208, 64, 64, 64, 208, 208, 64, 64, 64,
2462		208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 64, 64, 64, 64, 209,
2463		209, 207, 209, 209, 64, 64, 64, 209, 209, 209, 64, 209, 209, 209, 210,
2464		64, 64, 208, 64, 64, 64, 64, 64, 64, 209, 64, 64, 64, 64, 64, 64, 211,
2465		211, 211, 211, 211, 211, 211, 211, 211, 211, 212, 212, 212, 213, 213,
2466		213, 213, 213, 213, 214, 213, 64, 64, 64, 64, 64, 64, 215, 215, 215, 64,
2467		216, 216, 216, 216, 216, 216, 216, 216, 64, 216, 216, 216, 64, 216, 216,
2468		216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
2469		216, 216, 64, 216, 216, 216, 216, 216, 64, 64, 64, 216, 217, 217, 217,
2470		215, 215, 215, 215, 64, 217, 217, 217, 64, 217, 217, 217, 218, 64, 64,
2471		64, 64, 64, 64, 64, 219, 220, 64, 216, 216, 64, 64, 64, 64, 64, 64, 216,
2472		216, 217, 217, 64, 64, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
2473		222, 222, 222, 222, 222, 222, 222, 223, 64, 64, 224, 224, 64, 225, 225,
2474		225, 225, 225, 225, 225, 225, 64, 225, 225, 225, 64, 225, 225, 225, 225,
2475		225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 64,
2476		225, 225, 225, 225, 225, 64, 64, 226, 225, 224, 227, 224, 224, 224, 224,
2477		224, 64, 227, 224, 224, 64, 224, 224, 228, 229, 64, 64, 64, 64, 64, 64,
2478		64, 224, 224, 64, 64, 64, 64, 64, 64, 64, 225, 64, 225, 225, 228, 228,
2479		64, 64, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 64, 225, 225,
2480		64, 64, 64, 64, 64, 64, 64, 231, 231, 64, 232, 232, 232, 232, 232, 232,
2481		232, 232, 64, 232, 232, 232, 64, 232, 232, 232, 232, 232, 232, 232, 232,
2482		232, 232, 232, 232, 232, 232, 232, 232, 232, 64, 64, 232, 231, 231, 231,
2483		233, 233, 233, 233, 64, 231, 231, 231, 64, 231, 231, 231, 234, 232, 64,
2484		64, 64, 64, 64, 64, 64, 64, 231, 232, 232, 233, 233, 64, 64, 235, 235,
2485		235, 235, 235, 235, 235, 235, 235, 235, 236, 236, 236, 236, 236, 236, 64,
2486		64, 64, 237, 232, 232, 232, 232, 232, 232, 64, 64, 238, 238, 64, 239,
2487		239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
2488		239, 239, 239, 64, 64, 64, 239, 239, 239, 239, 239, 239, 239, 239, 64,
2489		239, 239, 239, 239, 239, 239, 239, 239, 239, 64, 239, 64, 64, 64, 64,
2490		240, 64, 64, 64, 64, 238, 238, 238, 241, 241, 241, 64, 241, 64, 238, 238,
2491		238, 238, 238, 238, 238, 238, 64, 64, 238, 238, 242, 64, 64, 64, 64, 243,
2492		243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
2493		243, 244, 243, 243, 244, 244, 244, 244, 245, 245, 246, 64, 64, 64, 64,
2494		247, 243, 243, 243, 243, 243, 243, 248, 244, 249, 249, 249, 249, 244,
2495		244, 244, 250, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 250,
2496		250, 64, 64, 64, 64, 64, 252, 252, 64, 252, 64, 64, 252, 252, 64, 252,
2497		64, 64, 252, 64, 64, 64, 64, 64, 64, 252, 252, 252, 252, 64, 252, 252,
2498		252, 252, 252, 252, 252, 64, 252, 252, 252, 64, 252, 64, 252, 64, 64,
2499		252, 252, 64, 252, 252, 252, 252, 253, 252, 252, 253, 253, 253, 253, 254,
2500		254, 64, 253, 253, 252, 64, 64, 252, 252, 252, 252, 252, 64, 255, 64,
2501		256, 256, 256, 256, 253, 253, 64, 64, 257, 257, 257, 257, 257, 257, 257,
2502		257, 257, 257, 64, 64, 252, 252, 252, 252, 258, 259, 259, 259, 260, 260,
2503		260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 259,
2504		260, 259, 259, 259, 261, 261, 259, 259, 259, 259, 259, 259, 262, 262,
2505		262, 262, 262, 262, 262, 262, 262, 262, 263, 263, 263, 263, 263, 263,
2506		263, 263, 263, 263, 259, 261, 259, 261, 259, 264, 265, 266, 265, 266,
2507		267, 267, 258, 258, 258, 258, 258, 258, 258, 258, 64, 258, 258, 258, 258,
2508		258, 258, 258, 258, 258, 258, 258, 258, 64, 64, 64, 64, 268, 269, 270,
2509		271, 270, 270, 270, 270, 270, 269, 269, 269, 269, 270, 267, 269, 270,
2510		272, 272, 273, 260, 272, 272, 258, 258, 258, 258, 258, 270, 270, 270,
2511		270, 270, 270, 270, 270, 270, 270, 270, 64, 270, 270, 270, 270, 270, 270,
2512		270, 270, 270, 270, 270, 270, 64, 259, 259, 259, 259, 259, 259, 259, 259,
2513		261, 259, 259, 259, 259, 259, 259, 64, 259, 259, 260, 260, 260, 260, 260,
2514		274, 274, 274, 274, 260, 260, 64, 64, 64, 64, 64, 275, 275, 275, 275,
2515		275, 275, 275, 275, 275, 275, 275, 276, 276, 277, 277, 277, 277, 276,
2516		277, 277, 277, 277, 277, 278, 276, 279, 279, 276, 276, 277, 277, 275,
2517		280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 281, 281, 281, 281,
2518		281, 281, 275, 275, 275, 275, 275, 275, 276, 276, 277, 277, 275, 275,
2519		275, 275, 277, 277, 277, 275, 276, 276, 276, 275, 275, 276, 276, 276,
2520		276, 276, 276, 276, 275, 275, 275, 277, 277, 277, 277, 275, 275, 275,
2521		275, 275, 277, 276, 276, 277, 277, 276, 276, 276, 276, 276, 276, 282,
2522		275, 276, 280, 280, 276, 276, 276, 277, 283, 283, 284, 284, 284, 284,
2523		284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 64, 284, 64, 64, 64,
2524		64, 64, 284, 64, 64, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285,
2525		285, 84, 286, 285, 285, 285, 287, 287, 287, 287, 287, 287, 287, 287, 288,
2526		288, 288, 288, 288, 288, 288, 288, 289, 289, 289, 289, 289, 289, 289,
2527		289, 289, 64, 289, 289, 289, 289, 64, 64, 289, 289, 289, 289, 289, 289,
2528		289, 64, 289, 289, 289, 64, 64, 290, 290, 290, 291, 291, 291, 291, 291,
2529		291, 291, 291, 291, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
2530		292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 64, 64, 64, 293, 293,
2531		293, 293, 293, 293, 293, 293, 293, 293, 64, 64, 64, 64, 64, 64, 294, 294,
2532		294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 64, 64, 64, 295,
2533		296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296,
2534		296, 296, 296, 296, 296, 296, 297, 297, 296, 298, 299, 299, 299, 299,
2535		299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
2536		300, 301, 64, 64, 64, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302,
2537		302, 84, 84, 84, 303, 303, 303, 64, 64, 64, 64, 64, 64, 64, 304, 304,
2538		304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 64, 304, 304, 304,
2539		304, 305, 305, 306, 64, 64, 64, 307, 307, 307, 307, 307, 307, 307, 307,
2540		307, 307, 308, 308, 309, 84, 84, 64, 310, 310, 310, 310, 310, 310, 310,
2541		310, 310, 310, 311, 311, 64, 64, 64, 64, 312, 312, 312, 312, 312, 312,
2542		312, 312, 312, 312, 312, 312, 312, 64, 312, 312, 312, 64, 313, 313, 64,
2543		64, 64, 64, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
2544		315, 315, 316, 315, 315, 315, 315, 315, 315, 315, 316, 316, 316, 316,
2545		316, 316, 316, 316, 315, 316, 316, 315, 315, 315, 315, 315, 315, 315,
2546		315, 315, 317, 315, 318, 318, 318, 319, 318, 318, 318, 320, 314, 321, 64,
2547		64, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 64, 64, 64, 64, 64,
2548		64, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 64, 64, 64, 64, 64,
2549		64, 324, 324, 66, 66, 324, 66, 325, 324, 324, 324, 324, 326, 326, 326,
2550		327, 64, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 64, 64, 64,
2551		64, 64, 64, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 330,
2552		329, 329, 329, 329, 329, 331, 329, 64, 64, 64, 64, 64, 296, 296, 296,
2553		296, 296, 296, 64, 64, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332,
2554		332, 332, 332, 64, 64, 64, 333, 333, 333, 334, 334, 334, 334, 333, 333,
2555		334, 334, 334, 64, 64, 64, 64, 334, 334, 333, 334, 334, 334, 334, 334,
2556		334, 335, 336, 337, 64, 64, 64, 64, 338, 64, 64, 64, 339, 339, 340, 340,
2557		340, 340, 340, 340, 340, 340, 340, 340, 341, 341, 341, 341, 341, 341,
2558		341, 341, 341, 341, 341, 341, 341, 341, 64, 64, 341, 341, 341, 341, 341,
2559		64, 64, 64, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
2560		64, 64, 64, 64, 343, 343, 343, 343, 343, 343, 343, 343, 343, 342, 342,
2561		342, 342, 342, 342, 342, 343, 343, 64, 64, 64, 64, 64, 64, 344, 344, 344,
2562		344, 344, 344, 344, 344, 344, 344, 345, 64, 64, 64, 346, 346, 347, 347,
2563		347, 347, 347, 347, 347, 347, 348, 348, 348, 348, 348, 348, 348, 348,
2564		348, 348, 348, 348, 348, 348, 348, 349, 350, 351, 351, 351, 64, 64, 352,
2565		352, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353,
2566		354, 355, 354, 355, 355, 355, 355, 355, 355, 355, 64, 356, 354, 355, 354,
2567		354, 355, 355, 355, 355, 355, 355, 355, 355, 354, 354, 354, 354, 354,
2568		354, 355, 355, 357, 357, 357, 357, 357, 357, 357, 357, 64, 64, 358, 359,
2569		359, 359, 359, 359, 359, 359, 359, 359, 359, 64, 64, 64, 64, 64, 64, 360,
2570		360, 360, 360, 360, 360, 360, 361, 360, 360, 360, 360, 360, 360, 64, 64,
2571		362, 362, 362, 362, 363, 364, 364, 364, 364, 364, 364, 364, 364, 364,
2572		364, 364, 364, 364, 364, 364, 365, 363, 362, 362, 362, 362, 362, 363,
2573		362, 363, 363, 363, 363, 363, 362, 363, 366, 364, 364, 364, 364, 364,
2574		364, 364, 64, 64, 64, 64, 367, 367, 367, 367, 367, 367, 367, 367, 367,
2575		367, 368, 368, 368, 368, 368, 368, 368, 369, 369, 369, 369, 369, 369,
2576		369, 369, 369, 369, 370, 371, 370, 370, 370, 370, 370, 370, 370, 369,
2577		369, 369, 369, 369, 369, 369, 369, 369, 64, 64, 64, 372, 372, 373, 374,
2578		374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 373,
2579		372, 372, 372, 372, 373, 373, 372, 372, 375, 376, 373, 373, 374, 374,
2580		377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 374, 374, 374, 374,
2581		374, 374, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
2582		378, 378, 379, 380, 381, 381, 380, 380, 380, 381, 380, 381, 381, 381,
2583		382, 382, 64, 64, 64, 64, 64, 64, 64, 64, 383, 383, 383, 383, 384, 384,
2584		384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 385, 385, 385, 385,
2585		385, 385, 385, 385, 386, 386, 386, 386, 386, 386, 386, 386, 385, 385,
2586		386, 387, 64, 64, 64, 388, 388, 388, 388, 388, 389, 389, 389, 389, 389,
2587		389, 389, 389, 389, 389, 64, 64, 64, 384, 384, 384, 390, 390, 390, 390,
2588		390, 390, 390, 390, 390, 390, 391, 391, 391, 391, 391, 391, 391, 391,
2589		391, 391, 391, 391, 391, 391, 392, 392, 392, 392, 392, 392, 393, 393,
2590		394, 394, 394, 394, 394, 394, 394, 394, 78, 78, 78, 84, 395, 133, 133,
2591		133, 133, 133, 78, 78, 133, 133, 133, 133, 78, 396, 395, 395, 395, 395,
2592		395, 395, 395, 397, 397, 397, 397, 133, 397, 397, 397, 397, 396, 396, 78,
2593		397, 397, 64, 41, 41, 41, 41, 41, 41, 62, 62, 62, 62, 62, 75, 44, 44, 44,
2594		44, 44, 44, 44, 44, 44, 65, 65, 65, 65, 65, 44, 44, 44, 44, 65, 65, 65,
2595		65, 65, 41, 41, 41, 41, 41, 398, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
2596		44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 65, 78, 78, 133, 78, 78,
2597		78, 78, 78, 78, 78, 133, 78, 78, 399, 400, 133, 401, 78, 78, 78, 78, 78,
2598		78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 64,
2599		64, 64, 64, 64, 402, 133, 78, 133, 37, 41, 37, 41, 37, 41, 41, 41, 41,
2600		41, 41, 41, 41, 41, 37, 41, 62, 62, 62, 62, 62, 62, 62, 62, 61, 61, 61,
2601		61, 61, 61, 61, 61, 62, 62, 62, 62, 62, 62, 64, 64, 61, 61, 61, 61, 61,
2602		61, 64, 64, 64, 61, 64, 61, 64, 61, 64, 61, 403, 403, 403, 403, 403, 403,
2603		403, 403, 62, 62, 62, 62, 62, 64, 62, 62, 61, 61, 61, 61, 403, 63, 62,
2604		63, 63, 63, 62, 62, 62, 64, 62, 62, 61, 61, 61, 61, 403, 63, 63, 63, 62,
2605		62, 62, 62, 64, 64, 62, 62, 61, 61, 61, 61, 64, 63, 63, 63, 61, 61, 61,
2606		61, 61, 63, 63, 63, 64, 64, 62, 62, 62, 64, 62, 62, 61, 61, 61, 61, 403,
2607		63, 63, 64, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 405,
2608		406, 406, 407, 408, 409, 410, 410, 409, 409, 409, 22, 66, 411, 412, 413,
2609		414, 411, 412, 413, 414, 22, 22, 22, 66, 22, 22, 22, 22, 415, 416, 417,
2610		418, 419, 420, 421, 21, 422, 423, 422, 422, 423, 22, 66, 66, 66, 28, 35,
2611		22, 66, 66, 22, 424, 424, 66, 66, 66, 425, 426, 427, 66, 66, 66, 66, 66,
2612		66, 66, 66, 66, 66, 66, 428, 66, 424, 66, 66, 66, 66, 66, 66, 66, 66, 66,
2613		66, 404, 405, 405, 405, 405, 405, 64, 64, 64, 64, 64, 405, 405, 405, 405,
2614		405, 405, 429, 44, 64, 64, 33, 429, 429, 429, 429, 429, 430, 430, 428,
2615		426, 427, 431, 429, 33, 33, 33, 33, 429, 429, 429, 429, 429, 430, 430,
2616		428, 426, 427, 64, 44, 44, 44, 44, 44, 64, 64, 64, 247, 247, 247, 247,
2617		247, 247, 247, 247, 247, 432, 247, 247, 23, 247, 247, 247, 247, 247, 247,
2618		64, 64, 64, 64, 64, 78, 78, 395, 395, 78, 78, 78, 78, 395, 395, 395, 78,
2619		78, 433, 433, 433, 433, 78, 433, 433, 433, 395, 395, 78, 133, 78, 395,
2620		395, 133, 133, 133, 133, 78, 64, 64, 64, 64, 64, 64, 64, 26, 26, 434, 30,
2621		26, 30, 26, 434, 26, 30, 34, 434, 434, 434, 34, 34, 434, 434, 434, 435,
2622		26, 434, 30, 26, 428, 434, 434, 434, 434, 434, 26, 26, 26, 30, 30, 26,
2623		434, 26, 67, 26, 434, 26, 37, 38, 434, 434, 436, 34, 434, 434, 37, 434,
2624		34, 397, 397, 397, 397, 34, 26, 26, 34, 34, 434, 434, 437, 428, 428, 428,
2625		428, 434, 34, 34, 34, 34, 26, 428, 26, 26, 41, 274, 438, 438, 438, 36,
2626		36, 438, 438, 438, 438, 438, 438, 36, 36, 36, 36, 438, 439, 439, 439,
2627		439, 439, 439, 439, 439, 439, 439, 439, 439, 440, 440, 440, 440, 439,
2628		439, 440, 440, 440, 440, 440, 440, 440, 440, 440, 37, 41, 440, 440, 440,
2629		440, 36, 64, 64, 64, 64, 64, 64, 39, 39, 39, 39, 39, 30, 30, 30, 30, 30,
2630		428, 428, 26, 26, 26, 26, 428, 26, 26, 428, 26, 26, 428, 26, 26, 26, 26,
2631		26, 26, 26, 428, 26, 26, 26, 26, 26, 26, 26, 26, 26, 30, 30, 26, 26, 26,
2632		26, 26, 26, 26, 26, 26, 26, 26, 26, 428, 428, 26, 26, 39, 26, 39, 26, 26,
2633		26, 26, 26, 26, 26, 26, 26, 26, 30, 26, 26, 26, 26, 428, 428, 428, 428,
2634		428, 428, 428, 428, 428, 428, 428, 428, 39, 437, 441, 441, 437, 428, 428,
2635		39, 441, 437, 437, 441, 437, 437, 428, 39, 428, 441, 430, 442, 428, 441,
2636		437, 428, 428, 428, 441, 437, 437, 441, 39, 441, 441, 437, 437, 39, 437,
2637		39, 437, 39, 39, 39, 39, 441, 441, 437, 441, 437, 437, 437, 437, 437, 39,
2638		39, 39, 39, 428, 437, 428, 437, 441, 441, 437, 437, 437, 437, 437, 437,
2639		437, 437, 437, 437, 441, 437, 437, 437, 441, 428, 428, 428, 428, 428,
2640		441, 437, 437, 437, 428, 428, 428, 428, 428, 428, 428, 428, 428, 437,
2641		441, 39, 437, 428, 441, 441, 441, 441, 437, 437, 441, 441, 428, 428, 441,
2642		441, 437, 437, 441, 441, 437, 437, 441, 441, 437, 437, 437, 437, 437,
2643		428, 428, 437, 437, 437, 437, 428, 428, 39, 428, 428, 437, 39, 428, 428,
2644		428, 428, 428, 428, 428, 428, 437, 437, 428, 39, 437, 437, 437, 428, 428,
2645		428, 428, 428, 437, 441, 428, 437, 437, 437, 437, 437, 428, 428, 437,
2646		437, 428, 428, 428, 428, 437, 437, 437, 437, 437, 437, 437, 437, 428,
2647		428, 437, 437, 437, 437, 26, 26, 26, 26, 26, 26, 30, 26, 26, 26, 26, 26,
2648		437, 437, 26, 26, 26, 26, 26, 26, 26, 443, 444, 26, 26, 26, 26, 26, 26,
2649		26, 26, 26, 26, 26, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
2650		274, 274, 274, 26, 428, 26, 26, 26, 26, 26, 26, 26, 26, 274, 26, 26, 26,
2651		26, 26, 428, 428, 428, 428, 428, 428, 428, 428, 428, 26, 26, 26, 26, 428,
2652		428, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 64, 64, 64, 64, 26, 26, 26,
2653		26, 26, 26, 26, 64, 26, 26, 26, 64, 64, 64, 64, 64, 36, 36, 36, 36, 36,
2654		36, 36, 36, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 445, 445,
2655		445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 438, 36, 36,
2656		36, 36, 36, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 26, 26, 26,
2657		26, 26, 26, 30, 30, 30, 30, 26, 26, 30, 30, 26, 30, 30, 30, 30, 30, 26,
2658		26, 30, 30, 26, 26, 30, 39, 26, 26, 26, 26, 30, 30, 26, 26, 30, 39, 26,
2659		26, 26, 26, 30, 30, 30, 26, 26, 30, 26, 26, 30, 30, 26, 26, 26, 26, 26,
2660		30, 30, 26, 26, 30, 26, 26, 26, 26, 30, 30, 26, 26, 26, 26, 30, 26, 30,
2661		26, 30, 26, 30, 26, 26, 26, 26, 26, 30, 30, 26, 30, 30, 30, 26, 30, 30,
2662		30, 30, 26, 30, 30, 26, 39, 26, 26, 26, 26, 26, 26, 30, 30, 26, 26, 26,
2663		26, 274, 26, 26, 26, 26, 26, 26, 26, 30, 30, 30, 30, 30, 30, 30, 30, 30,
2664		30, 26, 30, 30, 30, 26, 30, 26, 26, 26, 26, 64, 26, 26, 26, 26, 26, 26,
2665		26, 26, 26, 26, 26, 26, 30, 26, 26, 426, 427, 426, 427, 426, 427, 426,
2666		427, 426, 427, 426, 427, 426, 427, 36, 36, 438, 438, 438, 438, 438, 438,
2667		438, 438, 438, 438, 438, 438, 26, 26, 26, 26, 437, 428, 428, 437, 437,
2668		426, 427, 428, 437, 437, 428, 437, 437, 437, 428, 428, 428, 428, 428,
2669		437, 437, 437, 437, 428, 428, 428, 428, 428, 437, 437, 437, 428, 428,
2670		428, 437, 437, 437, 437, 9, 10, 9, 10, 9, 10, 9, 10, 426, 427, 446, 446,
2671		446, 446, 446, 446, 446, 446, 428, 428, 428, 426, 427, 9, 10, 426, 427,
2672		426, 427, 426, 427, 426, 427, 426, 427, 428, 428, 437, 437, 437, 437,
2673		437, 437, 428, 428, 428, 428, 428, 428, 428, 428, 437, 428, 428, 428,
2674		428, 437, 437, 437, 437, 437, 428, 437, 437, 428, 428, 426, 427, 426,
2675		427, 437, 428, 428, 428, 428, 437, 428, 437, 437, 437, 428, 428, 437,
2676		437, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 437, 437, 437,
2677		437, 437, 437, 428, 428, 426, 427, 428, 428, 428, 428, 437, 437, 437,
2678		437, 437, 437, 437, 437, 437, 437, 437, 428, 437, 437, 437, 437, 428,
2679		428, 437, 428, 437, 428, 428, 437, 428, 437, 437, 437, 437, 428, 428,
2680		428, 428, 428, 437, 437, 428, 428, 428, 428, 437, 437, 437, 437, 428,
2681		437, 437, 428, 428, 437, 437, 428, 428, 428, 428, 437, 437, 437, 437,
2682		437, 437, 437, 437, 437, 437, 437, 428, 428, 437, 437, 437, 437, 437,
2683		437, 437, 437, 428, 437, 437, 437, 437, 437, 437, 437, 437, 428, 428,
2684		428, 428, 428, 437, 428, 437, 428, 428, 428, 437, 437, 437, 437, 437,
2685		428, 428, 428, 428, 437, 428, 428, 428, 437, 437, 437, 437, 437, 428,
2686		437, 428, 428, 428, 428, 428, 428, 428, 26, 26, 428, 428, 428, 428, 428,
2687		428, 64, 64, 64, 26, 26, 26, 26, 26, 30, 30, 30, 30, 30, 64, 64, 64, 64,
2688		64, 64, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447,
2689		447, 447, 64, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448,
2690		448, 448, 448, 64, 37, 41, 37, 37, 37, 41, 41, 37, 41, 37, 41, 37, 41,
2691		37, 37, 37, 37, 41, 37, 41, 41, 37, 41, 41, 41, 41, 41, 41, 44, 44, 37,
2692		37, 69, 70, 69, 70, 70, 449, 449, 449, 449, 449, 449, 69, 70, 69, 70,
2693		450, 450, 450, 69, 70, 64, 64, 64, 64, 64, 451, 451, 451, 451, 452, 451,
2694		451, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453,
2695		453, 64, 453, 64, 64, 64, 64, 64, 453, 64, 64, 454, 454, 454, 454, 454,
2696		454, 454, 454, 64, 64, 64, 64, 64, 64, 64, 455, 456, 64, 64, 64, 64, 64,
2697		64, 64, 64, 64, 64, 64, 64, 64, 64, 457, 77, 77, 77, 77, 77, 77, 77, 77,
2698		66, 66, 28, 35, 28, 35, 66, 66, 66, 28, 35, 66, 28, 35, 66, 66, 66, 66,
2699		66, 66, 66, 66, 66, 410, 66, 66, 410, 66, 28, 35, 66, 66, 28, 35, 426,
2700		427, 426, 427, 426, 427, 426, 427, 66, 66, 66, 66, 66, 45, 66, 66, 410,
2701		410, 64, 64, 64, 64, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458,
2702		64, 458, 458, 458, 458, 458, 458, 458, 458, 458, 64, 64, 64, 64, 458,
2703		458, 458, 458, 458, 458, 64, 64, 459, 459, 459, 459, 459, 459, 459, 459,
2704		459, 459, 459, 459, 64, 64, 64, 64, 460, 461, 461, 461, 459, 462, 463,
2705		464, 443, 444, 443, 444, 443, 444, 443, 444, 443, 444, 459, 459, 443,
2706		444, 443, 444, 443, 444, 443, 444, 465, 466, 467, 467, 459, 464, 464,
2707		464, 464, 464, 464, 464, 464, 464, 468, 469, 470, 471, 472, 472, 465,
2708		473, 473, 473, 473, 473, 459, 459, 464, 464, 464, 462, 463, 461, 459, 26,
2709		64, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474,
2710		474, 474, 474, 474, 474, 474, 474, 474, 64, 64, 475, 475, 476, 476, 477,
2711		477, 474, 465, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
2712		478, 478, 478, 478, 478, 478, 478, 461, 473, 479, 479, 478, 64, 64, 64,
2713		64, 64, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
2714		480, 480, 480, 480, 64, 64, 64, 287, 287, 287, 287, 287, 287, 287, 287,
2715		287, 287, 287, 287, 287, 287, 64, 481, 481, 482, 482, 482, 482, 481, 481,
2716		481, 481, 481, 481, 481, 481, 481, 481, 480, 480, 480, 64, 64, 64, 64,
2717		64, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 484,
2718		484, 64, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 481, 481, 481,
2719		481, 481, 481, 485, 485, 485, 485, 485, 485, 485, 485, 459, 486, 486,
2720		486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 483,
2721		483, 483, 483, 484, 484, 484, 481, 481, 486, 486, 486, 486, 486, 486,
2722		486, 481, 481, 481, 481, 459, 459, 459, 459, 487, 487, 487, 487, 487,
2723		487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 64, 481, 481, 481, 481,
2724		481, 481, 481, 459, 459, 459, 459, 481, 481, 481, 481, 481, 481, 481,
2725		481, 481, 481, 481, 459, 459, 488, 489, 489, 489, 489, 489, 489, 489,
2726		489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 488,
2727		490, 490, 490, 490, 490, 490, 490, 490, 490, 490, 489, 489, 489, 489,
2728		488, 490, 490, 490, 491, 491, 491, 491, 491, 491, 491, 491, 491, 491,
2729		491, 491, 491, 492, 491, 491, 491, 491, 491, 491, 491, 64, 64, 64, 493,
2730		493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 64,
2731		494, 494, 494, 494, 494, 494, 494, 494, 495, 495, 495, 495, 495, 495,
2732		496, 496, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497,
2733		498, 499, 499, 499, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500,
2734		497, 497, 64, 64, 64, 64, 72, 75, 72, 75, 72, 75, 501, 77, 79, 79, 79,
2735		502, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 502, 503, 64, 64, 64, 64,
2736		64, 64, 64, 77, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
2737		504, 504, 504, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 506,
2738		506, 507, 507, 507, 507, 507, 507, 47, 47, 47, 47, 47, 47, 47, 45, 45,
2739		45, 45, 45, 45, 45, 45, 45, 47, 47, 37, 41, 37, 41, 37, 41, 41, 41, 37,
2740		41, 37, 41, 37, 41, 44, 41, 41, 41, 41, 41, 41, 41, 41, 37, 41, 37, 41,
2741		37, 37, 41, 45, 508, 508, 37, 41, 37, 41, 64, 37, 41, 37, 41, 64, 64, 64,
2742		64, 37, 41, 37, 64, 64, 64, 64, 64, 44, 44, 41, 42, 42, 42, 42, 42, 509,
2743		509, 510, 509, 509, 509, 511, 509, 509, 509, 509, 510, 509, 509, 509,
2744		509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 512, 512,
2745		510, 510, 512, 513, 513, 513, 513, 64, 64, 64, 64, 514, 514, 514, 514,
2746		514, 514, 274, 274, 247, 436, 64, 64, 64, 64, 64, 64, 515, 515, 515, 515,
2747		515, 515, 515, 515, 515, 515, 515, 515, 516, 516, 516, 516, 517, 517,
2748		518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518,
2749		518, 518, 518, 518, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
2750		517, 517, 517, 517, 517, 517, 519, 64, 64, 64, 64, 64, 64, 64, 64, 64,
2751		520, 520, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 64, 64, 64,
2752		64, 64, 64, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 169, 169,
2753		169, 169, 169, 169, 174, 174, 174, 169, 64, 64, 64, 64, 522, 522, 522,
2754		522, 522, 522, 522, 522, 522, 522, 523, 523, 523, 523, 523, 523, 523,
2755		523, 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, 524,
2756		524, 524, 524, 524, 525, 525, 525, 526, 526, 527, 527, 527, 527, 527,
2757		527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 528, 528, 528, 528,
2758		528, 528, 528, 528, 528, 528, 528, 529, 530, 64, 64, 64, 64, 64, 64, 64,
2759		64, 64, 64, 64, 531, 287, 287, 287, 287, 287, 64, 64, 64, 532, 532, 532,
2760		533, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
2761		534, 534, 535, 533, 533, 532, 532, 532, 532, 533, 533, 532, 533, 533,
2762		533, 536, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
2763		537, 64, 538, 539, 539, 539, 539, 539, 539, 539, 539, 539, 539, 64, 64,
2764		64, 64, 537, 537, 540, 540, 540, 540, 540, 540, 540, 540, 540, 541, 541,
2765		541, 541, 541, 541, 542, 542, 541, 541, 542, 542, 541, 541, 64, 540, 540,
2766		540, 541, 540, 540, 540, 540, 540, 540, 540, 540, 541, 542, 64, 64, 543,
2767		543, 543, 543, 543, 543, 543, 543, 543, 543, 64, 64, 544, 544, 544, 544,
2768		545, 275, 275, 275, 275, 275, 275, 283, 283, 283, 275, 276, 64, 64, 64,
2769		64, 546, 546, 546, 546, 546, 546, 546, 546, 547, 546, 547, 547, 548, 546,
2770		546, 547, 547, 546, 546, 546, 546, 546, 547, 547, 546, 547, 546, 64, 64,
2771		64, 64, 64, 64, 64, 64, 546, 546, 549, 550, 550, 551, 551, 551, 551, 551,
2772		551, 551, 551, 551, 551, 551, 552, 553, 553, 552, 552, 554, 554, 551,
2773		555, 555, 552, 556, 64, 64, 289, 289, 289, 289, 289, 289, 64, 551, 551,
2774		551, 552, 552, 553, 552, 552, 553, 552, 552, 554, 552, 556, 64, 64, 557,
2775		557, 557, 557, 557, 557, 557, 557, 557, 557, 64, 64, 64, 64, 64, 64, 287,
2776		558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
2777		558, 558, 558, 558, 287, 64, 64, 64, 64, 288, 288, 288, 288, 288, 288,
2778		288, 64, 64, 64, 64, 288, 288, 288, 288, 288, 288, 288, 288, 288, 64, 64,
2779		64, 64, 559, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 559,
2780		560, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561,
2781		561, 561, 561, 561, 561, 561, 561, 561, 561, 560, 488, 488, 488, 488,
2782		488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 490, 490, 488, 488,
2783		490, 490, 490, 490, 490, 490, 41, 41, 41, 41, 41, 41, 41, 64, 64, 64, 64,
2784		83, 83, 83, 83, 83, 64, 64, 64, 64, 64, 109, 562, 109, 109, 563, 109,
2785		109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 64, 109, 109,
2786		109, 109, 109, 64, 109, 64, 109, 109, 64, 109, 109, 64, 109, 109, 123,
2787		123, 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
2788		564, 564, 564, 64, 64, 64, 64, 64, 64, 64, 64, 64, 123, 123, 123, 123,
2789		123, 123, 123, 123, 123, 123, 123, 413, 565, 64, 64, 123, 123, 123, 123,
2790		123, 123, 123, 123, 123, 123, 114, 26, 64, 64, 58, 58, 58, 58, 58, 58,
2791		58, 58, 461, 461, 461, 461, 461, 461, 461, 466, 467, 461, 64, 64, 64, 64,
2792		64, 64, 461, 465, 465, 566, 566, 466, 467, 466, 467, 466, 467, 466, 467,
2793		466, 467, 466, 467, 466, 467, 466, 467, 461, 461, 466, 467, 461, 461,
2794		461, 461, 566, 566, 566, 567, 461, 567, 64, 461, 567, 461, 461, 465, 443,
2795		444, 443, 444, 443, 444, 568, 461, 461, 569, 570, 571, 571, 572, 64, 461,
2796		573, 568, 461, 64, 64, 64, 64, 123, 123, 123, 123, 123, 64, 123, 123,
2797		123, 123, 123, 123, 123, 64, 64, 405, 64, 574, 574, 575, 576, 575, 574,
2798		574, 577, 578, 574, 579, 580, 581, 580, 580, 582, 582, 582, 582, 582,
2799		582, 582, 582, 582, 582, 580, 574, 583, 584, 583, 574, 574, 585, 585,
2800		585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
2801		585, 585, 577, 574, 578, 586, 587, 586, 588, 588, 588, 588, 588, 588,
2802		588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 577, 584,
2803		578, 584, 577, 578, 589, 590, 591, 589, 589, 592, 592, 592, 592, 592,
2804		592, 592, 592, 592, 592, 593, 592, 592, 592, 592, 592, 592, 592, 592,
2805		592, 592, 592, 592, 592, 593, 593, 594, 594, 594, 594, 594, 594, 594,
2806		594, 594, 594, 594, 594, 594, 594, 594, 64, 64, 64, 594, 594, 594, 594,
2807		594, 594, 64, 64, 594, 594, 594, 64, 64, 64, 576, 576, 584, 586, 595,
2808		576, 576, 64, 596, 597, 597, 597, 597, 596, 596, 64, 64, 598, 598, 598,
2809		26, 30, 64, 64, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
2810		599, 64, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 64, 599, 599,
2811		599, 64, 599, 599, 64, 599, 599, 599, 599, 599, 599, 599, 64, 64, 599,
2812		599, 599, 64, 64, 64, 64, 64, 84, 66, 84, 64, 64, 64, 64, 514, 514, 514,
2813		514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 64, 64, 64, 274, 600,
2814		600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 601, 601,
2815		601, 601, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602,
2816		602, 602, 602, 602, 602, 601, 64, 64, 64, 64, 64, 274, 274, 274, 274,
2817		274, 133, 64, 64, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
2818		603, 603, 64, 64, 64, 604, 604, 604, 604, 604, 604, 604, 604, 604, 64,
2819		64, 64, 64, 64, 64, 64, 605, 605, 605, 605, 605, 605, 605, 605, 605, 605,
2820		605, 605, 605, 605, 605, 64, 606, 606, 606, 606, 64, 64, 64, 64, 607,
2821		607, 607, 607, 607, 607, 607, 607, 607, 608, 607, 607, 607, 607, 607,
2822		607, 607, 607, 608, 64, 64, 64, 64, 64, 609, 609, 609, 609, 609, 609,
2823		609, 609, 609, 609, 609, 609, 609, 609, 64, 610, 611, 611, 611, 611, 611,
2824		611, 611, 611, 611, 611, 611, 611, 64, 64, 64, 64, 612, 613, 613, 613,
2825		613, 613, 64, 64, 614, 614, 614, 614, 614, 614, 614, 614, 615, 615, 615,
2826		615, 615, 615, 615, 615, 616, 616, 616, 616, 616, 616, 616, 616, 617,
2827		617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 64, 64,
2828		618, 618, 618, 618, 618, 618, 618, 618, 618, 618, 64, 64, 64, 64, 64, 64,
2829		619, 619, 619, 619, 619, 619, 64, 64, 619, 64, 619, 619, 619, 619, 619,
2830		619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619,
2831		619, 64, 619, 619, 64, 64, 64, 619, 64, 64, 619, 620, 620, 620, 620, 620,
2832		620, 620, 620, 620, 620, 620, 620, 620, 620, 64, 621, 622, 622, 622, 622,
2833		622, 622, 622, 622, 623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
2834		623, 623, 623, 623, 624, 624, 624, 624, 624, 624, 64, 64, 64, 625, 626,
2835		626, 626, 626, 626, 626, 626, 626, 626, 626, 64, 64, 64, 64, 64, 627,
2836		628, 628, 628, 628, 628, 628, 628, 628, 629, 629, 629, 629, 629, 629,
2837		629, 629, 64, 64, 64, 64, 64, 64, 629, 629, 630, 631, 631, 631, 64, 631,
2838		631, 64, 64, 64, 64, 64, 631, 632, 631, 633, 630, 630, 630, 630, 64, 630,
2839		630, 630, 64, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630,
2840		630, 630, 630, 630, 630, 630, 630, 64, 64, 64, 64, 633, 634, 632, 64, 64,
2841		64, 64, 635, 636, 636, 636, 636, 636, 636, 636, 636, 637, 637, 637, 637,
2842		637, 637, 637, 637, 637, 64, 64, 64, 64, 64, 64, 64, 638, 638, 638, 638,
2843		638, 638, 638, 638, 638, 638, 638, 638, 638, 639, 639, 640, 641, 641,
2844		641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 64, 64, 64,
2845		642, 642, 642, 642, 642, 642, 642, 643, 643, 643, 643, 643, 643, 643,
2846		643, 643, 643, 643, 643, 643, 643, 64, 64, 644, 644, 644, 644, 644, 644,
2847		644, 644, 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, 64, 64,
2848		64, 64, 64, 646, 646, 646, 646, 646, 646, 646, 646, 647, 647, 647, 647,
2849		647, 647, 647, 647, 647, 64, 64, 64, 64, 64, 64, 64, 648, 648, 648, 648,
2850		648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 64, 649, 650, 649,
2851		651, 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, 650,
2852		650, 650, 650, 650, 650, 650, 650, 650, 650, 650, 650, 650, 650, 652,
2853		653, 653, 653, 653, 653, 653, 653, 64, 64, 64, 64, 654, 654, 654, 654,
2854		654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654,
2855		654, 654, 655, 655, 655, 655, 655, 655, 655, 655, 655, 655, 656, 656,
2856		657, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658,
2857		657, 657, 657, 656, 656, 656, 656, 657, 657, 659, 660, 661, 661, 662,
2858		661, 661, 661, 661, 64, 64, 64, 64, 64, 64, 663, 663, 663, 663, 663, 663,
2859		663, 663, 663, 64, 64, 64, 64, 64, 64, 64, 664, 664, 664, 664, 664, 664,
2860		664, 664, 664, 664, 64, 64, 64, 64, 64, 64, 665, 665, 665, 666, 666, 666,
2861		666, 666, 666, 666, 666, 666, 666, 666, 666, 666, 666, 666, 666, 666,
2862		666, 666, 666, 667, 667, 667, 667, 667, 668, 667, 667, 667, 667, 667,
2863		667, 669, 669, 64, 670, 670, 670, 670, 670, 670, 670, 670, 670, 670, 671,
2864		671, 671, 671, 64, 64, 64, 64, 672, 672, 673, 674, 674, 674, 674, 674,
2865		674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 673, 673, 673,
2866		672, 672, 672, 672, 672, 672, 672, 672, 672, 673, 675, 674, 674, 674,
2867		674, 676, 676, 676, 676, 64, 64, 64, 64, 64, 64, 64, 677, 677, 677, 677,
2868		677, 677, 677, 677, 677, 677, 64, 64, 64, 64, 64, 64, 678, 678, 678, 678,
2869		678, 678, 678, 678, 678, 678, 678, 679, 680, 679, 680, 680, 679, 679,
2870		679, 679, 679, 679, 681, 682, 683, 683, 683, 683, 683, 683, 683, 683,
2871		683, 683, 64, 64, 64, 64, 64, 64, 684, 684, 684, 684, 684, 684, 684, 684,
2872		684, 684, 684, 684, 684, 684, 684, 64, 685, 685, 685, 685, 685, 685, 685,
2873		685, 685, 685, 685, 64, 64, 64, 64, 64, 686, 686, 686, 686, 64, 64, 64,
2874		64, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687,
2875		687, 64, 504, 64, 64, 64, 64, 64, 64, 64, 688, 688, 688, 688, 688, 688,
2876		688, 688, 688, 688, 688, 688, 688, 64, 64, 64, 688, 689, 689, 689, 689,
2877		689, 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, 689,
2878		689, 689, 689, 689, 64, 64, 64, 64, 64, 64, 64, 64, 690, 690, 690, 690,
2879		691, 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, 478,
2880		474, 64, 64, 64, 64, 64, 64, 274, 274, 274, 274, 274, 274, 64, 64, 274,
2881		274, 274, 274, 274, 274, 274, 64, 64, 274, 274, 274, 274, 274, 274, 274,
2882		274, 274, 274, 274, 274, 692, 692, 395, 395, 395, 274, 274, 274, 693,
2883		692, 692, 692, 692, 692, 405, 405, 405, 405, 405, 405, 405, 405, 133,
2884		133, 133, 133, 133, 133, 133, 133, 274, 274, 78, 78, 78, 78, 78, 133,
2885		133, 274, 274, 274, 274, 274, 274, 78, 78, 78, 78, 274, 274, 602, 602,
2886		694, 694, 694, 602, 64, 64, 514, 514, 64, 64, 64, 64, 64, 64, 434, 434,
2887		434, 434, 434, 434, 434, 434, 434, 434, 34, 34, 34, 34, 34, 34, 34, 34,
2888		34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 434, 434, 434, 434, 434, 434,
2889		434, 434, 434, 434, 34, 34, 34, 34, 34, 34, 34, 64, 34, 34, 34, 34, 34,
2890		34, 434, 64, 434, 434, 64, 64, 434, 64, 64, 434, 434, 64, 64, 434, 434,
2891		434, 434, 64, 434, 434, 34, 34, 64, 34, 64, 34, 34, 34, 34, 34, 34, 34,
2892		64, 34, 34, 34, 34, 34, 34, 34, 434, 434, 64, 434, 434, 434, 434, 64, 64,
2893		434, 434, 434, 434, 434, 434, 434, 434, 64, 434, 434, 434, 434, 434, 434,
2894		434, 64, 34, 34, 434, 434, 64, 434, 434, 434, 434, 64, 434, 434, 434,
2895		434, 434, 64, 434, 64, 64, 64, 434, 434, 434, 434, 434, 434, 434, 64, 34,
2896		34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 64, 64, 434, 695, 34, 34, 34,
2897		34, 34, 34, 34, 34, 34, 437, 34, 34, 34, 34, 34, 34, 434, 434, 434, 434,
2898		434, 434, 434, 434, 434, 695, 34, 34, 34, 34, 34, 34, 34, 34, 34, 437,
2899		34, 34, 434, 434, 434, 434, 434, 695, 34, 34, 34, 34, 34, 34, 34, 34, 34,
2900		437, 34, 34, 34, 34, 34, 34, 434, 434, 434, 434, 434, 434, 434, 434, 434,
2901		695, 34, 437, 34, 34, 34, 34, 34, 34, 34, 34, 434, 34, 64, 64, 696, 696,
2902		696, 696, 696, 696, 696, 696, 696, 696, 123, 123, 123, 123, 64, 123, 123,
2903		123, 64, 123, 123, 64, 123, 64, 64, 123, 64, 123, 123, 123, 123, 123,
2904		123, 123, 123, 123, 123, 64, 123, 123, 123, 123, 64, 123, 64, 123, 64,
2905		64, 64, 64, 64, 64, 123, 64, 64, 64, 64, 123, 64, 123, 64, 123, 64, 123,
2906		123, 123, 64, 123, 64, 123, 64, 123, 64, 123, 64, 123, 123, 123, 123, 64,
2907		123, 64, 123, 123, 64, 123, 123, 123, 123, 123, 123, 123, 123, 123, 64,
2908		64, 64, 64, 64, 123, 123, 123, 64, 123, 123, 123, 111, 111, 64, 64, 64,
2909		64, 64, 64, 33, 33, 33, 64, 64, 64, 64, 64, 445, 445, 445, 445, 445, 445,
2910		274, 64, 445, 445, 26, 26, 64, 64, 64, 64, 445, 445, 445, 64, 64, 64, 64,
2911		64, 64, 64, 64, 64, 64, 64, 274, 274, 697, 481, 481, 64, 64, 64, 64, 64,
2912		481, 481, 481, 64, 64, 64, 64, 64, 481, 64, 64, 64, 64, 64, 64, 64, 481,
2913		481, 64, 64, 64, 64, 64, 64, 26, 64, 64, 64, 64, 64, 64, 64, 26, 26, 26,
2914		26, 26, 26, 64, 26, 26, 26, 26, 26, 26, 64, 64, 64, 26, 26, 26, 26, 26,
2915		64, 26, 26, 26, 64, 26, 26, 26, 26, 26, 26, 64, 26, 26, 26, 26, 64, 64,
2916		64, 26, 26, 26, 26, 26, 26, 64, 64, 64, 64, 64, 26, 26, 26, 26, 26, 26,
2917		64, 64, 64, 64, 26, 26, 26, 489, 489, 489, 489, 489, 489, 488, 490, 490,
2918		490, 490, 490, 490, 490, 64, 64, 64, 405, 64, 64, 64, 64, 64, 64, 405,
2919		405, 405, 405, 405, 405, 405, 405, 561, 561, 561, 561, 561, 560, 64, 64,
2920	];
2921}
2922