获取文本的编码类型(from logparse)

 1 import java.io.BufferedReader;
 2 import java.io.File;
 3 import java.io.FileInputStream;
 4 import java.io.FileNotFoundException;
 5 import java.io.IOException;
 6 import java.io.InputStreamReader;
 7 
 8 public class EncodingDetect
 9 {
10     public static void main(final String[] args) {
11         final String file = "http://www.aaa.com:1234/sp/ds.do?a=&b=1&c=10000&d=1000&e=1&f=13800431500&g=0&h=&i=&j=1&k=46000";
12         final String encode = getJavaEncode(file);
13         readFile(file, encode);
14     }
15     /**
16      * 获取指定文本文件的编码
17      */
18     public static String getJavaEncode(final String filePath) {
19         final BytesEncodingDetect s = new BytesEncodingDetect();
20         final String fileCode = BytesEncodingDetect.javaname[s.detectEncoding(new File(filePath))];
21         return fileCode;
22     }
23     
24     public static void readFile(final String file, final String code) {
25         try {
26             final String myCode = (code != null && !"".equals(code)) ? code : "UTF8";
27             final InputStreamReader read = new InputStreamReader(new FileInputStream(file), myCode);
28             final BufferedReader fr = new BufferedReader(read);
29             String line = null;
30             for (int flag = 1; (line = fr.readLine()) != null && line.trim().length() > 0; line = line.substring(1), ++flag) {
31                 if (flag == 1) {}
32             }
33             fr.close();
34         }
35         catch (FileNotFoundException e) {
36             e.printStackTrace();
37         }
38         catch (IOException e2) {
39             e2.printStackTrace();
40         }
41     }
42 }
View Code
   1 import java.io.FileInputStream;
   2 import java.io.InputStream;
   3 import java.io.File;
   4 import java.net.URL;
   5 
   6 class BytesEncodingDetect extends Encoding
   7 {
   8     int[][] GBFreq;
   9     int[][] GBKFreq;
  10     int[][] Big5Freq;
  11     int[][] Big5PFreq;
  12     int[][] EUC_TWFreq;
  13     int[][] KRFreq;
  14     int[][] JPFreq;
  15     public boolean debug;
  16     
  17     public BytesEncodingDetect() {
  18         super();
  19         this.debug = false;
  20         this.GBFreq = new int[94][94];
  21         this.GBKFreq = new int[126][191];
  22         this.Big5Freq = new int[94][158];
  23         this.Big5PFreq = new int[126][191];
  24         this.EUC_TWFreq = new int[94][94];
  25         this.KRFreq = new int[94][94];
  26         this.JPFreq = new int[94][94];
  27         this.initialize_frequencies();
  28     }
  29     
  30     public static void main(final String[] argc1) {
  31         int result = BytesEncodingDetect.OTHER;
  32         final BytesEncodingDetect sinodetector = new BytesEncodingDetect();
  33         final String argc2 = "http://192.168.70.33/sp/ds.do?a=&b=1&c=10000&d=1000&e=1001&f=13800210500&g=0&h=&i=&j=1&k=46000";
  34         if (argc2.startsWith("http://")) {
  35             try {
  36                 result = sinodetector.detectEncoding(new URL(argc2));
  37             }
  38             catch (Exception e) {
  39                 System.err.println("Bad URL " + e.toString());
  40             }
  41         }
  42         else if (argc2.equals("-d")) {
  43             sinodetector.debug = true;
  44         }
  45         else {
  46             result = sinodetector.detectEncoding(new File(argc2));
  47         }
  48     }
  49     
  50     public int detectEncoding(final URL testurl) {
  51         final byte[] rawtext = new byte[10000];
  52         int bytesread = 0;
  53         int byteoffset = 0;
  54         int guess = BytesEncodingDetect.OTHER;
  55         try {
  56             InputStream chinesestream;
  57             for (chinesestream = testurl.openStream(); (bytesread = chinesestream.read(rawtext, byteoffset, rawtext.length - byteoffset)) > 0; byteoffset += bytesread) {}
  58             chinesestream.close();
  59             guess = this.detectEncoding(rawtext);
  60         }
  61         catch (Exception e) {
  62             System.err.println("Error loading or using URL " + e.toString());
  63             guess = -1;
  64         }
  65         return guess;
  66     }
  67     
  68     public int detectEncoding(final File testfile) {
  69         final byte[] rawtext = new byte[(int)testfile.length()];
  70         try {
  71             final FileInputStream chinesefile = new FileInputStream(testfile);
  72             chinesefile.read(rawtext);
  73             chinesefile.close();
  74         }
  75         catch (Exception e) {
  76             System.err.println("Error: " + e);
  77         }
  78         return this.detectEncoding(rawtext);
  79     }
  80     
  81     public int detectEncoding(final byte[] rawtext) {
  82         int maxscore = 0;
  83         int encoding_guess = BytesEncodingDetect.OTHER;
  84         final int[] scores = new int[BytesEncodingDetect.TOTALTYPES];
  85         scores[BytesEncodingDetect.GB2312] = this.gb2312_probability(rawtext);
  86         scores[BytesEncodingDetect.GBK] = this.gbk_probability(rawtext);
  87         scores[BytesEncodingDetect.GB18030] = this.gb18030_probability(rawtext);
  88         scores[BytesEncodingDetect.HZ] = this.hz_probability(rawtext);
  89         scores[BytesEncodingDetect.BIG5] = this.big5_probability(rawtext);
  90         scores[BytesEncodingDetect.CNS11643] = this.euc_tw_probability(rawtext);
  91         scores[BytesEncodingDetect.ISO2022CN] = this.iso_2022_cn_probability(rawtext);
  92         scores[BytesEncodingDetect.UTF8] = this.utf8_probability(rawtext);
  93         scores[BytesEncodingDetect.UNICODE] = this.utf16_probability(rawtext);
  94         scores[BytesEncodingDetect.EUC_KR] = this.euc_kr_probability(rawtext);
  95         scores[BytesEncodingDetect.CP949] = this.cp949_probability(rawtext);
  96         scores[BytesEncodingDetect.JOHAB] = 0;
  97         scores[BytesEncodingDetect.ISO2022KR] = this.iso_2022_kr_probability(rawtext);
  98         scores[BytesEncodingDetect.ASCII] = this.ascii_probability(rawtext);
  99         scores[BytesEncodingDetect.SJIS] = this.sjis_probability(rawtext);
 100         scores[BytesEncodingDetect.EUC_JP] = this.euc_jp_probability(rawtext);
 101         scores[BytesEncodingDetect.ISO2022JP] = this.iso_2022_jp_probability(rawtext);
 102         scores[BytesEncodingDetect.UNICODET] = 0;
 103         scores[BytesEncodingDetect.UNICODES] = 0;
 104         scores[BytesEncodingDetect.ISO2022CN_GB] = 0;
 105         scores[BytesEncodingDetect.ISO2022CN_CNS] = 0;
 106         scores[BytesEncodingDetect.OTHER] = 0;
 107         for (int index = 0; index < BytesEncodingDetect.TOTALTYPES; ++index) {
 108             if (this.debug) {
 109                 System.err.println("Encoding " + BytesEncodingDetect.nicename[index] + " score " + scores[index]);
 110             }
 111             if (scores[index] > maxscore) {
 112                 encoding_guess = index;
 113                 maxscore = scores[index];
 114             }
 115         }
 116         if (maxscore <= 50) {
 117             encoding_guess = BytesEncodingDetect.OTHER;
 118         }
 119         return encoding_guess;
 120     }
 121     
 122     int gb2312_probability(final byte[] rawtext) {
 123         int rawtextlen = 0;
 124         int dbchars = 1;
 125         int gbchars = 1;
 126         long gbfreq = 0L;
 127         long totalfreq = 1L;
 128         float rangeval = 0.0f;
 129         float freqval = 0.0f;
 130         rawtextlen = rawtext.length;
 131         for (int i = 0; i < rawtextlen - 1; ++i) {
 132             if (rawtext[i] < 0) {
 133                 ++dbchars;
 134                 if (-95 <= rawtext[i] && rawtext[i] <= -9 && -95 <= rawtext[i + 1] && rawtext[i + 1] <= -2) {
 135                     ++gbchars;
 136                     totalfreq += 500L;
 137                     final int row = rawtext[i] + 256 - 161;
 138                     final int column = rawtext[i + 1] + 256 - 161;
 139                     if (this.GBFreq[row][column] != 0) {
 140                         gbfreq += this.GBFreq[row][column];
 141                     }
 142                     else if (15 <= row && row < 55) {
 143                         gbfreq += 200L;
 144                     }
 145                 }
 146                 ++i;
 147             }
 148         }
 149         rangeval = 50.0f * (gbchars / dbchars);
 150         freqval = 50.0f * (gbfreq / totalfreq);
 151         return (int)(rangeval + freqval);
 152     }
 153     
 154     int gbk_probability(final byte[] rawtext) {
 155         int rawtextlen = 0;
 156         int dbchars = 1;
 157         int gbchars = 1;
 158         long gbfreq = 0L;
 159         long totalfreq = 1L;
 160         float rangeval = 0.0f;
 161         float freqval = 0.0f;
 162         rawtextlen = rawtext.length;
 163         for (int i = 0; i < rawtextlen - 1; ++i) {
 164             if (rawtext[i] < 0) {
 165                 ++dbchars;
 166                 if (-95 <= rawtext[i] && rawtext[i] <= -9 && -95 <= rawtext[i + 1] && rawtext[i + 1] <= -2) {
 167                     ++gbchars;
 168                     totalfreq += 500L;
 169                     final int row = rawtext[i] + 256 - 161;
 170                     final int column = rawtext[i + 1] + 256 - 161;
 171                     if (this.GBFreq[row][column] != 0) {
 172                         gbfreq += this.GBFreq[row][column];
 173                     }
 174                     else if (15 <= row && row < 55) {
 175                         gbfreq += 200L;
 176                     }
 177                 }
 178                 else if (-127 <= rawtext[i] && rawtext[i] <= -2 && ((Byte.MIN_VALUE <= rawtext[i + 1] && rawtext[i + 1] <= -2) || (64 <= rawtext[i + 1] && rawtext[i + 1] <= 126))) {
 179                     ++gbchars;
 180                     totalfreq += 500L;
 181                     final int row = rawtext[i] + 256 - 129;
 182                     int column;
 183                     if (64 <= rawtext[i + 1] && rawtext[i + 1] <= 126) {
 184                         column = rawtext[i + 1] - 64;
 185                     }
 186                     else {
 187                         column = rawtext[i + 1] + 256 - 64;
 188                     }
 189                     if (this.GBKFreq[row][column] != 0) {
 190                         gbfreq += this.GBKFreq[row][column];
 191                     }
 192                 }
 193                 ++i;
 194             }
 195         }
 196         rangeval = 50.0f * (gbchars / dbchars);
 197         freqval = 50.0f * (gbfreq / totalfreq);
 198         return (int)(rangeval + freqval) - 1;
 199     }
 200     
 201     int gb18030_probability(final byte[] rawtext) {
 202         int rawtextlen = 0;
 203         int dbchars = 1;
 204         int gbchars = 1;
 205         long gbfreq = 0L;
 206         long totalfreq = 1L;
 207         float rangeval = 0.0f;
 208         float freqval = 0.0f;
 209         rawtextlen = rawtext.length;
 210         for (int i = 0; i < rawtextlen - 1; ++i) {
 211             if (rawtext[i] < 0) {
 212                 ++dbchars;
 213                 if (-95 <= rawtext[i] && rawtext[i] <= -9 && i + 1 < rawtextlen && -95 <= rawtext[i + 1] && rawtext[i + 1] <= -2) {
 214                     ++gbchars;
 215                     totalfreq += 500L;
 216                     final int row = rawtext[i] + 256 - 161;
 217                     final int column = rawtext[i + 1] + 256 - 161;
 218                     if (this.GBFreq[row][column] != 0) {
 219                         gbfreq += this.GBFreq[row][column];
 220                     }
 221                     else if (15 <= row && row < 55) {
 222                         gbfreq += 200L;
 223                     }
 224                 }
 225                 else if (-127 <= rawtext[i] && rawtext[i] <= -2 && i + 1 < rawtextlen && ((Byte.MIN_VALUE <= rawtext[i + 1] && rawtext[i + 1] <= -2) || (64 <= rawtext[i + 1] && rawtext[i + 1] <= 126))) {
 226                     ++gbchars;
 227                     totalfreq += 500L;
 228                     final int row = rawtext[i] + 256 - 129;
 229                     int column;
 230                     if (64 <= rawtext[i + 1] && rawtext[i + 1] <= 126) {
 231                         column = rawtext[i + 1] - 64;
 232                     }
 233                     else {
 234                         column = rawtext[i + 1] + 256 - 64;
 235                     }
 236                     if (this.GBKFreq[row][column] != 0) {
 237                         gbfreq += this.GBKFreq[row][column];
 238                     }
 239                 }
 240                 else if (-127 <= rawtext[i] && rawtext[i] <= -2 && i + 3 < rawtextlen && 48 <= rawtext[i + 1] && rawtext[i + 1] <= 57 && -127 <= rawtext[i + 2] && rawtext[i + 2] <= -2 && 48 <= rawtext[i + 3] && rawtext[i + 3] <= 57) {
 241                     ++gbchars;
 242                 }
 243                 ++i;
 244             }
 245         }
 246         rangeval = 50.0f * (gbchars / dbchars);
 247         freqval = 50.0f * (gbfreq / totalfreq);
 248         return (int)(rangeval + freqval) - 1;
 249     }
 250     
 251     int hz_probability(final byte[] rawtext) {
 252         int hzchars = 0;
 253         int dbchars = 1;
 254         long hzfreq = 0L;
 255         long totalfreq = 1L;
 256         float rangeval = 0.0f;
 257         float freqval = 0.0f;
 258         int hzstart = 0;
 259         int hzend = 0;
 260         for (int rawtextlen = rawtext.length, i = 0; i < rawtextlen; ++i) {
 261             if (rawtext[i] == 126) {
 262                 if (rawtext[i + 1] == 123) {
 263                     ++hzstart;
 264                     for (i += 2; i < rawtextlen - 1; i += 2) {
 265                         if (rawtext[i] == 10) {
 266                             break;
 267                         }
 268                         if (rawtext[i] == 13) {
 269                             break;
 270                         }
 271                         if (rawtext[i] == 126 && rawtext[i + 1] == 125) {
 272                             ++hzend;
 273                             ++i;
 274                             break;
 275                         }
 276                         if (33 <= rawtext[i] && rawtext[i] <= 119 && 33 <= rawtext[i + 1] && rawtext[i + 1] <= 119) {
 277                             hzchars += 2;
 278                             final int row = rawtext[i] - 33;
 279                             final int column = rawtext[i + 1] - 33;
 280                             totalfreq += 500L;
 281                             if (this.GBFreq[row][column] != 0) {
 282                                 hzfreq += this.GBFreq[row][column];
 283                             }
 284                             else if (15 <= row && row < 55) {
 285                                 hzfreq += 200L;
 286                             }
 287                         }
 288                         else if (161 <= rawtext[i] && rawtext[i] <= 247 && 161 <= rawtext[i + 1] && rawtext[i + 1] <= 247) {
 289                             hzchars += 2;
 290                             final int row = rawtext[i] + 256 - 161;
 291                             final int column = rawtext[i + 1] + 256 - 161;
 292                             totalfreq += 500L;
 293                             if (this.GBFreq[row][column] != 0) {
 294                                 hzfreq += this.GBFreq[row][column];
 295                             }
 296                             else if (15 <= row && row < 55) {
 297                                 hzfreq += 200L;
 298                             }
 299                         }
 300                         dbchars += 2;
 301                     }
 302                 }
 303                 else if (rawtext[i + 1] == 125) {
 304                     ++hzend;
 305                     ++i;
 306                 }
 307                 else if (rawtext[i + 1] == 126) {
 308                     ++i;
 309                 }
 310             }
 311         }
 312         if (hzstart > 4) {
 313             rangeval = 50.0f;
 314         }
 315         else if (hzstart > 1) {
 316             rangeval = 41.0f;
 317         }
 318         else if (hzstart > 0) {
 319             rangeval = 39.0f;
 320         }
 321         else {
 322             rangeval = 0.0f;
 323         }
 324         freqval = 50.0f * (hzfreq / totalfreq);
 325         return (int)(rangeval + freqval);
 326     }
 327     
 328     int big5_probability(final byte[] rawtext) {
 329         int rawtextlen = 0;
 330         int dbchars = 1;
 331         int bfchars = 1;
 332         float rangeval = 0.0f;
 333         float freqval = 0.0f;
 334         long bffreq = 0L;
 335         long totalfreq = 1L;
 336         rawtextlen = rawtext.length;
 337         for (int i = 0; i < rawtextlen - 1; ++i) {
 338             if (rawtext[i] < 0) {
 339                 ++dbchars;
 340                 if (-95 <= rawtext[i] && rawtext[i] <= -7 && ((64 <= rawtext[i + 1] && rawtext[i + 1] <= 126) || (-95 <= rawtext[i + 1] && rawtext[i + 1] <= -2))) {
 341                     ++bfchars;
 342                     totalfreq += 500L;
 343                     final int row = rawtext[i] + 256 - 161;
 344                     int column;
 345                     if (64 <= rawtext[i + 1] && rawtext[i + 1] <= 126) {
 346                         column = rawtext[i + 1] - 64;
 347                     }
 348                     else {
 349                         column = rawtext[i + 1] + 256 - 97;
 350                     }
 351                     if (this.Big5Freq[row][column] != 0) {
 352                         bffreq += this.Big5Freq[row][column];
 353                     }
 354                     else if (3 <= row && row <= 37) {
 355                         bffreq += 200L;
 356                     }
 357                 }
 358                 ++i;
 359             }
 360         }
 361         rangeval = 50.0f * (bfchars / dbchars);
 362         freqval = 50.0f * (bffreq / totalfreq);
 363         return (int)(rangeval + freqval);
 364     }
 365     
 366     int big5plus_probability(final byte[] rawtext) {
 367         int rawtextlen = 0;
 368         int dbchars = 1;
 369         int bfchars = 1;
 370         long bffreq = 0L;
 371         long totalfreq = 1L;
 372         float rangeval = 0.0f;
 373         float freqval = 0.0f;
 374         rawtextlen = rawtext.length;
 375         for (int i = 0; i < rawtextlen - 1; ++i) {
 376             if (rawtext[i] < 128) {
 377                 ++dbchars;
 378                 if (161 <= rawtext[i] && rawtext[i] <= 249 && ((64 <= rawtext[i + 1] && rawtext[i + 1] <= 126) || (161 <= rawtext[i + 1] && rawtext[i + 1] <= 254))) {
 379                     ++bfchars;
 380                     totalfreq += 500L;
 381                     final int row = rawtext[i] - 161;
 382                     int column;
 383                     if (64 <= rawtext[i + 1] && rawtext[i + 1] <= 126) {
 384                         column = rawtext[i + 1] - 64;
 385                     }
 386                     else {
 387                         column = rawtext[i + 1] - 97;
 388                     }
 389                     if (this.Big5Freq[row][column] != 0) {
 390                         bffreq += this.Big5Freq[row][column];
 391                     }
 392                     else if (3 <= row && row < 37) {
 393                         bffreq += 200L;
 394                     }
 395                 }
 396                 else if (129 <= rawtext[i] && rawtext[i] <= 254 && ((64 <= rawtext[i + 1] && rawtext[i + 1] <= 126) || (128 <= rawtext[i + 1] && rawtext[i + 1] <= 254))) {
 397                     ++bfchars;
 398                     totalfreq += 500L;
 399                     final int row = rawtext[i] - 129;
 400                     int column;
 401                     if (64 <= rawtext[i + 1] && rawtext[i + 1] <= 126) {
 402                         column = rawtext[i + 1] - 64;
 403                     }
 404                     else {
 405                         column = rawtext[i + 1] - 64;
 406                     }
 407                     if (this.Big5PFreq[row][column] != 0) {
 408                         bffreq += this.Big5PFreq[row][column];
 409                     }
 410                 }
 411                 ++i;
 412             }
 413         }
 414         rangeval = 50.0f * (bfchars / dbchars);
 415         freqval = 50.0f * (bffreq / totalfreq);
 416         return (int)(rangeval + freqval) - 1;
 417     }
 418     
 419     int euc_tw_probability(final byte[] rawtext) {
 420         int rawtextlen = 0;
 421         int dbchars = 1;
 422         int cnschars = 1;
 423         long cnsfreq = 0L;
 424         long totalfreq = 1L;
 425         float rangeval = 0.0f;
 426         float freqval = 0.0f;
 427         rawtextlen = rawtext.length;
 428         for (int i = 0; i < rawtextlen - 1; ++i) {
 429             if (rawtext[i] < 0) {
 430                 ++dbchars;
 431                 if (i + 3 < rawtextlen && -114 == rawtext[i] && -95 <= rawtext[i + 1] && rawtext[i + 1] <= -80 && -95 <= rawtext[i + 2] && rawtext[i + 2] <= -2 && -95 <= rawtext[i + 3] && rawtext[i + 3] <= -2) {
 432                     ++cnschars;
 433                     i += 3;
 434                 }
 435                 else if (-95 <= rawtext[i] && rawtext[i] <= -2 && -95 <= rawtext[i + 1] && rawtext[i + 1] <= -2) {
 436                     ++cnschars;
 437                     totalfreq += 500L;
 438                     final int row = rawtext[i] + 256 - 161;
 439                     final int column = rawtext[i + 1] + 256 - 161;
 440                     if (this.EUC_TWFreq[row][column] != 0) {
 441                         cnsfreq += this.EUC_TWFreq[row][column];
 442                     }
 443                     else if (35 <= row && row <= 92) {
 444                         cnsfreq += 150L;
 445                     }
 446                     ++i;
 447                 }
 448             }
 449         }
 450         rangeval = 50.0f * (cnschars / dbchars);
 451         freqval = 50.0f * (cnsfreq / totalfreq);
 452         return (int)(rangeval + freqval);
 453     }
 454     
 455     int iso_2022_cn_probability(final byte[] rawtext) {
 456         int rawtextlen = 0;
 457         int dbchars = 1;
 458         int isochars = 1;
 459         long isofreq = 0L;
 460         long totalfreq = 1L;
 461         float rangeval = 0.0f;
 462         float freqval = 0.0f;
 463         rawtextlen = rawtext.length;
 464         for (int i = 0; i < rawtextlen - 1; ++i) {
 465             if (rawtext[i] == 27 && i + 3 < rawtextlen) {
 466                 if (rawtext[i + 1] == 36 && rawtext[i + 2] == 41 && rawtext[i + 3] == 65) {
 467                     for (i += 4; rawtext[i] != 27; ++i) {
 468                         ++dbchars;
 469                         if (33 <= rawtext[i] && rawtext[i] <= 119 && 33 <= rawtext[i + 1] && rawtext[i + 1] <= 119) {
 470                             ++isochars;
 471                             final int row = rawtext[i] - 33;
 472                             final int column = rawtext[i + 1] - 33;
 473                             totalfreq += 500L;
 474                             if (this.GBFreq[row][column] != 0) {
 475                                 isofreq += this.GBFreq[row][column];
 476                             }
 477                             else if (15 <= row && row < 55) {
 478                                 isofreq += 200L;
 479                             }
 480                             ++i;
 481                         }
 482                     }
 483                 }
 484                 else if (i + 3 < rawtextlen && rawtext[i + 1] == 36 && rawtext[i + 2] == 41 && rawtext[i + 3] == 71) {
 485                     for (i += 4; rawtext[i] != 27; ++i) {
 486                         ++dbchars;
 487                         if (33 <= rawtext[i] && rawtext[i] <= 126 && 33 <= rawtext[i + 1] && rawtext[i + 1] <= 126) {
 488                             ++isochars;
 489                             totalfreq += 500L;
 490                             final int row = rawtext[i] - 33;
 491                             final int column = rawtext[i + 1] - 33;
 492                             if (this.EUC_TWFreq[row][column] != 0) {
 493                                 isofreq += this.EUC_TWFreq[row][column];
 494                             }
 495                             else if (35 <= row && row <= 92) {
 496                                 isofreq += 150L;
 497                             }
 498                             ++i;
 499                         }
 500                     }
 501                 }
 502                 if (rawtext[i] == 27 && i + 2 < rawtextlen && rawtext[i + 1] == 40 && rawtext[i + 2] == 66) {
 503                     i += 2;
 504                 }
 505             }
 506         }
 507         rangeval = 50.0f * (isochars / dbchars);
 508         freqval = 50.0f * (isofreq / totalfreq);
 509         return (int)(rangeval + freqval);
 510     }
 511     
 512     int utf8_probability(final byte[] rawtext) {
 513         int score = 0;
 514         int rawtextlen = 0;
 515         int goodbytes = 0;
 516         int asciibytes = 0;
 517         rawtextlen = rawtext.length;
 518         for (int i = 0; i < rawtextlen; ++i) {
 519             if ((rawtext[i] & Byte.MAX_VALUE) == rawtext[i]) {
 520                 ++asciibytes;
 521             }
 522             else if (-64 <= rawtext[i] && rawtext[i] <= -33 && i + 1 < rawtextlen && Byte.MIN_VALUE <= rawtext[i + 1] && rawtext[i + 1] <= -65) {
 523                 goodbytes += 2;
 524                 ++i;
 525             }
 526             else if (-32 <= rawtext[i] && rawtext[i] <= -17 && i + 2 < rawtextlen && Byte.MIN_VALUE <= rawtext[i + 1] && rawtext[i + 1] <= -65 && Byte.MIN_VALUE <= rawtext[i + 2] && rawtext[i + 2] <= -65) {
 527                 goodbytes += 3;
 528                 i += 2;
 529             }
 530         }
 531         if (asciibytes == rawtextlen) {
 532             return 0;
 533         }
 534         score = (int)(100.0f * (goodbytes / (rawtextlen - asciibytes)));
 535         if (score > 98) {
 536             return score;
 537         }
 538         if (score > 95 && goodbytes > 30) {
 539             return score;
 540         }
 541         return 0;
 542     }
 543     
 544     int utf16_probability(final byte[] rawtext) {
 545         if (rawtext.length > 1 && ((-2 == rawtext[0] && -1 == rawtext[1])
 546                 || (-1 == rawtext[0] && -2 == rawtext[1]))) {
 547             return 100;
 548         }
 549         return 0;
 550     }
 551     
 552     int ascii_probability(final byte[] rawtext) {
 553         int score = 75;
 554         for (int rawtextlen = rawtext.length, i = 0; i < rawtextlen; ++i) {
 555             if (rawtext[i] < 0) {
 556                 score -= 5;
 557             }
 558             else if (rawtext[i] == 27) {
 559                 score -= 5;
 560             }
 561             if (score <= 0) {
 562                 return 0;
 563             }
 564         }
 565         return score;
 566     }
 567     
 568     int euc_kr_probability(final byte[] rawtext) {
 569         int rawtextlen = 0;
 570         int dbchars = 1;
 571         int krchars = 1;
 572         long krfreq = 0L;
 573         long totalfreq = 1L;
 574         float rangeval = 0.0f;
 575         float freqval = 0.0f;
 576         rawtextlen = rawtext.length;
 577         for (int i = 0; i < rawtextlen - 1; ++i) {
 578             if (rawtext[i] < 0) {
 579                 ++dbchars;
 580                 if (-95 <= rawtext[i] && rawtext[i] <= -2 && -95 <= rawtext[i + 1] && rawtext[i + 1] <= -2) {
 581                     ++krchars;
 582                     totalfreq += 500L;
 583                     final int row = rawtext[i] + 256 - 161;
 584                     final int column = rawtext[i + 1] + 256 - 161;
 585                     if (this.KRFreq[row][column] != 0) {
 586                         krfreq += this.KRFreq[row][column];
 587                     }
 588                     else if (15 <= row && row < 55) {
 589                         krfreq += 0L;
 590                     }
 591                 }
 592                 ++i;
 593             }
 594         }
 595         rangeval = 50.0f * (krchars / dbchars);
 596         freqval = 50.0f * (krfreq / totalfreq);
 597         return (int)(rangeval + freqval);
 598     }
 599     
 600     int cp949_probability(final byte[] rawtext) {
 601         int rawtextlen = 0;
 602         int dbchars = 1;
 603         int krchars = 1;
 604         long krfreq = 0L;
 605         long totalfreq = 1L;
 606         float rangeval = 0.0f;
 607         float freqval = 0.0f;
 608         rawtextlen = rawtext.length;
 609         for (int i = 0; i < rawtextlen - 1; ++i) {
 610             if (rawtext[i] < 0) {
 611                 ++dbchars;
 612                 if (-127 <= rawtext[i] && rawtext[i] <= -2 && ((65 <= rawtext[i + 1] && rawtext[i + 1] <= 90) || (97 <= rawtext[i + 1] && rawtext[i + 1] <= 122) || (-127 <= rawtext[i + 1] && rawtext[i + 1] <= -2))) {
 613                     ++krchars;
 614                     totalfreq += 500L;
 615                     if (-95 <= rawtext[i] && rawtext[i] <= -2 && -95 <= rawtext[i + 1] && rawtext[i + 1] <= -2) {
 616                         final int row = rawtext[i] + 256 - 161;
 617                         final int column = rawtext[i + 1] + 256 - 161;
 618                         if (this.KRFreq[row][column] != 0) {
 619                             krfreq += this.KRFreq[row][column];
 620                         }
 621                     }
 622                 }
 623                 ++i;
 624             }
 625         }
 626         rangeval = 50.0f * (krchars / dbchars);
 627         freqval = 50.0f * (krfreq / totalfreq);
 628         return (int)(rangeval + freqval);
 629     }
 630     
 631     int iso_2022_kr_probability(final byte[] rawtext) {
 632         for (int i = 0; i < rawtext.length; ++i) {
 633             if (i + 3 < rawtext.length && rawtext[i] == 27 && (char)rawtext[i + 1] == '$' && (char)rawtext[i + 2] == ')' && (char)rawtext[i + 3] == 'C') {
 634                 return 100;
 635             }
 636         }
 637         return 0;
 638     }
 639     
 640     int euc_jp_probability(final byte[] rawtext) {
 641         int rawtextlen = 0;
 642         int dbchars = 1;
 643         int jpchars = 1;
 644         long jpfreq = 0L;
 645         long totalfreq = 1L;
 646         float rangeval = 0.0f;
 647         float freqval = 0.0f;
 648         rawtextlen = rawtext.length;
 649         for (int i = 0; i < rawtextlen - 1; ++i) {
 650             if (rawtext[i] < 0) {
 651                 ++dbchars;
 652                 if (-95 <= rawtext[i] && rawtext[i] <= -2 && -95 <= rawtext[i + 1] && rawtext[i + 1] <= -2) {
 653                     ++jpchars;
 654                     totalfreq += 500L;
 655                     final int row = rawtext[i] + 256 - 161;
 656                     final int column = rawtext[i + 1] + 256 - 161;
 657                     if (this.JPFreq[row][column] != 0) {
 658                         jpfreq += this.JPFreq[row][column];
 659                     }
 660                     else if (15 <= row && row < 55) {
 661                         jpfreq += 0L;
 662                     }
 663                 }
 664                 ++i;
 665             }
 666         }
 667         rangeval = 50.0f * (jpchars / dbchars);
 668         freqval = 50.0f * (jpfreq / totalfreq);
 669         return (int)(rangeval + freqval);
 670     }
 671     
 672     int iso_2022_jp_probability(final byte[] rawtext) {
 673         for (int i = 0; i < rawtext.length; ++i) {
 674             if (i + 2 < rawtext.length && rawtext[i] == 27 && (char)rawtext[i + 1] == '$' && (char)rawtext[i + 2] == 'B') {
 675                 return 100;
 676             }
 677         }
 678         return 0;
 679     }
 680     
 681     int sjis_probability(final byte[] rawtext) {
 682         int rawtextlen = 0;
 683         int dbchars = 1;
 684         int jpchars = 1;
 685         long jpfreq = 0L;
 686         long totalfreq = 1L;
 687         float rangeval = 0.0f;
 688         float freqval = 0.0f;
 689         rawtextlen = rawtext.length;
 690         for (int i = 0; i < rawtextlen - 1; ++i) {
 691             if (rawtext[i] < 0) {
 692                 ++dbchars;
 693                 if (i + 1 < rawtext.length && ((-127 <= rawtext[i] && rawtext[i] <= -97) || (-32 <= rawtext[i] && rawtext[i] <= -17)) && ((64 <= rawtext[i + 1] && rawtext[i + 1] <= 126) || (Byte.MIN_VALUE <= rawtext[i + 1] && rawtext[i + 1] <= -4))) {
 694                     ++jpchars;
 695                     totalfreq += 500L;
 696                     int row = rawtext[i] + 256;
 697                     int column = rawtext[i + 1] + 256;
 698                     int adjust;
 699                     if (column < 159) {
 700                         adjust = 1;
 701                         if (column > 127) {
 702                             column -= 32;
 703                         }
 704                         else {
 705                             column -= 25;
 706                         }
 707                     }
 708                     else {
 709                         adjust = 0;
 710                         column -= 126;
 711                     }
 712                     if (row < 160) {
 713                         row = (row - 112 << 1) - adjust;
 714                     }
 715                     else {
 716                         row = (row - 176 << 1) - adjust;
 717                     }
 718                     row -= 32;
 719                     column = 32;
 720                     if (row < this.JPFreq.length && column < this.JPFreq[row].length && this.JPFreq[row][column] != 0) {
 721                         jpfreq += this.JPFreq[row][column];
 722                     }
 723                     ++i;
 724                 }
 725                 else if (-95 <= rawtext[i]) {
 726                     final byte b = rawtext[i];
 727                 }
 728             }
 729         }
 730         rangeval = 50.0f * (jpchars / dbchars);
 731         freqval = 50.0f * (jpfreq / totalfreq);
 732         return (int)(rangeval + freqval) - 1;
 733     }
 734     
 735     void initialize_frequencies() {
 736         for (int i = 0; i < 94; ++i) {
 737             for (int j = 0; j < 94; ++j) {
 738                 this.GBFreq[i][j] = 0;
 739             }
 740         }
 741         for (int i = 0; i < 126; ++i) {
 742             for (int j = 0; j < 191; ++j) {
 743                 this.GBKFreq[i][j] = 0;
 744             }
 745         }
 746         for (int i = 0; i < 94; ++i) {
 747             for (int j = 0; j < 158; ++j) {
 748                 this.Big5Freq[i][j] = 0;
 749             }
 750         }
 751         for (int i = 0; i < 126; ++i) {
 752             for (int j = 0; j < 191; ++j) {
 753                 this.Big5PFreq[i][j] = 0;
 754             }
 755         }
 756         for (int i = 0; i < 94; ++i) {
 757             for (int j = 0; j < 94; ++j) {
 758                 this.EUC_TWFreq[i][j] = 0;
 759             }
 760         }
 761         for (int i = 0; i < 94; ++i) {
 762             for (int j = 0; j < 94; ++j) {
 763                 this.JPFreq[i][j] = 0;
 764             }
 765         }
 766         this.GBFreq[20][35] = 599;
 767         this.GBFreq[49][26] = 598;
 768         this.GBFreq[41][38] = 597;
 769         this.GBFreq[17][26] = 596;
 770         this.GBFreq[32][42] = 595;
 771         this.GBFreq[39][42] = 594;
 772         this.GBFreq[45][49] = 593;
 773         this.GBFreq[51][57] = 592;
 774         this.GBFreq[50][47] = 591;
 775         this.GBFreq[42][90] = 590;
 776         this.GBFreq[52][65] = 589;
 777         this.GBFreq[53][47] = 588;
 778         this.GBFreq[19][82] = 587;
 779         this.GBFreq[31][19] = 586;
 780         this.GBFreq[40][46] = 585;
 781         this.GBFreq[24][89] = 584;
 782         this.GBFreq[23][85] = 583;
 783         this.GBFreq[20][28] = 582;
 784         this.GBFreq[42][20] = 581;
 785         this.GBFreq[34][38] = 580;
 786         this.GBFreq[45][9] = 579;
 787         this.GBFreq[54][50] = 578;
 788         this.GBFreq[25][44] = 577;
 789         this.GBFreq[35][66] = 576;
 790         this.GBFreq[20][55] = 575;
 791         this.GBFreq[18][85] = 574;
 792         this.GBFreq[20][31] = 573;
 793         this.GBFreq[49][17] = 572;
 794         this.GBFreq[41][16] = 571;
 795         this.GBFreq[35][73] = 570;
 796         this.GBFreq[20][34] = 569;
 797         this.GBFreq[29][44] = 568;
 798         this.GBFreq[35][38] = 567;
 799         this.GBFreq[49][9] = 566;
 800         this.GBFreq[46][33] = 565;
 801         this.GBFreq[49][51] = 564;
 802         this.GBFreq[40][89] = 563;
 803         this.GBFreq[26][64] = 562;
 804         this.GBFreq[54][51] = 561;
 805         this.GBFreq[54][36] = 560;
 806         this.GBFreq[39][4] = 559;
 807         this.GBFreq[53][13] = 558;
 808         this.GBFreq[24][92] = 557;
 809         this.GBFreq[27][49] = 556;
 810         this.GBFreq[48][6] = 555;
 811         this.GBFreq[21][51] = 554;
 812         this.GBFreq[30][40] = 553;
 813         this.GBFreq[42][92] = 552;
 814         this.GBFreq[31][78] = 551;
 815         this.GBFreq[25][82] = 550;
 816         this.GBFreq[47][0] = 549;
 817         this.GBFreq[34][19] = 548;
 818         this.GBFreq[47][35] = 547;
 819         this.GBFreq[21][63] = 546;
 820         this.GBFreq[43][75] = 545;
 821         this.GBFreq[21][87] = 544;
 822         this.GBFreq[35][59] = 543;
 823         this.GBFreq[25][34] = 542;
 824         this.GBFreq[21][27] = 541;
 825         this.GBFreq[39][26] = 540;
 826         this.GBFreq[34][26] = 539;
 827         this.GBFreq[39][52] = 538;
 828         this.GBFreq[50][57] = 537;
 829         this.GBFreq[37][79] = 536;
 830         this.GBFreq[26][24] = 535;
 831         this.GBFreq[22][1] = 534;
 832         this.GBFreq[18][40] = 533;
 833         this.GBFreq[41][33] = 532;
 834         this.GBFreq[53][26] = 531;
 835         this.GBFreq[54][86] = 530;
 836         this.GBFreq[20][16] = 529;
 837         this.GBFreq[46][74] = 528;
 838         this.GBFreq[30][19] = 527;
 839         this.GBFreq[45][35] = 526;
 840         this.GBFreq[45][61] = 525;
 841         this.GBFreq[30][9] = 524;
 842         this.GBFreq[41][53] = 523;
 843         this.GBFreq[41][13] = 522;
 844         this.GBFreq[50][34] = 521;
 845         this.GBFreq[53][86] = 520;
 846         this.GBFreq[47][47] = 519;
 847         this.GBFreq[22][28] = 518;
 848         this.GBFreq[50][53] = 517;
 849         this.GBFreq[39][70] = 516;
 850         this.GBFreq[38][15] = 515;
 851         this.GBFreq[42][88] = 514;
 852         this.GBFreq[16][29] = 513;
 853         this.GBFreq[27][90] = 512;
 854         this.GBFreq[29][12] = 511;
 855         this.GBFreq[44][22] = 510;
 856         this.GBFreq[34][69] = 509;
 857         this.GBFreq[24][10] = 508;
 858         this.GBFreq[44][11] = 507;
 859         this.GBFreq[39][92] = 506;
 860         this.GBFreq[49][48] = 505;
 861         this.GBFreq[31][46] = 504;
 862         this.GBFreq[19][50] = 503;
 863         this.GBFreq[21][14] = 502;
 864         this.GBFreq[32][28] = 501;
 865         this.GBFreq[18][3] = 500;
 866         this.GBFreq[53][9] = 499;
 867         this.GBFreq[34][80] = 498;
 868         this.GBFreq[48][88] = 497;
 869         this.GBFreq[46][53] = 496;
 870         this.GBFreq[22][53] = 495;
 871         this.GBFreq[28][10] = 494;
 872         this.GBFreq[44][65] = 493;
 873         this.GBFreq[20][10] = 492;
 874         this.GBFreq[40][76] = 491;
 875         this.GBFreq[47][8] = 490;
 876         this.GBFreq[50][74] = 489;
 877         this.GBFreq[23][62] = 488;
 878         this.GBFreq[49][65] = 487;
 879         this.GBFreq[28][87] = 486;
 880         this.GBFreq[15][48] = 485;
 881         this.GBFreq[22][7] = 484;
 882         this.GBFreq[19][42] = 483;
 883         this.GBFreq[41][20] = 482;
 884         this.GBFreq[26][55] = 481;
 885         this.GBFreq[21][93] = 480;
 886         this.GBFreq[31][76] = 479;
 887         this.GBFreq[34][31] = 478;
 888         this.GBFreq[20][66] = 477;
 889         this.GBFreq[51][33] = 476;
 890         this.GBFreq[34][86] = 475;
 891         this.GBFreq[37][67] = 474;
 892         this.GBFreq[53][53] = 473;
 893         this.GBFreq[40][88] = 472;
 894         this.GBFreq[39][10] = 471;
 895         this.GBFreq[24][3] = 470;
 896         this.GBFreq[27][25] = 469;
 897         this.GBFreq[26][15] = 468;
 898         this.GBFreq[21][88] = 467;
 899         this.GBFreq[52][62] = 466;
 900         this.GBFreq[46][81] = 465;
 901         this.GBFreq[38][72] = 464;
 902         this.GBFreq[17][30] = 463;
 903         this.GBFreq[52][92] = 462;
 904         this.GBFreq[34][90] = 461;
 905         this.GBFreq[21][7] = 460;
 906         this.GBFreq[36][13] = 459;
 907         this.GBFreq[45][41] = 458;
 908         this.GBFreq[32][5] = 457;
 909         this.GBFreq[26][89] = 456;
 910         this.GBFreq[23][87] = 455;
 911         this.GBFreq[20][39] = 454;
 912         this.GBFreq[27][23] = 453;
 913         this.GBFreq[25][59] = 452;
 914         this.GBFreq[49][20] = 451;
 915         this.GBFreq[54][77] = 450;
 916         this.GBFreq[27][67] = 449;
 917         this.GBFreq[47][33] = 448;
 918         this.GBFreq[41][17] = 447;
 919         this.GBFreq[19][81] = 446;
 920         this.GBFreq[16][66] = 445;
 921         this.GBFreq[45][26] = 444;
 922         this.GBFreq[49][81] = 443;
 923         this.GBFreq[53][55] = 442;
 924         this.GBFreq[16][26] = 441;
 925         this.GBFreq[54][62] = 440;
 926         this.GBFreq[20][70] = 439;
 927         this.GBFreq[42][35] = 438;
 928         this.GBFreq[20][57] = 437;
 929         this.GBFreq[34][36] = 436;
 930         this.GBFreq[46][63] = 435;
 931         this.GBFreq[19][45] = 434;
 932         this.GBFreq[21][10] = 433;
 933         this.GBFreq[52][93] = 432;
 934         this.GBFreq[25][2] = 431;
 935         this.GBFreq[30][57] = 430;
 936         this.GBFreq[41][24] = 429;
 937         this.GBFreq[28][43] = 428;
 938         this.GBFreq[45][86] = 427;
 939         this.GBFreq[51][56] = 426;
 940         this.GBFreq[37][28] = 425;
 941         this.GBFreq[52][69] = 424;
 942         this.GBFreq[43][92] = 423;
 943         this.GBFreq[41][31] = 422;
 944         this.GBFreq[37][87] = 421;
 945         this.GBFreq[47][36] = 420;
 946         this.GBFreq[16][16] = 419;
 947         this.GBFreq[40][56] = 418;
 948         this.GBFreq[24][55] = 417;
 949         this.GBFreq[17][1] = 416;
 950         this.GBFreq[35][57] = 415;
 951         this.GBFreq[27][50] = 414;
 952         this.GBFreq[26][14] = 413;
 953         this.GBFreq[50][40] = 412;
 954         this.GBFreq[39][19] = 411;
 955         this.GBFreq[19][89] = 410;
 956         this.GBFreq[29][91] = 409;
 957         this.GBFreq[17][89] = 408;
 958         this.GBFreq[39][74] = 407;
 959         this.GBFreq[46][39] = 406;
 960         this.GBFreq[40][28] = 405;
 961         this.GBFreq[45][68] = 404;
 962         this.GBFreq[43][10] = 403;
 963         this.GBFreq[42][13] = 402;
 964         this.GBFreq[44][81] = 401;
 965         this.GBFreq[41][47] = 400;
 966         this.GBFreq[48][58] = 399;
 967         this.GBFreq[43][68] = 398;
 968         this.GBFreq[16][79] = 397;
 969         this.GBFreq[19][5] = 396;
 970         this.GBFreq[54][59] = 395;
 971         this.GBFreq[17][36] = 394;
 972         this.GBFreq[18][0] = 393;
 973         this.GBFreq[41][5] = 392;
 974         this.GBFreq[41][72] = 391;
 975         this.GBFreq[16][39] = 390;
 976         this.GBFreq[54][0] = 389;
 977         this.GBFreq[51][16] = 388;
 978         this.GBFreq[29][36] = 387;
 979         this.GBFreq[47][5] = 386;
 980         this.GBFreq[47][51] = 385;
 981         this.GBFreq[44][7] = 384;
 982         this.GBFreq[35][30] = 383;
 983         this.GBFreq[26][9] = 382;
 984         this.GBFreq[16][7] = 381;
 985         this.GBFreq[32][1] = 380;
 986         this.GBFreq[33][76] = 379;
 987         this.GBFreq[34][91] = 378;
 988         this.GBFreq[52][36] = 377;
 989         this.GBFreq[26][77] = 376;
 990         this.GBFreq[35][48] = 375;
 991         this.GBFreq[40][80] = 374;
 992         this.GBFreq[41][92] = 373;
 993         this.GBFreq[27][93] = 372;
 994         this.GBFreq[15][17] = 371;
 995         this.GBFreq[16][76] = 370;
 996         this.GBFreq[51][12] = 369;
 997         this.GBFreq[18][20] = 368;
 998         this.GBFreq[15][54] = 367;
 999         this.GBFreq[50][5] = 366;
1000         this.GBFreq[33][22] = 365;
1001         this.GBFreq[37][57] = 364;
1002         this.GBFreq[28][47] = 363;
1003         this.GBFreq[42][31] = 362;
1004         this.GBFreq[18][2] = 361;
1005         this.GBFreq[43][64] = 360;
1006         this.GBFreq[23][47] = 359;
1007         this.GBFreq[28][79] = 358;
1008         this.GBFreq[25][45] = 357;
1009         this.GBFreq[23][91] = 356;
1010         this.GBFreq[22][19] = 355;
1011         this.GBFreq[25][46] = 354;
1012         this.GBFreq[22][36] = 353;
1013         this.GBFreq[54][85] = 352;
1014         this.GBFreq[46][20] = 351;
1015         this.GBFreq[27][37] = 350;
1016         this.GBFreq[26][81] = 349;
1017         this.GBFreq[42][29] = 348;
1018         this.GBFreq[31][90] = 347;
1019         this.GBFreq[41][59] = 346;
1020         this.GBFreq[24][65] = 345;
1021         this.GBFreq[44][84] = 344;
1022         this.GBFreq[24][90] = 343;
1023         this.GBFreq[38][54] = 342;
1024         this.GBFreq[28][70] = 341;
1025         this.GBFreq[27][15] = 340;
1026         this.GBFreq[28][80] = 339;
1027         this.GBFreq[29][8] = 338;
1028         this.GBFreq[45][80] = 337;
1029         this.GBFreq[53][37] = 336;
1030         this.GBFreq[28][65] = 335;
1031         this.GBFreq[23][86] = 334;
1032         this.GBFreq[39][45] = 333;
1033         this.GBFreq[53][32] = 332;
1034         this.GBFreq[38][68] = 331;
1035         this.GBFreq[45][78] = 330;
1036         this.GBFreq[43][7] = 329;
1037         this.GBFreq[46][82] = 328;
1038         this.GBFreq[27][38] = 327;
1039         this.GBFreq[16][62] = 326;
1040         this.GBFreq[24][17] = 325;
1041         this.GBFreq[22][70] = 324;
1042         this.GBFreq[52][28] = 323;
1043         this.GBFreq[23][40] = 322;
1044         this.GBFreq[28][50] = 321;
1045         this.GBFreq[42][91] = 320;
1046         this.GBFreq[47][76] = 319;
1047         this.GBFreq[15][42] = 318;
1048         this.GBFreq[43][55] = 317;
1049         this.GBFreq[29][84] = 316;
1050         this.GBFreq[44][90] = 315;
1051         this.GBFreq[53][16] = 314;
1052         this.GBFreq[22][93] = 313;
1053         this.GBFreq[34][10] = 312;
1054         this.GBFreq[32][53] = 311;
1055         this.GBFreq[43][65] = 310;
1056         this.GBFreq[28][7] = 309;
1057         this.GBFreq[35][46] = 308;
1058         this.GBFreq[21][39] = 307;
1059         this.GBFreq[44][18] = 306;
1060         this.GBFreq[40][10] = 305;
1061         this.GBFreq[54][53] = 304;
1062         this.GBFreq[38][74] = 303;
1063         this.GBFreq[28][26] = 302;
1064         this.GBFreq[15][13] = 301;
1065         this.GBFreq[39][34] = 300;
1066         this.GBFreq[39][46] = 299;
1067         this.GBFreq[42][66] = 298;
1068         this.GBFreq[33][58] = 297;
1069         this.GBFreq[15][56] = 296;
1070         this.GBFreq[18][51] = 295;
1071         this.GBFreq[49][68] = 294;
1072         this.GBFreq[30][37] = 293;
1073         this.GBFreq[51][84] = 292;
1074         this.GBFreq[51][9] = 291;
1075         this.GBFreq[40][70] = 290;
1076         this.GBFreq[41][84] = 289;
1077         this.GBFreq[28][64] = 288;
1078         this.GBFreq[32][88] = 287;
1079         this.GBFreq[24][5] = 286;
1080         this.GBFreq[53][23] = 285;
1081         this.GBFreq[42][27] = 284;
1082         this.GBFreq[22][38] = 283;
1083         this.GBFreq[32][86] = 282;
1084         this.GBFreq[34][30] = 281;
1085         this.GBFreq[38][63] = 280;
1086         this.GBFreq[24][59] = 279;
1087         this.GBFreq[22][81] = 278;
1088         this.GBFreq[32][11] = 277;
1089         this.GBFreq[51][21] = 276;
1090         this.GBFreq[54][41] = 275;
1091         this.GBFreq[21][50] = 274;
1092         this.GBFreq[23][89] = 273;
1093         this.GBFreq[19][87] = 272;
1094         this.GBFreq[26][7] = 271;
1095         this.GBFreq[30][75] = 270;
1096         this.GBFreq[43][84] = 269;
1097         this.GBFreq[51][25] = 268;
1098         this.GBFreq[16][67] = 267;
1099         this.GBFreq[32][9] = 266;
1100         this.GBFreq[48][51] = 265;
1101         this.GBFreq[39][7] = 264;
1102         this.GBFreq[44][88] = 263;
1103         this.GBFreq[52][24] = 262;
1104         this.GBFreq[23][34] = 261;
1105         this.GBFreq[32][75] = 260;
1106         this.GBFreq[19][10] = 259;
1107         this.GBFreq[28][91] = 258;
1108         this.GBFreq[32][83] = 257;
1109         this.GBFreq[25][75] = 256;
1110         this.GBFreq[53][45] = 255;
1111         this.GBFreq[29][85] = 254;
1112         this.GBFreq[53][59] = 253;
1113         this.GBFreq[16][2] = 252;
1114         this.GBFreq[19][78] = 251;
1115         this.GBFreq[15][75] = 250;
1116         this.GBFreq[51][42] = 249;
1117         this.GBFreq[45][67] = 248;
1118         this.GBFreq[15][74] = 247;
1119         this.GBFreq[25][81] = 246;
1120         this.GBFreq[37][62] = 245;
1121         this.GBFreq[16][55] = 244;
1122         this.GBFreq[18][38] = 243;
1123         this.GBFreq[23][23] = 242;
1124         this.GBFreq[38][30] = 241;
1125         this.GBFreq[17][28] = 240;
1126         this.GBFreq[44][73] = 239;
1127         this.GBFreq[23][78] = 238;
1128         this.GBFreq[40][77] = 237;
1129         this.GBFreq[38][87] = 236;
1130         this.GBFreq[27][19] = 235;
1131         this.GBFreq[38][82] = 234;
1132         this.GBFreq[37][22] = 233;
1133         this.GBFreq[41][30] = 232;
1134         this.GBFreq[54][9] = 231;
1135         this.GBFreq[32][30] = 230;
1136         this.GBFreq[30][52] = 229;
1137         this.GBFreq[40][84] = 228;
1138         this.GBFreq[53][57] = 227;
1139         this.GBFreq[27][27] = 226;
1140         this.GBFreq[38][64] = 225;
1141         this.GBFreq[18][43] = 224;
1142         this.GBFreq[23][69] = 223;
1143         this.GBFreq[28][12] = 222;
1144         this.GBFreq[50][78] = 221;
1145         this.GBFreq[50][1] = 220;
1146         this.GBFreq[26][88] = 219;
1147         this.GBFreq[36][40] = 218;
1148         this.GBFreq[33][89] = 217;
1149         this.GBFreq[41][28] = 216;
1150         this.GBFreq[31][77] = 215;
1151         this.GBFreq[46][1] = 214;
1152         this.GBFreq[47][19] = 213;
1153         this.GBFreq[35][55] = 212;
1154         this.GBFreq[41][21] = 211;
1155         this.GBFreq[27][10] = 210;
1156         this.GBFreq[32][77] = 209;
1157         this.GBFreq[26][37] = 208;
1158         this.GBFreq[20][33] = 207;
1159         this.GBFreq[41][52] = 206;
1160         this.GBFreq[32][18] = 205;
1161         this.GBFreq[38][13] = 204;
1162         this.GBFreq[20][18] = 203;
1163         this.GBFreq[20][24] = 202;
1164         this.GBFreq[45][19] = 201;
1165         this.GBFreq[18][53] = 200;
1166         this.Big5Freq[9][89] = 600;
1167         this.Big5Freq[11][15] = 599;
1168         this.Big5Freq[3][66] = 598;
1169         this.Big5Freq[6][121] = 597;
1170         this.Big5Freq[3][0] = 596;
1171         this.Big5Freq[5][82] = 595;
1172         this.Big5Freq[3][42] = 594;
1173         this.Big5Freq[5][34] = 593;
1174         this.Big5Freq[3][8] = 592;
1175         this.Big5Freq[3][6] = 591;
1176         this.Big5Freq[3][67] = 590;
1177         this.Big5Freq[7][139] = 589;
1178         this.Big5Freq[23][137] = 588;
1179         this.Big5Freq[12][46] = 587;
1180         this.Big5Freq[4][8] = 586;
1181         this.Big5Freq[4][41] = 585;
1182         this.Big5Freq[18][47] = 584;
1183         this.Big5Freq[12][114] = 583;
1184         this.Big5Freq[6][1] = 582;
1185         this.Big5Freq[22][60] = 581;
1186         this.Big5Freq[5][46] = 580;
1187         this.Big5Freq[11][79] = 579;
1188         this.Big5Freq[3][23] = 578;
1189         this.Big5Freq[7][114] = 577;
1190         this.Big5Freq[29][102] = 576;
1191         this.Big5Freq[19][14] = 575;
1192         this.Big5Freq[4][133] = 574;
1193         this.Big5Freq[3][29] = 573;
1194         this.Big5Freq[4][109] = 572;
1195         this.Big5Freq[14][127] = 571;
1196         this.Big5Freq[5][48] = 570;
1197         this.Big5Freq[13][104] = 569;
1198         this.Big5Freq[3][132] = 568;
1199         this.Big5Freq[26][64] = 567;
1200         this.Big5Freq[7][19] = 566;
1201         this.Big5Freq[4][12] = 565;
1202         this.Big5Freq[11][124] = 564;
1203         this.Big5Freq[7][89] = 563;
1204         this.Big5Freq[15][124] = 562;
1205         this.Big5Freq[4][108] = 561;
1206         this.Big5Freq[19][66] = 560;
1207         this.Big5Freq[3][21] = 559;
1208         this.Big5Freq[24][12] = 558;
1209         this.Big5Freq[28][111] = 557;
1210         this.Big5Freq[12][107] = 556;
1211         this.Big5Freq[3][112] = 555;
1212         this.Big5Freq[8][113] = 554;
1213         this.Big5Freq[5][40] = 553;
1214         this.Big5Freq[26][145] = 552;
1215         this.Big5Freq[3][48] = 551;
1216         this.Big5Freq[3][70] = 550;
1217         this.Big5Freq[22][17] = 549;
1218         this.Big5Freq[16][47] = 548;
1219         this.Big5Freq[3][53] = 547;
1220         this.Big5Freq[4][24] = 546;
1221         this.Big5Freq[32][120] = 545;
1222         this.Big5Freq[24][49] = 544;
1223         this.Big5Freq[24][142] = 543;
1224         this.Big5Freq[18][66] = 542;
1225         this.Big5Freq[29][150] = 541;
1226         this.Big5Freq[5][122] = 540;
1227         this.Big5Freq[5][114] = 539;
1228         this.Big5Freq[3][44] = 538;
1229         this.Big5Freq[10][128] = 537;
1230         this.Big5Freq[15][20] = 536;
1231         this.Big5Freq[13][33] = 535;
1232         this.Big5Freq[14][87] = 534;
1233         this.Big5Freq[3][126] = 533;
1234         this.Big5Freq[4][53] = 532;
1235         this.Big5Freq[4][40] = 531;
1236         this.Big5Freq[9][93] = 530;
1237         this.Big5Freq[15][137] = 529;
1238         this.Big5Freq[10][123] = 528;
1239         this.Big5Freq[4][56] = 527;
1240         this.Big5Freq[5][71] = 526;
1241         this.Big5Freq[10][8] = 525;
1242         this.Big5Freq[5][16] = 524;
1243         this.Big5Freq[5][146] = 523;
1244         this.Big5Freq[18][88] = 522;
1245         this.Big5Freq[24][4] = 521;
1246         this.Big5Freq[20][47] = 520;
1247         this.Big5Freq[5][33] = 519;
1248         this.Big5Freq[9][43] = 518;
1249         this.Big5Freq[20][12] = 517;
1250         this.Big5Freq[20][13] = 516;
1251         this.Big5Freq[5][156] = 515;
1252         this.Big5Freq[22][140] = 514;
1253         this.Big5Freq[8][146] = 513;
1254         this.Big5Freq[21][123] = 512;
1255         this.Big5Freq[4][90] = 511;
1256         this.Big5Freq[5][62] = 510;
1257         this.Big5Freq[17][59] = 509;
1258         this.Big5Freq[10][37] = 508;
1259         this.Big5Freq[18][107] = 507;
1260         this.Big5Freq[14][53] = 506;
1261         this.Big5Freq[22][51] = 505;
1262         this.Big5Freq[8][13] = 504;
1263         this.Big5Freq[5][29] = 503;
1264         this.Big5Freq[9][7] = 502;
1265         this.Big5Freq[22][14] = 501;
1266         this.Big5Freq[8][55] = 500;
1267         this.Big5Freq[33][9] = 499;
1268         this.Big5Freq[16][64] = 498;
1269         this.Big5Freq[7][131] = 497;
1270         this.Big5Freq[34][4] = 496;
1271         this.Big5Freq[7][101] = 495;
1272         this.Big5Freq[11][139] = 494;
1273         this.Big5Freq[3][135] = 493;
1274         this.Big5Freq[7][102] = 492;
1275         this.Big5Freq[17][13] = 491;
1276         this.Big5Freq[3][20] = 490;
1277         this.Big5Freq[27][106] = 489;
1278         this.Big5Freq[5][88] = 488;
1279         this.Big5Freq[6][33] = 487;
1280         this.Big5Freq[5][139] = 486;
1281         this.Big5Freq[6][0] = 485;
1282         this.Big5Freq[17][58] = 484;
1283         this.Big5Freq[5][133] = 483;
1284         this.Big5Freq[9][107] = 482;
1285         this.Big5Freq[23][39] = 481;
1286         this.Big5Freq[5][23] = 480;
1287         this.Big5Freq[3][79] = 479;
1288         this.Big5Freq[32][97] = 478;
1289         this.Big5Freq[3][136] = 477;
1290         this.Big5Freq[4][94] = 476;
1291         this.Big5Freq[21][61] = 475;
1292         this.Big5Freq[23][123] = 474;
1293         this.Big5Freq[26][16] = 473;
1294         this.Big5Freq[24][137] = 472;
1295         this.Big5Freq[22][18] = 471;
1296         this.Big5Freq[5][1] = 470;
1297         this.Big5Freq[20][119] = 469;
1298         this.Big5Freq[3][7] = 468;
1299         this.Big5Freq[10][79] = 467;
1300         this.Big5Freq[15][105] = 466;
1301         this.Big5Freq[3][144] = 465;
1302         this.Big5Freq[12][80] = 464;
1303         this.Big5Freq[15][73] = 463;
1304         this.Big5Freq[3][19] = 462;
1305         this.Big5Freq[8][109] = 461;
1306         this.Big5Freq[3][15] = 460;
1307         this.Big5Freq[31][82] = 459;
1308         this.Big5Freq[3][43] = 458;
1309         this.Big5Freq[25][119] = 457;
1310         this.Big5Freq[16][111] = 456;
1311         this.Big5Freq[7][77] = 455;
1312         this.Big5Freq[3][95] = 454;
1313         this.Big5Freq[24][82] = 453;
1314         this.Big5Freq[7][52] = 452;
1315         this.Big5Freq[9][151] = 451;
1316         this.Big5Freq[3][129] = 450;
1317         this.Big5Freq[5][87] = 449;
1318         this.Big5Freq[3][55] = 448;
1319         this.Big5Freq[8][153] = 447;
1320         this.Big5Freq[4][83] = 446;
1321         this.Big5Freq[3][114] = 445;
1322         this.Big5Freq[23][147] = 444;
1323         this.Big5Freq[15][31] = 443;
1324         this.Big5Freq[3][54] = 442;
1325         this.Big5Freq[11][122] = 441;
1326         this.Big5Freq[4][4] = 440;
1327         this.Big5Freq[34][149] = 439;
1328         this.Big5Freq[3][17] = 438;
1329         this.Big5Freq[21][64] = 437;
1330         this.Big5Freq[26][144] = 436;
1331         this.Big5Freq[4][62] = 435;
1332         this.Big5Freq[8][15] = 434;
1333         this.Big5Freq[35][80] = 433;
1334         this.Big5Freq[7][110] = 432;
1335         this.Big5Freq[23][114] = 431;
1336         this.Big5Freq[3][108] = 430;
1337         this.Big5Freq[3][62] = 429;
1338         this.Big5Freq[21][41] = 428;
1339         this.Big5Freq[15][99] = 427;
1340         this.Big5Freq[5][47] = 426;
1341         this.Big5Freq[4][96] = 425;
1342         this.Big5Freq[20][122] = 424;
1343         this.Big5Freq[5][21] = 423;
1344         this.Big5Freq[4][157] = 422;
1345         this.Big5Freq[16][14] = 421;
1346         this.Big5Freq[3][117] = 420;
1347         this.Big5Freq[7][129] = 419;
1348         this.Big5Freq[4][27] = 418;
1349         this.Big5Freq[5][30] = 417;
1350         this.Big5Freq[22][16] = 416;
1351         this.Big5Freq[5][64] = 415;
1352         this.Big5Freq[17][99] = 414;
1353         this.Big5Freq[17][57] = 413;
1354         this.Big5Freq[8][105] = 412;
1355         this.Big5Freq[5][112] = 411;
1356         this.Big5Freq[20][59] = 410;
1357         this.Big5Freq[6][129] = 409;
1358         this.Big5Freq[18][17] = 408;
1359         this.Big5Freq[3][92] = 407;
1360         this.Big5Freq[28][118] = 406;
1361         this.Big5Freq[3][109] = 405;
1362         this.Big5Freq[31][51] = 404;
1363         this.Big5Freq[13][116] = 403;
1364         this.Big5Freq[6][15] = 402;
1365         this.Big5Freq[36][136] = 401;
1366         this.Big5Freq[12][74] = 400;
1367         this.Big5Freq[20][88] = 399;
1368         this.Big5Freq[36][68] = 398;
1369         this.Big5Freq[3][147] = 397;
1370         this.Big5Freq[15][84] = 396;
1371         this.Big5Freq[16][32] = 395;
1372         this.Big5Freq[16][58] = 394;
1373         this.Big5Freq[7][66] = 393;
1374         this.Big5Freq[23][107] = 392;
1375         this.Big5Freq[9][6] = 391;
1376         this.Big5Freq[12][86] = 390;
1377         this.Big5Freq[23][112] = 389;
1378         this.Big5Freq[37][23] = 388;
1379         this.Big5Freq[3][138] = 387;
1380         this.Big5Freq[20][68] = 386;
1381         this.Big5Freq[15][116] = 385;
1382         this.Big5Freq[18][64] = 384;
1383         this.Big5Freq[12][139] = 383;
1384         this.Big5Freq[11][155] = 382;
1385         this.Big5Freq[4][156] = 381;
1386         this.Big5Freq[12][84] = 380;
1387         this.Big5Freq[18][49] = 379;
1388         this.Big5Freq[25][125] = 378;
1389         this.Big5Freq[25][147] = 377;
1390         this.Big5Freq[15][110] = 376;
1391         this.Big5Freq[19][96] = 375;
1392         this.Big5Freq[30][152] = 374;
1393         this.Big5Freq[6][31] = 373;
1394         this.Big5Freq[27][117] = 372;
1395         this.Big5Freq[3][10] = 371;
1396         this.Big5Freq[6][131] = 370;
1397         this.Big5Freq[13][112] = 369;
1398         this.Big5Freq[36][156] = 368;
1399         this.Big5Freq[4][60] = 367;
1400         this.Big5Freq[15][121] = 366;
1401         this.Big5Freq[4][112] = 365;
1402         this.Big5Freq[30][142] = 364;
1403         this.Big5Freq[23][154] = 363;
1404         this.Big5Freq[27][101] = 362;
1405         this.Big5Freq[9][140] = 361;
1406         this.Big5Freq[3][89] = 360;
1407         this.Big5Freq[18][148] = 359;
1408         this.Big5Freq[4][69] = 358;
1409         this.Big5Freq[16][49] = 357;
1410         this.Big5Freq[6][117] = 356;
1411         this.Big5Freq[36][55] = 355;
1412         this.Big5Freq[5][123] = 354;
1413         this.Big5Freq[4][126] = 353;
1414         this.Big5Freq[4][119] = 352;
1415         this.Big5Freq[9][95] = 351;
1416         this.Big5Freq[5][24] = 350;
1417         this.Big5Freq[16][133] = 349;
1418         this.Big5Freq[10][134] = 348;
1419         this.Big5Freq[26][59] = 347;
1420         this.Big5Freq[6][41] = 346;
1421         this.Big5Freq[6][146] = 345;
1422         this.Big5Freq[19][24] = 344;
1423         this.Big5Freq[5][113] = 343;
1424         this.Big5Freq[10][118] = 342;
1425         this.Big5Freq[34][151] = 341;
1426         this.Big5Freq[9][72] = 340;
1427         this.Big5Freq[31][25] = 339;
1428         this.Big5Freq[18][126] = 338;
1429         this.Big5Freq[18][28] = 337;
1430         this.Big5Freq[4][153] = 336;
1431         this.Big5Freq[3][84] = 335;
1432         this.Big5Freq[21][18] = 334;
1433         this.Big5Freq[25][129] = 333;
1434         this.Big5Freq[6][107] = 332;
1435         this.Big5Freq[12][25] = 331;
1436         this.Big5Freq[17][109] = 330;
1437         this.Big5Freq[7][76] = 329;
1438         this.Big5Freq[15][15] = 328;
1439         this.Big5Freq[4][14] = 327;
1440         this.Big5Freq[23][88] = 326;
1441         this.Big5Freq[18][2] = 325;
1442         this.Big5Freq[6][88] = 324;
1443         this.Big5Freq[16][84] = 323;
1444         this.Big5Freq[12][48] = 322;
1445         this.Big5Freq[7][68] = 321;
1446         this.Big5Freq[5][50] = 320;
1447         this.Big5Freq[13][54] = 319;
1448         this.Big5Freq[7][98] = 318;
1449         this.Big5Freq[11][6] = 317;
1450         this.Big5Freq[9][80] = 316;
1451         this.Big5Freq[16][41] = 315;
1452         this.Big5Freq[7][43] = 314;
1453         this.Big5Freq[28][117] = 313;
1454         this.Big5Freq[3][51] = 312;
1455         this.Big5Freq[7][3] = 311;
1456         this.Big5Freq[20][81] = 310;
1457         this.Big5Freq[4][2] = 309;
1458         this.Big5Freq[11][16] = 308;
1459         this.Big5Freq[10][4] = 307;
1460         this.Big5Freq[10][119] = 306;
1461         this.Big5Freq[6][142] = 305;
1462         this.Big5Freq[18][51] = 304;
1463         this.Big5Freq[8][144] = 303;
1464         this.Big5Freq[10][65] = 302;
1465         this.Big5Freq[11][64] = 301;
1466         this.Big5Freq[11][130] = 300;
1467         this.Big5Freq[9][92] = 299;
1468         this.Big5Freq[18][29] = 298;
1469         this.Big5Freq[18][78] = 297;
1470         this.Big5Freq[18][151] = 296;
1471         this.Big5Freq[33][127] = 295;
1472         this.Big5Freq[35][113] = 294;
1473         this.Big5Freq[10][155] = 293;
1474         this.Big5Freq[3][76] = 292;
1475         this.Big5Freq[36][123] = 291;
1476         this.Big5Freq[13][143] = 290;
1477         this.Big5Freq[5][135] = 289;
1478         this.Big5Freq[23][116] = 288;
1479         this.Big5Freq[6][101] = 287;
1480         this.Big5Freq[14][74] = 286;
1481         this.Big5Freq[7][153] = 285;
1482         this.Big5Freq[3][101] = 284;
1483         this.Big5Freq[9][74] = 283;
1484         this.Big5Freq[3][156] = 282;
1485         this.Big5Freq[4][147] = 281;
1486         this.Big5Freq[9][12] = 280;
1487         this.Big5Freq[18][133] = 279;
1488         this.Big5Freq[4][0] = 278;
1489         this.Big5Freq[7][155] = 277;
1490         this.Big5Freq[9][144] = 276;
1491         this.Big5Freq[23][49] = 275;
1492         this.Big5Freq[5][89] = 274;
1493         this.Big5Freq[10][11] = 273;
1494         this.Big5Freq[3][110] = 272;
1495         this.Big5Freq[3][40] = 271;
1496         this.Big5Freq[29][115] = 270;
1497         this.Big5Freq[9][100] = 269;
1498         this.Big5Freq[21][67] = 268;
1499         this.Big5Freq[23][145] = 267;
1500         this.Big5Freq[10][47] = 266;
1501         this.Big5Freq[4][31] = 265;
1502         this.Big5Freq[4][81] = 264;
1503         this.Big5Freq[22][62] = 263;
1504         this.Big5Freq[4][28] = 262;
1505         this.Big5Freq[27][39] = 261;
1506         this.Big5Freq[27][54] = 260;
1507         this.Big5Freq[32][46] = 259;
1508         this.Big5Freq[4][76] = 258;
1509         this.Big5Freq[26][15] = 257;
1510         this.Big5Freq[12][154] = 256;
1511         this.Big5Freq[9][150] = 255;
1512         this.Big5Freq[15][17] = 254;
1513         this.Big5Freq[5][129] = 253;
1514         this.Big5Freq[10][40] = 252;
1515         this.Big5Freq[13][37] = 251;
1516         this.Big5Freq[31][104] = 250;
1517         this.Big5Freq[3][152] = 249;
1518         this.Big5Freq[5][22] = 248;
1519         this.Big5Freq[8][48] = 247;
1520         this.Big5Freq[4][74] = 246;
1521         this.Big5Freq[6][17] = 245;
1522         this.Big5Freq[30][82] = 244;
1523         this.Big5Freq[4][116] = 243;
1524         this.Big5Freq[16][42] = 242;
1525         this.Big5Freq[5][55] = 241;
1526         this.Big5Freq[4][64] = 240;
1527         this.Big5Freq[14][19] = 239;
1528         this.Big5Freq[35][82] = 238;
1529         this.Big5Freq[30][139] = 237;
1530         this.Big5Freq[26][152] = 236;
1531         this.Big5Freq[32][32] = 235;
1532         this.Big5Freq[21][102] = 234;
1533         this.Big5Freq[10][131] = 233;
1534         this.Big5Freq[9][128] = 232;
1535         this.Big5Freq[3][87] = 231;
1536         this.Big5Freq[4][51] = 230;
1537         this.Big5Freq[10][15] = 229;
1538         this.Big5Freq[4][150] = 228;
1539         this.Big5Freq[7][4] = 227;
1540         this.Big5Freq[7][51] = 226;
1541         this.Big5Freq[7][157] = 225;
1542         this.Big5Freq[4][146] = 224;
1543         this.Big5Freq[4][91] = 223;
1544         this.Big5Freq[7][13] = 222;
1545         this.Big5Freq[17][116] = 221;
1546         this.Big5Freq[23][21] = 220;
1547         this.Big5Freq[5][106] = 219;
1548         this.Big5Freq[14][100] = 218;
1549         this.Big5Freq[10][152] = 217;
1550         this.Big5Freq[14][89] = 216;
1551         this.Big5Freq[6][138] = 215;
1552         this.Big5Freq[12][157] = 214;
1553         this.Big5Freq[10][102] = 213;
1554         this.Big5Freq[19][94] = 212;
1555         this.Big5Freq[7][74] = 211;
1556         this.Big5Freq[18][128] = 210;
1557         this.Big5Freq[27][111] = 209;
1558         this.Big5Freq[11][57] = 208;
1559         this.Big5Freq[3][131] = 207;
1560         this.Big5Freq[30][23] = 206;
1561         this.Big5Freq[30][126] = 205;
1562         this.Big5Freq[4][36] = 204;
1563         this.Big5Freq[26][124] = 203;
1564         this.Big5Freq[4][19] = 202;
1565         this.Big5Freq[9][152] = 201;
1566         this.Big5PFreq[41][122] = 600;
1567         this.Big5PFreq[35][0] = 599;
1568         this.Big5PFreq[43][15] = 598;
1569         this.Big5PFreq[35][99] = 597;
1570         this.Big5PFreq[35][6] = 596;
1571         this.Big5PFreq[35][8] = 595;
1572         this.Big5PFreq[38][154] = 594;
1573         this.Big5PFreq[37][34] = 593;
1574         this.Big5PFreq[37][115] = 592;
1575         this.Big5PFreq[36][12] = 591;
1576         this.Big5PFreq[18][77] = 590;
1577         this.Big5PFreq[35][100] = 589;
1578         this.Big5PFreq[35][42] = 588;
1579         this.Big5PFreq[120][75] = 587;
1580         this.Big5PFreq[35][23] = 586;
1581         this.Big5PFreq[13][72] = 585;
1582         this.Big5PFreq[0][67] = 584;
1583         this.Big5PFreq[39][172] = 583;
1584         this.Big5PFreq[22][182] = 582;
1585         this.Big5PFreq[15][186] = 581;
1586         this.Big5PFreq[15][165] = 580;
1587         this.Big5PFreq[35][44] = 579;
1588         this.Big5PFreq[40][13] = 578;
1589         this.Big5PFreq[38][1] = 577;
1590         this.Big5PFreq[37][33] = 576;
1591         this.Big5PFreq[36][24] = 575;
1592         this.Big5PFreq[56][4] = 574;
1593         this.Big5PFreq[35][29] = 573;
1594         this.Big5PFreq[9][96] = 572;
1595         this.Big5PFreq[37][62] = 571;
1596         this.Big5PFreq[48][47] = 570;
1597         this.Big5PFreq[51][14] = 569;
1598         this.Big5PFreq[39][122] = 568;
1599         this.Big5PFreq[44][46] = 567;
1600         this.Big5PFreq[35][21] = 566;
1601         this.Big5PFreq[36][8] = 565;
1602         this.Big5PFreq[36][141] = 564;
1603         this.Big5PFreq[3][81] = 563;
1604         this.Big5PFreq[37][155] = 562;
1605         this.Big5PFreq[42][84] = 561;
1606         this.Big5PFreq[36][40] = 560;
1607         this.Big5PFreq[35][103] = 559;
1608         this.Big5PFreq[11][84] = 558;
1609         this.Big5PFreq[45][33] = 557;
1610         this.Big5PFreq[121][79] = 556;
1611         this.Big5PFreq[2][77] = 555;
1612         this.Big5PFreq[36][41] = 554;
1613         this.Big5PFreq[37][47] = 553;
1614         this.Big5PFreq[39][125] = 552;
1615         this.Big5PFreq[37][26] = 551;
1616         this.Big5PFreq[35][48] = 550;
1617         this.Big5PFreq[35][28] = 549;
1618         this.Big5PFreq[35][159] = 548;
1619         this.Big5PFreq[37][40] = 547;
1620         this.Big5PFreq[35][145] = 546;
1621         this.Big5PFreq[37][147] = 545;
1622         this.Big5PFreq[46][160] = 544;
1623         this.Big5PFreq[37][46] = 543;
1624         this.Big5PFreq[50][99] = 542;
1625         this.Big5PFreq[52][13] = 541;
1626         this.Big5PFreq[10][82] = 540;
1627         this.Big5PFreq[35][169] = 539;
1628         this.Big5PFreq[35][31] = 538;
1629         this.Big5PFreq[47][31] = 537;
1630         this.Big5PFreq[18][79] = 536;
1631         this.Big5PFreq[16][113] = 535;
1632         this.Big5PFreq[37][104] = 534;
1633         this.Big5PFreq[39][134] = 533;
1634         this.Big5PFreq[36][53] = 532;
1635         this.Big5PFreq[38][0] = 531;
1636         this.Big5PFreq[4][86] = 530;
1637         this.Big5PFreq[54][17] = 529;
1638         this.Big5PFreq[43][157] = 528;
1639         this.Big5PFreq[35][165] = 527;
1640         this.Big5PFreq[69][147] = 526;
1641         this.Big5PFreq[117][95] = 525;
1642         this.Big5PFreq[35][162] = 524;
1643         this.Big5PFreq[35][17] = 523;
1644         this.Big5PFreq[36][142] = 522;
1645         this.Big5PFreq[36][4] = 521;
1646         this.Big5PFreq[37][166] = 520;
1647         this.Big5PFreq[35][168] = 519;
1648         this.Big5PFreq[35][19] = 518;
1649         this.Big5PFreq[37][48] = 517;
1650         this.Big5PFreq[42][37] = 516;
1651         this.Big5PFreq[40][146] = 515;
1652         this.Big5PFreq[36][123] = 514;
1653         this.Big5PFreq[22][41] = 513;
1654         this.Big5PFreq[20][119] = 512;
1655         this.Big5PFreq[2][74] = 511;
1656         this.Big5PFreq[44][113] = 510;
1657         this.Big5PFreq[35][125] = 509;
1658         this.Big5PFreq[37][16] = 508;
1659         this.Big5PFreq[35][20] = 507;
1660         this.Big5PFreq[35][55] = 506;
1661         this.Big5PFreq[37][145] = 505;
1662         this.Big5PFreq[0][88] = 504;
1663         this.Big5PFreq[3][94] = 503;
1664         this.Big5PFreq[6][65] = 502;
1665         this.Big5PFreq[26][15] = 501;
1666         this.Big5PFreq[41][126] = 500;
1667         this.Big5PFreq[36][129] = 499;
1668         this.Big5PFreq[31][75] = 498;
1669         this.Big5PFreq[19][61] = 497;
1670         this.Big5PFreq[35][128] = 496;
1671         this.Big5PFreq[29][79] = 495;
1672         this.Big5PFreq[36][62] = 494;
1673         this.Big5PFreq[37][189] = 493;
1674         this.Big5PFreq[39][109] = 492;
1675         this.Big5PFreq[39][135] = 491;
1676         this.Big5PFreq[72][15] = 490;
1677         this.Big5PFreq[47][106] = 489;
1678         this.Big5PFreq[54][14] = 488;
1679         this.Big5PFreq[24][52] = 487;
1680         this.Big5PFreq[38][162] = 486;
1681         this.Big5PFreq[41][43] = 485;
1682         this.Big5PFreq[37][121] = 484;
1683         this.Big5PFreq[14][66] = 483;
1684         this.Big5PFreq[37][30] = 482;
1685         this.Big5PFreq[35][7] = 481;
1686         this.Big5PFreq[49][58] = 480;
1687         this.Big5PFreq[43][188] = 479;
1688         this.Big5PFreq[24][66] = 478;
1689         this.Big5PFreq[35][171] = 477;
1690         this.Big5PFreq[40][186] = 476;
1691         this.Big5PFreq[39][164] = 475;
1692         this.Big5PFreq[78][186] = 474;
1693         this.Big5PFreq[8][72] = 473;
1694         this.Big5PFreq[36][190] = 472;
1695         this.Big5PFreq[35][53] = 471;
1696         this.Big5PFreq[35][54] = 470;
1697         this.Big5PFreq[22][159] = 469;
1698         this.Big5PFreq[35][9] = 468;
1699         this.Big5PFreq[41][140] = 467;
1700         this.Big5PFreq[37][22] = 466;
1701         this.Big5PFreq[48][97] = 465;
1702         this.Big5PFreq[50][97] = 464;
1703         this.Big5PFreq[36][127] = 463;
1704         this.Big5PFreq[37][23] = 462;
1705         this.Big5PFreq[40][55] = 461;
1706         this.Big5PFreq[35][43] = 460;
1707         this.Big5PFreq[26][22] = 459;
1708         this.Big5PFreq[35][15] = 458;
1709         this.Big5PFreq[72][179] = 457;
1710         this.Big5PFreq[20][129] = 456;
1711         this.Big5PFreq[52][101] = 455;
1712         this.Big5PFreq[35][12] = 454;
1713         this.Big5PFreq[42][156] = 453;
1714         this.Big5PFreq[15][157] = 452;
1715         this.Big5PFreq[50][140] = 451;
1716         this.Big5PFreq[26][28] = 450;
1717         this.Big5PFreq[54][51] = 449;
1718         this.Big5PFreq[35][112] = 448;
1719         this.Big5PFreq[36][116] = 447;
1720         this.Big5PFreq[42][11] = 446;
1721         this.Big5PFreq[37][172] = 445;
1722         this.Big5PFreq[37][29] = 444;
1723         this.Big5PFreq[44][107] = 443;
1724         this.Big5PFreq[50][17] = 442;
1725         this.Big5PFreq[39][107] = 441;
1726         this.Big5PFreq[19][109] = 440;
1727         this.Big5PFreq[36][60] = 439;
1728         this.Big5PFreq[49][132] = 438;
1729         this.Big5PFreq[26][16] = 437;
1730         this.Big5PFreq[43][155] = 436;
1731         this.Big5PFreq[37][120] = 435;
1732         this.Big5PFreq[15][159] = 434;
1733         this.Big5PFreq[43][6] = 433;
1734         this.Big5PFreq[45][188] = 432;
1735         this.Big5PFreq[35][38] = 431;
1736         this.Big5PFreq[39][143] = 430;
1737         this.Big5PFreq[48][144] = 429;
1738         this.Big5PFreq[37][168] = 428;
1739         this.Big5PFreq[37][1] = 427;
1740         this.Big5PFreq[36][109] = 426;
1741         this.Big5PFreq[46][53] = 425;
1742         this.Big5PFreq[38][54] = 424;
1743         this.Big5PFreq[36][0] = 423;
1744         this.Big5PFreq[72][33] = 422;
1745         this.Big5PFreq[42][8] = 421;
1746         this.Big5PFreq[36][31] = 420;
1747         this.Big5PFreq[35][150] = 419;
1748         this.Big5PFreq[118][93] = 418;
1749         this.Big5PFreq[37][61] = 417;
1750         this.Big5PFreq[0][85] = 416;
1751         this.Big5PFreq[36][27] = 415;
1752         this.Big5PFreq[35][134] = 414;
1753         this.Big5PFreq[36][145] = 413;
1754         this.Big5PFreq[6][96] = 412;
1755         this.Big5PFreq[36][14] = 411;
1756         this.Big5PFreq[16][36] = 410;
1757         this.Big5PFreq[15][175] = 409;
1758         this.Big5PFreq[35][10] = 408;
1759         this.Big5PFreq[36][189] = 407;
1760         this.Big5PFreq[35][51] = 406;
1761         this.Big5PFreq[35][109] = 405;
1762         this.Big5PFreq[35][147] = 404;
1763         this.Big5PFreq[35][180] = 403;
1764         this.Big5PFreq[72][5] = 402;
1765         this.Big5PFreq[36][107] = 401;
1766         this.Big5PFreq[49][116] = 400;
1767         this.Big5PFreq[73][30] = 399;
1768         this.Big5PFreq[6][90] = 398;
1769         this.Big5PFreq[2][70] = 397;
1770         this.Big5PFreq[17][141] = 396;
1771         this.Big5PFreq[35][62] = 395;
1772         this.Big5PFreq[16][180] = 394;
1773         this.Big5PFreq[4][91] = 393;
1774         this.Big5PFreq[15][171] = 392;
1775         this.Big5PFreq[35][177] = 391;
1776         this.Big5PFreq[37][173] = 390;
1777         this.Big5PFreq[16][121] = 389;
1778         this.Big5PFreq[35][5] = 388;
1779         this.Big5PFreq[46][122] = 387;
1780         this.Big5PFreq[40][138] = 386;
1781         this.Big5PFreq[50][49] = 385;
1782         this.Big5PFreq[36][152] = 384;
1783         this.Big5PFreq[13][43] = 383;
1784         this.Big5PFreq[9][88] = 382;
1785         this.Big5PFreq[36][159] = 381;
1786         this.Big5PFreq[27][62] = 380;
1787         this.Big5PFreq[40][18] = 379;
1788         this.Big5PFreq[17][129] = 378;
1789         this.Big5PFreq[43][97] = 377;
1790         this.Big5PFreq[13][131] = 376;
1791         this.Big5PFreq[46][107] = 375;
1792         this.Big5PFreq[60][64] = 374;
1793         this.Big5PFreq[36][179] = 373;
1794         this.Big5PFreq[37][55] = 372;
1795         this.Big5PFreq[41][173] = 371;
1796         this.Big5PFreq[44][172] = 370;
1797         this.Big5PFreq[23][187] = 369;
1798         this.Big5PFreq[36][149] = 368;
1799         this.Big5PFreq[17][125] = 367;
1800         this.Big5PFreq[55][180] = 366;
1801         this.Big5PFreq[51][129] = 365;
1802         this.Big5PFreq[36][51] = 364;
1803         this.Big5PFreq[37][122] = 363;
1804         this.Big5PFreq[48][32] = 362;
1805         this.Big5PFreq[51][99] = 361;
1806         this.Big5PFreq[54][16] = 360;
1807         this.Big5PFreq[41][183] = 359;
1808         this.Big5PFreq[37][179] = 358;
1809         this.Big5PFreq[38][179] = 357;
1810         this.Big5PFreq[35][143] = 356;
1811         this.Big5PFreq[37][24] = 355;
1812         this.Big5PFreq[40][177] = 354;
1813         this.Big5PFreq[47][117] = 353;
1814         this.Big5PFreq[39][52] = 352;
1815         this.Big5PFreq[22][99] = 351;
1816         this.Big5PFreq[40][142] = 350;
1817         this.Big5PFreq[36][49] = 349;
1818         this.Big5PFreq[38][17] = 348;
1819         this.Big5PFreq[39][188] = 347;
1820         this.Big5PFreq[36][186] = 346;
1821         this.Big5PFreq[35][189] = 345;
1822         this.Big5PFreq[41][7] = 344;
1823         this.Big5PFreq[18][91] = 343;
1824         this.Big5PFreq[43][137] = 342;
1825         this.Big5PFreq[35][142] = 341;
1826         this.Big5PFreq[35][117] = 340;
1827         this.Big5PFreq[39][138] = 339;
1828         this.Big5PFreq[16][59] = 338;
1829         this.Big5PFreq[39][174] = 337;
1830         this.Big5PFreq[55][145] = 336;
1831         this.Big5PFreq[37][21] = 335;
1832         this.Big5PFreq[36][180] = 334;
1833         this.Big5PFreq[37][156] = 333;
1834         this.Big5PFreq[49][13] = 332;
1835         this.Big5PFreq[41][107] = 331;
1836         this.Big5PFreq[36][56] = 330;
1837         this.Big5PFreq[53][8] = 329;
1838         this.Big5PFreq[22][114] = 328;
1839         this.Big5PFreq[5][95] = 327;
1840         this.Big5PFreq[37][0] = 326;
1841         this.Big5PFreq[26][183] = 325;
1842         this.Big5PFreq[22][66] = 324;
1843         this.Big5PFreq[35][58] = 323;
1844         this.Big5PFreq[48][117] = 322;
1845         this.Big5PFreq[36][102] = 321;
1846         this.Big5PFreq[22][122] = 320;
1847         this.Big5PFreq[35][11] = 319;
1848         this.Big5PFreq[46][19] = 318;
1849         this.Big5PFreq[22][49] = 317;
1850         this.Big5PFreq[48][166] = 316;
1851         this.Big5PFreq[41][125] = 315;
1852         this.Big5PFreq[41][1] = 314;
1853         this.Big5PFreq[35][178] = 313;
1854         this.Big5PFreq[41][12] = 312;
1855         this.Big5PFreq[26][167] = 311;
1856         this.Big5PFreq[42][152] = 310;
1857         this.Big5PFreq[42][46] = 309;
1858         this.Big5PFreq[42][151] = 308;
1859         this.Big5PFreq[20][135] = 307;
1860         this.Big5PFreq[37][162] = 306;
1861         this.Big5PFreq[37][50] = 305;
1862         this.Big5PFreq[22][185] = 304;
1863         this.Big5PFreq[36][166] = 303;
1864         this.Big5PFreq[19][40] = 302;
1865         this.Big5PFreq[22][107] = 301;
1866         this.Big5PFreq[22][102] = 300;
1867         this.Big5PFreq[57][162] = 299;
1868         this.Big5PFreq[22][124] = 298;
1869         this.Big5PFreq[37][138] = 297;
1870         this.Big5PFreq[37][25] = 296;
1871         this.Big5PFreq[0][69] = 295;
1872         this.Big5PFreq[43][172] = 294;
1873         this.Big5PFreq[42][167] = 293;
1874         this.Big5PFreq[35][120] = 292;
1875         this.Big5PFreq[41][128] = 291;
1876         this.Big5PFreq[2][88] = 290;
1877         this.Big5PFreq[20][123] = 289;
1878         this.Big5PFreq[35][123] = 288;
1879         this.Big5PFreq[36][28] = 287;
1880         this.Big5PFreq[42][188] = 286;
1881         this.Big5PFreq[42][164] = 285;
1882         this.Big5PFreq[42][4] = 284;
1883         this.Big5PFreq[43][57] = 283;
1884         this.Big5PFreq[39][3] = 282;
1885         this.Big5PFreq[42][3] = 281;
1886         this.Big5PFreq[57][158] = 280;
1887         this.Big5PFreq[35][146] = 279;
1888         this.Big5PFreq[24][54] = 278;
1889         this.Big5PFreq[13][110] = 277;
1890         this.Big5PFreq[23][132] = 276;
1891         this.Big5PFreq[26][102] = 275;
1892         this.Big5PFreq[55][178] = 274;
1893         this.Big5PFreq[17][117] = 273;
1894         this.Big5PFreq[41][161] = 272;
1895         this.Big5PFreq[38][150] = 271;
1896         this.Big5PFreq[10][71] = 270;
1897         this.Big5PFreq[47][60] = 269;
1898         this.Big5PFreq[16][114] = 268;
1899         this.Big5PFreq[21][47] = 267;
1900         this.Big5PFreq[39][101] = 266;
1901         this.Big5PFreq[18][45] = 265;
1902         this.Big5PFreq[40][121] = 264;
1903         this.Big5PFreq[45][41] = 263;
1904         this.Big5PFreq[22][167] = 262;
1905         this.Big5PFreq[26][149] = 261;
1906         this.Big5PFreq[15][189] = 260;
1907         this.Big5PFreq[41][177] = 259;
1908         this.Big5PFreq[46][36] = 258;
1909         this.Big5PFreq[20][40] = 257;
1910         this.Big5PFreq[41][54] = 256;
1911         this.Big5PFreq[3][87] = 255;
1912         this.Big5PFreq[40][16] = 254;
1913         this.Big5PFreq[42][15] = 253;
1914         this.Big5PFreq[11][83] = 252;
1915         this.Big5PFreq[0][94] = 251;
1916         this.Big5PFreq[122][81] = 250;
1917         this.Big5PFreq[41][26] = 249;
1918         this.Big5PFreq[36][34] = 248;
1919         this.Big5PFreq[44][148] = 247;
1920         this.Big5PFreq[35][3] = 246;
1921         this.Big5PFreq[36][114] = 245;
1922         this.Big5PFreq[42][112] = 244;
1923         this.Big5PFreq[35][183] = 243;
1924         this.Big5PFreq[49][73] = 242;
1925         this.Big5PFreq[39][2] = 241;
1926         this.Big5PFreq[38][121] = 240;
1927         this.Big5PFreq[44][114] = 239;
1928         this.Big5PFreq[49][32] = 238;
1929         this.Big5PFreq[1][65] = 237;
1930         this.Big5PFreq[38][25] = 236;
1931         this.Big5PFreq[39][4] = 235;
1932         this.Big5PFreq[42][62] = 234;
1933         this.Big5PFreq[35][40] = 233;
1934         this.Big5PFreq[24][2] = 232;
1935         this.Big5PFreq[53][49] = 231;
1936         this.Big5PFreq[41][133] = 230;
1937         this.Big5PFreq[43][134] = 229;
1938         this.Big5PFreq[3][83] = 228;
1939         this.Big5PFreq[38][158] = 227;
1940         this.Big5PFreq[24][17] = 226;
1941         this.Big5PFreq[52][59] = 225;
1942         this.Big5PFreq[38][41] = 224;
1943         this.Big5PFreq[37][127] = 223;
1944         this.Big5PFreq[22][175] = 222;
1945         this.Big5PFreq[44][30] = 221;
1946         this.Big5PFreq[47][178] = 220;
1947         this.Big5PFreq[43][99] = 219;
1948         this.Big5PFreq[19][4] = 218;
1949         this.Big5PFreq[37][97] = 217;
1950         this.Big5PFreq[38][181] = 216;
1951         this.Big5PFreq[45][103] = 215;
1952         this.Big5PFreq[1][86] = 214;
1953         this.Big5PFreq[40][15] = 213;
1954         this.Big5PFreq[22][136] = 212;
1955         this.Big5PFreq[75][165] = 211;
1956         this.Big5PFreq[36][15] = 210;
1957         this.Big5PFreq[46][80] = 209;
1958         this.Big5PFreq[59][55] = 208;
1959         this.Big5PFreq[37][108] = 207;
1960         this.Big5PFreq[21][109] = 206;
1961         this.Big5PFreq[24][165] = 205;
1962         this.Big5PFreq[79][158] = 204;
1963         this.Big5PFreq[44][139] = 203;
1964         this.Big5PFreq[36][124] = 202;
1965         this.Big5PFreq[42][185] = 201;
1966         this.Big5PFreq[39][186] = 200;
1967         this.Big5PFreq[22][128] = 199;
1968         this.Big5PFreq[40][44] = 198;
1969         this.Big5PFreq[41][105] = 197;
1970         this.Big5PFreq[1][70] = 196;
1971         this.Big5PFreq[1][68] = 195;
1972         this.Big5PFreq[53][22] = 194;
1973         this.Big5PFreq[36][54] = 193;
1974         this.Big5PFreq[47][147] = 192;
1975         this.Big5PFreq[35][36] = 191;
1976         this.Big5PFreq[35][185] = 190;
1977         this.Big5PFreq[45][37] = 189;
1978         this.Big5PFreq[43][163] = 188;
1979         this.Big5PFreq[56][115] = 187;
1980         this.Big5PFreq[38][164] = 186;
1981         this.Big5PFreq[35][141] = 185;
1982         this.Big5PFreq[42][132] = 184;
1983         this.Big5PFreq[46][120] = 183;
1984         this.Big5PFreq[69][142] = 182;
1985         this.Big5PFreq[38][175] = 181;
1986         this.Big5PFreq[22][112] = 180;
1987         this.Big5PFreq[38][142] = 179;
1988         this.Big5PFreq[40][37] = 178;
1989         this.Big5PFreq[37][109] = 177;
1990         this.Big5PFreq[40][144] = 176;
1991         this.Big5PFreq[44][117] = 175;
1992         this.Big5PFreq[35][181] = 174;
1993         this.Big5PFreq[26][105] = 173;
1994         this.Big5PFreq[16][48] = 172;
1995         this.Big5PFreq[44][122] = 171;
1996         this.Big5PFreq[12][86] = 170;
1997         this.Big5PFreq[84][53] = 169;
1998         this.Big5PFreq[17][44] = 168;
1999         this.Big5PFreq[59][54] = 167;
2000         this.Big5PFreq[36][98] = 166;
2001         this.Big5PFreq[45][115] = 165;
2002         this.Big5PFreq[73][9] = 164;
2003         this.Big5PFreq[44][123] = 163;
2004         this.Big5PFreq[37][188] = 162;
2005         this.Big5PFreq[51][117] = 161;
2006         this.Big5PFreq[15][156] = 160;
2007         this.Big5PFreq[36][155] = 159;
2008         this.Big5PFreq[44][25] = 158;
2009         this.Big5PFreq[38][12] = 157;
2010         this.Big5PFreq[38][140] = 156;
2011         this.Big5PFreq[23][4] = 155;
2012         this.Big5PFreq[45][149] = 154;
2013         this.Big5PFreq[22][189] = 153;
2014         this.Big5PFreq[38][147] = 152;
2015         this.Big5PFreq[27][5] = 151;
2016         this.Big5PFreq[22][42] = 150;
2017         this.Big5PFreq[3][68] = 149;
2018         this.Big5PFreq[39][51] = 148;
2019         this.Big5PFreq[36][29] = 147;
2020         this.Big5PFreq[20][108] = 146;
2021         this.Big5PFreq[50][57] = 145;
2022         this.Big5PFreq[55][104] = 144;
2023         this.Big5PFreq[22][46] = 143;
2024         this.Big5PFreq[18][164] = 142;
2025         this.Big5PFreq[50][159] = 141;
2026         this.Big5PFreq[85][131] = 140;
2027         this.Big5PFreq[26][79] = 139;
2028         this.Big5PFreq[38][100] = 138;
2029         this.Big5PFreq[53][112] = 137;
2030         this.Big5PFreq[20][190] = 136;
2031         this.Big5PFreq[14][69] = 135;
2032         this.Big5PFreq[23][11] = 134;
2033         this.Big5PFreq[40][114] = 133;
2034         this.Big5PFreq[40][148] = 132;
2035         this.Big5PFreq[53][130] = 131;
2036         this.Big5PFreq[36][2] = 130;
2037         this.Big5PFreq[66][82] = 129;
2038         this.Big5PFreq[45][166] = 128;
2039         this.Big5PFreq[4][88] = 127;
2040         this.Big5PFreq[16][57] = 126;
2041         this.Big5PFreq[22][116] = 125;
2042         this.Big5PFreq[36][108] = 124;
2043         this.Big5PFreq[13][48] = 123;
2044         this.Big5PFreq[54][12] = 122;
2045         this.Big5PFreq[40][136] = 121;
2046         this.Big5PFreq[36][128] = 120;
2047         this.Big5PFreq[23][6] = 119;
2048         this.Big5PFreq[38][125] = 118;
2049         this.Big5PFreq[45][154] = 117;
2050         this.Big5PFreq[51][127] = 116;
2051         this.Big5PFreq[44][163] = 115;
2052         this.Big5PFreq[16][173] = 114;
2053         this.Big5PFreq[43][49] = 113;
2054         this.Big5PFreq[20][112] = 112;
2055         this.Big5PFreq[15][168] = 111;
2056         this.Big5PFreq[35][129] = 110;
2057         this.Big5PFreq[20][45] = 109;
2058         this.Big5PFreq[38][10] = 108;
2059         this.Big5PFreq[57][171] = 107;
2060         this.Big5PFreq[44][190] = 106;
2061         this.Big5PFreq[40][56] = 105;
2062         this.Big5PFreq[36][156] = 104;
2063         this.Big5PFreq[3][88] = 103;
2064         this.Big5PFreq[50][122] = 102;
2065         this.Big5PFreq[36][7] = 101;
2066         this.Big5PFreq[39][43] = 100;
2067         this.Big5PFreq[15][166] = 99;
2068         this.Big5PFreq[42][136] = 98;
2069         this.Big5PFreq[22][131] = 97;
2070         this.Big5PFreq[44][23] = 96;
2071         this.Big5PFreq[54][147] = 95;
2072         this.Big5PFreq[41][32] = 94;
2073         this.Big5PFreq[23][121] = 93;
2074         this.Big5PFreq[39][108] = 92;
2075         this.Big5PFreq[2][78] = 91;
2076         this.Big5PFreq[40][155] = 90;
2077         this.Big5PFreq[55][51] = 89;
2078         this.Big5PFreq[19][34] = 88;
2079         this.Big5PFreq[48][128] = 87;
2080         this.Big5PFreq[48][159] = 86;
2081         this.Big5PFreq[20][70] = 85;
2082         this.Big5PFreq[34][71] = 84;
2083         this.Big5PFreq[16][31] = 83;
2084         this.Big5PFreq[42][157] = 82;
2085         this.Big5PFreq[20][44] = 81;
2086         this.Big5PFreq[11][92] = 80;
2087         this.Big5PFreq[44][180] = 79;
2088         this.Big5PFreq[84][33] = 78;
2089         this.Big5PFreq[16][116] = 77;
2090         this.Big5PFreq[61][163] = 76;
2091         this.Big5PFreq[35][164] = 75;
2092         this.Big5PFreq[36][42] = 74;
2093         this.Big5PFreq[13][40] = 73;
2094         this.Big5PFreq[43][176] = 72;
2095         this.Big5PFreq[2][66] = 71;
2096         this.Big5PFreq[20][133] = 70;
2097         this.Big5PFreq[36][65] = 69;
2098         this.Big5PFreq[38][33] = 68;
2099         this.Big5PFreq[12][91] = 67;
2100         this.Big5PFreq[36][26] = 66;
2101         this.Big5PFreq[15][174] = 65;
2102         this.Big5PFreq[77][32] = 64;
2103         this.Big5PFreq[16][1] = 63;
2104         this.Big5PFreq[25][86] = 62;
2105         this.Big5PFreq[17][13] = 61;
2106         this.Big5PFreq[5][75] = 60;
2107         this.Big5PFreq[36][52] = 59;
2108         this.Big5PFreq[51][164] = 58;
2109         this.Big5PFreq[12][85] = 57;
2110         this.Big5PFreq[39][168] = 56;
2111         this.Big5PFreq[43][16] = 55;
2112         this.Big5PFreq[40][69] = 54;
2113         this.Big5PFreq[26][108] = 53;
2114         this.Big5PFreq[51][56] = 52;
2115         this.Big5PFreq[16][37] = 51;
2116         this.Big5PFreq[40][29] = 50;
2117         this.Big5PFreq[46][171] = 49;
2118         this.Big5PFreq[40][128] = 48;
2119         this.Big5PFreq[72][114] = 47;
2120         this.Big5PFreq[21][103] = 46;
2121         this.Big5PFreq[22][44] = 45;
2122         this.Big5PFreq[40][115] = 44;
2123         this.Big5PFreq[43][7] = 43;
2124         this.Big5PFreq[43][153] = 42;
2125         this.Big5PFreq[17][20] = 41;
2126         this.Big5PFreq[16][49] = 40;
2127         this.Big5PFreq[36][57] = 39;
2128         this.Big5PFreq[18][38] = 38;
2129         this.Big5PFreq[45][184] = 37;
2130         this.Big5PFreq[37][167] = 36;
2131         this.Big5PFreq[26][106] = 35;
2132         this.Big5PFreq[61][121] = 34;
2133         this.Big5PFreq[89][140] = 33;
2134         this.Big5PFreq[46][61] = 32;
2135         this.Big5PFreq[39][163] = 31;
2136         this.Big5PFreq[40][62] = 30;
2137         this.Big5PFreq[38][165] = 29;
2138         this.Big5PFreq[47][37] = 28;
2139         this.Big5PFreq[18][155] = 27;
2140         this.Big5PFreq[20][33] = 26;
2141         this.Big5PFreq[29][90] = 25;
2142         this.Big5PFreq[20][103] = 24;
2143         this.Big5PFreq[37][51] = 23;
2144         this.Big5PFreq[57][0] = 22;
2145         this.Big5PFreq[40][31] = 21;
2146         this.Big5PFreq[45][32] = 20;
2147         this.Big5PFreq[59][23] = 19;
2148         this.Big5PFreq[18][47] = 18;
2149         this.Big5PFreq[45][134] = 17;
2150         this.Big5PFreq[37][59] = 16;
2151         this.Big5PFreq[21][128] = 15;
2152         this.Big5PFreq[36][106] = 14;
2153         this.Big5PFreq[31][39] = 13;
2154         this.Big5PFreq[40][182] = 12;
2155         this.Big5PFreq[52][155] = 11;
2156         this.Big5PFreq[42][166] = 10;
2157         this.Big5PFreq[35][27] = 9;
2158         this.Big5PFreq[38][3] = 8;
2159         this.Big5PFreq[13][44] = 7;
2160         this.Big5PFreq[58][157] = 6;
2161         this.Big5PFreq[47][51] = 5;
2162         this.Big5PFreq[41][37] = 4;
2163         this.Big5PFreq[41][172] = 3;
2164         this.Big5PFreq[51][165] = 2;
2165         this.Big5PFreq[15][161] = 1;
2166         this.Big5PFreq[24][181] = 0;
2167         this.EUC_TWFreq[48][49] = 599;
2168         this.EUC_TWFreq[35][65] = 598;
2169         this.EUC_TWFreq[41][27] = 597;
2170         this.EUC_TWFreq[35][0] = 596;
2171         this.EUC_TWFreq[39][19] = 595;
2172         this.EUC_TWFreq[35][42] = 594;
2173         this.EUC_TWFreq[38][66] = 593;
2174         this.EUC_TWFreq[35][8] = 592;
2175         this.EUC_TWFreq[35][6] = 591;
2176         this.EUC_TWFreq[35][66] = 590;
2177         this.EUC_TWFreq[43][14] = 589;
2178         this.EUC_TWFreq[69][80] = 588;
2179         this.EUC_TWFreq[50][48] = 587;
2180         this.EUC_TWFreq[36][71] = 586;
2181         this.EUC_TWFreq[37][10] = 585;
2182         this.EUC_TWFreq[60][52] = 584;
2183         this.EUC_TWFreq[51][21] = 583;
2184         this.EUC_TWFreq[40][2] = 582;
2185         this.EUC_TWFreq[67][35] = 581;
2186         this.EUC_TWFreq[38][78] = 580;
2187         this.EUC_TWFreq[49][18] = 579;
2188         this.EUC_TWFreq[35][23] = 578;
2189         this.EUC_TWFreq[42][83] = 577;
2190         this.EUC_TWFreq[79][47] = 576;
2191         this.EUC_TWFreq[61][82] = 575;
2192         this.EUC_TWFreq[38][7] = 574;
2193         this.EUC_TWFreq[35][29] = 573;
2194         this.EUC_TWFreq[37][77] = 572;
2195         this.EUC_TWFreq[54][67] = 571;
2196         this.EUC_TWFreq[38][80] = 570;
2197         this.EUC_TWFreq[52][74] = 569;
2198         this.EUC_TWFreq[36][37] = 568;
2199         this.EUC_TWFreq[74][8] = 567;
2200         this.EUC_TWFreq[41][83] = 566;
2201         this.EUC_TWFreq[36][75] = 565;
2202         this.EUC_TWFreq[49][63] = 564;
2203         this.EUC_TWFreq[42][58] = 563;
2204         this.EUC_TWFreq[56][33] = 562;
2205         this.EUC_TWFreq[37][76] = 561;
2206         this.EUC_TWFreq[62][39] = 560;
2207         this.EUC_TWFreq[35][21] = 559;
2208         this.EUC_TWFreq[70][19] = 558;
2209         this.EUC_TWFreq[77][88] = 557;
2210         this.EUC_TWFreq[51][14] = 556;
2211         this.EUC_TWFreq[36][17] = 555;
2212         this.EUC_TWFreq[44][51] = 554;
2213         this.EUC_TWFreq[38][72] = 553;
2214         this.EUC_TWFreq[74][90] = 552;
2215         this.EUC_TWFreq[35][48] = 551;
2216         this.EUC_TWFreq[35][69] = 550;
2217         this.EUC_TWFreq[66][86] = 549;
2218         this.EUC_TWFreq[57][20] = 548;
2219         this.EUC_TWFreq[35][53] = 547;
2220         this.EUC_TWFreq[36][87] = 546;
2221         this.EUC_TWFreq[84][67] = 545;
2222         this.EUC_TWFreq[70][56] = 544;
2223         this.EUC_TWFreq[71][54] = 543;
2224         this.EUC_TWFreq[60][70] = 542;
2225         this.EUC_TWFreq[80][1] = 541;
2226         this.EUC_TWFreq[39][59] = 540;
2227         this.EUC_TWFreq[39][51] = 539;
2228         this.EUC_TWFreq[35][44] = 538;
2229         this.EUC_TWFreq[48][4] = 537;
2230         this.EUC_TWFreq[55][24] = 536;
2231         this.EUC_TWFreq[52][4] = 535;
2232         this.EUC_TWFreq[54][26] = 534;
2233         this.EUC_TWFreq[36][31] = 533;
2234         this.EUC_TWFreq[37][22] = 532;
2235         this.EUC_TWFreq[37][9] = 531;
2236         this.EUC_TWFreq[46][0] = 530;
2237         this.EUC_TWFreq[56][46] = 529;
2238         this.EUC_TWFreq[47][93] = 528;
2239         this.EUC_TWFreq[37][25] = 527;
2240         this.EUC_TWFreq[39][8] = 526;
2241         this.EUC_TWFreq[46][73] = 525;
2242         this.EUC_TWFreq[38][48] = 524;
2243         this.EUC_TWFreq[39][83] = 523;
2244         this.EUC_TWFreq[60][92] = 522;
2245         this.EUC_TWFreq[70][11] = 521;
2246         this.EUC_TWFreq[63][84] = 520;
2247         this.EUC_TWFreq[38][65] = 519;
2248         this.EUC_TWFreq[45][45] = 518;
2249         this.EUC_TWFreq[63][49] = 517;
2250         this.EUC_TWFreq[63][50] = 516;
2251         this.EUC_TWFreq[39][93] = 515;
2252         this.EUC_TWFreq[68][20] = 514;
2253         this.EUC_TWFreq[44][84] = 513;
2254         this.EUC_TWFreq[66][34] = 512;
2255         this.EUC_TWFreq[37][58] = 511;
2256         this.EUC_TWFreq[39][0] = 510;
2257         this.EUC_TWFreq[59][1] = 509;
2258         this.EUC_TWFreq[47][8] = 508;
2259         this.EUC_TWFreq[61][17] = 507;
2260         this.EUC_TWFreq[53][87] = 506;
2261         this.EUC_TWFreq[67][26] = 505;
2262         this.EUC_TWFreq[43][46] = 504;
2263         this.EUC_TWFreq[38][61] = 503;
2264         this.EUC_TWFreq[45][9] = 502;
2265         this.EUC_TWFreq[66][83] = 501;
2266         this.EUC_TWFreq[43][88] = 500;
2267         this.EUC_TWFreq[85][20] = 499;
2268         this.EUC_TWFreq[57][36] = 498;
2269         this.EUC_TWFreq[43][6] = 497;
2270         this.EUC_TWFreq[86][77] = 496;
2271         this.EUC_TWFreq[42][70] = 495;
2272         this.EUC_TWFreq[49][78] = 494;
2273         this.EUC_TWFreq[36][40] = 493;
2274         this.EUC_TWFreq[42][71] = 492;
2275         this.EUC_TWFreq[58][49] = 491;
2276         this.EUC_TWFreq[35][20] = 490;
2277         this.EUC_TWFreq[76][20] = 489;
2278         this.EUC_TWFreq[39][25] = 488;
2279         this.EUC_TWFreq[40][34] = 487;
2280         this.EUC_TWFreq[39][76] = 486;
2281         this.EUC_TWFreq[40][1] = 485;
2282         this.EUC_TWFreq[59][0] = 484;
2283         this.EUC_TWFreq[39][70] = 483;
2284         this.EUC_TWFreq[46][14] = 482;
2285         this.EUC_TWFreq[68][77] = 481;
2286         this.EUC_TWFreq[38][55] = 480;
2287         this.EUC_TWFreq[35][78] = 479;
2288         this.EUC_TWFreq[84][44] = 478;
2289         this.EUC_TWFreq[36][41] = 477;
2290         this.EUC_TWFreq[37][62] = 476;
2291         this.EUC_TWFreq[65][67] = 475;
2292         this.EUC_TWFreq[69][66] = 474;
2293         this.EUC_TWFreq[73][55] = 473;
2294         this.EUC_TWFreq[71][49] = 472;
2295         this.EUC_TWFreq[66][87] = 471;
2296         this.EUC_TWFreq[38][33] = 470;
2297         this.EUC_TWFreq[64][61] = 469;
2298         this.EUC_TWFreq[35][7] = 468;
2299         this.EUC_TWFreq[47][49] = 467;
2300         this.EUC_TWFreq[56][14] = 466;
2301         this.EUC_TWFreq[36][49] = 465;
2302         this.EUC_TWFreq[50][81] = 464;
2303         this.EUC_TWFreq[55][76] = 463;
2304         this.EUC_TWFreq[35][19] = 462;
2305         this.EUC_TWFreq[44][47] = 461;
2306         this.EUC_TWFreq[35][15] = 460;
2307         this.EUC_TWFreq[82][59] = 459;
2308         this.EUC_TWFreq[35][43] = 458;
2309         this.EUC_TWFreq[73][0] = 457;
2310         this.EUC_TWFreq[57][83] = 456;
2311         this.EUC_TWFreq[42][46] = 455;
2312         this.EUC_TWFreq[36][0] = 454;
2313         this.EUC_TWFreq[70][88] = 453;
2314         this.EUC_TWFreq[42][22] = 452;
2315         this.EUC_TWFreq[46][58] = 451;
2316         this.EUC_TWFreq[36][34] = 450;
2317         this.EUC_TWFreq[39][24] = 449;
2318         this.EUC_TWFreq[35][55] = 448;
2319         this.EUC_TWFreq[44][91] = 447;
2320         this.EUC_TWFreq[37][51] = 446;
2321         this.EUC_TWFreq[36][19] = 445;
2322         this.EUC_TWFreq[69][90] = 444;
2323         this.EUC_TWFreq[55][35] = 443;
2324         this.EUC_TWFreq[35][54] = 442;
2325         this.EUC_TWFreq[49][61] = 441;
2326         this.EUC_TWFreq[36][67] = 440;
2327         this.EUC_TWFreq[88][34] = 439;
2328         this.EUC_TWFreq[35][17] = 438;
2329         this.EUC_TWFreq[65][69] = 437;
2330         this.EUC_TWFreq[74][89] = 436;
2331         this.EUC_TWFreq[37][31] = 435;
2332         this.EUC_TWFreq[43][48] = 434;
2333         this.EUC_TWFreq[89][27] = 433;
2334         this.EUC_TWFreq[42][79] = 432;
2335         this.EUC_TWFreq[69][57] = 431;
2336         this.EUC_TWFreq[36][13] = 430;
2337         this.EUC_TWFreq[35][62] = 429;
2338         this.EUC_TWFreq[65][47] = 428;
2339         this.EUC_TWFreq[56][8] = 427;
2340         this.EUC_TWFreq[38][79] = 426;
2341         this.EUC_TWFreq[37][64] = 425;
2342         this.EUC_TWFreq[64][64] = 424;
2343         this.EUC_TWFreq[38][53] = 423;
2344         this.EUC_TWFreq[38][31] = 422;
2345         this.EUC_TWFreq[56][81] = 421;
2346         this.EUC_TWFreq[36][22] = 420;
2347         this.EUC_TWFreq[43][4] = 419;
2348         this.EUC_TWFreq[36][90] = 418;
2349         this.EUC_TWFreq[38][62] = 417;
2350         this.EUC_TWFreq[66][85] = 416;
2351         this.EUC_TWFreq[39][1] = 415;
2352         this.EUC_TWFreq[59][40] = 414;
2353         this.EUC_TWFreq[58][93] = 413;
2354         this.EUC_TWFreq[44][43] = 412;
2355         this.EUC_TWFreq[39][49] = 411;
2356         this.EUC_TWFreq[64][2] = 410;
2357         this.EUC_TWFreq[41][35] = 409;
2358         this.EUC_TWFreq[60][22] = 408;
2359         this.EUC_TWFreq[35][91] = 407;
2360         this.EUC_TWFreq[78][1] = 406;
2361         this.EUC_TWFreq[36][14] = 405;
2362         this.EUC_TWFreq[82][29] = 404;
2363         this.EUC_TWFreq[52][86] = 403;
2364         this.EUC_TWFreq[40][16] = 402;
2365         this.EUC_TWFreq[91][52] = 401;
2366         this.EUC_TWFreq[50][75] = 400;
2367         this.EUC_TWFreq[64][30] = 399;
2368         this.EUC_TWFreq[90][78] = 398;
2369         this.EUC_TWFreq[36][52] = 397;
2370         this.EUC_TWFreq[55][87] = 396;
2371         this.EUC_TWFreq[57][5] = 395;
2372         this.EUC_TWFreq[57][31] = 394;
2373         this.EUC_TWFreq[42][35] = 393;
2374         this.EUC_TWFreq[69][50] = 392;
2375         this.EUC_TWFreq[45][8] = 391;
2376         this.EUC_TWFreq[50][87] = 390;
2377         this.EUC_TWFreq[69][55] = 389;
2378         this.EUC_TWFreq[92][3] = 388;
2379         this.EUC_TWFreq[36][43] = 387;
2380         this.EUC_TWFreq[64][10] = 386;
2381         this.EUC_TWFreq[56][25] = 385;
2382         this.EUC_TWFreq[60][68] = 384;
2383         this.EUC_TWFreq[51][46] = 383;
2384         this.EUC_TWFreq[50][0] = 382;
2385         this.EUC_TWFreq[38][30] = 381;
2386         this.EUC_TWFreq[50][85] = 380;
2387         this.EUC_TWFreq[60][54] = 379;
2388         this.EUC_TWFreq[73][6] = 378;
2389         this.EUC_TWFreq[73][28] = 377;
2390         this.EUC_TWFreq[56][19] = 376;
2391         this.EUC_TWFreq[62][69] = 375;
2392         this.EUC_TWFreq[81][66] = 374;
2393         this.EUC_TWFreq[40][32] = 373;
2394         this.EUC_TWFreq[76][31] = 372;
2395         this.EUC_TWFreq[35][10] = 371;
2396         this.EUC_TWFreq[41][37] = 370;
2397         this.EUC_TWFreq[52][82] = 369;
2398         this.EUC_TWFreq[91][72] = 368;
2399         this.EUC_TWFreq[37][29] = 367;
2400         this.EUC_TWFreq[56][30] = 366;
2401         this.EUC_TWFreq[37][80] = 365;
2402         this.EUC_TWFreq[81][56] = 364;
2403         this.EUC_TWFreq[70][3] = 363;
2404         this.EUC_TWFreq[76][15] = 362;
2405         this.EUC_TWFreq[46][47] = 361;
2406         this.EUC_TWFreq[35][88] = 360;
2407         this.EUC_TWFreq[61][58] = 359;
2408         this.EUC_TWFreq[37][37] = 358;
2409         this.EUC_TWFreq[57][22] = 357;
2410         this.EUC_TWFreq[41][23] = 356;
2411         this.EUC_TWFreq[90][66] = 355;
2412         this.EUC_TWFreq[39][60] = 354;
2413         this.EUC_TWFreq[38][0] = 353;
2414         this.EUC_TWFreq[37][87] = 352;
2415         this.EUC_TWFreq[46][2] = 351;
2416         this.EUC_TWFreq[38][56] = 350;
2417         this.EUC_TWFreq[58][11] = 349;
2418         this.EUC_TWFreq[48][10] = 348;
2419         this.EUC_TWFreq[74][4] = 347;
2420         this.EUC_TWFreq[40][42] = 346;
2421         this.EUC_TWFreq[41][52] = 345;
2422         this.EUC_TWFreq[61][92] = 344;
2423         this.EUC_TWFreq[39][50] = 343;
2424         this.EUC_TWFreq[47][88] = 342;
2425         this.EUC_TWFreq[88][36] = 341;
2426         this.EUC_TWFreq[45][73] = 340;
2427         this.EUC_TWFreq[82][3] = 339;
2428         this.EUC_TWFreq[61][36] = 338;
2429         this.EUC_TWFreq[60][33] = 337;
2430         this.EUC_TWFreq[38][27] = 336;
2431         this.EUC_TWFreq[35][83] = 335;
2432         this.EUC_TWFreq[65][24] = 334;
2433         this.EUC_TWFreq[73][10] = 333;
2434         this.EUC_TWFreq[41][13] = 332;
2435         this.EUC_TWFreq[50][27] = 331;
2436         this.EUC_TWFreq[59][50] = 330;
2437         this.EUC_TWFreq[42][45] = 329;
2438         this.EUC_TWFreq[55][19] = 328;
2439         this.EUC_TWFreq[36][77] = 327;
2440         this.EUC_TWFreq[69][31] = 326;
2441         this.EUC_TWFreq[60][7] = 325;
2442         this.EUC_TWFreq[40][88] = 324;
2443         this.EUC_TWFreq[57][56] = 323;
2444         this.EUC_TWFreq[50][50] = 322;
2445         this.EUC_TWFreq[42][37] = 321;
2446         this.EUC_TWFreq[38][82] = 320;
2447         this.EUC_TWFreq[52][25] = 319;
2448         this.EUC_TWFreq[42][67] = 318;
2449         this.EUC_TWFreq[48][40] = 317;
2450         this.EUC_TWFreq[45][81] = 316;
2451         this.EUC_TWFreq[57][14] = 315;
2452         this.EUC_TWFreq[42][13] = 314;
2453         this.EUC_TWFreq[78][0] = 313;
2454         this.EUC_TWFreq[35][51] = 312;
2455         this.EUC_TWFreq[41][67] = 311;
2456         this.EUC_TWFreq[64][23] = 310;
2457         this.EUC_TWFreq[36][65] = 309;
2458         this.EUC_TWFreq[48][50] = 308;
2459         this.EUC_TWFreq[46][69] = 307;
2460         this.EUC_TWFreq[47][89] = 306;
2461         this.EUC_TWFreq[41][48] = 305;
2462         this.EUC_TWFreq[60][56] = 304;
2463         this.EUC_TWFreq[44][82] = 303;
2464         this.EUC_TWFreq[47][35] = 302;
2465         this.EUC_TWFreq[49][3] = 301;
2466         this.EUC_TWFreq[49][69] = 300;
2467         this.EUC_TWFreq[45][93] = 299;
2468         this.EUC_TWFreq[60][34] = 298;
2469         this.EUC_TWFreq[60][82] = 297;
2470         this.EUC_TWFreq[61][61] = 296;
2471         this.EUC_TWFreq[86][42] = 295;
2472         this.EUC_TWFreq[89][60] = 294;
2473         this.EUC_TWFreq[48][31] = 293;
2474         this.EUC_TWFreq[35][75] = 292;
2475         this.EUC_TWFreq[91][39] = 291;
2476         this.EUC_TWFreq[53][19] = 290;
2477         this.EUC_TWFreq[39][72] = 289;
2478         this.EUC_TWFreq[69][59] = 288;
2479         this.EUC_TWFreq[41][7] = 287;
2480         this.EUC_TWFreq[54][13] = 286;
2481         this.EUC_TWFreq[43][28] = 285;
2482         this.EUC_TWFreq[36][6] = 284;
2483         this.EUC_TWFreq[45][75] = 283;
2484         this.EUC_TWFreq[36][61] = 282;
2485         this.EUC_TWFreq[38][21] = 281;
2486         this.EUC_TWFreq[45][14] = 280;
2487         this.EUC_TWFreq[61][43] = 279;
2488         this.EUC_TWFreq[36][63] = 278;
2489         this.EUC_TWFreq[43][30] = 277;
2490         this.EUC_TWFreq[46][51] = 276;
2491         this.EUC_TWFreq[68][87] = 275;
2492         this.EUC_TWFreq[39][26] = 274;
2493         this.EUC_TWFreq[46][76] = 273;
2494         this.EUC_TWFreq[36][15] = 272;
2495         this.EUC_TWFreq[35][40] = 271;
2496         this.EUC_TWFreq[79][60] = 270;
2497         this.EUC_TWFreq[46][7] = 269;
2498         this.EUC_TWFreq[65][72] = 268;
2499         this.EUC_TWFreq[69][88] = 267;
2500         this.EUC_TWFreq[47][18] = 266;
2501         this.EUC_TWFreq[37][0] = 265;
2502         this.EUC_TWFreq[37][49] = 264;
2503         this.EUC_TWFreq[67][37] = 263;
2504         this.EUC_TWFreq[36][91] = 262;
2505         this.EUC_TWFreq[75][48] = 261;
2506         this.EUC_TWFreq[75][63] = 260;
2507         this.EUC_TWFreq[83][87] = 259;
2508         this.EUC_TWFreq[37][44] = 258;
2509         this.EUC_TWFreq[73][54] = 257;
2510         this.EUC_TWFreq[51][61] = 256;
2511         this.EUC_TWFreq[46][57] = 255;
2512         this.EUC_TWFreq[55][21] = 254;
2513         this.EUC_TWFreq[39][66] = 253;
2514         this.EUC_TWFreq[47][11] = 252;
2515         this.EUC_TWFreq[52][8] = 251;
2516         this.EUC_TWFreq[82][81] = 250;
2517         this.EUC_TWFreq[36][57] = 249;
2518         this.EUC_TWFreq[38][54] = 248;
2519         this.EUC_TWFreq[43][81] = 247;
2520         this.EUC_TWFreq[37][42] = 246;
2521         this.EUC_TWFreq[40][18] = 245;
2522         this.EUC_TWFreq[80][90] = 244;
2523         this.EUC_TWFreq[37][84] = 243;
2524         this.EUC_TWFreq[57][15] = 242;
2525         this.EUC_TWFreq[38][87] = 241;
2526         this.EUC_TWFreq[37][32] = 240;
2527         this.EUC_TWFreq[53][53] = 239;
2528         this.EUC_TWFreq[89][29] = 238;
2529         this.EUC_TWFreq[81][53] = 237;
2530         this.EUC_TWFreq[75][3] = 236;
2531         this.EUC_TWFreq[83][73] = 235;
2532         this.EUC_TWFreq[66][13] = 234;
2533         this.EUC_TWFreq[48][7] = 233;
2534         this.EUC_TWFreq[46][35] = 232;
2535         this.EUC_TWFreq[35][86] = 231;
2536         this.EUC_TWFreq[37][20] = 230;
2537         this.EUC_TWFreq[46][80] = 229;
2538         this.EUC_TWFreq[38][24] = 228;
2539         this.EUC_TWFreq[41][68] = 227;
2540         this.EUC_TWFreq[42][21] = 226;
2541         this.EUC_TWFreq[43][32] = 225;
2542         this.EUC_TWFreq[38][20] = 224;
2543         this.EUC_TWFreq[37][59] = 223;
2544         this.EUC_TWFreq[41][77] = 222;
2545         this.EUC_TWFreq[59][57] = 221;
2546         this.EUC_TWFreq[68][59] = 220;
2547         this.EUC_TWFreq[39][43] = 219;
2548         this.EUC_TWFreq[54][39] = 218;
2549         this.EUC_TWFreq[48][28] = 217;
2550         this.EUC_TWFreq[54][28] = 216;
2551         this.EUC_TWFreq[41][44] = 215;
2552         this.EUC_TWFreq[51][64] = 214;
2553         this.EUC_TWFreq[47][72] = 213;
2554         this.EUC_TWFreq[62][67] = 212;
2555         this.EUC_TWFreq[42][43] = 211;
2556         this.EUC_TWFreq[61][38] = 210;
2557         this.EUC_TWFreq[76][25] = 209;
2558         this.EUC_TWFreq[48][91] = 208;
2559         this.EUC_TWFreq[36][36] = 207;
2560         this.EUC_TWFreq[80][32] = 206;
2561         this.EUC_TWFreq[81][40] = 205;
2562         this.EUC_TWFreq[37][5] = 204;
2563         this.EUC_TWFreq[74][69] = 203;
2564         this.EUC_TWFreq[36][82] = 202;
2565         this.EUC_TWFreq[46][59] = 201;
2566         this.GBKFreq[52][132] = 600;
2567         this.GBKFreq[73][135] = 599;
2568         this.GBKFreq[49][123] = 598;
2569         this.GBKFreq[77][146] = 597;
2570         this.GBKFreq[81][123] = 596;
2571         this.GBKFreq[82][144] = 595;
2572         this.GBKFreq[51][179] = 594;
2573         this.GBKFreq[83][154] = 593;
2574         this.GBKFreq[71][139] = 592;
2575         this.GBKFreq[64][139] = 591;
2576         this.GBKFreq[85][144] = 590;
2577         this.GBKFreq[52][125] = 589;
2578         this.GBKFreq[88][25] = 588;
2579         this.GBKFreq[81][106] = 587;
2580         this.GBKFreq[81][148] = 586;
2581         this.GBKFreq[62][137] = 585;
2582         this.GBKFreq[94][0] = 584;
2583         this.GBKFreq[1][64] = 583;
2584         this.GBKFreq[67][163] = 582;
2585         this.GBKFreq[20][190] = 581;
2586         this.GBKFreq[57][131] = 580;
2587         this.GBKFreq[29][169] = 579;
2588         this.GBKFreq[72][143] = 578;
2589         this.GBKFreq[0][173] = 577;
2590         this.GBKFreq[11][23] = 576;
2591         this.GBKFreq[61][141] = 575;
2592         this.GBKFreq[60][123] = 574;
2593         this.GBKFreq[81][114] = 573;
2594         this.GBKFreq[82][131] = 572;
2595         this.GBKFreq[67][156] = 571;
2596         this.GBKFreq[71][167] = 570;
2597         this.GBKFreq[20][50] = 569;
2598         this.GBKFreq[77][132] = 568;
2599         this.GBKFreq[84][38] = 567;
2600         this.GBKFreq[26][29] = 566;
2601         this.GBKFreq[74][187] = 565;
2602         this.GBKFreq[62][116] = 564;
2603         this.GBKFreq[67][135] = 563;
2604         this.GBKFreq[5][86] = 562;
2605         this.GBKFreq[72][186] = 561;
2606         this.GBKFreq[75][161] = 560;
2607         this.GBKFreq[78][130] = 559;
2608         this.GBKFreq[94][30] = 558;
2609         this.GBKFreq[84][72] = 557;
2610         this.GBKFreq[1][67] = 556;
2611         this.GBKFreq[75][172] = 555;
2612         this.GBKFreq[74][185] = 554;
2613         this.GBKFreq[53][160] = 553;
2614         this.GBKFreq[123][14] = 552;
2615         this.GBKFreq[79][97] = 551;
2616         this.GBKFreq[85][110] = 550;
2617         this.GBKFreq[78][171] = 549;
2618         this.GBKFreq[52][131] = 548;
2619         this.GBKFreq[56][100] = 547;
2620         this.GBKFreq[50][182] = 546;
2621         this.GBKFreq[94][64] = 545;
2622         this.GBKFreq[106][74] = 544;
2623         this.GBKFreq[11][102] = 543;
2624         this.GBKFreq[53][124] = 542;
2625         this.GBKFreq[24][3] = 541;
2626         this.GBKFreq[86][148] = 540;
2627         this.GBKFreq[53][184] = 539;
2628         this.GBKFreq[86][147] = 538;
2629         this.GBKFreq[96][161] = 537;
2630         this.GBKFreq[82][77] = 536;
2631         this.GBKFreq[59][146] = 535;
2632         this.GBKFreq[84][126] = 534;
2633         this.GBKFreq[79][132] = 533;
2634         this.GBKFreq[85][123] = 532;
2635         this.GBKFreq[71][101] = 531;
2636         this.GBKFreq[85][106] = 530;
2637         this.GBKFreq[6][184] = 529;
2638         this.GBKFreq[57][156] = 528;
2639         this.GBKFreq[75][104] = 527;
2640         this.GBKFreq[50][137] = 526;
2641         this.GBKFreq[79][133] = 525;
2642         this.GBKFreq[76][108] = 524;
2643         this.GBKFreq[57][142] = 523;
2644         this.GBKFreq[84][130] = 522;
2645         this.GBKFreq[52][128] = 521;
2646         this.GBKFreq[47][44] = 520;
2647         this.GBKFreq[52][152] = 519;
2648         this.GBKFreq[54][104] = 518;
2649         this.GBKFreq[30][47] = 517;
2650         this.GBKFreq[71][123] = 516;
2651         this.GBKFreq[52][107] = 515;
2652         this.GBKFreq[45][84] = 514;
2653         this.GBKFreq[107][118] = 513;
2654         this.GBKFreq[5][161] = 512;
2655         this.GBKFreq[48][126] = 511;
2656         this.GBKFreq[67][170] = 510;
2657         this.GBKFreq[43][6] = 509;
2658         this.GBKFreq[70][112] = 508;
2659         this.GBKFreq[86][174] = 507;
2660         this.GBKFreq[84][166] = 506;
2661         this.GBKFreq[79][130] = 505;
2662         this.GBKFreq[57][141] = 504;
2663         this.GBKFreq[81][178] = 503;
2664         this.GBKFreq[56][187] = 502;
2665         this.GBKFreq[81][162] = 501;
2666         this.GBKFreq[53][104] = 500;
2667         this.GBKFreq[123][35] = 499;
2668         this.GBKFreq[70][169] = 498;
2669         this.GBKFreq[69][164] = 497;
2670         this.GBKFreq[109][61] = 496;
2671         this.GBKFreq[73][130] = 495;
2672         this.GBKFreq[62][134] = 494;
2673         this.GBKFreq[54][125] = 493;
2674         this.GBKFreq[79][105] = 492;
2675         this.GBKFreq[70][165] = 491;
2676         this.GBKFreq[71][189] = 490;
2677         this.GBKFreq[23][147] = 489;
2678         this.GBKFreq[51][139] = 488;
2679         this.GBKFreq[47][137] = 487;
2680         this.GBKFreq[77][123] = 486;
2681         this.GBKFreq[86][183] = 485;
2682         this.GBKFreq[63][173] = 484;
2683         this.GBKFreq[79][144] = 483;
2684         this.GBKFreq[84][159] = 482;
2685         this.GBKFreq[60][91] = 481;
2686         this.GBKFreq[66][187] = 480;
2687         this.GBKFreq[73][114] = 479;
2688         this.GBKFreq[85][56] = 478;
2689         this.GBKFreq[71][149] = 477;
2690         this.GBKFreq[84][189] = 476;
2691         this.GBKFreq[104][31] = 475;
2692         this.GBKFreq[83][82] = 474;
2693         this.GBKFreq[68][35] = 473;
2694         this.GBKFreq[11][77] = 472;
2695         this.GBKFreq[15][155] = 471;
2696         this.GBKFreq[83][153] = 470;
2697         this.GBKFreq[71][1] = 469;
2698         this.GBKFreq[53][190] = 468;
2699         this.GBKFreq[50][135] = 467;
2700         this.GBKFreq[3][147] = 466;
2701         this.GBKFreq[48][136] = 465;
2702         this.GBKFreq[66][166] = 464;
2703         this.GBKFreq[55][159] = 463;
2704         this.GBKFreq[82][150] = 462;
2705         this.GBKFreq[58][178] = 461;
2706         this.GBKFreq[64][102] = 460;
2707         this.GBKFreq[16][106] = 459;
2708         this.GBKFreq[68][110] = 458;
2709         this.GBKFreq[54][14] = 457;
2710         this.GBKFreq[60][140] = 456;
2711         this.GBKFreq[91][71] = 455;
2712         this.GBKFreq[54][150] = 454;
2713         this.GBKFreq[78][177] = 453;
2714         this.GBKFreq[78][117] = 452;
2715         this.GBKFreq[104][12] = 451;
2716         this.GBKFreq[73][150] = 450;
2717         this.GBKFreq[51][142] = 449;
2718         this.GBKFreq[81][145] = 448;
2719         this.GBKFreq[66][183] = 447;
2720         this.GBKFreq[51][178] = 446;
2721         this.GBKFreq[75][107] = 445;
2722         this.GBKFreq[65][119] = 444;
2723         this.GBKFreq[69][176] = 443;
2724         this.GBKFreq[59][122] = 442;
2725         this.GBKFreq[78][160] = 441;
2726         this.GBKFreq[85][183] = 440;
2727         this.GBKFreq[105][16] = 439;
2728         this.GBKFreq[73][110] = 438;
2729         this.GBKFreq[104][39] = 437;
2730         this.GBKFreq[119][16] = 436;
2731         this.GBKFreq[76][162] = 435;
2732         this.GBKFreq[67][152] = 434;
2733         this.GBKFreq[82][24] = 433;
2734         this.GBKFreq[73][121] = 432;
2735         this.GBKFreq[83][83] = 431;
2736         this.GBKFreq[82][145] = 430;
2737         this.GBKFreq[49][133] = 429;
2738         this.GBKFreq[94][13] = 428;
2739         this.GBKFreq[58][139] = 427;
2740         this.GBKFreq[74][189] = 426;
2741         this.GBKFreq[66][177] = 425;
2742         this.GBKFreq[85][184] = 424;
2743         this.GBKFreq[55][183] = 423;
2744         this.GBKFreq[71][107] = 422;
2745         this.GBKFreq[11][98] = 421;
2746         this.GBKFreq[72][153] = 420;
2747         this.GBKFreq[2][137] = 419;
2748         this.GBKFreq[59][147] = 418;
2749         this.GBKFreq[58][152] = 417;
2750         this.GBKFreq[55][144] = 416;
2751         this.GBKFreq[73][125] = 415;
2752         this.GBKFreq[52][154] = 414;
2753         this.GBKFreq[70][178] = 413;
2754         this.GBKFreq[79][148] = 412;
2755         this.GBKFreq[63][143] = 411;
2756         this.GBKFreq[50][140] = 410;
2757         this.GBKFreq[47][145] = 409;
2758         this.GBKFreq[48][123] = 408;
2759         this.GBKFreq[56][107] = 407;
2760         this.GBKFreq[84][83] = 406;
2761         this.GBKFreq[59][112] = 405;
2762         this.GBKFreq[124][72] = 404;
2763         this.GBKFreq[79][99] = 403;
2764         this.GBKFreq[3][37] = 402;
2765         this.GBKFreq[114][55] = 401;
2766         this.GBKFreq[85][152] = 400;
2767         this.GBKFreq[60][47] = 399;
2768         this.GBKFreq[65][96] = 398;
2769         this.GBKFreq[74][110] = 397;
2770         this.GBKFreq[86][182] = 396;
2771         this.GBKFreq[50][99] = 395;
2772         this.GBKFreq[67][186] = 394;
2773         this.GBKFreq[81][74] = 393;
2774         this.GBKFreq[80][37] = 392;
2775         this.GBKFreq[21][60] = 391;
2776         this.GBKFreq[110][12] = 390;
2777         this.GBKFreq[60][162] = 389;
2778         this.GBKFreq[29][115] = 388;
2779         this.GBKFreq[83][130] = 387;
2780         this.GBKFreq[52][136] = 386;
2781         this.GBKFreq[63][114] = 385;
2782         this.GBKFreq[49][127] = 384;
2783         this.GBKFreq[83][109] = 383;
2784         this.GBKFreq[66][128] = 382;
2785         this.GBKFreq[78][136] = 381;
2786         this.GBKFreq[81][180] = 380;
2787         this.GBKFreq[76][104] = 379;
2788         this.GBKFreq[56][156] = 378;
2789         this.GBKFreq[61][23] = 377;
2790         this.GBKFreq[4][30] = 376;
2791         this.GBKFreq[69][154] = 375;
2792         this.GBKFreq[100][37] = 374;
2793         this.GBKFreq[54][177] = 373;
2794         this.GBKFreq[23][119] = 372;
2795         this.GBKFreq[71][171] = 371;
2796         this.GBKFreq[84][146] = 370;
2797         this.GBKFreq[20][184] = 369;
2798         this.GBKFreq[86][76] = 368;
2799         this.GBKFreq[74][132] = 367;
2800         this.GBKFreq[47][97] = 366;
2801         this.GBKFreq[82][137] = 365;
2802         this.GBKFreq[94][56] = 364;
2803         this.GBKFreq[92][30] = 363;
2804         this.GBKFreq[19][117] = 362;
2805         this.GBKFreq[48][173] = 361;
2806         this.GBKFreq[2][136] = 360;
2807         this.GBKFreq[7][182] = 359;
2808         this.GBKFreq[74][188] = 358;
2809         this.GBKFreq[14][132] = 357;
2810         this.GBKFreq[62][172] = 356;
2811         this.GBKFreq[25][39] = 355;
2812         this.GBKFreq[85][129] = 354;
2813         this.GBKFreq[64][98] = 353;
2814         this.GBKFreq[67][127] = 352;
2815         this.GBKFreq[72][167] = 351;
2816         this.GBKFreq[57][143] = 350;
2817         this.GBKFreq[76][187] = 349;
2818         this.GBKFreq[83][181] = 348;
2819         this.GBKFreq[84][10] = 347;
2820         this.GBKFreq[55][166] = 346;
2821         this.GBKFreq[55][188] = 345;
2822         this.GBKFreq[13][151] = 344;
2823         this.GBKFreq[62][124] = 343;
2824         this.GBKFreq[53][136] = 342;
2825         this.GBKFreq[106][57] = 341;
2826         this.GBKFreq[47][166] = 340;
2827         this.GBKFreq[109][30] = 339;
2828         this.GBKFreq[78][114] = 338;
2829         this.GBKFreq[83][19] = 337;
2830         this.GBKFreq[56][162] = 336;
2831         this.GBKFreq[60][177] = 335;
2832         this.GBKFreq[88][9] = 334;
2833         this.GBKFreq[74][163] = 333;
2834         this.GBKFreq[52][156] = 332;
2835         this.GBKFreq[71][180] = 331;
2836         this.GBKFreq[60][57] = 330;
2837         this.GBKFreq[72][173] = 329;
2838         this.GBKFreq[82][91] = 328;
2839         this.GBKFreq[51][186] = 327;
2840         this.GBKFreq[75][86] = 326;
2841         this.GBKFreq[75][78] = 325;
2842         this.GBKFreq[76][170] = 324;
2843         this.GBKFreq[60][147] = 323;
2844         this.GBKFreq[82][75] = 322;
2845         this.GBKFreq[80][148] = 321;
2846         this.GBKFreq[86][150] = 320;
2847         this.GBKFreq[13][95] = 319;
2848         this.GBKFreq[0][11] = 318;
2849         this.GBKFreq[84][190] = 317;
2850         this.GBKFreq[76][166] = 316;
2851         this.GBKFreq[14][72] = 315;
2852         this.GBKFreq[67][144] = 314;
2853         this.GBKFreq[84][44] = 313;
2854         this.GBKFreq[72][125] = 312;
2855         this.GBKFreq[66][127] = 311;
2856         this.GBKFreq[60][25] = 310;
2857         this.GBKFreq[70][146] = 309;
2858         this.GBKFreq[79][135] = 308;
2859         this.GBKFreq[54][135] = 307;
2860         this.GBKFreq[60][104] = 306;
2861         this.GBKFreq[55][132] = 305;
2862         this.GBKFreq[94][2] = 304;
2863         this.GBKFreq[54][133] = 303;
2864         this.GBKFreq[56][190] = 302;
2865         this.GBKFreq[58][174] = 301;
2866         this.GBKFreq[80][144] = 300;
2867         this.GBKFreq[85][113] = 299;
2868         this.KRFreq[31][43] = 600;
2869         this.KRFreq[19][56] = 599;
2870         this.KRFreq[38][46] = 598;
2871         this.KRFreq[3][3] = 597;
2872         this.KRFreq[29][77] = 596;
2873         this.KRFreq[19][33] = 595;
2874         this.KRFreq[30][0] = 594;
2875         this.KRFreq[29][89] = 593;
2876         this.KRFreq[31][26] = 592;
2877         this.KRFreq[31][38] = 591;
2878         this.KRFreq[32][85] = 590;
2879         this.KRFreq[15][0] = 589;
2880         this.KRFreq[16][54] = 588;
2881         this.KRFreq[15][76] = 587;
2882         this.KRFreq[31][25] = 586;
2883         this.KRFreq[23][13] = 585;
2884         this.KRFreq[28][34] = 584;
2885         this.KRFreq[18][9] = 583;
2886         this.KRFreq[29][37] = 582;
2887         this.KRFreq[22][45] = 581;
2888         this.KRFreq[19][46] = 580;
2889         this.KRFreq[16][65] = 579;
2890         this.KRFreq[23][5] = 578;
2891         this.KRFreq[26][70] = 577;
2892         this.KRFreq[31][53] = 576;
2893         this.KRFreq[27][12] = 575;
2894         this.KRFreq[30][67] = 574;
2895         this.KRFreq[31][57] = 573;
2896         this.KRFreq[20][20] = 572;
2897         this.KRFreq[30][31] = 571;
2898         this.KRFreq[20][72] = 570;
2899         this.KRFreq[15][51] = 569;
2900         this.KRFreq[3][8] = 568;
2901         this.KRFreq[32][53] = 567;
2902         this.KRFreq[27][85] = 566;
2903         this.KRFreq[25][23] = 565;
2904         this.KRFreq[15][44] = 564;
2905         this.KRFreq[32][3] = 563;
2906         this.KRFreq[31][68] = 562;
2907         this.KRFreq[30][24] = 561;
2908         this.KRFreq[29][49] = 560;
2909         this.KRFreq[27][49] = 559;
2910         this.KRFreq[23][23] = 558;
2911         this.KRFreq[31][91] = 557;
2912         this.KRFreq[31][46] = 556;
2913         this.KRFreq[19][74] = 555;
2914         this.KRFreq[27][27] = 554;
2915         this.KRFreq[3][17] = 553;
2916         this.KRFreq[20][38] = 552;
2917         this.KRFreq[21][82] = 551;
2918         this.KRFreq[28][25] = 550;
2919         this.KRFreq[32][5] = 549;
2920         this.KRFreq[31][23] = 548;
2921         this.KRFreq[25][45] = 547;
2922         this.KRFreq[32][87] = 546;
2923         this.KRFreq[18][26] = 545;
2924         this.KRFreq[24][10] = 544;
2925         this.KRFreq[26][82] = 543;
2926         this.KRFreq[15][89] = 542;
2927         this.KRFreq[28][36] = 541;
2928         this.KRFreq[28][31] = 540;
2929         this.KRFreq[16][23] = 539;
2930         this.KRFreq[16][77] = 538;
2931         this.KRFreq[19][84] = 537;
2932         this.KRFreq[23][72] = 536;
2933         this.KRFreq[38][48] = 535;
2934         this.KRFreq[23][2] = 534;
2935         this.KRFreq[30][20] = 533;
2936         this.KRFreq[38][47] = 532;
2937         this.KRFreq[39][12] = 531;
2938         this.KRFreq[23][21] = 530;
2939         this.KRFreq[18][17] = 529;
2940         this.KRFreq[30][87] = 528;
2941         this.KRFreq[29][62] = 527;
2942         this.KRFreq[29][87] = 526;
2943         this.KRFreq[34][53] = 525;
2944         this.KRFreq[32][29] = 524;
2945         this.KRFreq[35][0] = 523;
2946         this.KRFreq[24][43] = 522;
2947         this.KRFreq[36][44] = 521;
2948         this.KRFreq[20][30] = 520;
2949         this.KRFreq[39][86] = 519;
2950         this.KRFreq[22][14] = 518;
2951         this.KRFreq[29][39] = 517;
2952         this.KRFreq[28][38] = 516;
2953         this.KRFreq[23][79] = 515;
2954         this.KRFreq[24][56] = 514;
2955         this.KRFreq[29][63] = 513;
2956         this.KRFreq[31][45] = 512;
2957         this.KRFreq[23][26] = 511;
2958         this.KRFreq[15][87] = 510;
2959         this.KRFreq[30][74] = 509;
2960         this.KRFreq[24][69] = 508;
2961         this.KRFreq[20][4] = 507;
2962         this.KRFreq[27][50] = 506;
2963         this.KRFreq[30][75] = 505;
2964         this.KRFreq[24][13] = 504;
2965         this.KRFreq[30][8] = 503;
2966         this.KRFreq[31][6] = 502;
2967         this.KRFreq[25][80] = 501;
2968         this.KRFreq[36][8] = 500;
2969         this.KRFreq[15][18] = 499;
2970         this.KRFreq[39][23] = 498;
2971         this.KRFreq[16][24] = 497;
2972         this.KRFreq[31][89] = 496;
2973         this.KRFreq[15][71] = 495;
2974         this.KRFreq[15][57] = 494;
2975         this.KRFreq[30][11] = 493;
2976         this.KRFreq[15][36] = 492;
2977         this.KRFreq[16][60] = 491;
2978         this.KRFreq[24][45] = 490;
2979         this.KRFreq[37][35] = 489;
2980         this.KRFreq[24][87] = 488;
2981         this.KRFreq[20][45] = 487;
2982         this.KRFreq[31][90] = 486;
2983         this.KRFreq[32][21] = 485;
2984         this.KRFreq[19][70] = 484;
2985         this.KRFreq[24][15] = 483;
2986         this.KRFreq[26][92] = 482;
2987         this.KRFreq[37][13] = 481;
2988         this.KRFreq[39][2] = 480;
2989         this.KRFreq[23][70] = 479;
2990         this.KRFreq[27][25] = 478;
2991         this.KRFreq[15][69] = 477;
2992         this.KRFreq[19][61] = 476;
2993         this.KRFreq[31][58] = 475;
2994         this.KRFreq[24][57] = 474;
2995         this.KRFreq[36][74] = 473;
2996         this.KRFreq[21][6] = 472;
2997         this.KRFreq[30][44] = 471;
2998         this.KRFreq[15][91] = 470;
2999         this.KRFreq[27][16] = 469;
3000         this.KRFreq[29][42] = 468;
3001         this.KRFreq[33][86] = 467;
3002         this.KRFreq[29][41] = 466;
3003         this.KRFreq[20][68] = 465;
3004         this.KRFreq[25][47] = 464;
3005         this.KRFreq[22][0] = 463;
3006         this.KRFreq[18][14] = 462;
3007         this.KRFreq[31][28] = 461;
3008         this.KRFreq[15][2] = 460;
3009         this.KRFreq[23][76] = 459;
3010         this.KRFreq[38][32] = 458;
3011         this.KRFreq[29][82] = 457;
3012         this.KRFreq[21][86] = 456;
3013         this.KRFreq[24][62] = 455;
3014         this.KRFreq[31][64] = 454;
3015         this.KRFreq[38][26] = 453;
3016         this.KRFreq[32][86] = 452;
3017         this.KRFreq[22][32] = 451;
3018         this.KRFreq[19][59] = 450;
3019         this.KRFreq[34][18] = 449;
3020         this.KRFreq[18][54] = 448;
3021         this.KRFreq[38][63] = 447;
3022         this.KRFreq[36][23] = 446;
3023         this.KRFreq[35][35] = 445;
3024         this.KRFreq[32][62] = 444;
3025         this.KRFreq[28][35] = 443;
3026         this.KRFreq[27][13] = 442;
3027         this.KRFreq[31][59] = 441;
3028         this.KRFreq[29][29] = 440;
3029         this.KRFreq[15][64] = 439;
3030         this.KRFreq[26][84] = 438;
3031         this.KRFreq[21][90] = 437;
3032         this.KRFreq[20][24] = 436;
3033         this.KRFreq[16][18] = 435;
3034         this.KRFreq[22][23] = 434;
3035         this.KRFreq[31][14] = 433;
3036         this.KRFreq[15][1] = 432;
3037         this.KRFreq[18][63] = 431;
3038         this.KRFreq[19][10] = 430;
3039         this.KRFreq[25][49] = 429;
3040         this.KRFreq[36][57] = 428;
3041         this.KRFreq[20][22] = 427;
3042         this.KRFreq[15][15] = 426;
3043         this.KRFreq[31][51] = 425;
3044         this.KRFreq[24][60] = 424;
3045         this.KRFreq[31][70] = 423;
3046         this.KRFreq[15][7] = 422;
3047         this.KRFreq[28][40] = 421;
3048         this.KRFreq[18][41] = 420;
3049         this.KRFreq[15][38] = 419;
3050         this.KRFreq[32][0] = 418;
3051         this.KRFreq[19][51] = 417;
3052         this.KRFreq[34][62] = 416;
3053         this.KRFreq[16][27] = 415;
3054         this.KRFreq[20][70] = 414;
3055         this.KRFreq[22][33] = 413;
3056         this.KRFreq[26][73] = 412;
3057         this.KRFreq[20][79] = 411;
3058         this.KRFreq[23][6] = 410;
3059         this.KRFreq[24][85] = 409;
3060         this.KRFreq[38][51] = 408;
3061         this.KRFreq[29][88] = 407;
3062         this.KRFreq[38][55] = 406;
3063         this.KRFreq[32][32] = 405;
3064         this.KRFreq[27][18] = 404;
3065         this.KRFreq[23][87] = 403;
3066         this.KRFreq[35][6] = 402;
3067         this.KRFreq[34][27] = 401;
3068         this.KRFreq[39][35] = 400;
3069         this.KRFreq[30][88] = 399;
3070         this.KRFreq[32][92] = 398;
3071         this.KRFreq[32][49] = 397;
3072         this.KRFreq[24][61] = 396;
3073         this.KRFreq[18][74] = 395;
3074         this.KRFreq[23][77] = 394;
3075         this.KRFreq[23][50] = 393;
3076         this.KRFreq[23][32] = 392;
3077         this.KRFreq[23][36] = 391;
3078         this.KRFreq[38][38] = 390;
3079         this.KRFreq[29][86] = 389;
3080         this.KRFreq[36][15] = 388;
3081         this.KRFreq[31][50] = 387;
3082         this.KRFreq[15][86] = 386;
3083         this.KRFreq[39][13] = 385;
3084         this.KRFreq[34][26] = 384;
3085         this.KRFreq[19][34] = 383;
3086         this.KRFreq[16][3] = 382;
3087         this.KRFreq[26][93] = 381;
3088         this.KRFreq[19][67] = 380;
3089         this.KRFreq[24][72] = 379;
3090         this.KRFreq[29][17] = 378;
3091         this.KRFreq[23][24] = 377;
3092         this.KRFreq[25][19] = 376;
3093         this.KRFreq[18][65] = 375;
3094         this.KRFreq[30][78] = 374;
3095         this.KRFreq[27][52] = 373;
3096         this.KRFreq[22][18] = 372;
3097         this.KRFreq[16][38] = 371;
3098         this.KRFreq[21][26] = 370;
3099         this.KRFreq[34][20] = 369;
3100         this.KRFreq[15][42] = 368;
3101         this.KRFreq[16][71] = 367;
3102         this.KRFreq[17][17] = 366;
3103         this.KRFreq[24][71] = 365;
3104         this.KRFreq[18][84] = 364;
3105         this.KRFreq[15][40] = 363;
3106         this.KRFreq[31][62] = 362;
3107         this.KRFreq[15][8] = 361;
3108         this.KRFreq[16][69] = 360;
3109         this.KRFreq[29][79] = 359;
3110         this.KRFreq[38][91] = 358;
3111         this.KRFreq[31][92] = 357;
3112         this.KRFreq[20][77] = 356;
3113         this.KRFreq[3][16] = 355;
3114         this.KRFreq[27][87] = 354;
3115         this.KRFreq[16][25] = 353;
3116         this.KRFreq[36][33] = 352;
3117         this.KRFreq[37][76] = 351;
3118         this.KRFreq[30][12] = 350;
3119         this.KRFreq[26][75] = 349;
3120         this.KRFreq[25][14] = 348;
3121         this.KRFreq[32][26] = 347;
3122         this.KRFreq[23][22] = 346;
3123         this.KRFreq[20][90] = 345;
3124         this.KRFreq[19][8] = 344;
3125         this.KRFreq[38][41] = 343;
3126         this.KRFreq[34][2] = 342;
3127         this.KRFreq[39][4] = 341;
3128         this.KRFreq[27][89] = 340;
3129         this.KRFreq[28][41] = 339;
3130         this.KRFreq[28][44] = 338;
3131         this.KRFreq[24][92] = 337;
3132         this.KRFreq[34][65] = 336;
3133         this.KRFreq[39][14] = 335;
3134         this.KRFreq[21][38] = 334;
3135         this.KRFreq[19][31] = 333;
3136         this.KRFreq[37][39] = 332;
3137         this.KRFreq[33][41] = 331;
3138         this.KRFreq[38][4] = 330;
3139         this.KRFreq[23][80] = 329;
3140         this.KRFreq[25][24] = 328;
3141         this.KRFreq[37][17] = 327;
3142         this.KRFreq[22][16] = 326;
3143         this.KRFreq[22][46] = 325;
3144         this.KRFreq[33][91] = 324;
3145         this.KRFreq[24][89] = 323;
3146         this.KRFreq[30][52] = 322;
3147         this.KRFreq[29][38] = 321;
3148         this.KRFreq[38][85] = 320;
3149         this.KRFreq[15][12] = 319;
3150         this.KRFreq[27][58] = 318;
3151         this.KRFreq[29][52] = 317;
3152         this.KRFreq[37][38] = 316;
3153         this.KRFreq[34][41] = 315;
3154         this.KRFreq[31][65] = 314;
3155         this.KRFreq[29][53] = 313;
3156         this.KRFreq[22][47] = 312;
3157         this.KRFreq[22][19] = 311;
3158         this.KRFreq[26][0] = 310;
3159         this.KRFreq[37][86] = 309;
3160         this.KRFreq[35][4] = 308;
3161         this.KRFreq[36][54] = 307;
3162         this.KRFreq[20][76] = 306;
3163         this.KRFreq[30][9] = 305;
3164         this.KRFreq[30][33] = 304;
3165         this.KRFreq[23][17] = 303;
3166         this.KRFreq[23][33] = 302;
3167         this.KRFreq[38][52] = 301;
3168         this.KRFreq[15][19] = 300;
3169         this.KRFreq[28][45] = 299;
3170         this.KRFreq[29][78] = 298;
3171         this.KRFreq[23][15] = 297;
3172         this.KRFreq[33][5] = 296;
3173         this.KRFreq[17][40] = 295;
3174         this.KRFreq[30][83] = 294;
3175         this.KRFreq[18][1] = 293;
3176         this.KRFreq[30][81] = 292;
3177         this.KRFreq[19][40] = 291;
3178         this.KRFreq[24][47] = 290;
3179         this.KRFreq[17][56] = 289;
3180         this.KRFreq[39][80] = 288;
3181         this.KRFreq[30][46] = 287;
3182         this.KRFreq[16][61] = 286;
3183         this.KRFreq[26][78] = 285;
3184         this.KRFreq[26][57] = 284;
3185         this.KRFreq[20][46] = 283;
3186         this.KRFreq[25][15] = 282;
3187         this.KRFreq[25][91] = 281;
3188         this.KRFreq[21][83] = 280;
3189         this.KRFreq[30][77] = 279;
3190         this.KRFreq[35][30] = 278;
3191         this.KRFreq[30][34] = 277;
3192         this.KRFreq[20][69] = 276;
3193         this.KRFreq[35][10] = 275;
3194         this.KRFreq[29][70] = 274;
3195         this.KRFreq[22][50] = 273;
3196         this.KRFreq[18][0] = 272;
3197         this.KRFreq[22][64] = 271;
3198         this.KRFreq[38][65] = 270;
3199         this.KRFreq[22][70] = 269;
3200         this.KRFreq[24][58] = 268;
3201         this.KRFreq[19][66] = 267;
3202         this.KRFreq[30][59] = 266;
3203         this.KRFreq[37][14] = 265;
3204         this.KRFreq[16][56] = 264;
3205         this.KRFreq[29][85] = 263;
3206         this.KRFreq[31][15] = 262;
3207         this.KRFreq[36][84] = 261;
3208         this.KRFreq[39][15] = 260;
3209         this.KRFreq[39][90] = 259;
3210         this.KRFreq[18][12] = 258;
3211         this.KRFreq[21][93] = 257;
3212         this.KRFreq[24][66] = 256;
3213         this.KRFreq[27][90] = 255;
3214         this.KRFreq[25][90] = 254;
3215         this.KRFreq[22][24] = 253;
3216         this.KRFreq[36][67] = 252;
3217         this.KRFreq[33][90] = 251;
3218         this.KRFreq[15][60] = 250;
3219         this.KRFreq[23][85] = 249;
3220         this.KRFreq[34][1] = 248;
3221         this.KRFreq[39][37] = 247;
3222         this.KRFreq[21][18] = 246;
3223         this.KRFreq[34][4] = 245;
3224         this.KRFreq[28][33] = 244;
3225         this.KRFreq[15][13] = 243;
3226         this.KRFreq[32][22] = 242;
3227         this.KRFreq[30][76] = 241;
3228         this.KRFreq[20][21] = 240;
3229         this.KRFreq[38][66] = 239;
3230         this.KRFreq[32][55] = 238;
3231         this.KRFreq[32][89] = 237;
3232         this.KRFreq[25][26] = 236;
3233         this.KRFreq[16][80] = 235;
3234         this.KRFreq[15][43] = 234;
3235         this.KRFreq[38][54] = 233;
3236         this.KRFreq[39][68] = 232;
3237         this.KRFreq[22][88] = 231;
3238         this.KRFreq[21][84] = 230;
3239         this.KRFreq[21][17] = 229;
3240         this.KRFreq[20][28] = 228;
3241         this.KRFreq[32][1] = 227;
3242         this.KRFreq[33][87] = 226;
3243         this.KRFreq[38][71] = 225;
3244         this.KRFreq[37][47] = 224;
3245         this.KRFreq[18][77] = 223;
3246         this.KRFreq[37][58] = 222;
3247         this.KRFreq[34][74] = 221;
3248         this.KRFreq[32][54] = 220;
3249         this.KRFreq[27][33] = 219;
3250         this.KRFreq[32][93] = 218;
3251         this.KRFreq[23][51] = 217;
3252         this.KRFreq[20][57] = 216;
3253         this.KRFreq[22][37] = 215;
3254         this.KRFreq[39][10] = 214;
3255         this.KRFreq[39][17] = 213;
3256         this.KRFreq[33][4] = 212;
3257         this.KRFreq[32][84] = 211;
3258         this.KRFreq[34][3] = 210;
3259         this.KRFreq[28][27] = 209;
3260         this.KRFreq[15][79] = 208;
3261         this.KRFreq[34][21] = 207;
3262         this.KRFreq[34][69] = 206;
3263         this.KRFreq[21][62] = 205;
3264         this.KRFreq[36][24] = 204;
3265         this.KRFreq[16][89] = 203;
3266         this.KRFreq[18][48] = 202;
3267         this.KRFreq[38][15] = 201;
3268         this.KRFreq[36][58] = 200;
3269         this.KRFreq[21][56] = 199;
3270         this.KRFreq[34][48] = 198;
3271         this.KRFreq[21][15] = 197;
3272         this.KRFreq[39][3] = 196;
3273         this.KRFreq[16][44] = 195;
3274         this.KRFreq[18][79] = 194;
3275         this.KRFreq[25][13] = 193;
3276         this.KRFreq[29][47] = 192;
3277         this.KRFreq[38][88] = 191;
3278         this.KRFreq[20][71] = 190;
3279         this.KRFreq[16][58] = 189;
3280         this.KRFreq[35][57] = 188;
3281         this.KRFreq[29][30] = 187;
3282         this.KRFreq[29][23] = 186;
3283         this.KRFreq[34][93] = 185;
3284         this.KRFreq[30][85] = 184;
3285         this.KRFreq[15][80] = 183;
3286         this.KRFreq[32][78] = 182;
3287         this.KRFreq[37][82] = 181;
3288         this.KRFreq[22][40] = 180;
3289         this.KRFreq[21][69] = 179;
3290         this.KRFreq[26][85] = 178;
3291         this.KRFreq[31][31] = 177;
3292         this.KRFreq[28][64] = 176;
3293         this.KRFreq[38][13] = 175;
3294         this.KRFreq[25][2] = 174;
3295         this.KRFreq[22][34] = 173;
3296         this.KRFreq[28][28] = 172;
3297         this.KRFreq[24][91] = 171;
3298         this.KRFreq[33][74] = 170;
3299         this.KRFreq[29][40] = 169;
3300         this.KRFreq[15][77] = 168;
3301         this.KRFreq[32][80] = 167;
3302         this.KRFreq[30][41] = 166;
3303         this.KRFreq[23][30] = 165;
3304         this.KRFreq[24][63] = 164;
3305         this.KRFreq[30][53] = 163;
3306         this.KRFreq[39][70] = 162;
3307         this.KRFreq[23][61] = 161;
3308         this.KRFreq[37][27] = 160;
3309         this.KRFreq[16][55] = 159;
3310         this.KRFreq[22][74] = 158;
3311         this.KRFreq[26][50] = 157;
3312         this.KRFreq[16][10] = 156;
3313         this.KRFreq[34][63] = 155;
3314         this.KRFreq[35][14] = 154;
3315         this.KRFreq[17][7] = 153;
3316         this.KRFreq[15][59] = 152;
3317         this.KRFreq[27][23] = 151;
3318         this.KRFreq[18][70] = 150;
3319         this.KRFreq[32][56] = 149;
3320         this.KRFreq[37][87] = 148;
3321         this.KRFreq[17][61] = 147;
3322         this.KRFreq[18][83] = 146;
3323         this.KRFreq[23][86] = 145;
3324         this.KRFreq[17][31] = 144;
3325         this.KRFreq[23][83] = 143;
3326         this.KRFreq[35][2] = 142;
3327         this.KRFreq[18][64] = 141;
3328         this.KRFreq[27][43] = 140;
3329         this.KRFreq[32][42] = 139;
3330         this.KRFreq[25][76] = 138;
3331         this.KRFreq[19][85] = 137;
3332         this.KRFreq[37][81] = 136;
3333         this.KRFreq[38][83] = 135;
3334         this.KRFreq[35][7] = 134;
3335         this.KRFreq[16][51] = 133;
3336         this.KRFreq[27][22] = 132;
3337         this.KRFreq[16][76] = 131;
3338         this.KRFreq[22][4] = 130;
3339         this.KRFreq[38][84] = 129;
3340         this.KRFreq[17][83] = 128;
3341         this.KRFreq[24][46] = 127;
3342         this.KRFreq[33][15] = 126;
3343         this.KRFreq[20][48] = 125;
3344         this.KRFreq[17][30] = 124;
3345         this.KRFreq[30][93] = 123;
3346         this.KRFreq[28][11] = 122;
3347         this.KRFreq[28][30] = 121;
3348         this.KRFreq[15][62] = 120;
3349         this.KRFreq[17][87] = 119;
3350         this.KRFreq[32][81] = 118;
3351         this.KRFreq[23][37] = 117;
3352         this.KRFreq[30][22] = 116;
3353         this.KRFreq[32][66] = 115;
3354         this.KRFreq[33][78] = 114;
3355         this.KRFreq[21][4] = 113;
3356         this.KRFreq[31][17] = 112;
3357         this.KRFreq[39][61] = 111;
3358         this.KRFreq[18][76] = 110;
3359         this.KRFreq[15][85] = 109;
3360         this.KRFreq[31][47] = 108;
3361         this.KRFreq[19][57] = 107;
3362         this.KRFreq[23][55] = 106;
3363         this.KRFreq[27][29] = 105;
3364         this.KRFreq[29][46] = 104;
3365         this.KRFreq[33][0] = 103;
3366         this.KRFreq[16][83] = 102;
3367         this.KRFreq[39][78] = 101;
3368         this.KRFreq[32][77] = 100;
3369         this.KRFreq[36][25] = 99;
3370         this.KRFreq[34][19] = 98;
3371         this.KRFreq[38][49] = 97;
3372         this.KRFreq[19][25] = 96;
3373         this.KRFreq[23][53] = 95;
3374         this.KRFreq[28][43] = 94;
3375         this.KRFreq[31][44] = 93;
3376         this.KRFreq[36][34] = 92;
3377         this.KRFreq[16][34] = 91;
3378         this.KRFreq[35][1] = 90;
3379         this.KRFreq[19][87] = 89;
3380         this.KRFreq[18][53] = 88;
3381         this.KRFreq[29][54] = 87;
3382         this.KRFreq[22][41] = 86;
3383         this.KRFreq[38][18] = 85;
3384         this.KRFreq[22][2] = 84;
3385         this.KRFreq[20][3] = 83;
3386         this.KRFreq[39][69] = 82;
3387         this.KRFreq[30][29] = 81;
3388         this.KRFreq[28][19] = 80;
3389         this.KRFreq[29][90] = 79;
3390         this.KRFreq[17][86] = 78;
3391         this.KRFreq[15][9] = 77;
3392         this.KRFreq[39][73] = 76;
3393         this.KRFreq[15][37] = 75;
3394         this.KRFreq[35][40] = 74;
3395         this.KRFreq[33][77] = 73;
3396         this.KRFreq[27][86] = 72;
3397         this.KRFreq[36][79] = 71;
3398         this.KRFreq[23][18] = 70;
3399         this.KRFreq[34][87] = 69;
3400         this.KRFreq[39][24] = 68;
3401         this.KRFreq[26][8] = 67;
3402         this.KRFreq[33][48] = 66;
3403         this.KRFreq[39][30] = 65;
3404         this.KRFreq[33][28] = 64;
3405         this.KRFreq[16][67] = 63;
3406         this.KRFreq[31][78] = 62;
3407         this.KRFreq[32][23] = 61;
3408         this.KRFreq[24][55] = 60;
3409         this.KRFreq[30][68] = 59;
3410         this.KRFreq[18][60] = 58;
3411         this.KRFreq[15][17] = 57;
3412         this.KRFreq[23][34] = 56;
3413         this.KRFreq[20][49] = 55;
3414         this.KRFreq[15][78] = 54;
3415         this.KRFreq[24][14] = 53;
3416         this.KRFreq[19][41] = 52;
3417         this.KRFreq[31][55] = 51;
3418         this.KRFreq[21][39] = 50;
3419         this.KRFreq[35][9] = 49;
3420         this.KRFreq[30][15] = 48;
3421         this.KRFreq[20][52] = 47;
3422         this.KRFreq[35][71] = 46;
3423         this.KRFreq[20][7] = 45;
3424         this.KRFreq[29][72] = 44;
3425         this.KRFreq[37][77] = 43;
3426         this.KRFreq[22][35] = 42;
3427         this.KRFreq[20][61] = 41;
3428         this.KRFreq[31][60] = 40;
3429         this.KRFreq[20][93] = 39;
3430         this.KRFreq[27][92] = 38;
3431         this.KRFreq[28][16] = 37;
3432         this.KRFreq[36][26] = 36;
3433         this.KRFreq[18][89] = 35;
3434         this.KRFreq[21][63] = 34;
3435         this.KRFreq[22][52] = 33;
3436         this.KRFreq[24][65] = 32;
3437         this.KRFreq[31][8] = 31;
3438         this.KRFreq[31][49] = 30;
3439         this.KRFreq[33][30] = 29;
3440         this.KRFreq[37][15] = 28;
3441         this.KRFreq[18][18] = 27;
3442         this.KRFreq[25][50] = 26;
3443         this.KRFreq[29][20] = 25;
3444         this.KRFreq[35][48] = 24;
3445         this.KRFreq[38][75] = 23;
3446         this.KRFreq[26][83] = 22;
3447         this.KRFreq[21][87] = 21;
3448         this.KRFreq[27][71] = 20;
3449         this.KRFreq[32][91] = 19;
3450         this.KRFreq[25][73] = 18;
3451         this.KRFreq[16][84] = 17;
3452         this.KRFreq[25][31] = 16;
3453         this.KRFreq[17][90] = 15;
3454         this.KRFreq[18][40] = 14;
3455         this.KRFreq[17][77] = 13;
3456         this.KRFreq[17][35] = 12;
3457         this.KRFreq[23][52] = 11;
3458         this.KRFreq[23][35] = 10;
3459         this.KRFreq[16][5] = 9;
3460         this.KRFreq[23][58] = 8;
3461         this.KRFreq[19][60] = 7;
3462         this.KRFreq[30][32] = 6;
3463         this.KRFreq[38][34] = 5;
3464         this.KRFreq[23][4] = 4;
3465         this.KRFreq[23][1] = 3;
3466         this.KRFreq[27][57] = 2;
3467         this.KRFreq[39][38] = 1;
3468         this.KRFreq[32][33] = 0;
3469         this.JPFreq[3][74] = 600;
3470         this.JPFreq[3][45] = 599;
3471         this.JPFreq[3][3] = 598;
3472         this.JPFreq[3][24] = 597;
3473         this.JPFreq[3][30] = 596;
3474         this.JPFreq[3][42] = 595;
3475         this.JPFreq[3][46] = 594;
3476         this.JPFreq[3][39] = 593;
3477         this.JPFreq[3][11] = 592;
3478         this.JPFreq[3][37] = 591;
3479         this.JPFreq[3][38] = 590;
3480         this.JPFreq[3][31] = 589;
3481         this.JPFreq[3][41] = 588;
3482         this.JPFreq[3][5] = 587;
3483         this.JPFreq[3][10] = 586;
3484         this.JPFreq[3][75] = 585;
3485         this.JPFreq[3][65] = 584;
3486         this.JPFreq[3][72] = 583;
3487         this.JPFreq[37][91] = 582;
3488         this.JPFreq[0][27] = 581;
3489         this.JPFreq[3][18] = 580;
3490         this.JPFreq[3][22] = 579;
3491         this.JPFreq[3][61] = 578;
3492         this.JPFreq[3][14] = 577;
3493         this.JPFreq[24][80] = 576;
3494         this.JPFreq[4][82] = 575;
3495         this.JPFreq[17][80] = 574;
3496         this.JPFreq[30][44] = 573;
3497         this.JPFreq[3][73] = 572;
3498         this.JPFreq[3][64] = 571;
3499         this.JPFreq[38][14] = 570;
3500         this.JPFreq[33][70] = 569;
3501         this.JPFreq[3][1] = 568;
3502         this.JPFreq[3][16] = 567;
3503         this.JPFreq[3][35] = 566;
3504         this.JPFreq[3][40] = 565;
3505         this.JPFreq[4][74] = 564;
3506         this.JPFreq[4][24] = 563;
3507         this.JPFreq[42][59] = 562;
3508         this.JPFreq[3][7] = 561;
3509         this.JPFreq[3][71] = 560;
3510         this.JPFreq[3][12] = 559;
3511         this.JPFreq[15][75] = 558;
3512         this.JPFreq[3][20] = 557;
3513         this.JPFreq[4][39] = 556;
3514         this.JPFreq[34][69] = 555;
3515         this.JPFreq[3][28] = 554;
3516         this.JPFreq[35][24] = 553;
3517         this.JPFreq[3][82] = 552;
3518         this.JPFreq[28][47] = 551;
3519         this.JPFreq[3][67] = 550;
3520         this.JPFreq[37][16] = 549;
3521         this.JPFreq[26][93] = 548;
3522         this.JPFreq[4][1] = 547;
3523         this.JPFreq[26][85] = 546;
3524         this.JPFreq[31][14] = 545;
3525         this.JPFreq[4][3] = 544;
3526         this.JPFreq[4][72] = 543;
3527         this.JPFreq[24][51] = 542;
3528         this.JPFreq[27][51] = 541;
3529         this.JPFreq[27][49] = 540;
3530         this.JPFreq[22][77] = 539;
3531         this.JPFreq[27][10] = 538;
3532         this.JPFreq[29][68] = 537;
3533         this.JPFreq[20][35] = 536;
3534         this.JPFreq[41][11] = 535;
3535         this.JPFreq[24][70] = 534;
3536         this.JPFreq[36][61] = 533;
3537         this.JPFreq[31][23] = 532;
3538         this.JPFreq[43][16] = 531;
3539         this.JPFreq[23][68] = 530;
3540         this.JPFreq[32][15] = 529;
3541         this.JPFreq[3][32] = 528;
3542         this.JPFreq[19][53] = 527;
3543         this.JPFreq[40][83] = 526;
3544         this.JPFreq[4][14] = 525;
3545         this.JPFreq[36][9] = 524;
3546         this.JPFreq[4][73] = 523;
3547         this.JPFreq[23][10] = 522;
3548         this.JPFreq[3][63] = 521;
3549         this.JPFreq[39][14] = 520;
3550         this.JPFreq[3][78] = 519;
3551         this.JPFreq[33][47] = 518;
3552         this.JPFreq[21][39] = 517;
3553         this.JPFreq[34][46] = 516;
3554         this.JPFreq[36][75] = 515;
3555         this.JPFreq[41][92] = 514;
3556         this.JPFreq[37][93] = 513;
3557         this.JPFreq[4][34] = 512;
3558         this.JPFreq[15][86] = 511;
3559         this.JPFreq[46][1] = 510;
3560         this.JPFreq[37][65] = 509;
3561         this.JPFreq[3][62] = 508;
3562         this.JPFreq[32][73] = 507;
3563         this.JPFreq[21][65] = 506;
3564         this.JPFreq[29][75] = 505;
3565         this.JPFreq[26][51] = 504;
3566         this.JPFreq[3][34] = 503;
3567         this.JPFreq[4][10] = 502;
3568         this.JPFreq[30][22] = 501;
3569         this.JPFreq[35][73] = 500;
3570         this.JPFreq[17][82] = 499;
3571         this.JPFreq[45][8] = 498;
3572         this.JPFreq[27][73] = 497;
3573         this.JPFreq[18][55] = 496;
3574         this.JPFreq[25][2] = 495;
3575         this.JPFreq[3][26] = 494;
3576         this.JPFreq[45][46] = 493;
3577         this.JPFreq[4][22] = 492;
3578         this.JPFreq[4][40] = 491;
3579         this.JPFreq[18][10] = 490;
3580         this.JPFreq[32][9] = 489;
3581         this.JPFreq[26][49] = 488;
3582         this.JPFreq[3][47] = 487;
3583         this.JPFreq[24][65] = 486;
3584         this.JPFreq[4][76] = 485;
3585         this.JPFreq[43][67] = 484;
3586         this.JPFreq[3][9] = 483;
3587         this.JPFreq[41][37] = 482;
3588         this.JPFreq[33][68] = 481;
3589         this.JPFreq[43][31] = 480;
3590         this.JPFreq[19][55] = 479;
3591         this.JPFreq[4][30] = 478;
3592         this.JPFreq[27][33] = 477;
3593         this.JPFreq[16][62] = 476;
3594         this.JPFreq[36][35] = 475;
3595         this.JPFreq[37][15] = 474;
3596         this.JPFreq[27][70] = 473;
3597         this.JPFreq[22][71] = 472;
3598         this.JPFreq[33][45] = 471;
3599         this.JPFreq[31][78] = 470;
3600         this.JPFreq[43][59] = 469;
3601         this.JPFreq[32][19] = 468;
3602         this.JPFreq[17][28] = 467;
3603         this.JPFreq[40][28] = 466;
3604         this.JPFreq[20][93] = 465;
3605         this.JPFreq[18][15] = 464;
3606         this.JPFreq[4][23] = 463;
3607         this.JPFreq[3][23] = 462;
3608         this.JPFreq[26][64] = 461;
3609         this.JPFreq[44][92] = 460;
3610         this.JPFreq[17][27] = 459;
3611         this.JPFreq[3][56] = 458;
3612         this.JPFreq[25][38] = 457;
3613         this.JPFreq[23][31] = 456;
3614         this.JPFreq[35][43] = 455;
3615         this.JPFreq[4][54] = 454;
3616         this.JPFreq[35][19] = 453;
3617         this.JPFreq[22][47] = 452;
3618         this.JPFreq[42][0] = 451;
3619         this.JPFreq[23][28] = 450;
3620         this.JPFreq[46][33] = 449;
3621         this.JPFreq[36][85] = 448;
3622         this.JPFreq[31][12] = 447;
3623         this.JPFreq[3][76] = 446;
3624         this.JPFreq[4][75] = 445;
3625         this.JPFreq[36][56] = 444;
3626         this.JPFreq[4][64] = 443;
3627         this.JPFreq[25][77] = 442;
3628         this.JPFreq[15][52] = 441;
3629         this.JPFreq[33][73] = 440;
3630         this.JPFreq[3][55] = 439;
3631         this.JPFreq[43][82] = 438;
3632         this.JPFreq[27][82] = 437;
3633         this.JPFreq[20][3] = 436;
3634         this.JPFreq[40][51] = 435;
3635         this.JPFreq[3][17] = 434;
3636         this.JPFreq[27][71] = 433;
3637         this.JPFreq[4][52] = 432;
3638         this.JPFreq[44][48] = 431;
3639         this.JPFreq[27][2] = 430;
3640         this.JPFreq[17][39] = 429;
3641         this.JPFreq[31][8] = 428;
3642         this.JPFreq[44][54] = 427;
3643         this.JPFreq[43][18] = 426;
3644         this.JPFreq[43][77] = 425;
3645         this.JPFreq[4][61] = 424;
3646         this.JPFreq[19][91] = 423;
3647         this.JPFreq[31][13] = 422;
3648         this.JPFreq[44][71] = 421;
3649         this.JPFreq[20][0] = 420;
3650         this.JPFreq[23][87] = 419;
3651         this.JPFreq[21][14] = 418;
3652         this.JPFreq[29][13] = 417;
3653         this.JPFreq[3][58] = 416;
3654         this.JPFreq[26][18] = 415;
3655         this.JPFreq[4][47] = 414;
3656         this.JPFreq[4][18] = 413;
3657         this.JPFreq[3][53] = 412;
3658         this.JPFreq[26][92] = 411;
3659         this.JPFreq[21][7] = 410;
3660         this.JPFreq[4][37] = 409;
3661         this.JPFreq[4][63] = 408;
3662         this.JPFreq[36][51] = 407;
3663         this.JPFreq[4][32] = 406;
3664         this.JPFreq[28][73] = 405;
3665         this.JPFreq[4][50] = 404;
3666         this.JPFreq[41][60] = 403;
3667         this.JPFreq[23][1] = 402;
3668         this.JPFreq[36][92] = 401;
3669         this.JPFreq[15][41] = 400;
3670         this.JPFreq[21][71] = 399;
3671         this.JPFreq[41][30] = 398;
3672         this.JPFreq[32][76] = 397;
3673         this.JPFreq[17][34] = 396;
3674         this.JPFreq[26][15] = 395;
3675         this.JPFreq[26][25] = 394;
3676         this.JPFreq[31][77] = 393;
3677         this.JPFreq[31][3] = 392;
3678         this.JPFreq[46][34] = 391;
3679         this.JPFreq[27][84] = 390;
3680         this.JPFreq[23][8] = 389;
3681         this.JPFreq[16][0] = 388;
3682         this.JPFreq[28][80] = 387;
3683         this.JPFreq[26][54] = 386;
3684         this.JPFreq[33][18] = 385;
3685         this.JPFreq[31][20] = 384;
3686         this.JPFreq[31][62] = 383;
3687         this.JPFreq[30][41] = 382;
3688         this.JPFreq[33][30] = 381;
3689         this.JPFreq[45][45] = 380;
3690         this.JPFreq[37][82] = 379;
3691         this.JPFreq[15][33] = 378;
3692         this.JPFreq[20][12] = 377;
3693         this.JPFreq[18][5] = 376;
3694         this.JPFreq[28][86] = 375;
3695         this.JPFreq[30][19] = 374;
3696         this.JPFreq[42][43] = 373;
3697         this.JPFreq[36][31] = 372;
3698         this.JPFreq[17][93] = 371;
3699         this.JPFreq[4][15] = 370;
3700         this.JPFreq[21][20] = 369;
3701         this.JPFreq[23][21] = 368;
3702         this.JPFreq[28][72] = 367;
3703         this.JPFreq[4][20] = 366;
3704         this.JPFreq[26][55] = 365;
3705         this.JPFreq[21][5] = 364;
3706         this.JPFreq[19][16] = 363;
3707         this.JPFreq[23][64] = 362;
3708         this.JPFreq[40][59] = 361;
3709         this.JPFreq[37][26] = 360;
3710         this.JPFreq[26][56] = 359;
3711         this.JPFreq[4][12] = 358;
3712         this.JPFreq[33][71] = 357;
3713         this.JPFreq[32][39] = 356;
3714         this.JPFreq[38][40] = 355;
3715         this.JPFreq[22][74] = 354;
3716         this.JPFreq[3][25] = 353;
3717         this.JPFreq[15][48] = 352;
3718         this.JPFreq[41][82] = 351;
3719         this.JPFreq[41][9] = 350;
3720         this.JPFreq[25][48] = 349;
3721         this.JPFreq[31][71] = 348;
3722         this.JPFreq[43][29] = 347;
3723         this.JPFreq[26][80] = 346;
3724         this.JPFreq[4][5] = 345;
3725         this.JPFreq[18][71] = 344;
3726         this.JPFreq[29][0] = 343;
3727         this.JPFreq[43][43] = 342;
3728         this.JPFreq[23][81] = 341;
3729         this.JPFreq[4][42] = 340;
3730         this.JPFreq[44][28] = 339;
3731         this.JPFreq[23][93] = 338;
3732         this.JPFreq[17][81] = 337;
3733         this.JPFreq[25][25] = 336;
3734         this.JPFreq[41][23] = 335;
3735         this.JPFreq[34][35] = 334;
3736         this.JPFreq[4][53] = 333;
3737         this.JPFreq[28][36] = 332;
3738         this.JPFreq[4][41] = 331;
3739         this.JPFreq[25][60] = 330;
3740         this.JPFreq[23][20] = 329;
3741         this.JPFreq[3][43] = 328;
3742         this.JPFreq[24][79] = 327;
3743         this.JPFreq[29][41] = 326;
3744         this.JPFreq[30][83] = 325;
3745         this.JPFreq[3][50] = 324;
3746         this.JPFreq[22][18] = 323;
3747         this.JPFreq[18][3] = 322;
3748         this.JPFreq[39][30] = 321;
3749         this.JPFreq[4][28] = 320;
3750         this.JPFreq[21][64] = 319;
3751         this.JPFreq[4][68] = 318;
3752         this.JPFreq[17][71] = 317;
3753         this.JPFreq[27][0] = 316;
3754         this.JPFreq[39][28] = 315;
3755         this.JPFreq[30][13] = 314;
3756         this.JPFreq[36][70] = 313;
3757         this.JPFreq[20][82] = 312;
3758         this.JPFreq[33][38] = 311;
3759         this.JPFreq[44][87] = 310;
3760         this.JPFreq[34][45] = 309;
3761         this.JPFreq[4][26] = 308;
3762         this.JPFreq[24][44] = 307;
3763         this.JPFreq[38][67] = 306;
3764         this.JPFreq[38][6] = 305;
3765         this.JPFreq[30][68] = 304;
3766         this.JPFreq[15][89] = 303;
3767         this.JPFreq[24][93] = 302;
3768         this.JPFreq[40][41] = 301;
3769         this.JPFreq[38][3] = 300;
3770         this.JPFreq[28][23] = 299;
3771         this.JPFreq[26][17] = 298;
3772         this.JPFreq[4][38] = 297;
3773         this.JPFreq[22][78] = 296;
3774         this.JPFreq[15][37] = 295;
3775         this.JPFreq[25][85] = 294;
3776         this.JPFreq[4][9] = 293;
3777         this.JPFreq[4][7] = 292;
3778         this.JPFreq[27][53] = 291;
3779         this.JPFreq[39][29] = 290;
3780         this.JPFreq[41][43] = 289;
3781         this.JPFreq[25][62] = 288;
3782         this.JPFreq[4][48] = 287;
3783         this.JPFreq[28][28] = 286;
3784         this.JPFreq[21][40] = 285;
3785         this.JPFreq[36][73] = 284;
3786         this.JPFreq[26][39] = 283;
3787         this.JPFreq[22][54] = 282;
3788         this.JPFreq[33][5] = 281;
3789         this.JPFreq[19][21] = 280;
3790         this.JPFreq[46][31] = 279;
3791         this.JPFreq[20][64] = 278;
3792         this.JPFreq[26][63] = 277;
3793         this.JPFreq[22][23] = 276;
3794         this.JPFreq[25][81] = 275;
3795         this.JPFreq[4][62] = 274;
3796         this.JPFreq[37][31] = 273;
3797         this.JPFreq[40][52] = 272;
3798         this.JPFreq[29][79] = 271;
3799         this.JPFreq[41][48] = 270;
3800         this.JPFreq[31][57] = 269;
3801         this.JPFreq[32][92] = 268;
3802         this.JPFreq[36][36] = 267;
3803         this.JPFreq[27][7] = 266;
3804         this.JPFreq[35][29] = 265;
3805         this.JPFreq[37][34] = 264;
3806         this.JPFreq[34][42] = 263;
3807         this.JPFreq[27][15] = 262;
3808         this.JPFreq[33][27] = 261;
3809         this.JPFreq[31][38] = 260;
3810         this.JPFreq[19][79] = 259;
3811         this.JPFreq[4][31] = 258;
3812         this.JPFreq[4][66] = 257;
3813         this.JPFreq[17][32] = 256;
3814         this.JPFreq[26][67] = 255;
3815         this.JPFreq[16][30] = 254;
3816         this.JPFreq[26][46] = 253;
3817         this.JPFreq[24][26] = 252;
3818         this.JPFreq[35][10] = 251;
3819         this.JPFreq[18][37] = 250;
3820         this.JPFreq[3][19] = 249;
3821         this.JPFreq[33][69] = 248;
3822         this.JPFreq[31][9] = 247;
3823         this.JPFreq[45][29] = 246;
3824         this.JPFreq[3][15] = 245;
3825         this.JPFreq[18][54] = 244;
3826         this.JPFreq[3][44] = 243;
3827         this.JPFreq[31][29] = 242;
3828         this.JPFreq[18][45] = 241;
3829         this.JPFreq[38][28] = 240;
3830         this.JPFreq[24][12] = 239;
3831         this.JPFreq[35][82] = 238;
3832         this.JPFreq[17][43] = 237;
3833         this.JPFreq[28][9] = 236;
3834         this.JPFreq[23][25] = 235;
3835         this.JPFreq[44][37] = 234;
3836         this.JPFreq[23][75] = 233;
3837         this.JPFreq[23][92] = 232;
3838         this.JPFreq[0][24] = 231;
3839         this.JPFreq[19][74] = 230;
3840         this.JPFreq[45][32] = 229;
3841         this.JPFreq[16][72] = 228;
3842         this.JPFreq[16][93] = 227;
3843         this.JPFreq[45][13] = 226;
3844         this.JPFreq[24][8] = 225;
3845         this.JPFreq[25][47] = 224;
3846         this.JPFreq[28][26] = 223;
3847         this.JPFreq[43][81] = 222;
3848         this.JPFreq[32][71] = 221;
3849         this.JPFreq[18][41] = 220;
3850         this.JPFreq[26][62] = 219;
3851         this.JPFreq[41][24] = 218;
3852         this.JPFreq[40][11] = 217;
3853         this.JPFreq[43][57] = 216;
3854         this.JPFreq[34][53] = 215;
3855         this.JPFreq[20][32] = 214;
3856         this.JPFreq[34][43] = 213;
3857         this.JPFreq[41][91] = 212;
3858         this.JPFreq[29][57] = 211;
3859         this.JPFreq[15][43] = 210;
3860         this.JPFreq[22][89] = 209;
3861         this.JPFreq[33][83] = 208;
3862         this.JPFreq[43][20] = 207;
3863         this.JPFreq[25][58] = 206;
3864         this.JPFreq[30][30] = 205;
3865         this.JPFreq[4][56] = 204;
3866         this.JPFreq[17][64] = 203;
3867         this.JPFreq[23][0] = 202;
3868         this.JPFreq[44][12] = 201;
3869         this.JPFreq[25][37] = 200;
3870         this.JPFreq[35][13] = 199;
3871         this.JPFreq[20][30] = 198;
3872         this.JPFreq[21][84] = 197;
3873         this.JPFreq[29][14] = 196;
3874         this.JPFreq[30][5] = 195;
3875         this.JPFreq[37][2] = 194;
3876         this.JPFreq[4][78] = 193;
3877         this.JPFreq[29][78] = 192;
3878         this.JPFreq[29][84] = 191;
3879         this.JPFreq[32][86] = 190;
3880         this.JPFreq[20][68] = 189;
3881         this.JPFreq[30][39] = 188;
3882         this.JPFreq[15][69] = 187;
3883         this.JPFreq[4][60] = 186;
3884         this.JPFreq[20][61] = 185;
3885         this.JPFreq[41][67] = 184;
3886         this.JPFreq[16][35] = 183;
3887         this.JPFreq[36][57] = 182;
3888         this.JPFreq[39][80] = 181;
3889         this.JPFreq[4][59] = 180;
3890         this.JPFreq[4][44] = 179;
3891         this.JPFreq[40][54] = 178;
3892         this.JPFreq[30][8] = 177;
3893         this.JPFreq[44][30] = 176;
3894         this.JPFreq[31][93] = 175;
3895         this.JPFreq[31][47] = 174;
3896         this.JPFreq[16][70] = 173;
3897         this.JPFreq[21][0] = 172;
3898         this.JPFreq[17][35] = 171;
3899         this.JPFreq[21][67] = 170;
3900         this.JPFreq[44][18] = 169;
3901         this.JPFreq[36][29] = 168;
3902         this.JPFreq[18][67] = 167;
3903         this.JPFreq[24][28] = 166;
3904         this.JPFreq[36][24] = 165;
3905         this.JPFreq[23][5] = 164;
3906         this.JPFreq[31][65] = 163;
3907         this.JPFreq[26][59] = 162;
3908         this.JPFreq[28][2] = 161;
3909         this.JPFreq[39][69] = 160;
3910         this.JPFreq[42][40] = 159;
3911         this.JPFreq[37][80] = 158;
3912         this.JPFreq[15][66] = 157;
3913         this.JPFreq[34][38] = 156;
3914         this.JPFreq[28][48] = 155;
3915         this.JPFreq[37][77] = 154;
3916         this.JPFreq[29][34] = 153;
3917         this.JPFreq[33][12] = 152;
3918         this.JPFreq[4][65] = 151;
3919         this.JPFreq[30][31] = 150;
3920         this.JPFreq[27][92] = 149;
3921         this.JPFreq[4][2] = 148;
3922         this.JPFreq[4][51] = 147;
3923         this.JPFreq[23][77] = 146;
3924         this.JPFreq[4][35] = 145;
3925         this.JPFreq[3][13] = 144;
3926         this.JPFreq[26][26] = 143;
3927         this.JPFreq[44][4] = 142;
3928         this.JPFreq[39][53] = 141;
3929         this.JPFreq[20][11] = 140;
3930         this.JPFreq[40][33] = 139;
3931         this.JPFreq[45][7] = 138;
3932         this.JPFreq[4][70] = 137;
3933         this.JPFreq[3][49] = 136;
3934         this.JPFreq[20][59] = 135;
3935         this.JPFreq[21][12] = 134;
3936         this.JPFreq[33][53] = 133;
3937         this.JPFreq[20][14] = 132;
3938         this.JPFreq[37][18] = 131;
3939         this.JPFreq[18][17] = 130;
3940         this.JPFreq[36][23] = 129;
3941         this.JPFreq[18][57] = 128;
3942         this.JPFreq[26][74] = 127;
3943         this.JPFreq[35][2] = 126;
3944         this.JPFreq[38][58] = 125;
3945         this.JPFreq[34][68] = 124;
3946         this.JPFreq[29][81] = 123;
3947         this.JPFreq[20][69] = 122;
3948         this.JPFreq[39][86] = 121;
3949         this.JPFreq[4][16] = 120;
3950         this.JPFreq[16][49] = 119;
3951         this.JPFreq[15][72] = 118;
3952         this.JPFreq[26][35] = 117;
3953         this.JPFreq[32][14] = 116;
3954         this.JPFreq[40][90] = 115;
3955         this.JPFreq[33][79] = 114;
3956         this.JPFreq[35][4] = 113;
3957         this.JPFreq[23][33] = 112;
3958         this.JPFreq[19][19] = 111;
3959         this.JPFreq[31][41] = 110;
3960         this.JPFreq[44][1] = 109;
3961         this.JPFreq[22][56] = 108;
3962         this.JPFreq[31][27] = 107;
3963         this.JPFreq[32][18] = 106;
3964         this.JPFreq[27][32] = 105;
3965         this.JPFreq[37][39] = 104;
3966         this.JPFreq[42][11] = 103;
3967         this.JPFreq[29][71] = 102;
3968         this.JPFreq[32][58] = 101;
3969         this.JPFreq[46][10] = 100;
3970         this.JPFreq[17][30] = 99;
3971         this.JPFreq[38][15] = 98;
3972         this.JPFreq[29][60] = 97;
3973         this.JPFreq[4][11] = 96;
3974         this.JPFreq[38][31] = 95;
3975         this.JPFreq[40][79] = 94;
3976         this.JPFreq[28][49] = 93;
3977         this.JPFreq[28][84] = 92;
3978         this.JPFreq[26][77] = 91;
3979         this.JPFreq[22][32] = 90;
3980         this.JPFreq[33][17] = 89;
3981         this.JPFreq[23][18] = 88;
3982         this.JPFreq[32][64] = 87;
3983         this.JPFreq[4][6] = 86;
3984         this.JPFreq[33][51] = 85;
3985         this.JPFreq[44][77] = 84;
3986         this.JPFreq[29][5] = 83;
3987         this.JPFreq[46][25] = 82;
3988         this.JPFreq[19][58] = 81;
3989         this.JPFreq[4][46] = 80;
3990         this.JPFreq[15][71] = 79;
3991         this.JPFreq[18][58] = 78;
3992         this.JPFreq[26][45] = 77;
3993         this.JPFreq[45][66] = 76;
3994         this.JPFreq[34][10] = 75;
3995         this.JPFreq[19][37] = 74;
3996         this.JPFreq[33][65] = 73;
3997         this.JPFreq[44][52] = 72;
3998         this.JPFreq[16][38] = 71;
3999         this.JPFreq[36][46] = 70;
4000         this.JPFreq[20][26] = 69;
4001         this.JPFreq[30][37] = 68;
4002         this.JPFreq[4][58] = 67;
4003         this.JPFreq[43][2] = 66;
4004         this.JPFreq[30][18] = 65;
4005         this.JPFreq[19][35] = 64;
4006         this.JPFreq[15][68] = 63;
4007         this.JPFreq[3][36] = 62;
4008         this.JPFreq[35][40] = 61;
4009         this.JPFreq[36][32] = 60;
4010         this.JPFreq[37][14] = 59;
4011         this.JPFreq[17][11] = 58;
4012         this.JPFreq[19][78] = 57;
4013         this.JPFreq[37][11] = 56;
4014         this.JPFreq[28][63] = 55;
4015         this.JPFreq[29][61] = 54;
4016         this.JPFreq[33][3] = 53;
4017         this.JPFreq[41][52] = 52;
4018         this.JPFreq[33][63] = 51;
4019         this.JPFreq[22][41] = 50;
4020         this.JPFreq[4][19] = 49;
4021         this.JPFreq[32][41] = 48;
4022         this.JPFreq[24][4] = 47;
4023         this.JPFreq[31][28] = 46;
4024         this.JPFreq[43][30] = 45;
4025         this.JPFreq[17][3] = 44;
4026         this.JPFreq[43][70] = 43;
4027         this.JPFreq[34][19] = 42;
4028         this.JPFreq[20][77] = 41;
4029         this.JPFreq[18][83] = 40;
4030         this.JPFreq[17][15] = 39;
4031         this.JPFreq[23][61] = 38;
4032         this.JPFreq[40][27] = 37;
4033         this.JPFreq[16][48] = 36;
4034         this.JPFreq[39][78] = 35;
4035         this.JPFreq[41][53] = 34;
4036         this.JPFreq[40][91] = 33;
4037         this.JPFreq[40][72] = 32;
4038         this.JPFreq[18][52] = 31;
4039         this.JPFreq[35][66] = 30;
4040         this.JPFreq[39][93] = 29;
4041         this.JPFreq[19][48] = 28;
4042         this.JPFreq[26][36] = 27;
4043         this.JPFreq[27][25] = 26;
4044         this.JPFreq[42][71] = 25;
4045         this.JPFreq[42][85] = 24;
4046         this.JPFreq[26][48] = 23;
4047         this.JPFreq[28][15] = 22;
4048         this.JPFreq[3][66] = 21;
4049         this.JPFreq[25][24] = 20;
4050         this.JPFreq[27][43] = 19;
4051         this.JPFreq[27][78] = 18;
4052         this.JPFreq[45][43] = 17;
4053         this.JPFreq[27][72] = 16;
4054         this.JPFreq[40][29] = 15;
4055         this.JPFreq[41][0] = 14;
4056         this.JPFreq[19][57] = 13;
4057         this.JPFreq[15][59] = 12;
4058         this.JPFreq[29][29] = 11;
4059         this.JPFreq[4][25] = 10;
4060         this.JPFreq[21][42] = 9;
4061         this.JPFreq[23][35] = 8;
4062         this.JPFreq[33][1] = 7;
4063         this.JPFreq[4][57] = 6;
4064         this.JPFreq[17][60] = 5;
4065         this.JPFreq[25][19] = 4;
4066         this.JPFreq[22][65] = 3;
4067         this.JPFreq[42][29] = 2;
4068         this.JPFreq[27][66] = 1;
4069         this.JPFreq[26][89] = 0;
4070     }
4071 }
View Code
  1 class Encoding
  2 {
  3     public static int GB2312;
  4     public static int GBK;
  5     public static int GB18030;
  6     public static int HZ;
  7     public static int BIG5;
  8     public static int CNS11643;
  9     public static int UTF8;
 10     public static int UTF8T;
 11     public static int UTF8S;
 12     public static int UNICODE;
 13     public static int UNICODET;
 14     public static int UNICODES;
 15     public static int ISO2022CN;
 16     public static int ISO2022CN_CNS;
 17     public static int ISO2022CN_GB;
 18     public static int EUC_KR;
 19     public static int CP949;
 20     public static int ISO2022KR;
 21     public static int JOHAB;
 22     public static int SJIS;
 23     public static int EUC_JP;
 24     public static int ISO2022JP;
 25     public static int ASCII;
 26     public static int OTHER;
 27     public static int TOTALTYPES;
 28     public static final int SIMP = 0;
 29     public static final int TRAD = 1;
 30     public static String[] javaname;
 31     public static String[] nicename;
 32     public static String[] htmlname;
 33     
 34     static {
 35         Encoding.GB2312 = 0;
 36         Encoding.GBK = 1;
 37         Encoding.GB18030 = 2;
 38         Encoding.HZ = 3;
 39         Encoding.BIG5 = 4;
 40         Encoding.CNS11643 = 5;
 41         Encoding.UTF8 = 6;
 42         Encoding.UTF8T = 7;
 43         Encoding.UTF8S = 8;
 44         Encoding.UNICODE = 9;
 45         Encoding.UNICODET = 10;
 46         Encoding.UNICODES = 11;
 47         Encoding.ISO2022CN = 12;
 48         Encoding.ISO2022CN_CNS = 13;
 49         Encoding.ISO2022CN_GB = 14;
 50         Encoding.EUC_KR = 15;
 51         Encoding.CP949 = 16;
 52         Encoding.ISO2022KR = 17;
 53         Encoding.JOHAB = 18;
 54         Encoding.SJIS = 19;
 55         Encoding.EUC_JP = 20;
 56         Encoding.ISO2022JP = 21;
 57         Encoding.ASCII = 22;
 58         Encoding.OTHER = 23;
 59         Encoding.TOTALTYPES = 24;
 60     }
 61     
 62     public Encoding() {
 63         super();
 64         Encoding.javaname = new String[Encoding.TOTALTYPES];
 65         Encoding.nicename = new String[Encoding.TOTALTYPES];
 66         Encoding.htmlname = new String[Encoding.TOTALTYPES];
 67         Encoding.javaname[Encoding.GB2312] = "GB2312";
 68         Encoding.javaname[Encoding.GBK] = "GBK";
 69         Encoding.javaname[Encoding.GB18030] = "GB18030";
 70         Encoding.javaname[Encoding.HZ] = "ASCII";
 71         Encoding.javaname[Encoding.ISO2022CN_GB] = "ISO2022CN_GB";
 72         Encoding.javaname[Encoding.BIG5] = "BIG5";
 73         Encoding.javaname[Encoding.CNS11643] = "EUC-TW";
 74         Encoding.javaname[Encoding.ISO2022CN_CNS] = "ISO2022CN_CNS";
 75         Encoding.javaname[Encoding.ISO2022CN] = "ISO2022CN";
 76         Encoding.javaname[Encoding.UTF8] = "UTF-8";
 77         Encoding.javaname[Encoding.UTF8T] = "UTF-8";
 78         Encoding.javaname[Encoding.UTF8S] = "UTF-8";
 79         Encoding.javaname[Encoding.UNICODE] = "Unicode";
 80         Encoding.javaname[Encoding.UNICODET] = "Unicode";
 81         Encoding.javaname[Encoding.UNICODES] = "Unicode";
 82         Encoding.javaname[Encoding.EUC_KR] = "EUC_KR";
 83         Encoding.javaname[Encoding.CP949] = "MS949";
 84         Encoding.javaname[Encoding.ISO2022KR] = "ISO2022KR";
 85         Encoding.javaname[Encoding.JOHAB] = "Johab";
 86         Encoding.javaname[Encoding.SJIS] = "SJIS";
 87         Encoding.javaname[Encoding.EUC_JP] = "EUC_JP";
 88         Encoding.javaname[Encoding.ISO2022JP] = "ISO2022JP";
 89         Encoding.javaname[Encoding.ASCII] = "ASCII";
 90         Encoding.javaname[Encoding.OTHER] = "ISO8859_1";
 91         Encoding.htmlname[Encoding.GB2312] = "GB2312";
 92         Encoding.htmlname[Encoding.GBK] = "GBK";
 93         Encoding.htmlname[Encoding.GB18030] = "GB18030";
 94         Encoding.htmlname[Encoding.HZ] = "HZ-GB-2312";
 95         Encoding.htmlname[Encoding.ISO2022CN_GB] = "ISO-2022-CN-EXT";
 96         Encoding.htmlname[Encoding.BIG5] = "BIG5";
 97         Encoding.htmlname[Encoding.CNS11643] = "EUC-TW";
 98         Encoding.htmlname[Encoding.ISO2022CN_CNS] = "ISO-2022-CN-EXT";
 99         Encoding.htmlname[Encoding.ISO2022CN] = "ISO-2022-CN";
100         Encoding.htmlname[Encoding.UTF8] = "UTF-8";
101         Encoding.htmlname[Encoding.UTF8T] = "UTF-8";
102         Encoding.htmlname[Encoding.UTF8S] = "UTF-8";
103         Encoding.htmlname[Encoding.UNICODE] = "UTF-16";
104         Encoding.htmlname[Encoding.UNICODET] = "UTF-16";
105         Encoding.htmlname[Encoding.UNICODES] = "UTF-16";
106         Encoding.htmlname[Encoding.EUC_KR] = "EUC-KR";
107         Encoding.htmlname[Encoding.CP949] = "x-windows-949";
108         Encoding.htmlname[Encoding.ISO2022KR] = "ISO-2022-KR";
109         Encoding.htmlname[Encoding.JOHAB] = "x-Johab";
110         Encoding.htmlname[Encoding.SJIS] = "Shift_JIS";
111         Encoding.htmlname[Encoding.EUC_JP] = "EUC-JP";
112         Encoding.htmlname[Encoding.ISO2022JP] = "ISO-2022-JP";
113         Encoding.htmlname[Encoding.ASCII] = "ASCII";
114         Encoding.htmlname[Encoding.OTHER] = "ISO8859-1";
115         Encoding.nicename[Encoding.GB2312] = "GB-2312";
116         Encoding.nicename[Encoding.GBK] = "GBK";
117         Encoding.nicename[Encoding.GB18030] = "GB18030";
118         Encoding.nicename[Encoding.HZ] = "HZ";
119         Encoding.nicename[Encoding.ISO2022CN_GB] = "ISO2022CN-GB";
120         Encoding.nicename[Encoding.BIG5] = "Big5";
121         Encoding.nicename[Encoding.CNS11643] = "CNS11643";
122         Encoding.nicename[Encoding.ISO2022CN_CNS] = "ISO2022CN-CNS";
123         Encoding.nicename[Encoding.ISO2022CN] = "ISO2022 CN";
124         Encoding.nicename[Encoding.UTF8] = "UTF-8";
125         Encoding.nicename[Encoding.UTF8T] = "UTF-8 (Trad)";
126         Encoding.nicename[Encoding.UTF8S] = "UTF-8 (Simp)";
127         Encoding.nicename[Encoding.UNICODE] = "Unicode";
128         Encoding.nicename[Encoding.UNICODET] = "Unicode (Trad)";
129         Encoding.nicename[Encoding.UNICODES] = "Unicode (Simp)";
130         Encoding.nicename[Encoding.EUC_KR] = "EUC-KR";
131         Encoding.nicename[Encoding.CP949] = "CP949";
132         Encoding.nicename[Encoding.ISO2022KR] = "ISO 2022 KR";
133         Encoding.nicename[Encoding.JOHAB] = "Johab";
134         Encoding.nicename[Encoding.SJIS] = "Shift-JIS";
135         Encoding.nicename[Encoding.EUC_JP] = "EUC-JP";
136         Encoding.nicename[Encoding.ISO2022JP] = "ISO 2022 JP";
137         Encoding.nicename[Encoding.ASCII] = "ASCII";
138         Encoding.nicename[Encoding.OTHER] = "OTHER";
139     }
140 }
View Code

 

posted @ 2016-12-30 14:28  Orc_Warrior  阅读(197)  评论(0编辑  收藏  举报