Tesseract  3.02
tesseract-ocr/image/imgunpk.h
Go to the documentation of this file.
00001 /**********************************************************************
00002  * File:        imgunpk.h  (Formerly unpack.h)
00003  * Description: Definitions of fast unpacking look-up tables for images.c.
00004  * Author:      Ray Smith
00005  * Created:     Mon Jun 11 18:06:34 BST 1990
00006  *
00007  * (C) Copyright 1990, Hewlett-Packard Ltd.
00008  ** Licensed under the Apache License, Version 2.0 (the "License");
00009  ** you may not use this file except in compliance with the License.
00010  ** You may obtain a copy of the License at
00011  ** http://www.apache.org/licenses/LICENSE-2.0
00012  ** Unless required by applicable law or agreed to in writing, software
00013  ** distributed under the License is distributed on an "AS IS" BASIS,
00014  ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  ** See the License for the specific language governing permissions and
00016  ** limitations under the License.
00017  *
00018  **********************************************************************/
00019 
00020 #ifndef           IMGUNPK_H
00021 #define           IMGUNPK_H
00022 
00023 #include          "host.h"
00024 
00025 const uinT8 bpp4table[256][2] = {      // 4 bit converter
00026   {0, 0}, {0, 1}, {0, 2}, {0, 3},
00027   {0, 4}, {0, 5}, {0, 6}, {0, 7},
00028   {0, 8}, {0, 9}, {0, 10}, {0, 11},
00029   {0, 12}, {0, 13}, {0, 14}, {0, 15},
00030   {1, 0}, {1, 1}, {1, 2}, {1, 3},
00031   {1, 4}, {1, 5}, {1, 6}, {1, 7},
00032   {1, 8}, {1, 9}, {1, 10}, {1, 11},
00033   {1, 12}, {1, 13}, {1, 14}, {1, 15},
00034   {2, 0}, {2, 1}, {2, 2}, {2, 3},
00035   {2, 4}, {2, 5}, {2, 6}, {2, 7},
00036   {2, 8}, {2, 9}, {2, 10}, {2, 11},
00037   {2, 12}, {2, 13}, {2, 14}, {2, 15},
00038   {3, 0}, {3, 1}, {3, 2}, {3, 3},
00039   {3, 4}, {3, 5}, {3, 6}, {3, 7},
00040   {3, 8}, {3, 9}, {3, 10}, {3, 11},
00041   {3, 12}, {3, 13}, {3, 14}, {3, 15},
00042   {4, 0}, {4, 1}, {4, 2}, {4, 3},
00043   {4, 4}, {4, 5}, {4, 6}, {4, 7},
00044   {4, 8}, {4, 9}, {4, 10}, {4, 11},
00045   {4, 12}, {4, 13}, {4, 14}, {4, 15},
00046   {5, 0}, {5, 1}, {5, 2}, {5, 3},
00047   {5, 4}, {5, 5}, {5, 6}, {5, 7},
00048   {5, 8}, {5, 9}, {5, 10}, {5, 11},
00049   {5, 12}, {5, 13}, {5, 14}, {5, 15},
00050   {6, 0}, {6, 1}, {6, 2}, {6, 3},
00051   {6, 4}, {6, 5}, {6, 6}, {6, 7},
00052   {6, 8}, {6, 9}, {6, 10}, {6, 11},
00053   {6, 12}, {6, 13}, {6, 14}, {6, 15},
00054   {7, 0}, {7, 1}, {7, 2}, {7, 3},
00055   {7, 4}, {7, 5}, {7, 6}, {7, 7},
00056   {7, 8}, {7, 9}, {7, 10}, {7, 11},
00057   {7, 12}, {7, 13}, {7, 14}, {7, 15},
00058   {8, 0}, {8, 1}, {8, 2}, {8, 3},
00059   {8, 4}, {8, 5}, {8, 6}, {8, 7},
00060   {8, 8}, {8, 9}, {8, 10}, {8, 11},
00061   {8, 12}, {8, 13}, {8, 14}, {8, 15},
00062   {9, 0}, {9, 1}, {9, 2}, {9, 3},
00063   {9, 4}, {9, 5}, {9, 6}, {9, 7},
00064   {9, 8}, {9, 9}, {9, 10}, {9, 11},
00065   {9, 12}, {9, 13}, {9, 14}, {9, 15},
00066   {10, 0}, {10, 1}, {10, 2}, {10, 3},
00067   {10, 4}, {10, 5}, {10, 6}, {10, 7},
00068   {10, 8}, {10, 9}, {10, 10}, {10, 11},
00069   {10, 12}, {10, 13}, {10, 14}, {10, 15},
00070   {11, 0}, {11, 1}, {11, 2}, {11, 3},
00071   {11, 4}, {11, 5}, {11, 6}, {11, 7},
00072   {11, 8}, {11, 9}, {11, 10}, {11, 11},
00073   {11, 12}, {11, 13}, {11, 14}, {11, 15},
00074   {12, 0}, {12, 1}, {12, 2}, {12, 3},
00075   {12, 4}, {12, 5}, {12, 6}, {12, 7},
00076   {12, 8}, {12, 9}, {12, 10}, {12, 11},
00077   {12, 12}, {12, 13}, {12, 14}, {12, 15},
00078   {13, 0}, {13, 1}, {13, 2}, {13, 3},
00079   {13, 4}, {13, 5}, {13, 6}, {13, 7},
00080   {13, 8}, {13, 9}, {13, 10}, {13, 11},
00081   {13, 12}, {13, 13}, {13, 14}, {13, 15},
00082   {14, 0}, {14, 1}, {14, 2}, {14, 3},
00083   {14, 4}, {14, 5}, {14, 6}, {14, 7},
00084   {14, 8}, {14, 9}, {14, 10}, {14, 11},
00085   {14, 12}, {14, 13}, {14, 14}, {14, 15},
00086   {15, 0}, {15, 1}, {15, 2}, {15, 3},
00087   {15, 4}, {15, 5}, {15, 6}, {15, 7},
00088   {15, 8}, {15, 9}, {15, 10}, {15, 11},
00089   {15, 12}, {15, 13}, {15, 14}, {15, 15},
00090 };
00091 
00092 const uinT8 bpp2table[256][4] = {      // 2bpp converter
00093   {0, 0, 0, 0},
00094   {0, 0, 0, 1},
00095   {0, 0, 0, 2},
00096   {0, 0, 0, 3},
00097   {0, 0, 1, 0},
00098   {0, 0, 1, 1},
00099   {0, 0, 1, 2},
00100   {0, 0, 1, 3},
00101   {0, 0, 2, 0},
00102   {0, 0, 2, 1},
00103   {0, 0, 2, 2},
00104   {0, 0, 2, 3},
00105   {0, 0, 3, 0},
00106   {0, 0, 3, 1},
00107   {0, 0, 3, 2},
00108   {0, 0, 3, 3},
00109   {0, 1, 0, 0},
00110   {0, 1, 0, 1},
00111   {0, 1, 0, 2},
00112   {0, 1, 0, 3},
00113   {0, 1, 1, 0},
00114   {0, 1, 1, 1},
00115   {0, 1, 1, 2},
00116   {0, 1, 1, 3},
00117   {0, 1, 2, 0},
00118   {0, 1, 2, 1},
00119   {0, 1, 2, 2},
00120   {0, 1, 2, 3},
00121   {0, 1, 3, 0},
00122   {0, 1, 3, 1},
00123   {0, 1, 3, 2},
00124   {0, 1, 3, 3},
00125   {0, 2, 0, 0},
00126   {0, 2, 0, 1},
00127   {0, 2, 0, 2},
00128   {0, 2, 0, 3},
00129   {0, 2, 1, 0},
00130   {0, 2, 1, 1},
00131   {0, 2, 1, 2},
00132   {0, 2, 1, 3},
00133   {0, 2, 2, 0},
00134   {0, 2, 2, 1},
00135   {0, 2, 2, 2},
00136   {0, 2, 2, 3},
00137   {0, 2, 3, 0},
00138   {0, 2, 3, 1},
00139   {0, 2, 3, 2},
00140   {0, 2, 3, 3},
00141   {0, 3, 0, 0},
00142   {0, 3, 0, 1},
00143   {0, 3, 0, 2},
00144   {0, 3, 0, 3},
00145   {0, 3, 1, 0},
00146   {0, 3, 1, 1},
00147   {0, 3, 1, 2},
00148   {0, 3, 1, 3},
00149   {0, 3, 2, 0},
00150   {0, 3, 2, 1},
00151   {0, 3, 2, 2},
00152   {0, 3, 2, 3},
00153   {0, 3, 3, 0},
00154   {0, 3, 3, 1},
00155   {0, 3, 3, 2},
00156   {0, 3, 3, 3},
00157   {1, 0, 0, 0},
00158   {1, 0, 0, 1},
00159   {1, 0, 0, 2},
00160   {1, 0, 0, 3},
00161   {1, 0, 1, 0},
00162   {1, 0, 1, 1},
00163   {1, 0, 1, 2},
00164   {1, 0, 1, 3},
00165   {1, 0, 2, 0},
00166   {1, 0, 2, 1},
00167   {1, 0, 2, 2},
00168   {1, 0, 2, 3},
00169   {1, 0, 3, 0},
00170   {1, 0, 3, 1},
00171   {1, 0, 3, 2},
00172   {1, 0, 3, 3},
00173   {1, 1, 0, 0},
00174   {1, 1, 0, 1},
00175   {1, 1, 0, 2},
00176   {1, 1, 0, 3},
00177   {1, 1, 1, 0},
00178   {1, 1, 1, 1},
00179   {1, 1, 1, 2},
00180   {1, 1, 1, 3},
00181   {1, 1, 2, 0},
00182   {1, 1, 2, 1},
00183   {1, 1, 2, 2},
00184   {1, 1, 2, 3},
00185   {1, 1, 3, 0},
00186   {1, 1, 3, 1},
00187   {1, 1, 3, 2},
00188   {1, 1, 3, 3},
00189   {1, 2, 0, 0},
00190   {1, 2, 0, 1},
00191   {1, 2, 0, 2},
00192   {1, 2, 0, 3},
00193   {1, 2, 1, 0},
00194   {1, 2, 1, 1},
00195   {1, 2, 1, 2},
00196   {1, 2, 1, 3},
00197   {1, 2, 2, 0},
00198   {1, 2, 2, 1},
00199   {1, 2, 2, 2},
00200   {1, 2, 2, 3},
00201   {1, 2, 3, 0},
00202   {1, 2, 3, 1},
00203   {1, 2, 3, 2},
00204   {1, 2, 3, 3},
00205   {1, 3, 0, 0},
00206   {1, 3, 0, 1},
00207   {1, 3, 0, 2},
00208   {1, 3, 0, 3},
00209   {1, 3, 1, 0},
00210   {1, 3, 1, 1},
00211   {1, 3, 1, 2},
00212   {1, 3, 1, 3},
00213   {1, 3, 2, 0},
00214   {1, 3, 2, 1},
00215   {1, 3, 2, 2},
00216   {1, 3, 2, 3},
00217   {1, 3, 3, 0},
00218   {1, 3, 3, 1},
00219   {1, 3, 3, 2},
00220   {1, 3, 3, 3},
00221   {2, 0, 0, 0},
00222   {2, 0, 0, 1},
00223   {2, 0, 0, 2},
00224   {2, 0, 0, 3},
00225   {2, 0, 1, 0},
00226   {2, 0, 1, 1},
00227   {2, 0, 1, 2},
00228   {2, 0, 1, 3},
00229   {2, 0, 2, 0},
00230   {2, 0, 2, 1},
00231   {2, 0, 2, 2},
00232   {2, 0, 2, 3},
00233   {2, 0, 3, 0},
00234   {2, 0, 3, 1},
00235   {2, 0, 3, 2},
00236   {2, 0, 3, 3},
00237   {2, 1, 0, 0},
00238   {2, 1, 0, 1},
00239   {2, 1, 0, 2},
00240   {2, 1, 0, 3},
00241   {2, 1, 1, 0},
00242   {2, 1, 1, 1},
00243   {2, 1, 1, 2},
00244   {2, 1, 1, 3},
00245   {2, 1, 2, 0},
00246   {2, 1, 2, 1},
00247   {2, 1, 2, 2},
00248   {2, 1, 2, 3},
00249   {2, 1, 3, 0},
00250   {2, 1, 3, 1},
00251   {2, 1, 3, 2},
00252   {2, 1, 3, 3},
00253   {2, 2, 0, 0},
00254   {2, 2, 0, 1},
00255   {2, 2, 0, 2},
00256   {2, 2, 0, 3},
00257   {2, 2, 1, 0},
00258   {2, 2, 1, 1},
00259   {2, 2, 1, 2},
00260   {2, 2, 1, 3},
00261   {2, 2, 2, 0},
00262   {2, 2, 2, 1},
00263   {2, 2, 2, 2},
00264   {2, 2, 2, 3},
00265   {2, 2, 3, 0},
00266   {2, 2, 3, 1},
00267   {2, 2, 3, 2},
00268   {2, 2, 3, 3},
00269   {2, 3, 0, 0},
00270   {2, 3, 0, 1},
00271   {2, 3, 0, 2},
00272   {2, 3, 0, 3},
00273   {2, 3, 1, 0},
00274   {2, 3, 1, 1},
00275   {2, 3, 1, 2},
00276   {2, 3, 1, 3},
00277   {2, 3, 2, 0},
00278   {2, 3, 2, 1},
00279   {2, 3, 2, 2},
00280   {2, 3, 2, 3},
00281   {2, 3, 3, 0},
00282   {2, 3, 3, 1},
00283   {2, 3, 3, 2},
00284   {2, 3, 3, 3},
00285   {3, 0, 0, 0},
00286   {3, 0, 0, 1},
00287   {3, 0, 0, 2},
00288   {3, 0, 0, 3},
00289   {3, 0, 1, 0},
00290   {3, 0, 1, 1},
00291   {3, 0, 1, 2},
00292   {3, 0, 1, 3},
00293   {3, 0, 2, 0},
00294   {3, 0, 2, 1},
00295   {3, 0, 2, 2},
00296   {3, 0, 2, 3},
00297   {3, 0, 3, 0},
00298   {3, 0, 3, 1},
00299   {3, 0, 3, 2},
00300   {3, 0, 3, 3},
00301   {3, 1, 0, 0},
00302   {3, 1, 0, 1},
00303   {3, 1, 0, 2},
00304   {3, 1, 0, 3},
00305   {3, 1, 1, 0},
00306   {3, 1, 1, 1},
00307   {3, 1, 1, 2},
00308   {3, 1, 1, 3},
00309   {3, 1, 2, 0},
00310   {3, 1, 2, 1},
00311   {3, 1, 2, 2},
00312   {3, 1, 2, 3},
00313   {3, 1, 3, 0},
00314   {3, 1, 3, 1},
00315   {3, 1, 3, 2},
00316   {3, 1, 3, 3},
00317   {3, 2, 0, 0},
00318   {3, 2, 0, 1},
00319   {3, 2, 0, 2},
00320   {3, 2, 0, 3},
00321   {3, 2, 1, 0},
00322   {3, 2, 1, 1},
00323   {3, 2, 1, 2},
00324   {3, 2, 1, 3},
00325   {3, 2, 2, 0},
00326   {3, 2, 2, 1},
00327   {3, 2, 2, 2},
00328   {3, 2, 2, 3},
00329   {3, 2, 3, 0},
00330   {3, 2, 3, 1},
00331   {3, 2, 3, 2},
00332   {3, 2, 3, 3},
00333   {3, 3, 0, 0},
00334   {3, 3, 0, 1},
00335   {3, 3, 0, 2},
00336   {3, 3, 0, 3},
00337   {3, 3, 1, 0},
00338   {3, 3, 1, 1},
00339   {3, 3, 1, 2},
00340   {3, 3, 1, 3},
00341   {3, 3, 2, 0},
00342   {3, 3, 2, 1},
00343   {3, 3, 2, 2},
00344   {3, 3, 2, 3},
00345   {3, 3, 3, 0},
00346   {3, 3, 3, 1},
00347   {3, 3, 3, 2},
00348   {3, 3, 3, 3},
00349 };
00350 
00351 const uinT8 bpp1table[256][8] = {      // 1bpp converter
00352   {0, 0, 0, 0, 0, 0, 0, 0},
00353   {0, 0, 0, 0, 0, 0, 0, 1},
00354   {0, 0, 0, 0, 0, 0, 1, 0},
00355   {0, 0, 0, 0, 0, 0, 1, 1},
00356   {0, 0, 0, 0, 0, 1, 0, 0},
00357   {0, 0, 0, 0, 0, 1, 0, 1},
00358   {0, 0, 0, 0, 0, 1, 1, 0},
00359   {0, 0, 0, 0, 0, 1, 1, 1},
00360   {0, 0, 0, 0, 1, 0, 0, 0},
00361   {0, 0, 0, 0, 1, 0, 0, 1},
00362   {0, 0, 0, 0, 1, 0, 1, 0},
00363   {0, 0, 0, 0, 1, 0, 1, 1},
00364   {0, 0, 0, 0, 1, 1, 0, 0},
00365   {0, 0, 0, 0, 1, 1, 0, 1},
00366   {0, 0, 0, 0, 1, 1, 1, 0},
00367   {0, 0, 0, 0, 1, 1, 1, 1},
00368   {0, 0, 0, 1, 0, 0, 0, 0},
00369   {0, 0, 0, 1, 0, 0, 0, 1},
00370   {0, 0, 0, 1, 0, 0, 1, 0},
00371   {0, 0, 0, 1, 0, 0, 1, 1},
00372   {0, 0, 0, 1, 0, 1, 0, 0},
00373   {0, 0, 0, 1, 0, 1, 0, 1},
00374   {0, 0, 0, 1, 0, 1, 1, 0},
00375   {0, 0, 0, 1, 0, 1, 1, 1},
00376   {0, 0, 0, 1, 1, 0, 0, 0},
00377   {0, 0, 0, 1, 1, 0, 0, 1},
00378   {0, 0, 0, 1, 1, 0, 1, 0},
00379   {0, 0, 0, 1, 1, 0, 1, 1},
00380   {0, 0, 0, 1, 1, 1, 0, 0},
00381   {0, 0, 0, 1, 1, 1, 0, 1},
00382   {0, 0, 0, 1, 1, 1, 1, 0},
00383   {0, 0, 0, 1, 1, 1, 1, 1},
00384   {0, 0, 1, 0, 0, 0, 0, 0},
00385   {0, 0, 1, 0, 0, 0, 0, 1},
00386   {0, 0, 1, 0, 0, 0, 1, 0},
00387   {0, 0, 1, 0, 0, 0, 1, 1},
00388   {0, 0, 1, 0, 0, 1, 0, 0},
00389   {0, 0, 1, 0, 0, 1, 0, 1},
00390   {0, 0, 1, 0, 0, 1, 1, 0},
00391   {0, 0, 1, 0, 0, 1, 1, 1},
00392   {0, 0, 1, 0, 1, 0, 0, 0},
00393   {0, 0, 1, 0, 1, 0, 0, 1},
00394   {0, 0, 1, 0, 1, 0, 1, 0},
00395   {0, 0, 1, 0, 1, 0, 1, 1},
00396   {0, 0, 1, 0, 1, 1, 0, 0},
00397   {0, 0, 1, 0, 1, 1, 0, 1},
00398   {0, 0, 1, 0, 1, 1, 1, 0},
00399   {0, 0, 1, 0, 1, 1, 1, 1},
00400   {0, 0, 1, 1, 0, 0, 0, 0},
00401   {0, 0, 1, 1, 0, 0, 0, 1},
00402   {0, 0, 1, 1, 0, 0, 1, 0},
00403   {0, 0, 1, 1, 0, 0, 1, 1},
00404   {0, 0, 1, 1, 0, 1, 0, 0},
00405   {0, 0, 1, 1, 0, 1, 0, 1},
00406   {0, 0, 1, 1, 0, 1, 1, 0},
00407   {0, 0, 1, 1, 0, 1, 1, 1},
00408   {0, 0, 1, 1, 1, 0, 0, 0},
00409   {0, 0, 1, 1, 1, 0, 0, 1},
00410   {0, 0, 1, 1, 1, 0, 1, 0},
00411   {0, 0, 1, 1, 1, 0, 1, 1},
00412   {0, 0, 1, 1, 1, 1, 0, 0},
00413   {0, 0, 1, 1, 1, 1, 0, 1},
00414   {0, 0, 1, 1, 1, 1, 1, 0},
00415   {0, 0, 1, 1, 1, 1, 1, 1},
00416   {0, 1, 0, 0, 0, 0, 0, 0},
00417   {0, 1, 0, 0, 0, 0, 0, 1},
00418   {0, 1, 0, 0, 0, 0, 1, 0},
00419   {0, 1, 0, 0, 0, 0, 1, 1},
00420   {0, 1, 0, 0, 0, 1, 0, 0},
00421   {0, 1, 0, 0, 0, 1, 0, 1},
00422   {0, 1, 0, 0, 0, 1, 1, 0},
00423   {0, 1, 0, 0, 0, 1, 1, 1},
00424   {0, 1, 0, 0, 1, 0, 0, 0},
00425   {0, 1, 0, 0, 1, 0, 0, 1},
00426   {0, 1, 0, 0, 1, 0, 1, 0},
00427   {0, 1, 0, 0, 1, 0, 1, 1},
00428   {0, 1, 0, 0, 1, 1, 0, 0},
00429   {0, 1, 0, 0, 1, 1, 0, 1},
00430   {0, 1, 0, 0, 1, 1, 1, 0},
00431   {0, 1, 0, 0, 1, 1, 1, 1},
00432   {0, 1, 0, 1, 0, 0, 0, 0},
00433   {0, 1, 0, 1, 0, 0, 0, 1},
00434   {0, 1, 0, 1, 0, 0, 1, 0},
00435   {0, 1, 0, 1, 0, 0, 1, 1},
00436   {0, 1, 0, 1, 0, 1, 0, 0},
00437   {0, 1, 0, 1, 0, 1, 0, 1},
00438   {0, 1, 0, 1, 0, 1, 1, 0},
00439   {0, 1, 0, 1, 0, 1, 1, 1},
00440   {0, 1, 0, 1, 1, 0, 0, 0},
00441   {0, 1, 0, 1, 1, 0, 0, 1},
00442   {0, 1, 0, 1, 1, 0, 1, 0},
00443   {0, 1, 0, 1, 1, 0, 1, 1},
00444   {0, 1, 0, 1, 1, 1, 0, 0},
00445   {0, 1, 0, 1, 1, 1, 0, 1},
00446   {0, 1, 0, 1, 1, 1, 1, 0},
00447   {0, 1, 0, 1, 1, 1, 1, 1},
00448   {0, 1, 1, 0, 0, 0, 0, 0},
00449   {0, 1, 1, 0, 0, 0, 0, 1},
00450   {0, 1, 1, 0, 0, 0, 1, 0},
00451   {0, 1, 1, 0, 0, 0, 1, 1},
00452   {0, 1, 1, 0, 0, 1, 0, 0},
00453   {0, 1, 1, 0, 0, 1, 0, 1},
00454   {0, 1, 1, 0, 0, 1, 1, 0},
00455   {0, 1, 1, 0, 0, 1, 1, 1},
00456   {0, 1, 1, 0, 1, 0, 0, 0},
00457   {0, 1, 1, 0, 1, 0, 0, 1},
00458   {0, 1, 1, 0, 1, 0, 1, 0},
00459   {0, 1, 1, 0, 1, 0, 1, 1},
00460   {0, 1, 1, 0, 1, 1, 0, 0},
00461   {0, 1, 1, 0, 1, 1, 0, 1},
00462   {0, 1, 1, 0, 1, 1, 1, 0},
00463   {0, 1, 1, 0, 1, 1, 1, 1},
00464   {0, 1, 1, 1, 0, 0, 0, 0},
00465   {0, 1, 1, 1, 0, 0, 0, 1},
00466   {0, 1, 1, 1, 0, 0, 1, 0},
00467   {0, 1, 1, 1, 0, 0, 1, 1},
00468   {0, 1, 1, 1, 0, 1, 0, 0},
00469   {0, 1, 1, 1, 0, 1, 0, 1},
00470   {0, 1, 1, 1, 0, 1, 1, 0},
00471   {0, 1, 1, 1, 0, 1, 1, 1},
00472   {0, 1, 1, 1, 1, 0, 0, 0},
00473   {0, 1, 1, 1, 1, 0, 0, 1},
00474   {0, 1, 1, 1, 1, 0, 1, 0},
00475   {0, 1, 1, 1, 1, 0, 1, 1},
00476   {0, 1, 1, 1, 1, 1, 0, 0},
00477   {0, 1, 1, 1, 1, 1, 0, 1},
00478   {0, 1, 1, 1, 1, 1, 1, 0},
00479   {0, 1, 1, 1, 1, 1, 1, 1},
00480   {1, 0, 0, 0, 0, 0, 0, 0},
00481   {1, 0, 0, 0, 0, 0, 0, 1},
00482   {1, 0, 0, 0, 0, 0, 1, 0},
00483   {1, 0, 0, 0, 0, 0, 1, 1},
00484   {1, 0, 0, 0, 0, 1, 0, 0},
00485   {1, 0, 0, 0, 0, 1, 0, 1},
00486   {1, 0, 0, 0, 0, 1, 1, 0},
00487   {1, 0, 0, 0, 0, 1, 1, 1},
00488   {1, 0, 0, 0, 1, 0, 0, 0},
00489   {1, 0, 0, 0, 1, 0, 0, 1},
00490   {1, 0, 0, 0, 1, 0, 1, 0},
00491   {1, 0, 0, 0, 1, 0, 1, 1},
00492   {1, 0, 0, 0, 1, 1, 0, 0},
00493   {1, 0, 0, 0, 1, 1, 0, 1},
00494   {1, 0, 0, 0, 1, 1, 1, 0},
00495   {1, 0, 0, 0, 1, 1, 1, 1},
00496   {1, 0, 0, 1, 0, 0, 0, 0},
00497   {1, 0, 0, 1, 0, 0, 0, 1},
00498   {1, 0, 0, 1, 0, 0, 1, 0},
00499   {1, 0, 0, 1, 0, 0, 1, 1},
00500   {1, 0, 0, 1, 0, 1, 0, 0},
00501   {1, 0, 0, 1, 0, 1, 0, 1},
00502   {1, 0, 0, 1, 0, 1, 1, 0},
00503   {1, 0, 0, 1, 0, 1, 1, 1},
00504   {1, 0, 0, 1, 1, 0, 0, 0},
00505   {1, 0, 0, 1, 1, 0, 0, 1},
00506   {1, 0, 0, 1, 1, 0, 1, 0},
00507   {1, 0, 0, 1, 1, 0, 1, 1},
00508   {1, 0, 0, 1, 1, 1, 0, 0},
00509   {1, 0, 0, 1, 1, 1, 0, 1},
00510   {1, 0, 0, 1, 1, 1, 1, 0},
00511   {1, 0, 0, 1, 1, 1, 1, 1},
00512   {1, 0, 1, 0, 0, 0, 0, 0},
00513   {1, 0, 1, 0, 0, 0, 0, 1},
00514   {1, 0, 1, 0, 0, 0, 1, 0},
00515   {1, 0, 1, 0, 0, 0, 1, 1},
00516   {1, 0, 1, 0, 0, 1, 0, 0},
00517   {1, 0, 1, 0, 0, 1, 0, 1},
00518   {1, 0, 1, 0, 0, 1, 1, 0},
00519   {1, 0, 1, 0, 0, 1, 1, 1},
00520   {1, 0, 1, 0, 1, 0, 0, 0},
00521   {1, 0, 1, 0, 1, 0, 0, 1},
00522   {1, 0, 1, 0, 1, 0, 1, 0},
00523   {1, 0, 1, 0, 1, 0, 1, 1},
00524   {1, 0, 1, 0, 1, 1, 0, 0},
00525   {1, 0, 1, 0, 1, 1, 0, 1},
00526   {1, 0, 1, 0, 1, 1, 1, 0},
00527   {1, 0, 1, 0, 1, 1, 1, 1},
00528   {1, 0, 1, 1, 0, 0, 0, 0},
00529   {1, 0, 1, 1, 0, 0, 0, 1},
00530   {1, 0, 1, 1, 0, 0, 1, 0},
00531   {1, 0, 1, 1, 0, 0, 1, 1},
00532   {1, 0, 1, 1, 0, 1, 0, 0},
00533   {1, 0, 1, 1, 0, 1, 0, 1},
00534   {1, 0, 1, 1, 0, 1, 1, 0},
00535   {1, 0, 1, 1, 0, 1, 1, 1},
00536   {1, 0, 1, 1, 1, 0, 0, 0},
00537   {1, 0, 1, 1, 1, 0, 0, 1},
00538   {1, 0, 1, 1, 1, 0, 1, 0},
00539   {1, 0, 1, 1, 1, 0, 1, 1},
00540   {1, 0, 1, 1, 1, 1, 0, 0},
00541   {1, 0, 1, 1, 1, 1, 0, 1},
00542   {1, 0, 1, 1, 1, 1, 1, 0},
00543   {1, 0, 1, 1, 1, 1, 1, 1},
00544   {1, 1, 0, 0, 0, 0, 0, 0},
00545   {1, 1, 0, 0, 0, 0, 0, 1},
00546   {1, 1, 0, 0, 0, 0, 1, 0},
00547   {1, 1, 0, 0, 0, 0, 1, 1},
00548   {1, 1, 0, 0, 0, 1, 0, 0},
00549   {1, 1, 0, 0, 0, 1, 0, 1},
00550   {1, 1, 0, 0, 0, 1, 1, 0},
00551   {1, 1, 0, 0, 0, 1, 1, 1},
00552   {1, 1, 0, 0, 1, 0, 0, 0},
00553   {1, 1, 0, 0, 1, 0, 0, 1},
00554   {1, 1, 0, 0, 1, 0, 1, 0},
00555   {1, 1, 0, 0, 1, 0, 1, 1},
00556   {1, 1, 0, 0, 1, 1, 0, 0},
00557   {1, 1, 0, 0, 1, 1, 0, 1},
00558   {1, 1, 0, 0, 1, 1, 1, 0},
00559   {1, 1, 0, 0, 1, 1, 1, 1},
00560   {1, 1, 0, 1, 0, 0, 0, 0},
00561   {1, 1, 0, 1, 0, 0, 0, 1},
00562   {1, 1, 0, 1, 0, 0, 1, 0},
00563   {1, 1, 0, 1, 0, 0, 1, 1},
00564   {1, 1, 0, 1, 0, 1, 0, 0},
00565   {1, 1, 0, 1, 0, 1, 0, 1},
00566   {1, 1, 0, 1, 0, 1, 1, 0},
00567   {1, 1, 0, 1, 0, 1, 1, 1},
00568   {1, 1, 0, 1, 1, 0, 0, 0},
00569   {1, 1, 0, 1, 1, 0, 0, 1},
00570   {1, 1, 0, 1, 1, 0, 1, 0},
00571   {1, 1, 0, 1, 1, 0, 1, 1},
00572   {1, 1, 0, 1, 1, 1, 0, 0},
00573   {1, 1, 0, 1, 1, 1, 0, 1},
00574   {1, 1, 0, 1, 1, 1, 1, 0},
00575   {1, 1, 0, 1, 1, 1, 1, 1},
00576   {1, 1, 1, 0, 0, 0, 0, 0},
00577   {1, 1, 1, 0, 0, 0, 0, 1},
00578   {1, 1, 1, 0, 0, 0, 1, 0},
00579   {1, 1, 1, 0, 0, 0, 1, 1},
00580   {1, 1, 1, 0, 0, 1, 0, 0},
00581   {1, 1, 1, 0, 0, 1, 0, 1},
00582   {1, 1, 1, 0, 0, 1, 1, 0},
00583   {1, 1, 1, 0, 0, 1, 1, 1},
00584   {1, 1, 1, 0, 1, 0, 0, 0},
00585   {1, 1, 1, 0, 1, 0, 0, 1},
00586   {1, 1, 1, 0, 1, 0, 1, 0},
00587   {1, 1, 1, 0, 1, 0, 1, 1},
00588   {1, 1, 1, 0, 1, 1, 0, 0},
00589   {1, 1, 1, 0, 1, 1, 0, 1},
00590   {1, 1, 1, 0, 1, 1, 1, 0},
00591   {1, 1, 1, 0, 1, 1, 1, 1},
00592   {1, 1, 1, 1, 0, 0, 0, 0},
00593   {1, 1, 1, 1, 0, 0, 0, 1},
00594   {1, 1, 1, 1, 0, 0, 1, 0},
00595   {1, 1, 1, 1, 0, 0, 1, 1},
00596   {1, 1, 1, 1, 0, 1, 0, 0},
00597   {1, 1, 1, 1, 0, 1, 0, 1},
00598   {1, 1, 1, 1, 0, 1, 1, 0},
00599   {1, 1, 1, 1, 0, 1, 1, 1},
00600   {1, 1, 1, 1, 1, 0, 0, 0},
00601   {1, 1, 1, 1, 1, 0, 0, 1},
00602   {1, 1, 1, 1, 1, 0, 1, 0},
00603   {1, 1, 1, 1, 1, 0, 1, 1},
00604   {1, 1, 1, 1, 1, 1, 0, 0},
00605   {1, 1, 1, 1, 1, 1, 0, 1},
00606   {1, 1, 1, 1, 1, 1, 1, 0},
00607   {1, 1, 1, 1, 1, 1, 1, 1},
00608 };
00609 #endif