Unexpected-Keyboard/srcs/juloo.keyboard2/ComposeKeyData.java
Jules Aguillon 63e7ac2e94 compose: Add X11 compose sequences
compile.py implements a parser for X11's Compose.pre files. A lot of
code is necessary to interpret character names but thanksfully, the name
of most characters is contained in the file.

The state machine is compiled into two char arrays which unfortunately
requires an expensive initialisation and allocation.
2024-02-17 23:28:31 +01:00

151 lines
51 KiB
Java

package juloo.keyboard2;
/** This file is generated, see [srcs/compose/compile.py]. */
public final class ComposeKeyData
{
public static final char[] states =
("\u0000 !\"#%'()*+,-./01234578:;<=>?ABCDEFGHIKLMNOPQRSTUVWXYZ[\\]^_`abcdefghiklm" +
"noprstuvwxyz{|~\u00a8\u00af\u00b4\u00b8\u00f7\u02d8\u05b7\u05c1\u05c2\u0654\u093c\u09bc\u09c7\u0a3c\u0b3c\u0b47\u0bc6\u0bc7\u0bd7\u0c46\u0cbf\u0cc6\u0cca\u0d46\u0d47\u0dd9\u0ddc\u0f71\u0f90\u0f92\u0f9c\u0fa1\u0fa6\u0fab\u0fb2\u0fb3\u0fb5\u0fb7\u102e\u1100\u1102\u1103\u1105\u1106\u1107\u1108\u1109\u110a\u110b\u110c\u110e\u1111\u1112\u1121\u1132\u113c\u113e" +
"\u114e\u1150\u1161\u1163\u1165\u1167\u1169\u116a\u116d\u116e\u116f\u1172\u1173\u1174\u1175\u119e\u11a8\u11aa\u11ab\u11ae\u11af\u11b0\u11b1\u11b2\u11b3\u11b7\u11b8\u11ba\u11bc\u11c1\u11c2\u11ce\u11dd\u11ec\u11f0\u2190\u2191\u2192\u2193\u2203\u2206\u2207\u2208\u220a\u220b\u2218\u2223\u2225\u2227\u2228\u2229\u222a\u223c\u2243\u2248\u224d\u2260\u2272\u2273\u2276\u2277\u227a\u227b\u227c\u227d\u2282\u2283\u2286\u2287\u2291\u2292\u22a4" +
"\u22a5\u22a8\u22a9\u22ab\u22b2\u22b3\u22b4\u22b5\u22c4\u2373\u2375\u237a\u2395\u25cb\u2add\u0000 (,-.<>_\u00a0\u02d8\u00b8~\u2008\u02c7^\u00af\u0000!+?ABDEHIKLMNORSTUVWYZ^abdehiklmnorstuv" +
"wyz\u00a1\u0000OUou\u1ee2\u1ef0\u1ee3\u1ef1\u203d\u1ea0\u1e04\u1e0c\u1eb8\u1e24\u1eca\u1e32\u1e36\u1e42\u1e46\u1ecc\u1e5a\u1e62\u1e6c\u1ee4\u1e7e\u1e88\u1ef4\u1e92\u00a6\u1ea1\u1e05\u1e0d\u1eb9\u1e25\u1ecb\u1e33\u1e37\u1e43\u1e47\u1ecd\u1e5b\u1e63\u1e6d\u1ee5\u1e7f\u1e89\u1ef5\u1e93\u0000 \"',<>AEHIOUWXY_ae" +
"hiotuwxy~\u00af\u00b4\u00d5\u00f5\u03d2\u04d8\u04d9\u04e8\u04e9\u00a8\u00a8\u0344\u201e\u201c\u201d\u00c4\u00cb\u1e26\u00cf\u00d6\u00dc\u1e84\u1e8c\u0178\u0000Uu\u1e7a\u1e7b\u00e4\u00eb\u1e27\u00ef\u00f6\u1e97\u00fc\u1e85\u1e8d\u00ff\u0000Oo\u1e4e\u1e4f\u0000Uu\u1e7a\u1e7b\u0344\u1e4e\u1e4f\u03d4\u04da\u04db\u04ea\u04eb\u0000#ESbe" +
"fq\u266f\u266b\u266c\u266d\u266a\u266e\u2669\u0000o\u2030\u0000\"'+,/<>ACEGIKLMNOPRSUWYZ^_abcegiklmnoprsuwyz~\u00af\u00b8\u00c2\u00c5\u00c6\u00c7\u00ca\u00cf\u00d4\u00d5\u00dc\u00e2\u00e5\u00e6" +
"\u00e7\u00ea\u00ef\u00f4\u00f5\u00f8\u00fc\u2395\u0000 IUiu\u0385\u1e2e\u01d7\u1e2f\u01d8\u00b4\u0000OUou\u1eda\u1ee8\u1edb\u1ee9\u201a\u0000Oo\u01fe\u01ff\u2018\u2019\u00c1\u0106\u00c9\u01f4\u00cd\u1e30\u0139\u1e3e\u0143\u00d3\u1e54\u0154\u015a\u00da\u1e82\u00dd\u0179\u0000AEOaeo\u1ea4\u1ebe\u1ed0\u1ea5\u1ebf\u1ed1\u0000EOeo" +
"\u1e16\u1e52\u1e17\u1e53\u00e1\u0000Aa\u1eae\u1eaf\u0107\u00e9\u01f5\u00ed\u1e31\u013a\u1e3f\u0144\u00f3\u1e55\u0155\u015b\u00fa\u1e83\u00fd\u017a\u0000OUou\u1e4c\u1e78\u1e4d\u1e79\u0000EOeo\u1e16\u1e52\u1e17\u1e53\u0000Cc\u1e08\u1e09\u1ea4\u01fa\u01fc\u1e08\u1ebe\u1e2e\u1ed0\u1e4c\u01d7\u1ea5\u01fb\u01fd\u1e09\u1ebf\u1e2f\u1ed1\u1e4d\u01ff\u01d8\u235e\u0000 (" +
"-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\u1100\u1102\u1103\u1105\u1106\u1107\u1109\u110b\u110c" +
"\u110e\u110f\u1110\u1111\u1112\u30f0\u30f1\u4e00\u4e03\u4e09\u4e0a\u4e0b\u4e2d\u4e5d\u4e8c\u4e94\u4f01\u4f11\u512a\u516b\u516d\u5199\u52b4\u533b\u5341\u5354\u5370\u53f3\u540d\u56db\u571f\u591c\u5973\u5b66\u5b97\u5de6\u65e5\u6708\u6709\u6728\u682a\u6b63\u6c34\u6ce8\u706b\u7279\u7537\u76e3\u793e\u795d\u79d8\u8ca1\u8cc7\u9069\u91d1\u9805\u02d8[{\u0000)\u24ea\u0000)01234567" +
"89\u2460\u0000)\u2469\u0000)\u246a\u0000)\u246b\u0000)\u246c\u0000)\u246d\u0000)\u246e\u0000)\u246f\u0000)\u2470\u0000)\u2471\u0000)\u2472\u0000)0123456789\u2461\u0000)\u2473\u0000)\u3251\u0000)\u3252\u0000)\u3253\u0000)\u3254\u0000)\u3255\u0000)\u3256\u0000)\u3257\u0000)" +
"\u3258\u0000)\u3259\u0000)0123456789\u2462\u0000)\u325a\u0000)\u325b\u0000)\u325c\u0000)\u325d\u0000)\u325e\u0000)\u325f\u0000)\u32b1\u0000)\u32b2\u0000)\u32b3\u0000)\u32b4\u0000)0123456789\u2463\u0000)\u32b5\u0000)\u32b6\u0000)\u32b7\u0000)\u32b8" +
"\u0000)\u32b9\u0000)\u32ba\u0000)\u32bb\u0000)\u32bc\u0000)\u32bd\u0000)\u32be\u0000)0\u2464\u0000)\u32bf\u0000)\u2465\u0000)\u2466\u0000)\u2467\u0000)\u2468\u0000)\u24b6\u0000)\u24b7\u0000)\u24b8\u0000)\u24b9\u0000)\u24ba\u0000)\u24bb\u0000)\u24bc\u0000)\u24bd\u0000)\u24be\u0000)\u24bf\u0000)\u24c0\u0000)" +
"\u24c1\u0000)\u24c2\u0000)\u24c3\u0000)\u24c4\u0000)\u24c5\u0000)\u24c6\u0000)\u24c7\u0000)\u24c8\u0000)\u24c9\u0000)\u24ca\u0000)\u24cb\u0000)\u24cc\u0000)\u24cd\u0000)\u24ce\u0000)\u24cf\u0000)\u24d0\u0000)\u24d1\u0000)\u24d2\u0000)\u24d3\u0000)\u24d4\u0000)\u24d5\u0000)\u24d6\u0000)\u24d7\u0000)\u24d8\u0000)" +
"\u24d9\u0000)\u24da\u0000)\u24db\u0000)\u24dc\u0000)\u24dd\u0000)\u24de\u0000)\u24df\u0000)\u24e0\u0000)\u24e1\u0000)\u24e2\u0000)\u24e3\u0000)\u24e4\u0000)\u24e5\u0000)\u24e6\u0000)\u24e7\u0000)\u24e8\u0000)\u24e9\u0000)\u1161\u3260\u0000)\u326e\u0000)\u1161\u3261\u0000)\u326f\u0000)\u1161\u3262\u0000)\u3270\u0000)" +
"\u1161\u3263\u0000)\u3271\u0000)\u1161\u3264\u0000)\u3272\u0000)\u1161\u3265\u0000)\u3273\u0000)\u1161\u3266\u0000)\u3274\u0000)\u1161\u3267\u0000)\u3275\u0000)\u1161\u3268\u0000)\u3276\u0000)\u1161\u3269\u0000)\u3277\u0000)\u1161\u326a\u0000)\u3278\u0000)\u1161\u326b\u0000)\u3279\u0000)\u1161\u326c\u0000)\u327a\u0000)\u1161\u326d" +
"\u0000)\u327b\u0000)\u32fc\u0000)\u32fd\u0000)\u3280\u0000)\u3286\u0000)\u3282\u0000)\u32a4\u0000)\u32a6\u0000)\u32a5\u0000)\u3288\u0000)\u3281\u0000)\u3284\u0000)\u32ad\u0000)\u32a1\u0000)\u329d\u0000)\u3287\u0000)\u3285\u0000)\u32a2\u0000)\u3298\u0000)\u32a9\u0000)\u3289\u0000)\u32af\u0000)\u329e\u0000)\u32a8" +
"\u0000)\u3294\u0000)\u3283\u0000)\u328f\u0000)\u32b0\u0000)\u329b\u0000)\u32ab\u0000)\u32aa\u0000)\u32a7\u0000)\u3290\u0000)\u328a\u0000)\u3292\u0000)\u328d\u0000)\u3291\u0000)\u32a3\u0000)\u328c\u0000)\u329f\u0000)\u328b\u0000)\u3295\u0000)\u329a\u0000)\u32ac\u0000)\u3293\u0000)\u3297\u0000)\u3299\u0000)\u3296" +
"\u0000)\u32ae\u0000)\u329c\u0000)\u328e\u0000)\u32a0\u0000)-]}\u0000'0AUau\u00a8\u25cb\u0000Aa\u01fa\u01fb\u00b0\u00c5\u016e\u00e5\u016f\u2363\u235f\u0000+-OUou#\u00b1\u01a0\u01af\u01a1\u01b0\u0000 \"',-ACDEGHIKLNORSTU" +
"acdeghiklnorstu\u00b8\u201e\u201a\u00b8\u00ac\u0104\u00c7\u1e10\u0118\u0122\u1e28\u012e\u0136\u013b\u0145\u01ea\u0156\u015e\u0162\u0172\u0105\u00e7\u1e11\u0119\u0123\u1e29\u012f\u0137\u013c\u0146\u01eb\u0157\u015f\u0163\u0173\u0000 ()+,-/:>ADEIKLOU\\^_a" +
"deilou\u2191\u2193\u25cb~{}\u00b1\u00ac\u0000 -.\u00ad\u2014\u2013\u233f\u00f7\u2192\u0100\u0110\u0112\u012a\u20ad\u00a3\u014c\u016a\u2340\u00af\u2212\u0101\u0111\u0113\u012b\u00a3\u014d\u016b\u234f\u2356\u2296\u0000 !'-.:<=>ABCDEFGHIMNOPRSTW" +
"XYZ^abcdefghimnoprstwxyz\u00b4\u017f\u1e62\u1e63\u25cb\u02d9\u0000Ss\u1e68\u1e69\u0000Ss\u1e64\u1e65\u00b7\u2026\u2235\u2039\u2022\u203a\u0226\u1e02\u010a\u1e0a\u0116\u1e1e\u0120\u1e22\u0130\u1e40\u1e44\u022e\u1e56\u1e58\u1e60\u1e6a\u1e86\u1e8a\u1e8e\u017b\u00b7\u0227\u1e03\u010b\u1e0b\u0117" +
"\u1e1f\u0121\u1e23\u0131\u1e41\u1e45\u022f\u1e57\u1e59\u1e61\u1e6b\u1e87\u1e8b\u1e8f\u017c\u0000Ss\u1e64\u1e65\u1e9b\u1e68\u1e69\u2299\u0000-/<=BCDGHILOTZ^bcdghilmotuvz\u0294\u04ae\u04af\u2194\u2395\u233f\\\\\u2260\u0243\u20a1\u0110\u01e4\u0126\u0197\u0141\u00d8\u0166\u01b5" +
"|\u0180\u00a2\u0111\u01e5\u0127\u0268\u0142\u20a5\u00f8\u0167\u00b5\u221a\u01b6\u02a1\u04b0\u04b1\u21ae\u2341\u0000*3~\u00b0\u2189\u236c\u0000123456789^\u00000\u2152\u00bd\u2153\u00bc\u2155\u2159\u2150\u215b\u2151\u00b9\u000035^\u2154\u2156\u00b2\u0000458^\u00be\u2157\u215c\u00b3\u00005\u2158\u000068\u215a" +
"\u215d\u00008\u215e\u00008\u221e\u0000()-.\u2395\u2639\u263a\u00f7\u2234\u2360\u0000 AEIOSTU_aeiostu\u02db\u0104\u0118\u012e\u01ea\u0218\u021a\u0172\u236e\u0105\u0119\u012f\u01eb\u0219\u021b\u0173\u0000 \"'-/3<=>CDELNRSTZ_c" +
"delnrstz\u2395\u02c7\u201c\u2018\u2190\u226e\u2665\u00ab\u2264\u22c4\u010c\u010e\u011a\u013d\u0147\u0158\u0160\u0164\u017d\u2264\u010d\u010f\u011b\u013e\u0148\u0159\u0161\u0165\u017e\u2343\u0000/<>CELNOPRTUWY^_cdeopruvy\u2395\u2260\u21d0\u21d2\u20ac\u20ac\u20a4\u20a6" +
"\u0150\u20bd\u20b9\u20ae\u0170\u20a9\u00a5\u21d1\u2261\u20ac\u20ab\u20ac\u0151\u20bd\u20b9\u0171\u21d3\u00a5\u2338\u0000 \"'/<=>AEIOU_aeiou\u00a8\u2395^\u201d\u2019\u226f\u22c4\u2265\u00bb\u00c2\u00ca\u00ce\u00d4\u00db\u2265\u00e2\u00ea\u00ee\u00f4\u00fb\u2369\u2344\u0000!+?AEIOUY\\^" +
"abeiouy\u00c2\u00ca\u00d4\u00e2\u00ea\u00f4\u2395\u2e18\u0000OUou\u1ede\u1eec\u1edf\u1eed\u00bf\u1ea2\u1eba\u1ec8\u1ece\u1ee6\u1ef6\u262d\u0000AEOaeo\u1ea8\u1ec2\u1ed4\u1ea9\u1ec3\u1ed5\u1ea3\u0000Aa\u1eb2\u1eb3\u1ebb\u1ec9\u1ecf\u1ee7\u1ef7\u1ea8\u1ec2\u1ed4\u1ea9\u1ec3\u1ed5\u2370\u0000\"'(*,-;>" +
"AET^_`~\u00a8\u00b4\u00c4\u00c1\u0102\u00c5\u0104\u0100\u0104\u00c2\u00c5\u00c6@\u00c2\u0100\u00c0\u00c3\u00c4\u00c1\u0000.|\u1e02\u0e3f\u0000',./<=CEOr|\u0106\u00c7\u010a\u20a1\u010c\u20ac\u2102\u20a0\u00a9\u20a2\u20b5\u0000,-.<H\u1e10\u0110\u1e0a\u010e\u00d0\u0000\"',-.;" +
"<=>E^_`\u00a8\u00b4\u00cb\u00c9\u0118\u0112\u0116\u0118\u011a\u20ac\u00ca\u018f\u00ca\u0112\u00c8\u00cb\u00c9\u0000.ilr\u1e1e\ufb03\ufb04\u20a3\u0000(,.TU|\u02d8\u011e\u0122\u0120>\u011e\u20b2\u011e\u0000,\u1e28\u0000\"',-.;>J^_`j~\u00a8\u00b4\u00cf\u00cd\u012e\u012a\u0130" +
"\u012e\u00ce\u0132\u00ce\u012a\u00cc\u0132\u0128\u00cf\u00cd\u0000,-\u0136\u20ad\u0000',-/<=TV\u0139\u013b\u00a3\u0141\u013d\u20a4<|\u0000.\u1e40\u0000',<=GNOo~\u0143\u0145\u0147\u20a6\u014a\u2115\u2116\u2116\u00d1\u0000\"',-/;>ACERSXY^_`" +
"~\u00a8\u00b4\u00d6\u00d3\u01ea\u014c\u00d8\u01ea\u00d4\u24b6\u00a9\u0152\u00ae\u00a7\u00a4\u262e\u00d4\u014c\u00d2\u00d5\u00d6\u00d3\u0000!.=Pt\u00b6\u1e56\u20bd\u00b6\u20a7\u0000Q\u211a\u0000',<=ORs\u0154\u0156\u0158\u20b9\u00ae\u211d\u20a8\u0000!',.;<MOS|\u00a7\u015a\u015e\u1e60\u0218\u0160\u2120\u00a7\u1e9e" +
"$\u0000,-./;<=HM\u0162\u0166\u1e6a\u0166\u021a\u0164\u20ae\u00de\u2122\u0000 !\"'*,-;>AEGIOU^_`aegiou~\u00a8\u00b4\u00b8\u0000,\u0000Ee\u1e1c\u1e1d\u0000Aa\u1eb6\u1eb7\u00dc\u00da\u016e\u0172\u016a\u0172\u00db\u0102\u0114\u011e\u012c" +
"\u014e\u016c\u00db\u016a\u00d9\u0103\u0115\u011f\u012d\u014f\u016d\u0168\u00dc\u00da\u0000Ee\u1e1c\u1e1d\u0000L|\u0000=^\u20a9\u0174\u0000O\u00a4\u0000\"'=^\u00a8\u00b4\u0178\u00dd\u00a5\u0176\u0178\u00dd\u0000'.<Z\u0179\u017b\u017d\u2124\u0000]\u2337\u0000-?\u2395\u25cb\u2340\u262d\u2342\u2349\u0000[\u2337\u0000!()+" +
"-./0123456789=ACEGHIJOSUWYZ_aceghijosuwyz|\u1eb8\u1eb9\u1ecc\u1ecd\u2212\u4e00\u4e01\u4e09\u4e0a\u4e0b\u4e19\u4e2d\u4e59\u4e8c\u4eba\u56db\u5730\u5929\u7532\u0000AEOaeo\u1eac\u1ec6\u1ed8\u1ead" +
"\u1ec7\u1ed9\u207d\u207e\u207a\u207b\u00b7|\u2070\u00b9\u00b2\u00b3\u2074\u2075\u2076\u2077\u2078\u2079\u207c\u00c2\u0108\u00ca\u011c\u0124\u00ce\u0134\u00d4\u015c\u00db\u0174\u0176\u1e90\u0000ahijlnorswxy\u0263\u0266\u0279\u027b\u0281\u0295\u00aa\u02b0\u2071\u02b2\u02e1\u207f\u00ba\u02b3\u02e2\u02b7\u02e3\u02b8\u02e0\u02b1\u02b4\u02b5\u02b6\u02e4\u00e2\u0109\u00ea" +
"\u011d\u0125\u00ee\u0135\u00f4\u015d\u00fb\u0175\u0177\u1e91\u2191\u1ec6\u1ec7\u1ed8\u1ed9\u207b\u3192\u319c\u3194\u3196\u3198\u319b\u3197\u319a\u3193\u319f\u3195\u319e\u319d\u3199\u0000 !\"'()+-.0123456789;<=>AEGIOUY^_aegiouy~\u00c4" +
"\u00c6\u00d5\u00d6\u00dc\u00e4\u00e6\u00f5\u00f6\u00fc\u0226\u0227\u1e36\u1e37\u1e5a\u1e5b\u2206\u220a\u2212\u2218\u2260\u2282\u2283\u22a5\u22c4\u2373\u2375\u237a\u25cb\u00af\u0000LRlr\u1e38\u1e5c\u1e39\u1e5d\u0000AOUaou\u01de\u022a\u01d5\u01df\u022b\u01d6\u2358\u208d\u208e\u208a\u208b\u0000AOao\u01e0\u0230\u01e1\u0231\u2080\u2081\u2082\u2083\u2084\u2085\u2086" +
"\u2087\u2088\u2089\u0000Oo\u01ec\u01ed\u2264\u208c\u2265\u0100\u0112\u1e20\u012a\u014c\u016a\u0232\u00af\u00af\u0101\u0113\u1e21\u012b\u014d\u016b\u0233\u0000Oo\u022c\u022d\u01de\u01e2\u022c\u022a\u01d5\u01df\u01e3\u022d\u022b\u01d6\u01e0\u01e1\u1e38\u1e39\u1e5c\u1e5d\u2359\u2377\u208b\u235b\u2262\u2286\u2287\u234a\u235a\u2378\u2379\u2376\u235c\u0000\"+AEINOUWY" +
"^_abeinouwy\u00af\u00c2\u00ca\u00d4\u00dc\u00e2\u00ea\u00f4\u00fc\u0000Uu\u01db\u01dc\u0000OUou\u1edc\u1eea\u1edd\u1eeb\u00c0\u00c8\u00cc\u01f8\u00d2\u00d9\u1e80\u1ef2\u0000AEOaeo\u1ea6\u1ec0\u1ed2\u1ea7\u1ec1\u1ed3\u0000EOeo\u1e14\u1e50\u1e15\u1e51\u00e0\u0000Aa\u1eb0\u1eb1\u00e8\u00ec" +
"\u01f9\u00f2\u00f9\u1e81\u1ef3\u0000EOeo\u1e14\u1e50\u1e15\u1e51\u1ea6\u1ec0\u1ed2\u01db\u1ea7\u1ec1\u1ed3\u01dc\u0000\"'(*,-;>^_`ae~\u00a8\u00b4\u00e4\u00e1\u0103\u00e5\u0105\u0101\u0105\u00e2\u00e2\u0101\u00e0\u00e5\u00e6\u00e3\u00e4\u00e1\u0000!,.AEGIOUaegiou\u00b8" +
"\u0000Aa\u1eb6\u1eb7\u0000Ee\u1e1c\u1e1d\u1e03\u0102\u0114\u011e\u012c\u014e\u016c\u0103\u0115\u011f\u012d\u014f\u016d\u0000Ee\u1e1c\u1e1d\u0000\"',./<=ACDEGHIKLNORSTUZacdeghijklnorstuz|\u00dc\u00fc" +
"\u0000Uu\u01d9\u01da\u0107\u00e7\u010b\u00a2\u010d\u20ac\u01cd\u010c\u010e\u011a\u01e6\u021e\u01cf\u01e8\u013d\u0147\u01d1\u0158\u0160\u0164\u01d3\u017d\u01ce\u010d\u010f\u011b\u01e7\u021f\u01d0\u01f0\u01e9\u013e\u0148\u01d2\u0159\u0161\u0165\u01d4\u017e\u00a2\u01d9\u01da\u0000,-.<=hi\u1e11\u0111\u1e0b\u010f\u20ab\u00f0\u2300\u0000\"',-.;<=>" +
"^_`e\u00a8\u00b4\u00eb\u00e9\u0119\u0113\u0117\u0119\u011b\u20ac\u00ea\u00ea\u0113\u00e8\u0259\u00eb\u00e9\u0000.Sfils\u1e1f\u017f\ufb00\ufb01\ufb02\u017f\u0000(,.Ut\u02d8\u011f\u0123\u0121\u011f>\u011f\u0000,\u1e29\u0000\"',-.;>^_`j~\u00a8\u00b4\u00ef\u00ed\u012f\u012b\u0131\u012f\u00ee" +
"\u00ee\u012b\u00ec\u0133\u0129\u00ef\u00ed\u0000,k\u0137\u0138\u0000',-/<tv\u013a\u013c\u00a3\u0142\u013e<|\u0000./u\u1e41\u20a5\u00b5\u0000',<g~\u0144\u0146\u0148\u014b\u00f1\u0000\"',-/;>AU^_`aceorsuwxy~\u00a8\u00b4\u00f6" +
"\u00f3\u01eb\u014d\u00f8\u01eb\u00f4\u00c5\u016e\u00f4\u014d\u00f2\u00e5\u00a9\u0153\u00b0\u00ae\u00a7\u016f\u1e98\u00a4\u1e99\u00f5\u00f6\u00f3\u0000!.=\u00b6\u1e57\u20bd\u0000',<=\u0155\u0157\u0159\u20b9\u0000!',.;<mos\u00b8\u00a7\u015b\u015f\u1e61\u0219\u0161\u2120\u00a7\u00df\u015f\u0000,-./;<hm\u0163\u0167" +
"\u1e6b\u0167\u021b\u0165\u00fe\u2122\u0000\"'*,-/;>AEGIOU^_`aegiou~\u00a8\u00b4\u00fc\u00fa\u016f\u0173\u016b\u00b5\u0173\u00fb\u0102\u0114\u011e\u012c\u014e\u016c\u00fb\u016b\u00f9\u0103\u0115\u011f\u012d\u014f\u016d\u0169\u00fc\u00fa\u0000/ACDEGHIKNOR" +
"STUZacdeghijklnorstuz|\u221a\u01cd\u010c\u010e\u011a\u01e6\u021e\u01cf\u01e8\u0147\u01d1\u0158\u0160\u0164\u01d3\u017d\u01ce\u010d\u010f\u011b\u01e7\u021f\u01d0\u01f0\u01e9|\u0148\u01d2\u0159\u0161\u0165\u01d4\u017e\u2193\u0000^\u0175\u0000ox\u00a4\u00d7\u0000\"'=^\u00a8\u00b4\u00ff" +
"\u00fd\u00a5\u0177\u00ff\u00fd\u0000'.<\u017a\u017c\u017e\u0000}\u2205\u0000-=BCGS^cv~\u2190\u2192\u2206\u2207\u222a\u2282\u25cb\u2020\u2021\u0e3f\u20b5\u20b2$\u2191\u00a2\u2193\u236d\u2345\u2346\u234b\u2352\u2366\u2367\u233d\u0000+0AEINOUVY^abeinouvy|" +
"~\u00a8\u00c2\u00ca\u00d4\u00e2\u00ea\u00f4\u2207\u2227\u2228\u0000OUou\u1ee0\u1eee\u1ee1\u1eef\u236c\u00c3\u1ebc\u0128\u00d1\u00d5\u0168\u1e7c\u1ef8\u0000AEOaeo\u1eaa\u1ec4\u1ed6\u1eab\u1ec5\u1ed7\u00e3\u0000Aa\u1eb4\u1eb5\u1ebd\u0129\u00f1\u00f5\u0169\u1e7d\u1ef9\u236d\u2248\u2368\u1eaa\u1ec4\u1ed6\u1eab\u1ec5\u1ed7\u236b\u2372\u2371\u0000'*>A" +
"EIOUY`aeiouy~\u00b4\u2207\u2218\u22a4\u25cb\u0385\u2363\u2369\u00c4\u00cb\u00cf\u00d6\u00dc\u0178\u1fed\u00e4\u00eb\u00ef\u00f6\u00fc\u00ff\u1fc1\u0385\u2362\u2364\u2361\u2365\u0000!\".;AEGIOUYaegiouy~\u00c4\u00c6\u00d5\u00d6\u00dc\u00e4\u00e6\u00f5\u00f6\u00fc\u0226\u0227" +
"\u1e36\u1e37\u1e5a\u1e5b\u22a4\u0000LRlr\u1e38\u1e5c\u1e39\u1e5d\u0000AOUaou\u01de\u022a\u01d5\u01df\u022b\u01d6\u0000AOao\u01e0\u0230\u01e1\u0231\u0000Oo\u01ec\u01ed\u0100\u0112\u1e20\u012a\u014c\u016a\u0232\u0101\u0113\u1e21\u012b\u014d\u016b\u0233\u0000Oo\u022c\u022d\u01de\u01e2\u022c\u022a\u01d5\u01df\u01e3\u022d\u022b\u01d6\u01e0\u01e1" +
"\u1e38\u1e39\u1e5c\u1e5d\u2351\u0000\"+,/ACEGIKLMNOPRSUWYZ^_abcegiklmnoprsuwyz~\u00af\u00b8\u00c2\u00c5\u00c6\u00c7\u00ca\u00cf\u00d4\u00d5\u00dc\u00e2\u00e5\u00e6\u00e7\u00ea\u00ef\u00f4\u00f5\u00f8\u00fc\u0000IU" +
"iu\u1e2e\u01d7\u1e2f\u01d8\u0000OUou\u1eda\u1ee8\u1edb\u1ee9\u0000Cc\u1e08\u1e09\u0000Oo\u01fe\u01ff\u00c1\u0106\u00c9\u01f4\u00cd\u1e30\u0139\u1e3e\u0143\u00d3\u1e54\u0154\u015a\u00da\u1e82\u00dd\u0179\u0000AEOaeo\u1ea4\u1ebe\u1ed0\u1ea5\u1ebf\u1ed1\u0000EOeo\u1e16\u1e52\u1e17\u1e53\u00e1\u0000Aa\u1eae\u1eaf\u0107\u00e9" +
"\u01f5\u00ed\u1e31\u013a\u1e3f\u0144\u00f3\u1e55\u0155\u015b\u00fa\u1e83\u00fd\u017a\u0000OUou\u1e4c\u1e78\u1e4d\u1e79\u0000EOeo\u1e16\u1e52\u1e17\u1e53\u0000Cc\u1e08\u1e09\u1ea4\u01fa\u01fc\u1e08\u1ebe\u1e2e\u1ed0\u1e4c\u01d7\u1ea5\u01fb\u01fd\u1e09\u1ebf\u1e2f\u1ed1\u1e4d\u01ff\u01d8\u0000CDEGHKLNRSTcdeg" +
"hklnrst\u00c7\u1e10\u0228\u0122\u1e28\u0136\u013b\u0145\u0156\u015e\u0162\u00e7\u1e11\u0229\u0123\u1e29\u0137\u013c\u0146\u0157\u015f\u0163\u0000\u2395\u2339\u0000Gg\u011e\u011f\u0000\u05f2\ufb1f\u0000\ufb49\ufb2c\u0000\ufb49\ufb2d\u0000\u06c1\u06d2\u06d5\u06c2\u06d3\u06c0\u0000\u0915\u0916\u0917\u091c\u0921\u0922\u0928\u092b\u092f\u0930\u0933\u0958\u0959\u095a\u095b\u095c\u095d\u0929" +
"\u095e\u095f\u0931\u0934\u0000\u09a1\u09a2\u09af\u09dc\u09dd\u09df\u0000\u09be\u09d7\u09cb\u09cc\u0000\u0a16\u0a17\u0a1c\u0a2b\u0a32\u0a38\u0a59\u0a5a\u0a5b\u0a5e\u0a33\u0a36\u0000\u0b21\u0b22\u0b5c\u0b5d\u0000\u0b3e\u0b56\u0b57\u0b4b\u0b48\u0b4c\u0000\u0bbe\u0bd7\u0bca\u0bcc\u0000\u0bbe\u0bcb\u0000\u0b92\u0b94\u0000\u0c56\u0c48\u0000\u0cd5\u0cc0\u0000\u0cc2\u0cd5\u0cd6\u0cca\u0cc7\u0cc8\u0000\u0cd5\u0ccb\u0000\u0d3e\u0d57\u0d4a" +
"\u0d4c\u0000\u0d3e\u0d4b\u0000\u0dca\u0dcf\u0ddf\u0dda\u0ddc\u0dde\u0000\u0dca\u0ddd\u0000\u0f72\u0f74\u0f80\u0f73\u0f75\u0f81\u0000\u0fb5\u0fb9\u0000\u0fb7\u0f93\u0000\u0fb7\u0f9d\u0000\u0fb7\u0fa2\u0000\u0fb7\u0fa7\u0000\u0fb7\u0fac\u0000\u0f80\u0f76\u0000\u0f80\u0f78\u0000\u0f40\u0f69\u0000\u0f42\u0f4c\u0f51\u0f56\u0f5b\u0f43\u0f4d\u0f52\u0f57\u0f5c\u0000\u1025\u1026\u0000\u1100\u1101\u0000\u1100\u1102\u1103\u1107\u1113\u1114" +
"\u1115\u1116\u0000\u1100\u1103\u1117\u1104\u0000\u1102\u1105\u110b\u1112\u1118\u1119\u111b\u111a\u0000\u1107\u110b\u111c\u111d\u0000\u1100\u1102\u1103\u1107\u1109\u110a\u110b\u110c\u110e\u1110\u1111\u112b\u112d\u112f\u1132\u1136\u111e\u111f\u1120\u1108\u1121\u1125\u112b\u1127\u1128\u1129\u112a\u112c\u1122\u1123\u1124\u1126\u0000\u110b\u112c\u0000\u1100\u1102\u1103\u1105\u1106\u1107\u1109\u110a\u110b\u110c\u110e\u110f\u1110\u1111" +
"\u1112\u111e\u112d\u112e\u112f\u1130\u1131\u1132\u110a\u1134\u1135\u1136\u1137\u1138\u1139\u113a\u113b\u1133\u0000\u1109\u1134\u0000\u1100\u1103\u1106\u1107\u1109\u110b\u110c\u110e\u1110\u1111\u1140\u1141\u1142\u1143\u1144\u1145\u1147\u1148\u1149\u114a\u114b\u1146\u0000\u110b\u110c\u114d\u110d\u0000\u110f\u1112\u1152\u1153\u0000\u1107\u110b\u1156\u1157\u0000\u1112\u1158\u0000\u1100\u1103\u1107\u1109\u110c\u1122\u1123\u1124\u1125" +
"\u1126\u0000\u1100\u1133\u0000\u113c\u113d\u0000\u113e\u113f\u0000\u114e\u114f\u0000\u1150\u1151\u0000\u1169\u116e\u1175\u1176\u1177\u1162\u0000\u1169\u116d\u1175\u1178\u1179\u1164\u0000\u1169\u116e\u1173\u1175\u117a\u117b\u117c\u1166\u0000\u1169\u116e\u1175\u117d\u117e\u1168\u0000\u1161\u1162\u1165\u1166\u1168\u1169\u116e\u1175\u116a\u116b\u117f\u1180\u1181\u1182\u1183\u116c\u0000\u1175\u116b\u0000\u1163\u1164\u1167\u1169\u1175" +
"\u1184\u1185\u1186\u1187\u1188\u0000\u1161\u1162\u1165\u1166\u1168\u116e\u1175\u117c\u1189\u118a\u116f\u1170\u118c\u118d\u1171\u118b\u0000\u1173\u1175\u118b\u1170\u0000\u1161\u1165\u1166\u1167\u1168\u116e\u1175\u118e\u118f\u1190\u1191\u1192\u1193\u1194\u0000\u116e\u1173\u1175\u1195\u1196\u1174\u0000\u116e\u1197\u0000\u1161\u1163\u1169\u116e\u1173\u119e\u1198\u1199\u119a\u119b\u119c\u119d\u0000\u1165\u116e\u1175\u119e\u119f\u11a0" +
"\u11a1\u11a2\u0000\u11a8\u11af\u11ba\u11e7\u11a9\u11c3\u11aa\u11c4\u0000\u11a8\u11c4\u0000\u11a8\u11ae\u11ba\u11bd\u11c0\u11c2\u11eb\u11c5\u11c6\u11c7\u11ac\u11c9\u11ad\u11c8\u0000\u11a8\u11af\u11ca\u11cb\u0000\u11a8\u11aa\u11ab\u11ae\u11af\u11b7\u11b8\u11b9\u11ba\u11bb\u11bf\u11c0\u11c1\u11c2\u11da\u11dd\u11e5\u11e6\u11eb\u11f9\u11b0\u11cc\u11cd\u11ce\u11d0\u11b1\u11b2\u11d3\u11b3\u11d6\u11d8\u11b4\u11b5\u11b6\u11d1\u11d2\u11d4" +
"\u11d5\u11d7\u11d9\u0000\u11ba\u11cc\u0000\u11a8\u11ba\u11d1\u11d2\u0000\u11ba\u11bc\u11c2\u11d3\u11d5\u11d4\u0000\u11ba\u11d6\u0000\u11a8\u11af\u11b8\u11ba\u11bb\u11bc\u11be\u11c2\u11eb\u11da\u11db\u11dc\u11dd\u11de\u11e2\u11e0\u11e1\u11df\u0000\u11af\u11ba\u11bc\u11c1\u11c2\u11e3\u11b9\u11e6\u11e4\u11e5\u0000\u11a8\u11ae\u11af\u11b8\u11ba\u11e7\u11e8\u11e9\u11ea\u11bb\u0000\u11a8\u11a9\u11bc\u11bf\u11ec\u11ed\u11ee\u11ef\u0000" +
"\u11b8\u11bc\u11f3\u11f4\u0000\u11ab\u11af\u11b7\u11b8\u11f5\u11f6\u11f7\u11f8\u0000\u11c2\u11cf\u0000\u11ba\u11de\u0000\u11a8\u11ed\u0000\u11ba\u11eb\u11f1\u11f2\u0000|\u2395\u2345\u2347\u0000-\u2395\u234f\u2350\u0000|\u2395\u2346\u2348\u0000-\u2395\u2356\u2357\u0000/\u2204\u0000_|\u2395\u2359\u234b\u234d\u0000|~\u00a8\u2395\u2352\u236b\u2362\u2354\u0000/\u2209\u0000_\u2377" +
"\u0000/\u220c\u0000_\u00a8\u2229\u22a4\u22a5\u2395\u25cb\u235b\u2364\u235d\u2355\u234e\u233b\u233e\u0000/\u2224\u0000/\u2226\u0000~\u2228\u2395\u2372\u22c4\u2353\u0000~\u2227\u2395\u2371\u22c4\u234c\u0000\u2218\u235d\u0000|\u2366\u0000/\u2241\u0000/\u2244\u0000/\u2249\u0000/\u226d\u0000_\u2395\u2262\u236f\u0000/\u2274\u0000/\u2275\u0000/\u2278\u0000/" +
"\u2279\u0000/\u2280\u0000/\u2281\u0000/\u22e0\u0000/\u22e1\u0000_|\u2286\u2367\u0000_\u2287\u0000/\u2288\u0000/\u2289\u0000/\u22e2\u0000/\u22e3\u0000\u00a8\u00af\u2218\u22a5\u2361\u2351\u2355\u2336\u0000_\u2218\u22a4\u234a\u234e\u2336\u0000/\u22ad\u0000/\u22ae\u0000/\u22af\u0000/\u22ea\u0000/\u22eb\u0000/\u22ec\u0000/\u22ed\u0000_" +
"\u2395\u235a\u233a\u0000_\u2378\u0000_\u2379\u0000_\u2376\u0000'/:<=>?\\\u00f7\u2190\u2191\u2192\u2193\u2206\u2207\u2218\u2227\u2228\u2260\u22c4\u25cb\u235e\u2341\u2360\u2343\u2338\u2344\u2370\u2342\u2339\u2347\u2350\u2348\u2357\u234d\u2354\u233b\u2353\u234c\u236f\u233a\u233c\u0000*-.\\_|\u00a8\u2218\u2395\u235f\u2296\u2299\u2349\u235c\u233d\u2365" +
"\u233e\u233c\u0000/\u2adc").toCharArray();
public static final char[] edges =
("\u00e7\u00e7\u00f8\u0155\u01aa\u01b9\u01bc\u0285\u0564\u0569\u057e\u058b\u05d2\u0615\u0690\u06d3\u06da\u06f1\u06f8\u0701\u0704\u0709\u070c\u070f\u071a\u073b\u0776\u07ab\u07d4\u081f\u0842\u0847\u085e\u0869\u0888\u0891\u08a0\u08a3\u08c2\u08c7\u08d8\u08db\u08ee\u0917\u0922\u0925\u0934\u0949\u095c\u09a3\u09a6\u09ab\u09ae\u09bb\u09c4\u09c7\u09d0\u09d3\u0a86\u0b35\u0b9e\u0bbf\u0bec\u0c47\u0c56\u0c75\u0c82\u0c8f\u0c92\u0caf\u0cb4\u0cc3" +
"\u0cca\u0cd5\u0d08\u0d0f\u0d18\u0d2d\u0d3e\u0d73\u0db8\u0dbb\u0dc0\u0dcd\u0dd4\u0dd7\u0dfa\u0e53\u0e80\u0eed\u0fb0\u0fdd\u0fe0\u0fe5\u0fe8\u0feb\u0fee\u0ff5\u100c\u1013\u1018\u1025\u102a\u1031\u1036\u1039\u103c\u103f\u1042\u1049\u104c\u1051\u1054\u105b\u105e\u1065\u1068\u106b\u106e\u1071\u1074\u1077\u107a\u107d\u1080\u108b\u108e\u1091\u109a\u109f\u10a8\u10ad\u10ce\u10d1\u10f2\u10f5\u110c\u1111\u1116\u111b\u111e\u1129\u112c\u112f" +
"\u1132\u1135\u1138\u113f\u1146\u114f\u1156\u1167\u116a\u1175\u1186\u118b\u119a\u11a1\u11a4\u11b1\u11ba\u11c3\u11c6\u11d5\u11da\u1203\u1206\u120b\u1212\u1215\u1228\u1233\u123e\u1247\u124c\u1255\u1258\u125b\u125e\u1263\u1268\u126d\u1272\u1277\u127a\u1281\u128a\u128d\u1290\u1293\u12a2\u12a5\u12a8\u12af\u12b6\u12b9\u12bc\u12bf\u12c2\u12c5\u12c8\u12cd\u12d0\u12d3\u12d6\u12d9\u12dc\u12df\u12e2\u12e5\u12ea\u12ed\u12f0\u12f3\u12f6\u12f9" +
"\u1302\u1309\u130c\u130f\u1312\u1315\u1318\u131b\u131e\u1323\u1326\u1329\u132c\u1357\u136a\u0009\u00f0\u00f1\u00f2\u00f3\u00f4\u00f5\u00f6\u00f7\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u002b\u0123\u0124\u012d\u012e\u012f\u0130\u0131\u0132\u0133\u0134\u0135\u0136\u0137\u0138\u0139\u013a\u013b\u013c\u013d\u013e\u013f\u0140\u0141\u0142\u0143\u0144\u0145\u0146\u0147\u0148\u0149\u014a\u014b\u014c\u014d\u014e\u014f\u0150\u0151" +
"\u0152\u0153\u0154\u0001\u0005\u0129\u012a\u012b\u012c\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0025\u017a\u017b\u017c\u017d\u017e\u017f\u0180\u0181\u0182\u0183\u0184\u0185\u0186\u0187\u0188\u0189\u018e\u018f" +
"\u0190\u0191\u0192\u0193\u0194\u0195\u0196\u0197\u0198\u019d\u01a2\u01a3\u01a4\u01a5\u01a6\u01a7\u01a8\u01a9\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u018c\u018d\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u019b\u019c\u0001\u0001\u0003\u01a0\u01a1\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0008\u01b2\u01b3\u01b4\u01b5\u01b6" +
"\u01b7\u01b8\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u01bb\u0001\u0044\u0200\u020b\u020c\u0215\u0216\u021b\u021c\u021d\u021e\u021f\u0220\u0221\u0222\u0223\u0224\u0225\u0226\u0227\u0228\u0229\u022a\u022b\u022c\u022d\u022e\u023b\u0244\u0245\u024a\u024b\u024c\u024d\u024e\u024f\u0250\u0251\u0252\u0253\u0254\u0255\u0256\u0257\u0258\u0259\u025a\u0263\u026c\u0271\u0272\u0273\u0274\u0275\u0276\u0277\u0278\u0279\u027a\u027b\u027c" +
"\u027d\u027e\u027f\u0280\u0281\u0282\u0283\u0284\u0006\u0206\u0207\u0208\u0209\u020a\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0211\u0212\u0213\u0214\u0001\u0001\u0001\u0001\u0001\u0003\u0219\u021a\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u0235\u0236\u0237\u0238\u0239\u023a\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0240\u0241\u0242\u0243" +
"\u0001\u0001\u0001\u0001\u0001\u0003\u0248\u0249\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u025f\u0260\u0261\u0262\u0001\u0001\u0001\u0001\u0005\u0268\u0269\u026a\u026b\u0001\u0001\u0001\u0001\u0003\u026f\u0270\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0083\u0308\u0309" +
"\u030a\u030b\u030e\u0339\u0364\u038f\u03ba\u03c1\u03c4\u03c7\u03ca\u03cd\u03d0\u03d3\u03d6\u03d9\u03dc\u03df\u03e2\u03e5\u03e8\u03eb\u03ee\u03f1\u03f4\u03f7\u03fa\u03fd\u0400\u0403\u0406\u0409\u040c\u040f\u0412\u0415\u0418\u041b\u041e\u0421\u0424\u0427\u042a\u042d\u0430\u0433\u0436\u0439\u043c\u043f\u0442\u0445\u0448\u044b\u044e\u0451\u0454\u0457\u045a\u045d\u0460\u0463\u0466\u0469\u0470\u0477\u047e\u0485\u048c\u0493\u049a\u04a1" +
"\u04a8\u04af\u04b6\u04bd\u04c4\u04cb\u04ce\u04d1\u04d4\u04d7\u04da\u04dd\u04e0\u04e3\u04e6\u04e9\u04ec\u04ef\u04f2\u04f5\u04f8\u04fb\u04fe\u0501\u0504\u0507\u050a\u050d\u0510\u0513\u0516\u0519\u051c\u051f\u0522\u0525\u0528\u052b\u052e\u0531\u0534\u0537\u053a\u053d\u0540\u0543\u0546\u0549\u054c\u054f\u0552\u0555\u0558\u055b\u055e\u0561\u0001\u0001\u0001\u0002\u030d\u0001\u000c\u031a\u031b\u031e\u0321\u0324\u0327\u032a\u032d\u0330" +
"\u0333\u0336\u0001\u0002\u031d\u0001\u0002\u0320\u0001\u0002\u0323\u0001\u0002\u0326\u0001\u0002\u0329\u0001\u0002\u032c\u0001\u0002\u032f\u0001\u0002\u0332\u0001\u0002\u0335\u0001\u0002\u0338\u0001\u000c\u0345\u0346\u0349\u034c\u034f\u0352\u0355\u0358\u035b\u035e\u0361\u0001\u0002\u0348\u0001\u0002\u034b\u0001\u0002\u034e\u0001\u0002\u0351\u0001\u0002\u0354\u0001\u0002\u0357\u0001\u0002\u035a\u0001\u0002\u035d\u0001\u0002\u0360" +
"\u0001\u0002\u0363\u0001\u000c\u0370\u0371\u0374\u0377\u037a\u037d\u0380\u0383\u0386\u0389\u038c\u0001\u0002\u0373\u0001\u0002\u0376\u0001\u0002\u0379\u0001\u0002\u037c\u0001\u0002\u037f\u0001\u0002\u0382\u0001\u0002\u0385\u0001\u0002\u0388\u0001\u0002\u038b\u0001\u0002\u038e\u0001\u000c\u039b\u039c\u039f\u03a2\u03a5\u03a8\u03ab\u03ae\u03b1\u03b4\u03b7\u0001\u0002\u039e\u0001\u0002\u03a1\u0001\u0002\u03a4\u0001\u0002\u03a7\u0001" +
"\u0002\u03aa\u0001\u0002\u03ad\u0001\u0002\u03b0\u0001\u0002\u03b3\u0001\u0002\u03b6\u0001\u0002\u03b9\u0001\u0003\u03bd\u03be\u0001\u0002\u03c0\u0001\u0002\u03c3\u0001\u0002\u03c6\u0001\u0002\u03c9\u0001\u0002\u03cc\u0001\u0002\u03cf\u0001\u0002\u03d2\u0001\u0002\u03d5\u0001\u0002\u03d8\u0001\u0002\u03db\u0001\u0002\u03de\u0001\u0002\u03e1\u0001\u0002\u03e4\u0001\u0002\u03e7\u0001\u0002\u03ea\u0001\u0002\u03ed\u0001\u0002\u03f0" +
"\u0001\u0002\u03f3\u0001\u0002\u03f6\u0001\u0002\u03f9\u0001\u0002\u03fc\u0001\u0002\u03ff\u0001\u0002\u0402\u0001\u0002\u0405\u0001\u0002\u0408\u0001\u0002\u040b\u0001\u0002\u040e\u0001\u0002\u0411\u0001\u0002\u0414\u0001\u0002\u0417\u0001\u0002\u041a\u0001\u0002\u041d\u0001\u0002\u0420\u0001\u0002\u0423\u0001\u0002\u0426\u0001\u0002\u0429\u0001\u0002\u042c\u0001\u0002\u042f\u0001\u0002\u0432\u0001\u0002\u0435\u0001\u0002\u0438" +
"\u0001\u0002\u043b\u0001\u0002\u043e\u0001\u0002\u0441\u0001\u0002\u0444\u0001\u0002\u0447\u0001\u0002\u044a\u0001\u0002\u044d\u0001\u0002\u0450\u0001\u0002\u0453\u0001\u0002\u0456\u0001\u0002\u0459\u0001\u0002\u045c\u0001\u0002\u045f\u0001\u0002\u0462\u0001\u0002\u0465\u0001\u0002\u0468\u0001\u0003\u046c\u046d\u0001\u0002\u046f\u0001\u0003\u0473\u0474\u0001\u0002\u0476\u0001\u0003\u047a\u047b\u0001\u0002\u047d\u0001\u0003\u0481" +
"\u0482\u0001\u0002\u0484\u0001\u0003\u0488\u0489\u0001\u0002\u048b\u0001\u0003\u048f\u0490\u0001\u0002\u0492\u0001\u0003\u0496\u0497\u0001\u0002\u0499\u0001\u0003\u049d\u049e\u0001\u0002\u04a0\u0001\u0003\u04a4\u04a5\u0001\u0002\u04a7\u0001\u0003\u04ab\u04ac\u0001\u0002\u04ae\u0001\u0003\u04b2\u04b3\u0001\u0002\u04b5\u0001\u0003\u04b9\u04ba\u0001\u0002\u04bc\u0001\u0003\u04c0\u04c1\u0001\u0002\u04c3\u0001\u0003\u04c7\u04c8\u0001" +
"\u0002\u04ca\u0001\u0002\u04cd\u0001\u0002\u04d0\u0001\u0002\u04d3\u0001\u0002\u04d6\u0001\u0002\u04d9\u0001\u0002\u04dc\u0001\u0002\u04df\u0001\u0002\u04e2\u0001\u0002\u04e5\u0001\u0002\u04e8\u0001\u0002\u04eb\u0001\u0002\u04ee\u0001\u0002\u04f1\u0001\u0002\u04f4\u0001\u0002\u04f7\u0001\u0002\u04fa\u0001\u0002\u04fd\u0001\u0002\u0500\u0001\u0002\u0503\u0001\u0002\u0506\u0001\u0002\u0509\u0001\u0002\u050c\u0001\u0002\u050f\u0001" +
"\u0002\u0512\u0001\u0002\u0515\u0001\u0002\u0518\u0001\u0002\u051b\u0001\u0002\u051e\u0001\u0002\u0521\u0001\u0002\u0524\u0001\u0002\u0527\u0001\u0002\u052a\u0001\u0002\u052d\u0001\u0002\u0530\u0001\u0002\u0533\u0001\u0002\u0536\u0001\u0002\u0539\u0001\u0002\u053c\u0001\u0002\u053f\u0001\u0002\u0542\u0001\u0002\u0545\u0001\u0002\u0548\u0001\u0002\u054b\u0001\u0002\u054e\u0001\u0002\u0551\u0001\u0002\u0554\u0001\u0002\u0557\u0001" +
"\u0002\u055a\u0001\u0002\u055d\u0001\u0002\u0560\u0001\u0002\u0563\u0001\u0003\u0567\u0568\u0001\u0001\u0009\u0572\u0577\u0578\u0579\u057a\u057b\u057c\u057d\u0003\u0575\u0576\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u0585\u0586\u0587\u0588\u0589\u058a\u0001\u0001\u0001\u0001\u0001\u0001\u0024\u05af\u05b0\u05b1\u05b2\u05b3\u05b4\u05b5\u05b6\u05b7\u05b8\u05b9\u05ba\u05bb\u05bc\u05bd\u05be\u05bf\u05c0\u05c1\u05c2" +
"\u05c3\u05c4\u05c5\u05c6\u05c7\u05c8\u05c9\u05ca\u05cb\u05cc\u05cd\u05ce\u05cf\u05d0\u05d1\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u001f\u05f1\u05f2\u05f3\u05f4\u05f5\u05f6\u05fd\u05fe\u05ff\u0600\u0601\u0602\u0603\u0604\u0605\u0606\u0607\u0608\u0609\u060a\u060b" +
"\u060c\u060d\u060e\u060f\u0610\u0611\u0612\u0613\u0614\u0001\u0001\u0001\u0001\u0001\u0004\u05fa\u05fb\u05fc\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0038\u064d\u064e\u0653\u0658\u0659\u065a\u065b\u065c\u065d\u065e\u065f\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u066a\u066b\u066c\u066d\u066e" +
"\u066f\u0670\u0671\u0672\u0673\u0674\u0675\u0676\u0677\u0678\u0679\u067a\u067b\u067c\u067d\u067e\u067f\u0680\u0681\u0682\u0683\u0684\u0685\u0686\u0687\u068c\u068d\u068e\u068f\u0001\u0003\u0651\u0652\u0001\u0001\u0003\u0656\u0657\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u068a\u068b\u0001\u0001\u0001\u0001\u0001\u0001\"\u06b2\u06b3\u06b4\u06b5\u06b6\u06b7\u06b8\u06b9\u06ba\u06bb\u06bc\u06bd\u06be\u06bf\u06c0\u06c1\u06c2\u06c3\u06c4\u06c5\u06c6\u06c7\u06c8\u06c9\u06ca\u06cb\u06cc\u06cd\u06ce\u06cf\u06d0\u06d1\u06d2\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u06d7\u06d8\u06d9\u0001\u0001\u0001\u000b\u06e5\u06e8\u06e9\u06ea\u06eb\u06ec\u06ed\u06ee\u06ef\u06f0\u0002\u06e7\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u06f5\u06f6\u06f7\u0001\u0001\u0001\u0005\u06fd\u06fe\u06ff\u0700\u0001\u0001\u0001\u0001\u0002\u0703\u0001\u0003\u0707\u0708\u0001" +
"\u0001\u0002\u070b\u0001\u0002\u070e\u0001\u0006\u0715\u0716\u0717\u0718\u0719\u0001\u0001\u0001\u0001\u0001\u0011\u072b\u072c\u072d\u072e\u072f\u0730\u0731\u0732\u0733\u0734\u0735\u0736\u0737\u0738\u0739\u073a\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u001e\u0759\u075a\u075b\u075c\u075d\u075e\u075f\u0760\u0761\u0762\u0763\u0764\u0765\u0766\u0767\u0768\u0769\u076a\u076b\u076c" +
"\u076d\u076e\u076f\u0770\u0771\u0772\u0773\u0774\u0775\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u001b\u0791\u0792\u0793\u0794\u0795\u0796\u0797\u0798\u0799\u079a\u079b\u079c\u079d\u079e\u079f\u07a0\u07a1\u07a2\u07a3\u07a4\u07a5\u07a6\u07a7\u07a8\u07a9\u07aa\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0015\u07c0\u07c1\u07c2\u07c3\u07c4\u07c5\u07c6\u07c7\u07c8\u07c9\u07ca\u07cb\u07cc\u07cd\u07ce\u07cf\u07d0\u07d1\u07d2\u07d3\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u001a\u07ee\u07ef\u07f8\u07f9\u07fa\u07fb\u07fc\u07fd\u07fe\u07ff\u0800" +
"\u080d\u080e\u0813\u0814\u0815\u0816\u0817\u0818\u0819\u081a\u081b\u081c\u081d\u081e\u0001\u0005\u07f4\u07f5\u07f6\u07f7\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u0807\u0808\u0809\u080a\u080b\u080c\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0811\u0812\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0012\u0831\u0832\u0833\u0834\u0835\u0836\u0837\u0838" +
"\u0839\u083a\u083b\u083c\u083d\u083e\u083f\u0840\u0841\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0845\u0846\u0001\u0001\u000c\u0853\u0854\u0855\u0856\u0857\u0858\u0859\u085a\u085b\u085c\u085d\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u0864\u0865\u0866\u0867\u0868\u0001\u0001\u0001\u0001\u0001\u0010\u0879\u087a\u087b\u087c\u087d\u087e" +
"\u087f\u0880\u0881\u0882\u0883\u0884\u0885\u0886\u0887\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u088d\u088e\u088f\u0890\u0001\u0001\u0001\u0001\u0008\u0899\u089a\u089b\u089c\u089d\u089e\u089f\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u08a2\u0001\u0010\u08b3\u08b4\u08b5\u08b6\u08b7\u08b8\u08b9\u08ba\u08bb\u08bc\u08bd\u08be\u08bf\u08c0\u08c1\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u08c5\u08c6\u0001\u0001\u0009\u08d0\u08d1\u08d2\u08d3\u08d4\u08d5\u08d6\u08d7\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u08da\u0001\n\u08e5\u08e6\u08e7\u08e8\u08e9\u08ea\u08eb\u08ec\u08ed\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0015\u0903\u0904\u0905\u0906\u0907\u0908\u0909\u090a\u090b\u090c\u090d\u090e\u090f\u0910\u0911\u0912\u0913" +
"\u0914\u0915\u0916\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u091d\u091e\u091f\u0920\u0921\u0001\u0001\u0001\u0001\u0001\u0002\u0924\u0001\u0008\u092d\u092e\u092f\u0930\u0931\u0932\u0933\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u093f\u0940\u0941\u0942\u0943\u0944\u0945\u0946\u0947\u0948\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\n\u0953\u0954\u0955\u0956\u0957\u0958\u0959\u095a\u095b\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u001d\u0979\u0980\u0985\u0986\u0987\u0988\u0989\u098a\u098b\u098c\u098d\u098e\u098f\u0990\u0991\u0992\u0993\u0994\u0995\u0996\u0997\u0998\u0999\u099a\u099b\u099c\u099d\u099e\u0002\u097b\u0003\u097e\u097f\u0001\u0001\u0003\u0983\u0984\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u09a1\u09a2\u0001\u0001\u0002\u09a5\u0001\u0003\u09a9\u09aa\u0001\u0001\u0002\u09ad\u0001\u0007\u09b5\u09b6\u09b7\u09b8\u09b9\u09ba\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u09c0\u09c1\u09c2\u09c3\u0001\u0001\u0001\u0001\u0002\u09c6\u0001\u0005\u09cc\u09cd\u09ce\u09cf\u0001\u0001\u0001\u0001\u0002\u09d2\u0001\u0042\u0a15\u0a22\u0a23\u0a24" +
"\u0a25\u0a26\u0a27\u0a28\u0a29\u0a2a\u0a2b\u0a2c\u0a2d\u0a2e\u0a2f\u0a30\u0a31\u0a32\u0a33\u0a34\u0a35\u0a36\u0a37\u0a38\u0a39\u0a3a\u0a3b\u0a3c\u0a3d\u0a3e\u0a3f\u0a40\u0a65\u0a66\u0a67\u0a68\u0a69\u0a6a\u0a6b\u0a6c\u0a6d\u0a6e\u0a6f\u0a70\u0a71\u0a72\u0a73\u0a74\u0a75\u0a76\u0a77\u0a78\u0a79\u0a7a\u0a7b\u0a7c\u0a7d\u0a7e\u0a7f\u0a80\u0a81\u0a82\u0a83\u0a84\u0a85\u0007\u0a1c\u0a1d\u0a1e\u0a1f\u0a20\u0a21\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0013\u0a53\u0a54\u0a55\u0a56\u0a57\u0a58\u0a59\u0a5a\u0a5b\u0a5c\u0a5d\u0a5e\u0a5f\u0a60\u0a61\u0a62\u0a63\u0a64\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0046\u0acc\u0acd\u0ad6\u0ae3\u0ae4\u0ae5\u0ae6\u0ae7\u0ae8\u0af1\u0af2\u0af3\u0af4\u0af5\u0af6\u0af7\u0af8\u0af9\u0afa\u0afb\u0b00\u0b01\u0b02\u0b03\u0b04\u0b05\u0b06\u0b07\u0b08\u0b09\u0b0a\u0b0b\u0b0c\u0b0d\u0b0e\u0b0f\u0b10\u0b11\u0b12\u0b13\u0b18" +
"\u0b19\u0b1a\u0b1b\u0b1c\u0b1d\u0b1e\u0b1f\u0b20\u0b21\u0b22\u0b23\u0b24\u0b25\u0b26\u0b27\u0b28\u0b29\u0b2a\u0b2b\u0b2c\u0b2d\u0b2e\u0b2f\u0b30\u0b31\u0b32\u0b33\u0b34\u0001\u0005\u0ad2\u0ad3\u0ad4\u0ad5\u0001\u0001\u0001\u0001\u0007\u0add\u0ade\u0adf\u0ae0\u0ae1\u0ae2\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0aed\u0aee\u0aef\u0af0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0003\u0afe\u0aff\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0b16\u0b17\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u001f\u0b54\u0b59\u0b62\u0b63\u0b64\u0b65\u0b66\u0b67\u0b68\u0b69" +
"\u0b6a\u0b77\u0b80\u0b81\u0b86\u0b87\u0b88\u0b89\u0b8a\u0b8b\u0b8c\u0b8d\u0b96\u0b97\u0b98\u0b99\u0b9a\u0b9b\u0b9c\u0b9d\u0003\u0b57\u0b58\u0001\u0001\u0005\u0b5e\u0b5f\u0b60\u0b61\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u0b71\u0b72\u0b73\u0b74\u0b75\u0b76\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0b7c\u0b7d\u0b7e\u0b7f\u0001\u0001\u0001\u0001\u0001\u0003\u0b84\u0b85\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0005\u0b92\u0b93\u0b94\u0b95\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0011\u0baf\u0bb0\u0bb1\u0bb2\u0bb3\u0bb4\u0bb5\u0bb6\u0bb7\u0bb8\u0bb9\u0bba\u0bbb\u0bbc\u0bbd\u0bbe\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0011\u0bd0\u0bd5\u0bda\u0bdb\u0bdc\u0bdd\u0bde\u0bdf\u0be0\u0be1\u0be2\u0be3\u0be4\u0be5\u0be6\u0be7" +
"\u0003\u0bd3\u0bd4\u0001\u0001\u0003\u0bd8\u0bd9\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0bea\u0beb\u0001\u0001\u002c\u0c18\u0c1d\u0c1e\u0c1f\u0c20\u0c21\u0c22\u0c23\u0c24\u0c25\u0c26\u0c27\u0c28\u0c29\u0c2a\u0c2b\u0c2c\u0c2d\u0c2e\u0c2f\u0c30\u0c31\u0c32\u0c33\u0c34\u0c35\u0c36\u0c37\u0c38\u0c39\u0c3a\u0c3b\u0c3c\u0c3d\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c44\u0c45\u0c46" +
"\u0003\u0c1b\u0c1c\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0008\u0c4f\u0c50\u0c51\u0c52\u0c53\u0c54\u0c55\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0010\u0c66\u0c67\u0c68\u0c69\u0c6a\u0c6b\u0c6c\u0c6d\u0c6e" +
"\u0c6f\u0c70\u0c71\u0c72\u0c73\u0c74\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u0c7c\u0c7d\u0c7e\u0c7f\u0c80\u0c81\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u0c89\u0c8a\u0c8b\u0c8c\u0c8d\u0c8e\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0c91\u0001\u000f\u0ca1\u0ca2\u0ca3\u0ca4\u0ca5\u0ca6\u0ca7\u0ca8\u0ca9\u0caa\u0cab\u0cac\u0cad\u0cae\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0cb2\u0cb3\u0001\u0001\u0008\u0cbc\u0cbd\u0cbe\u0cbf\u0cc0\u0cc1\u0cc2\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0cc7\u0cc8\u0cc9\u0001\u0001\u0001\u0006\u0cd0\u0cd1\u0cd2\u0cd3\u0cd4\u0001\u0001\u0001\u0001\u0001\u001a\u0cef\u0cf0\u0cf1\u0cf2\u0cf3\u0cf4\u0cf5\u0cf6\u0cf7\u0cf8\u0cf9\u0cfa\u0cfb\u0cfc\u0cfd\u0cfe\u0cff\u0d00\u0d01\u0d02\u0d03\u0d04\u0d05\u0d06\u0d07\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0d0c\u0d0d\u0d0e\u0001\u0001\u0001\u0005\u0d14\u0d15\u0d16\u0d17\u0001\u0001\u0001\u0001\u000b\u0d23\u0d24\u0d25\u0d26\u0d27\u0d28\u0d29\u0d2a\u0d2b\u0d2c\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0009\u0d36\u0d37\u0d38\u0d39\u0d3a\u0d3b\u0d3c\u0d3d\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u001b\u0d59\u0d5a\u0d5b\u0d5c\u0d5d\u0d5e\u0d5f\u0d60\u0d61\u0d62\u0d63\u0d64\u0d65\u0d66\u0d67\u0d68\u0d69\u0d6a\u0d6b\u0d6c\u0d6d\u0d6e\u0d6f\u0d70\u0d71\u0d72\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0023\u0d96\u0d97\u0d98\u0d99\u0d9a\u0d9b\u0d9c\u0d9d\u0d9e\u0d9f\u0da0\u0da1" +
"\u0da2\u0da3\u0da4\u0da5\u0da6\u0da7\u0da8\u0da9\u0daa\u0dab\u0dac\u0dad\u0dae\u0daf\u0db0\u0db1\u0db2\u0db3\u0db4\u0db5\u0db6\u0db7\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0dba\u0001\u0003\u0dbe\u0dbf\u0001\u0001\u0007\u0dc7\u0dc8\u0dc9\u0dca\u0dcb\u0dcc\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0004\u0dd1\u0dd2\u0dd3\u0001\u0001\u0001\u0002\u0dd6\u0001\u0012\u0de9\u0dea\u0deb\u0dec\u0ded\u0dee\u0def\u0df0\u0df1\u0df2\u0df3\u0df4\u0df5\u0df6\u0df7\u0df8\u0df9\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0021\u0e1b\u0e24\u0e25\u0e26\u0e27\u0e28\u0e29\u0e2a\u0e2b\u0e2c\u0e2d\u0e3a\u0e3b\u0e40\u0e41\u0e42\u0e43\u0e44\u0e45\u0e46\u0e47" +
"\u0e48\u0e49\u0e4a\u0e4b\u0e4c\u0e4d\u0e4e\u0e4f\u0e50\u0e51\u0e52\u0005\u0e20\u0e21\u0e22\u0e23\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u0e34\u0e35\u0e36\u0e37\u0e38\u0e39\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0e3e\u0e3f\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0017\u0e6a\u0e6b\u0e6c\u0e6d" +
"\u0e6e\u0e6f\u0e70\u0e71\u0e72\u0e73\u0e74\u0e75\u0e76\u0e77\u0e78\u0e79\u0e7a\u0e7b\u0e7c\u0e7d\u0e7e\u0e7f\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0025\u0ea5\u0eae\u0ebb\u0ec4\u0ec9\u0eca\u0ecb\u0ecc\u0ecd\u0ece\u0ecf\u0ed0\u0ed1\u0ed2\u0ed3\u0ed4\u0ed5\u0ed6\u0ed7\u0edc\u0edd\u0ede\u0edf\u0ee0\u0ee1\u0ee2\u0ee3\u0ee4\u0ee5\u0ee6\u0ee7" +
"\u0ee8\u0ee9\u0eea\u0eeb\u0eec\u0005\u0eaa\u0eab\u0eac\u0ead\u0001\u0001\u0001\u0001\u0007\u0eb5\u0eb6\u0eb7\u0eb8\u0eb9\u0eba\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0ec0\u0ec1\u0ec2\u0ec3\u0001\u0001\u0001\u0001\u0003\u0ec7\u0ec8\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0eda\u0edb\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0040\u0f2d\u0f36\u0f3f\u0f44\u0f49\u0f4a\u0f4b\u0f4c\u0f4d\u0f4e\u0f4f\u0f50\u0f51\u0f52\u0f53\u0f54\u0f55\u0f56\u0f57\u0f58\u0f59\u0f5a\u0f67\u0f70\u0f71\u0f76\u0f77\u0f78\u0f79\u0f7a\u0f7b\u0f7c\u0f7d\u0f7e\u0f7f\u0f80\u0f81\u0f82\u0f83\u0f84\u0f85\u0f86\u0f8f\u0f98\u0f9d\u0f9e\u0f9f\u0fa0\u0fa1\u0fa2\u0fa3\u0fa4\u0fa5\u0fa6\u0fa7\u0fa8\u0fa9\u0faa\u0fab\u0fac\u0fad\u0fae\u0faf\u0005\u0f32\u0f33" +
"\u0f34\u0f35\u0001\u0001\u0001\u0001\u0005\u0f3b\u0f3c\u0f3d\u0f3e\u0001\u0001\u0001\u0001\u0003\u0f42\u0f43\u0001\u0001\u0003\u0f47\u0f48\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u0f61\u0f62\u0f63\u0f64\u0f65\u0f66\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0f6c\u0f6d\u0f6e\u0f6f\u0001\u0001\u0001\u0001\u0001\u0003\u0f74\u0f75\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0f8b\u0f8c\u0f8d\u0f8e\u0001\u0001\u0001\u0001\u0005\u0f94\u0f95\u0f96\u0f97\u0001\u0001\u0001\u0001\u0003\u0f9b\u0f9c\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0017\u0fc7\u0fc8\u0fc9\u0fca\u0fcb\u0fcc\u0fcd\u0fce\u0fcf\u0fd0\u0fd1\u0fd2\u0fd3\u0fd4\u0fd5" +
"\u0fd6\u0fd7\u0fd8\u0fd9\u0fda\u0fdb\u0fdc\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0fdf\u0001\u0003\u0fe3\u0fe4\u0001\u0001\u0002\u0fe7\u0001\u0002\u0fea\u0001\u0002\u0fed\u0001\u0004\u0ff2\u0ff3\u0ff4\u0001\u0001\u0001\u000c\u1001\u1002\u1003\u1004\u1005\u1006\u1007\u1008\u1009\u100a\u100b\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0004\u1010\u1011\u1012\u0001\u0001\u0001\u0003\u1016\u1017\u0001\u0001\u0007\u101f\u1020\u1021\u1022\u1023\u1024\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u1028\u1029\u0001\u0001\u0004\u102e\u102f\u1030\u0001\u0001\u0001\u0003\u1034\u1035\u0001\u0001\u0002\u1038\u0001\u0002\u103b\u0001\u0002\u103e\u0001\u0002\u1041\u0001\u0004\u1046\u1047\u1048\u0001\u0001\u0001\u0002\u104b\u0001\u0003\u104f\u1050\u0001" +
"\u0001\u0002\u1053\u0001\u0004\u1058\u1059\u105a\u0001\u0001\u0001\u0002\u105d\u0001\u0004\u1062\u1063\u1064\u0001\u0001\u0001\u0002\u1067\u0001\u0002\u106a\u0001\u0002\u106d\u0001\u0002\u1070\u0001\u0002\u1073\u0001\u0002\u1076\u0001\u0002\u1079\u0001\u0002\u107c\u0001\u0002\u107f\u0001\u0006\u1086\u1087\u1088\u1089\u108a\u0001\u0001\u0001\u0001\u0001\u0002\u108d\u0001\u0002\u1090\u0001\u0005\u1096\u1097\u1098\u1099\u0001\u0001" +
"\u0001\u0001\u0003\u109d\u109e\u0001\u0001\u0005\u10a4\u10a5\u10a6\u10a7\u0001\u0001\u0001\u0001\u0003\u10ab\u10ac\u0001\u0001\u0011\u10be\u10bf\u10c0\u10c1\u10c2\u10c3\u10c4\u10c5\u10c6\u10c7\u10c8\u10c9\u10ca\u10cb\u10cc\u10cd\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u10d0\u0001\u0011\u10e2\u10e3\u10e4\u10e5\u10e6\u10e7\u10e8\u10e9\u10ea\u10eb\u10ec\u10ed\u10ee\u10ef" +
"\u10f0\u10f1\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u10f4\u0001\u000c\u1101\u1102\u1103\u1104\u1105\u1106\u1107\u1108\u1109\u110a\u110b\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u110f\u1110\u0001\u0001\u0003\u1114\u1115\u0001\u0001\u0003\u1119\u111a\u0001\u0001\u0002\u111d\u0001\u0006\u1124\u1125\u1126\u1127\u1128\u0001\u0001\u0001\u0001" +
"\u0001\u0002\u112b\u0001\u0002\u112e\u0001\u0002\u1131\u0001\u0002\u1134\u0001\u0002\u1137\u0001\u0004\u113c\u113d\u113e\u0001\u0001\u0001\u0004\u1143\u1144\u1145\u0001\u0001\u0001\u0005\u114b\u114c\u114d\u114e\u0001\u0001\u0001\u0001\u0004\u1153\u1154\u1155\u0001\u0001\u0001\u0009\u115f\u1160\u1161\u1162\u1163\u1164\u1165\u1166\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u1169\u0001\u0006\u1170\u1171\u1172\u1173\u1174" +
"\u0001\u0001\u0001\u0001\u0001\u0009\u117e\u117f\u1180\u1181\u1182\u1183\u1184\u1185\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u1189\u118a\u0001\u0001\u0008\u1193\u1194\u1195\u1196\u1197\u1198\u1199\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u119e\u119f\u11a0\u0001\u0001\u0001\u0002\u11a3\u0001\u0007\u11ab\u11ac\u11ad\u11ae\u11af\u11b0\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u11b6\u11b7\u11b8\u11b9\u0001\u0001" +
"\u0001\u0001\u0005\u11bf\u11c0\u11c1\u11c2\u0001\u0001\u0001\u0001\u0002\u11c5\u0001\u0008\u11ce\u11cf\u11d0\u11d1\u11d2\u11d3\u11d4\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u11d8\u11d9\u0001\u0001\u0015\u11ef\u11f0\u11f1\u11f2\u11f3\u11f4\u11f5\u11f6\u11f7\u11f8\u11f9\u11fa\u11fb\u11fc\u11fd\u11fe\u11ff\u1200\u1201\u1202\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0002\u1205\u0001\u0003\u1209\u120a\u0001\u0001\u0004\u120f\u1210\u1211\u0001\u0001\u0001\u0002\u1214\u0001\n\u121f\u1220\u1221\u1222\u1223\u1224\u1225\u1226\u1227\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u122e\u122f\u1230\u1231\u1232\u0001\u0001\u0001\u0001\u0001\u0006\u1239\u123a\u123b\u123c\u123d\u0001\u0001\u0001\u0001\u0001\u0005\u1243\u1244\u1245\u1246\u0001\u0001\u0001\u0001\u0003" +
"\u124a\u124b\u0001\u0001\u0005\u1251\u1252\u1253\u1254\u0001\u0001\u0001\u0001\u0002\u1257\u0001\u0002\u125a\u0001\u0002\u125d\u0001\u0003\u1261\u1262\u0001\u0001\u0003\u1266\u1267\u0001\u0001\u0003\u126b\u126c\u0001\u0001\u0003\u1270\u1271\u0001\u0001\u0003\u1275\u1276\u0001\u0001\u0002\u1279\u0001\u0004\u127e\u127f\u1280\u0001\u0001\u0001\u0005\u1286\u1287\u1288\u1289\u0001\u0001\u0001\u0001\u0002\u128c\u0001\u0002\u128f\u0001" +
"\u0002\u1292\u0001\u0008\u129b\u129c\u129d\u129e\u129f\u12a0\u12a1\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u12a4\u0001\u0002\u12a7\u0001\u0004\u12ac\u12ad\u12ae\u0001\u0001\u0001\u0004\u12b3\u12b4\u12b5\u0001\u0001\u0001\u0002\u12b8\u0001\u0002\u12bb\u0001\u0002\u12be\u0001\u0002\u12c1\u0001\u0002\u12c4\u0001\u0002\u12c7\u0001\u0003\u12cb\u12cc\u0001\u0001\u0002\u12cf\u0001\u0002\u12d2\u0001\u0002\u12d5\u0001\u0002\u12d8" +
"\u0001\u0002\u12db\u0001\u0002\u12de\u0001\u0002\u12e1\u0001\u0002\u12e4\u0001\u0003\u12e8\u12e9\u0001\u0001\u0002\u12ec\u0001\u0002\u12ef\u0001\u0002\u12f2\u0001\u0002\u12f5\u0001\u0002\u12f8\u0001\u0005\u12fe\u12ff\u1300\u1301\u0001\u0001\u0001\u0001\u0004\u1306\u1307\u1308\u0001\u0001\u0001\u0002\u130b\u0001\u0002\u130e\u0001\u0002\u1311\u0001\u0002\u1314\u0001\u0002\u1317\u0001\u0002\u131a\u0001\u0002\u131d\u0001\u0003\u1321" +
"\u1322\u0001\u0001\u0002\u1325\u0001\u0002\u1328\u0001\u0002\u132b\u0001\u0016\u1342\u1343\u1344\u1345\u1346\u1347\u1348\u1349\u134a\u134b\u134c\u134d\u134e\u134f\u1350\u1351\u1352\u1353\u1354\u1355\u1356\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\n\u1361\u1362\u1363\u1364\u1365\u1366\u1367\u1368\u1369\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0002\u136c\u0001").toCharArray();
}