Home | History | Annotate | Download | only in libhwjpeg
      1 /*
      2  * Copyright Samsung Electronics Co.,LTD.
      3  * Copyright (C) 2011 The Android Open Source Project
      4  *
      5  * Licensed under the Apache License, Version 2.0 (the "License");
      6  * you may not use this file except in compliance with the License.
      7  * You may obtain a copy of the License at
      8  *
      9  *     http://www.apache.org/licenses/LICENSE-2.0
     10  *
     11  * Unless required by applicable law or agreed to in writing, software
     12  * distributed under the License is distributed on an "AS IS" BASIS,
     13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14  * See the License for the specific language governing permissions and
     15  * limitations under the License.
     16  */
     17 
     18 #include <stdio.h>
     19 #include <stdlib.h>
     20 #include <sys/types.h>
     21 #include <sys/stat.h>
     22 #include <sys/ioctl.h>
     23 #include <fcntl.h>
     24 #include <ctype.h>
     25 #include <unistd.h>
     26 #include <sys/mman.h>
     27 #include <string.h>
     28 #include <errno.h>
     29 #include <signal.h>
     30 #include <math.h>
     31 #include <sys/poll.h>
     32 
     33 #include <cutils/log.h>
     34 
     35 #include <utils/Log.h>
     36 
     37 #include "ExynosJpegApi.h"
     38 
     39 #define JPEG_ERROR_LOG(fmt,...)
     40 
     41 #define NUM_JPEG_DEC_IN_PLANES (1)
     42 #define NUM_JPEG_DEC_OUT_PLANES (1)
     43 
     44 #define NUM_JPEG_DEC_IN_BUFS (1)
     45 #define NUM_JPEG_DEC_OUT_BUFS (1)
     46 
     47 #define MAX_JPG_WIDTH (8192)
     48 #define MAX_JPG_HEIGHT (8192)
     49 
     50 ExynosJpegDecoder::ExynosJpegDecoder()
     51 {
     52     t_iJpegFd = -1;
     53     t_bFlagCreate = false;
     54 }
     55 
     56 ExynosJpegDecoder::~ExynosJpegDecoder()
     57 {
     58     if (t_bFlagCreate == true) {
     59         this->destroy();
     60     }
     61 }
     62 
     63 int ExynosJpegDecoder::create(void)
     64 {
     65     return ExynosJpegBase::create(MODE_DECODE);
     66 }
     67 
     68 int ExynosJpegDecoder::destroy(void)
     69 {
     70     return ExynosJpegBase::destroy(NUM_JPEG_DEC_IN_BUFS, NUM_JPEG_DEC_OUT_BUFS);
     71 }
     72 
     73 int ExynosJpegDecoder::setJpegConfig(void *pConfig)
     74 {
     75     return ExynosJpegBase::setJpegConfig(MODE_DECODE, pConfig);
     76 }
     77 
     78 int ExynosJpegDecoder::getInBuf(int *piBuf, int *piInputSize)
     79 {
     80     return getBuf(t_bFlagCreateInBuf, &t_stJpegInbuf, piBuf, piInputSize, \
     81                         NUM_JPEG_DEC_IN_PLANES, NUM_JPEG_DEC_IN_PLANES);
     82 }
     83 
     84 int ExynosJpegDecoder::getOutBuf(int *piBuf, int *piOutputSize, int iSize)
     85 {
     86     return getBuf(t_bFlagCreateOutBuf, &t_stJpegOutbuf, piBuf, piOutputSize, iSize, t_iPlaneNum);
     87 }
     88 
     89 int  ExynosJpegDecoder::setInBuf(int iBuf, int iSize)
     90 {
     91     int iRet = ERROR_NONE;
     92     iRet = setBuf(&t_stJpegInbuf, &iBuf, &iSize, NUM_JPEG_DEC_IN_PLANES);
     93 
     94     if (iRet == ERROR_NONE) {
     95         t_bFlagCreateInBuf = true;
     96     }
     97 
     98     return iRet;
     99 }
    100 
    101 int  ExynosJpegDecoder::setOutBuf(int *piBuf, int *iSize)
    102 {
    103     int iRet = ERROR_NONE;
    104     iRet = setBuf(&t_stJpegOutbuf, piBuf, iSize, t_iPlaneNum);
    105 
    106     if (iRet == ERROR_NONE) {
    107         t_bFlagCreateOutBuf = true;
    108     }
    109 
    110     return iRet;
    111 }
    112 
    113 int ExynosJpegDecoder::getSize(int *piW, int *piH)
    114 {
    115     if (t_bFlagCreate == false) {
    116         return ERROR_JPEG_DEVICE_NOT_CREATE_YET;
    117     }
    118 
    119     int iRet = t_v4l2GetFmt(t_iJpegFd, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, &t_stJpegConfig);
    120     if (iRet < 0) {
    121         JPEG_ERROR_LOG("[%s,%d]: get image size failed\n", __func__,iRet);
    122         return ERROR_GET_SIZE_FAIL;
    123     }
    124 
    125     *piW = t_stJpegConfig.width;
    126     *piH = t_stJpegConfig.height;
    127 
    128     return ERROR_NONE;
    129 }
    130 
    131 int ExynosJpegDecoder::setColorFormat(int iV4l2ColorFormat)
    132 {
    133     return ExynosJpegBase::setColorFormat(MODE_DECODE, iV4l2ColorFormat);
    134 }
    135 
    136 int ExynosJpegDecoder::setJpegFormat(int iV4l2JpegFormat)
    137 {
    138     return ExynosJpegBase::setJpegFormat(MODE_DECODE, iV4l2JpegFormat);
    139 }
    140 
    141 int ExynosJpegDecoder::updateConfig(void)
    142 {
    143     return ExynosJpegBase::updateConfig(MODE_DECODE, \
    144         NUM_JPEG_DEC_IN_BUFS, NUM_JPEG_DEC_OUT_BUFS, \
    145         NUM_JPEG_DEC_IN_PLANES, NUM_JPEG_DEC_OUT_PLANES);
    146 }
    147 
    148 int ExynosJpegDecoder::setScaledSize(int iW, int iH)
    149 {
    150     if (t_bFlagCreate == false) {
    151         return ERROR_JPEG_DEVICE_NOT_CREATE_YET;
    152     }
    153 
    154     if (iW < 0 || MAX_JPG_WIDTH < iW) {
    155         return ERROR_INVALID_IMAGE_SIZE;
    156     }
    157 
    158     if (iH < 0 || MAX_JPG_HEIGHT < iH) {
    159         return ERROR_INVALID_IMAGE_SIZE;
    160     }
    161 
    162     t_stJpegConfig.scaled_width = iW;
    163     t_stJpegConfig.scaled_height = iH;
    164 
    165     return ERROR_NONE;
    166 }
    167 
    168 int ExynosJpegDecoder::setJpegSize(int iJpegSize)
    169 {
    170     if (t_bFlagCreate == false) {
    171         return ERROR_JPEG_DEVICE_NOT_CREATE_YET;
    172     }
    173 
    174     if (iJpegSize<=0) {
    175         return ERROR_JPEG_SIZE_TOO_SMALL;
    176     }
    177 
    178     t_stJpegConfig.sizeJpeg = iJpegSize;
    179 
    180     return ERROR_NONE;
    181 }
    182 
    183 int ExynosJpegDecoder::decode(void)
    184 {
    185 #ifdef WA_BLOCKING_ARTIFACT
    186     int ret = ExynosJpegBase::execute(NUM_JPEG_DEC_OUT_PLANES, t_iPlaneNum);
    187 
    188     if (ret == ERROR_NONE) {
    189         reduceBlockingArtifact((unsigned char *)t_stJpegOutbuf.addr[0],
    190                                     t_stJpegConfig.pix.dec_fmt.out_fmt,
    191                                     t_stJpegConfig.scaled_width,
    192                                     t_stJpegConfig.scaled_height);
    193     }
    194 
    195     return ret;
    196 #else // WA_BLOCKING_ARTIFACT
    197     return ExynosJpegBase::execute(NUM_JPEG_DEC_OUT_PLANES, t_iPlaneNum);
    198 #endif // WA_BLOCKING_ARTIFACT
    199 }
    200 
    201 #ifdef WA_BLOCKING_ARTIFACT
    202 
    203 #define ABS(a)          (((a) < 0) ? (-(a)) : (a))
    204 #define MIN(a, b)       (((a) < (b)) ? (a) : (b))
    205 #define MAX(a, b)       (((a) > (b)) ? (a) : (b))
    206 #define CLIP3(a, b, c)  (MIN(b, MAX(a, c)))
    207 #define CLIP255(a)      (CLIP3(0, 255, (a)))
    208 
    209 int Ytable[3][3][3][3][3][64] = {
    210 {{{{{   2,  3,  2,  2,  2,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    211 {   2,  3,  1,  2,  2,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    212 {   3,  3,  2,  2,  2,  2,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    213 {{   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    214 {   2,  2,  1,  2,  2,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    215 {   2,  2,  1,  2,  1,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    216 {{   2,  3,  2,  2,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    217 {   3,  3,  2,  2,  2,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    218 {   3,  3,  2,  2,  2,  2,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } } },
    219 {{{   2,  2,  1,  2,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    220 {   2,  2,  1,  2,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0,  0, -1, -1,  0, -1, -1,  0,  0, -1,  0, -1, },
    221 {   3,  3,  1,  2,  2,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    222 {{   2,  2,  1,  2,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0, -1,  0, -1, -1, -1, -1, },
    223 {   2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, },
    224 {   2,  2,  1,  2,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0, -1,  0, -1, -1, -1, -1, } },
    225 {{   2,  3,  2,  2,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    226 {   2,  3,  2,  2,  2,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    227 {   2,  3,  2,  2,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } } },
    228 {{{   3,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    229 {   3,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    230 {   3,  3,  2,  3,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    231 {{   2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    232 {   2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, },
    233 {   2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    234 {{   3,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    235 {   3,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    236 {   3,  3,  2,  3,  2,  2,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } } } },
    237 {{{{   2,  2,  1,  2,  2,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    238 {   2,  2,  1,  2,  2,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    239 {   3,  3,  2,  2,  2,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    240 {{   1,  1,  0,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    241 {   1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0,  0,  0,  0,  0, -1, },
    242 {   1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    243 {{   2,  2,  1,  2,  1,  1,  0,  0,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    244 {   2,  2,  1,  2,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, },
    245 {   2,  3,  2,  2,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } } },
    246 {{{   2,  2,  1,  1,  1,  1,  0,  0,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    247 {   1,  2,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0, -1,  0, -1,  0, -1, -1, -1, -1, -1, -1, -1, },
    248 {   2,  2,  1,  2,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    249 {{   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    250 {   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    251 {   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    252 {{   2,  2,  1,  1,  1,  1,  0,  0,  1,  2,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, },
    253 {   2,  2,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, },
    254 {   2,  2,  1,  2,  1,  1,  0,  0,  2,  2,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1,  0, -1, -1, } } },
    255 {{{   2,  2,  1,  2,  1,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    256 {   1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1,  0, -1,  0, -1,  0, -1, -1, -1, -1, -1, -1,  0, },
    257 {   2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    258 {{   1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0, -1, -1, -1, -1, -1, -1, },
    259 {   1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0, -1, -1, },
    260 {   1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, } },
    261 {{   2,  2,  1,  2,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    262 {   2,  2,  1,  2,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1,  0, -1, -1, },
    263 {   2,  2,  2,  2,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } } } },
    264 {{{{   3,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    265 {   3,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    266 {   3,  3,  2,  3,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    267 {{   2,  2,  1,  2,  1,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1, -1,  0,  0, -1, -1, -1, -1, -1, -1, },
    268 {   2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1, -1, -1,  0,  0, -1, -1, -1, -1, -1, -1, },
    269 {   2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    270 {{   3,  3,  2,  3,  2,  2,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    271 {   3,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    272 {   3,  3,  2,  3,  2,  2,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } } },
    273 {{{   2,  3,  1,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    274 {   2,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1,  0,  0,  0, -1, -1, },
    275 {   3,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    276 {{   1,  2,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0,  0,  0,  0, -1, -1, },
    277 {   2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1, -1,  0,  0,  0,  0,  0,  0, -1, -1, },
    278 {   2,  2,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0,  0,  0,  0, -1, -1, } },
    279 {{   2,  3,  2,  2,  2,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    280 {   2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    281 {   3,  3,  2,  2,  2,  2,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } } },
    282 {{{   3,  3,  2,  2,  2,  2,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    283 {   3,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    284 {   3,  3,  2,  3,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    285 {{   2,  2,  1,  2,  2,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    286 {   2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    287 {   2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    288 {{   3,  3,  2,  2,  2,  2,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    289 {   3,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    290 {   3,  3,  2,  3,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } } } } },
    291 {{{{{   2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    292 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    293 {   2,  2,  1,  2,  2,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    294 {{   1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    295 {   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    296 {   2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    297 {{   2,  3,  2,  2,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    298 {   2,  2,  2,  2,  1,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    299 {   2,  2,  1,  2,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } } },
    300 {{{   2,  2,  1,  2,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    301 {   2,  2,  1,  1,  1,  1,  1,  0,  1,  1,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    302 {   2,  2,  1,  2,  2,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    303 {{   1,  2,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    304 {   1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    305 {   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, } },
    306 {{   2,  2,  2,  2,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    307 {   2,  2,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    308 {   2,  2,  1,  2,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } } },
    309 {{{   2,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    310 {   2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    311 {   3,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    312 {{   1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, },
    313 {   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    314 {   2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    315 {{   3,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    316 {   2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    317 {   2,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } } } },
    318 {{{{   2,  2,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1,  0, -1, -1, -1, },
    319 {   1,  1,  0,  0,  1,  1,  0,  0,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0,  0, },
    320 {   2,  2,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1, -1, -1, -1, -1, -1, } },
    321 {{   0,  1,  0,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    322 {   0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    323 {   1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    324 {{   1,  2,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1,  0,  0, -1, },
    325 {   0,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    326 {   1,  2,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1,  0, -1, -1,  0, -1,  0, -1,  0, -1, } } },
    327 {{{   2,  2,  1,  1,  1,  1,  0,  1,  2,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0, -1,  0,  0,  0, -1, -1, -1, -1, -1, -1,  0, -1, },
    328 {   1,  2,  0,  1,  1,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1,  0, },
    329 {   1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, } },
    330 {{   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    331 {   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    332 {   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    333 {{   0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0, },
    334 {   1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    335 {   1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0, -1, } } },
    336 {{{   2,  1,  1,  2,  2,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1, -1, -1,  0, -1, -1, -1,  0, -1, -1, -1, -1, -1, },
    337 {   1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1, -1, },
    338 {   2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1, -1,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    339 {{   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1,  0, -1, -1, -1, -1, },
    340 {   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    341 {   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, } },
    342 {{   1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, },
    343 {   1,  1,  1,  1,  0,  1,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    344 {   1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, } } } },
    345 {{{{   3,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    346 {   2,  2,  1,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    347 {   3,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    348 {{   1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1,  0, -1, -1, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, },
    349 {   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    350 {   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    351 {{   3,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    352 {   2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    353 {   3,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } } },
    354 {{{   2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    355 {   2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1, -1,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    356 {   2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    357 {{   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0,  0, },
    358 {   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0,  0,  0,  0, },
    359 {   1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0,  0, } },
    360 {{   2,  2,  1,  2,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    361 {   1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  0,  1,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    362 {   2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } } },
    363 {{{   2,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    364 {   2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    365 {   3,  3,  2,  2,  2,  2,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    366 {{   1,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    367 {   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    368 {   2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    369 {{   2,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    370 {   2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    371 {   2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } } } } },
    372 {{{{{   3,  3,  2,  2,  2,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    373 {   3,  3,  2,  2,  2,  2,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    374 {   3,  3,  1,  2,  1,  1,  0,  0,  2,  2,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    375 {{   2,  2,  1,  2,  1,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    376 {   2,  2,  1,  2,  1,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    377 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    378 {{   3,  3,  2,  2,  2,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    379 {   2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    380 {   3,  3,  2,  2,  1,  1,  1,  0,  2,  2,  1,  2,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } } },
    381 {{{   3,  3,  1,  2,  2,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    382 {   2,  2,  1,  2,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1, -1, -1, -1,  0,  0,  0, -1, -1, -1, -1, -1, },
    383 {   2,  3,  1,  2,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, } },
    384 {{   2,  2,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0,  0,  0,  0, -1, -1, },
    385 {   2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1,  0, -1, -1, -1, -1, },
    386 {   2,  2,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0,  0, -1,  0, -1, -1, } },
    387 {{   2,  3,  1,  2,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    388 {   2,  2,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    389 {   2,  2,  1,  2,  1,  1,  0,  0,  1,  2,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } } },
    390 {{{   3,  3,  2,  3,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    391 {   3,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    392 {   3,  3,  2,  3,  2,  2,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    393 {{   2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, },
    394 {   2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1, -1,  0, -1, -1, -1, -1, -1, -1, },
    395 {   2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, } },
    396 {{   3,  3,  2,  3,  2,  2,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    397 {   2,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    398 {   3,  3,  2,  3,  2,  2,  1,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } } } },
    399 {{{{   3,  3,  1,  2,  2,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    400 {   2,  2,  1,  2,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, },
    401 {   2,  2,  1,  2,  1,  1,  0,  0,  2,  2,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1,  0,  0, -1,  0, -1, -1, -1, -1, } },
    402 {{   1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    403 {   1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    404 {   1,  1,  0,  1,  0,  0,  0,  0,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    405 {{   2,  3,  1,  2,  1,  1,  0,  0,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    406 {   2,  2,  1,  2,  1,  1,  1,  0,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    407 {   2,  2,  1,  2,  1,  1,  0,  0,  2,  2,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } } },
    408 {{{   2,  2,  1,  2,  1,  1,  0,  0,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1, -1, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, },
    409 {   2,  2,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1, -1,  0, -1, -1, -1, -1, -1, -1, },
    410 {   2,  2,  1,  1,  1,  1,  0,  0,  2,  2,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1,  0,  0, -1, -1, -1, -1, -1, -1, } },
    411 {{   0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0, },
    412 {   0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    413 {   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    414 {{   2,  2,  1,  2,  1,  1,  0,  0,  1,  2,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    415 {   1,  2,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1,  0, -1,  0,  0, -1, },
    416 {   2,  2,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1,  0, -1, -1, -1,  0, -1, -1, } } },
    417 {{{   2,  3,  1,  2,  2,  1,  1,  0,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    418 {   2,  2,  1,  2,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, },
    419 {   2,  2,  1,  2,  1,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    420 {{   1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, },
    421 {   1,  1,  1,  1,  0,  1,  0,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, },
    422 {   1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0, -1, -1, -1, -1, -1, -1, } },
    423 {{   2,  2,  1,  2,  1,  1,  1,  0,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    424 {   1,  2,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1, -1, -1, -1, -1, },
    425 {   2,  2,  1,  2,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } } } },
    426 {{{{   3,  4,  2,  3,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    427 {   3,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    428 {   3,  3,  2,  3,  2,  2,  1,  0,  2,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, } },
    429 {{   2,  2,  1,  2,  2,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, },
    430 {   2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1, -1,  0,  0, -1, -1, -1, -1, -1, -1, },
    431 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1,  0,  0, -1,  0, -1, -1, -1, -1, } },
    432 {{   3,  3,  2,  3,  2,  2,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    433 {   3,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    434 {   3,  3,  2,  3,  2,  2,  1,  0,  2,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } } },
    435 {{{   3,  3,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    436 {   2,  3,  1,  2,  2,  2,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    437 {   3,  3,  1,  2,  1,  1,  1,  0,  2,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    438 {{   1,  2,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0,  0,  0,  0, -1, -1, },
    439 {   1,  2,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0,  0,  0,  0, -1, -1, },
    440 {   1,  2,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1,  0,  0,  0,  0,  0,  0, -1, -1, } },
    441 {{   3,  3,  2,  2,  2,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    442 {   1,  1,  1,  1,  0,  1,  0,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    443 {   2,  3,  2,  2,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } } },
    444 {{{   3,  3,  2,  3,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    445 {   3,  3,  2,  2,  2,  2,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    446 {   3,  3,  2,  3,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    447 {{   2,  2,  2,  2,  2,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    448 {   2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    449 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } },
    450 {{   3,  3,  2,  3,  2,  2,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    451 {   2,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    452 {   3,  3,  2,  2,  1,  2,  1,  0,  2,  2,  1,  2,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } } } } }};
    453 
    454 
    455 int Utable[3][3][3][3][3][64] = {
    456     {{{{{   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    457 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1,  0,  0,  0,  0,  0, -1,  0, -1,  0,  0,  0,  0, },
    458 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    459 {{   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1,  0,  0,  0,  0,  0,  0, -1, -1, },
    460 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1, -1,  0,  0,  0, -1,  0,  0,  0, -1, -1, },
    461 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1, -1,  0,  0, -1,  0,  0,  0, -1, -1, } },
    462 {{   2,  2,  2,  2,  1,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1,  0,  0,  0, -1,  0,  0,  0, -1,  0, },
    463 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0,  0,  0,  0, -1, -1,  0, },
    464 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1,  0,  0,  0, -1,  0,  0,  0,  0,  0, } } },
    465 {{{   3,  3,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, },
    466 {   3,  3,  1,  1,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1,  0,  0, },
    467 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, } },
    468 {{   2,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, },
    469 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    470 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    471 {{   2,  3,  2,  2,  1,  1,  1,  1,  2,  2,  1,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1, -1,  0,  0,  0,  0,  0, },
    472 {   2,  3,  2,  2,  2,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1,  0,  0,  0,  0,  0, -1, },
    473 {   2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } },
    474 {{{   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, },
    475 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    476 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    477 {{   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, },
    478 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    479 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, } },
    480 {{   2,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    481 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    482 {   2,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } } },
    483 {{{{   2,  2,  1,  2,  2,  1,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, },
    484 {   2,  2,  1,  2,  2,  1,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    485 {   3,  3,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, } },
    486 {{   1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0, },
    487 {   1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  0,  1,  0,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    488 {   1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    489 {{   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    490 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, },
    491 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } },
    492 {{{   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, },
    493 {   3,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, },
    494 {   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, } },
    495 {{   1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  0,  1,  1,  1,  0,  0, },
    496 {   1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  1,  1,  1,  0,  0, },
    497 {   1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0, } },
    498 {{   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1,  0, -1, -1,  0,  0,  0,  0, },
    499 {   2,  2,  1,  2,  1,  2,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0, },
    500 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } },
    501 {{{   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, },
    502 {   2,  2,  1,  1,  2,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  0, -1, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, },
    503 {   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    504 {{   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1,  0, -1, -1, },
    505 {   2,  2,  1,  2,  1,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, },
    506 {   2,  2,  2,  2,  2,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, } },
    507 {{   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    508 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    509 {   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } } },
    510 {{{{   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, },
    511 {   2,  3,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    512 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, } },
    513 {{   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  0,  1,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, },
    514 {   2,  2,  1,  2,  2,  1,  1,  1,  2,  2,  1,  2,  1,  2,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    515 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  1,  1,  0,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, } },
    516 {{   2,  3,  2,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    517 {   2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    518 {   2,  3,  2,  2,  2,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } },
    519 {{{   2,  3,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  2,  1,  1,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1, -1, -1, -1, },
    520 {   2,  1,  1,  1,  1,  1,  0,  0,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,  1,  0,  1,  1,  0,  0,  1,  0,  1,  1,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0, },
    521 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, } },
    522 {{   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, },
    523 {   2,  2,  2,  2,  1,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1,  0, },
    524 {   2,  2,  1,  1,  1,  1,  0,  0,  2,  2,  1,  2,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    525 {{   3,  3,  2,  2,  2,  1,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1,  0, },
    526 {   2,  2,  1,  1,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  1,  0,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    527 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } },
    528 {{{   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, -1, },
    529 {   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    530 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1, -1, -1, -1, } },
    531 {{   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0, -1, -1, -1,  0, -1, -1, },
    532 {   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, },
    533 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1, -1, } },
    534 {{   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1,  0, -1, -1,  0,  0, -1, -1, },
    535 {   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0, },
    536 {   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1,  0,  0, -1,  0, } } } } },
    537 {{{{{   2,  2,  2,  2,  1,  2,  1,  1,  2,  2,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0, -1, -1,  0, -1,  0,  0,  0,  0, -1, -1, -1,  0,  0, -1,  0,  0, },
    538 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0, -1, -1,  0, -1, -1, -1,  0,  0, -1, -1,  0, -1,  0,  0,  0,  0, },
    539 {   3,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    540 {{   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0, },
    541 {   2,  2,  2,  1,  1,  1,  1,  1,  2,  2,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    542 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1,  0,  0,  0,  0,  0,  0,  0,  0, } },
    543 {{   2,  2,  2,  2,  1,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1, -1,  0,  0,  0, -1,  0,  0,  0,  0,  0, },
    544 {   2,  2,  2,  2,  1,  2,  2,  1,  2,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0, -1, -1, -1,  0, -1, -1,  0,  0, -1, -1,  0, },
    545 {   2,  2,  2,  2,  1,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1,  0, -1,  0, -1,  0,  0,  0,  0,  0, } } },
    546 {{{   3,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, },
    547 {   2,  3,  1,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    548 {   3,  3,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, } },
    549 {{   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    550 {   2,  2,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    551 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    552 {{   2,  3,  2,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    553 {   2,  2,  2,  2,  1,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1,  0,  0,  0,  0,  0,  0, },
    554 {   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1,  0,  0,  0,  0,  0,  0, } } },
    555 {{{   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0, },
    556 {   3,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    557 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    558 {{   2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    559 {   2,  2,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, },
    560 {   2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    561 {{   2,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    562 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0, },
    563 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  1,  0,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } } },
    564 {{{{   2,  2,  1,  2,  2,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    565 {   2,  2,  1,  1,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    566 {   2,  2,  1,  2,  2,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    567 {{   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    568 {   0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    569 {   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    570 {{   2,  2,  1,  1,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    571 {   1,  2,  1,  1,  1,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    572 {   2,  2,  1,  1,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } },
    573 {{{   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  1,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1,  0,  0,  0, },
    574 {   2,  2,  1,  2,  2,  1,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1, -1,  0, -1, -1, },
    575 {   2,  2,  1,  1,  1,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0, -1, -1,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1,  0,  0,  0, } },
    576 {{   0,  1,  0,  1,  0,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0, },
    577 {   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    578 {   1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0, } },
    579 {{   1,  2,  1,  1,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  1,  0,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    580 {   2,  2,  1,  2,  1,  1,  2,  1,  2,  2,  2,  1,  2,  1,  2,  2,  1,  1,  1,  0,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0, -1,  0, -1,  0,  0,  0,  0, },
    581 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1, -1,  0,  0,  0,  0, -1, } } },
    582 {{{   2,  2,  1,  2,  2,  1,  1,  1,  2,  2,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0, -1, -1,  1,  0,  0,  0,  0,  0, -1, -1,  0,  0, -1, -1,  0,  0, },
    583 {   2,  2,  1,  2,  2,  1,  1,  1,  2,  1,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0, -1, },
    584 {   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, } },
    585 {{   2,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    586 {   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    587 {   2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, } },
    588 {{   2,  2,  2,  2,  1,  2,  2,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1, -1,  0,  0, -1, },
    589 {   2,  2,  1,  1,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    590 {   2,  2,  2,  2,  2,  2,  2,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  1,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1, -1,  0,  0, -1, } } } },
    591 {{{{   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  2,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0, -1, -1,  0, -1, },
    592 {   2,  3,  1,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  0,  1,  0,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  1,  0,  1,  1,  0,  0,  1,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    593 {   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, } },
    594 {{   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    595 {   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    596 {   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    597 {{   2,  2,  1,  2,  1,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    598 {   2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    599 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } },
    600 {{{   2,  3,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    601 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, },
    602 {   2,  2,  1,  1,  1,  1,  1,  0,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, } },
    603 {{   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    604 {   2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    605 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    606 {{   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    607 {   1,  1,  1,  2,  1,  1,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0, },
    608 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  2,  1,  1,  1,  1,  0,  1,  0,  1,  0,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1, -1, -1,  0,  0,  0,  0, -1, -1, -1, -1,  0,  0, -1,  0,  0,  0, } } },
    609 {{{   2,  2,  1,  2,  2,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, },
    610 {   2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0, -1, },
    611 {   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0, -1, -1, } },
    612 {{   1,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    613 {   2,  2,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, },
    614 {   2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    615 {{   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1,  0,  0,  0,  0,  0, },
    616 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1,  0, -1,  0,  0,  0, },
    617 {   2,  2,  1,  2,  2,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1,  0,  0, -1,  0, -1, -1,  0, -1, -1,  0,  0,  0, } } } } },
    618 {{{{{   2,  3,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    619 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    620 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1,  0,  0,  0,  0, -1, -1, -1, -1, } },
    621 {{   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0,  0,  0,  0, -1, -1, },
    622 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1,  0,  0,  0,  0, -1,  0, -1, -1, },
    623 {   2,  2,  2,  2,  1,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1,  0,  0,  0,  0, -1,  0, -1, -1, } },
    624 {{   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    625 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1,  0,  0, -1,  0, -1,  0, },
    626 {   2,  2,  2,  2,  1,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1, -1,  0,  0,  0,  0,  0,  0,  0,  0, } } },
    627 {{{   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, },
    628 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, },
    629 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, } },
    630 {{   2,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    631 {   2,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, },
    632 {   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, } },
    633 {{   2,  3,  2,  2,  1,  1,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0, -1,  0,  0,  0,  0,  0,  0, -1, -1, -1,  0,  0,  0,  0,  0, },
    634 {   2,  2,  2,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  0,  2,  2,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  1,  1, -1,  0,  0,  0,  0,  0, -1, -1,  0, -1, -1, -1,  0,  0,  0,  0, },
    635 {   2,  3,  2,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0, -1, -1,  0,  0, -1,  0,  0,  0, -1, -1,  0, -1,  0,  0,  0,  0, } } },
    636 {{{   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    637 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  0,  1,  1,  1,  0,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    638 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, } },
    639 {{   2,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    640 {   2,  2,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, },
    641 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, } },
    642 {{   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    643 {   2,  2,  2,  2,  1,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    644 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0, } } } },
    645 {{{{   2,  3,  1,  2,  2,  1,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    646 {   2,  3,  1,  2,  2,  1,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, },
    647 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, } },
    648 {{   1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0, },
    649 {   1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  1,  0,  0,  1,  1,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0, },
    650 {   1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  0,  1,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  0,  1,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0, } },
    651 {{   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    652 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1,  0,  0,  0,  0,  0, },
    653 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } },
    654 {{{   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, },
    655 {   2,  3,  1,  2,  2,  1,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, },
    656 {   2,  2,  1,  2,  1,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1, } },
    657 {{   1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  0,  1,  0,  0,  1,  1,  1,  1,  0,  1,  0,  0,  1,  1,  1,  1,  0,  1,  0,  0, },
    658 {   1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  0,  1,  0,  1,  0,  0,  1,  1,  0,  1,  0,  1,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0, },
    659 {   1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0, } },
    660 {{   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1,  0,  0,  0,  0, },
    661 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    662 {   2,  2,  1,  2,  1,  1,  1,  0,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } },
    663 {{{   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    664 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    665 {   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, } },
    666 {{   2,  2,  2,  2,  2,  2,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, },
    667 {   2,  2,  1,  1,  1,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    668 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  1,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, } },
    669 {{   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0, },
    670 {   2,  2,  2,  2,  1,  0,  1,  1,  1,  2,  1,  2,  1,  0,  2,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  1,  1,  1,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1,  0, -1, -1,  0,  0,  0, },
    671 {   2,  2,  2,  2,  1,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1, -1,  0,  0, -1, } } } },
    672 {{{{   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, },
    673 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    674 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, } },
    675 {{   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  2,  2,  2,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  1,  1,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, },
    676 {   2,  2,  2,  2,  1,  2,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    677 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  0,  1,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, } },
    678 {{   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    679 {   2,  2,  1,  2,  1,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    680 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } },
    681 {{{   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1, },
    682 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, },
    683 {   3,  3,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, } },
    684 {{   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    685 {   2,  2,  1,  2,  1,  1,  1,  0,  1,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, },
    686 {   2,  2,  1,  2,  1,  1,  0,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, } },
    687 {{   2,  3,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    688 {   1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    689 {   2,  3,  2,  2,  1,  1,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1,  0, -1,  0, } } },
    690 {{{   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, },
    691 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, },
    692 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1,  0,  0,  0,  0, -1, -1, -1, -1, } },
    693 {{   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1,  0, -1,  0, -1, -1, },
    694 {   2,  2,  2,  2,  1,  2,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1,  0, -1, -1, },
    695 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  1,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0, -1,  0, -1, -1, -1, -1, } },
    696 {{   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1,  0,  0,  0, -1, },
    697 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    698 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1,  0, -1, -1, } } } } }};
    699 
    700 
    701 int Vtable[3][3][3][3][3][64] = {
    702     {{{{{   2,  3,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    703 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1,  0,  0,  0,  0,  0, -1,  0, -1,  0,  0,  0,  0, },
    704 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    705 {{   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1, -1,  0,  0,  0,  0,  0,  0, -1, -1, },
    706 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1,  0,  0,  0, -1,  0,  0,  0, -1,  0, },
    707 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0, -1,  0, } },
    708 {{   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    709 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0,  0,  0,  0, -1, -1,  0, },
    710 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1,  0,  0,  0, -1,  0,  0,  0,  0,  0, } } },
    711 {{{   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, },
    712 {   3,  3,  1,  1,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0, -1, -1,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1,  0,  0, },
    713 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, } },
    714 {{   2,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    715 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    716 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    717 {{   2,  3,  2,  2,  1,  1,  1,  1,  2,  2,  1,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1, -1,  0,  0,  0,  0,  0, },
    718 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    719 {   2,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1,  0,  0,  0,  0,  0,  0, } } },
    720 {{{   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    721 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    722 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    723 {{   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    724 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    725 {   2,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    726 {{   2,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    727 {   2,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    728 {   2,  3,  2,  2,  2,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } } },
    729 {{{{   2,  2,  1,  2,  2,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, },
    730 {   2,  2,  1,  2,  2,  1,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  0,  1,  1,  0,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    731 {   2,  3,  1,  2,  2,  1,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    732 {{   1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0, },
    733 {   2,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  1,  0,  1,  0,  1,  1,  0,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0, },
    734 {   1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    735 {{   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    736 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  2,  1,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, },
    737 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } },
    738 {{{   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    739 {   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    740 {   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    741 {{   1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  0,  1,  1,  1,  0,  0, },
    742 {   1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  1,  1,  1,  0,  0, },
    743 {   1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0, } },
    744 {{   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    745 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  1,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    746 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } },
    747 {{{   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    748 {   2,  2,  1,  1,  2,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  0,  0,  1,  0,  1,  1, -1, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, },
    749 {   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    750 {{   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1,  0, -1, -1, },
    751 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, },
    752 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, } },
    753 {{   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    754 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    755 {   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } } },
    756 {{{{   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    757 {   2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    758 {   2,  3,  2,  2,  2,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    759 {{   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, },
    760 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  0,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    761 {   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  2,  2,  2,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, } },
    762 {{   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    763 {   2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    764 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } },
    765 {{{   2,  3,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  2,  1,  1,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1,  0,  0, -1, },
    766 {   2,  1,  0,  1,  1,  1,  0,  0,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  1,  1,  1,  0,  1,  1,  0,  0,  1,  1,  1,  0,  0,  1,  0,  0,  1,  0,  1,  1,  0,  0,  1,  0,  1,  1,  0,  1,  1,  0,  1,  0,  0,  1,  1,  0,  0,  0, },
    767 {   3,  3,  1,  2,  2,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, } },
    768 {{   2,  2,  1,  2,  1,  1,  0,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    769 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, },
    770 {   2,  2,  1,  1,  1,  1,  0,  0,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  1,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    771 {{   3,  3,  2,  2,  1,  1,  1,  1,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1,  0,  0,  0, -1,  0, },
    772 {   2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    773 {   2,  3,  2,  2,  1,  1,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0, -1,  0, } } },
    774 {{{   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, },
    775 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, },
    776 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, } },
    777 {{   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1,  0, -1, -1, },
    778 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, },
    779 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1, -1, } },
    780 {{   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1,  0,  0, -1, -1, },
    781 {   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0, },
    782 {   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1,  0,  0, -1,  0, } } } } },
    783 {{{{{   2,  2,  2,  2,  1,  2,  1,  1,  2,  2,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0, -1, -1,  0, -1,  0,  0,  0,  0, -1, -1, -1,  0,  0, -1,  0,  0, },
    784 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0, -1, -1,  0, -1, -1, -1,  0,  0, -1, -1,  0, -1,  0, -1,  0,  0, },
    785 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    786 {{   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0, },
    787 {   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
    788 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    789 {{   2,  3,  2,  2,  1,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1, -1,  0,  0,  0, -1,  0,  0,  0,  0,  0, },
    790 {   2,  2,  2,  2,  1,  2,  2,  1,  2,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0, -1, -1,  0,  0, -1, -1, -1,  0, -1, -1,  0,  0, -1, -1,  0, },
    791 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  1,  0,  0, -1,  0,  0,  0, -1,  0, -1,  0, -1,  0,  0,  0,  0,  0, } } },
    792 {{{   3,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, },
    793 {   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    794 {   3,  3,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    795 {{   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    796 {   2,  2,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, },
    797 {   2,  2,  1,  2,  2,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    798 {{   2,  3,  2,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    799 {   2,  2,  2,  2,  1,  2,  2,  1,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    800 {   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1,  0,  0,  0,  0,  0,  0, } } },
    801 {{{   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    802 {   3,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    803 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, } },
    804 {{   2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    805 {   2,  2,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, },
    806 {   2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    807 {{   2,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    808 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    809 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  1,  0,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } } },
    810 {{{{   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    811 {   2,  2,  1,  1,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    812 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    813 {{   1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    814 {   0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    815 {   1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    816 {{   2,  2,  1,  1,  1,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    817 {   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    818 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } },
    819 {{{   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  1,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1,  0,  0,  0, },
    820 {   2,  2,  1,  2,  2,  1,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1,  0,  0,  0, },
    821 {   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  1,  0, -1, -1,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1,  0,  0,  0, } },
    822 {{   0,  1,  0,  1,  0,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0, },
    823 {   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    824 {   1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0, } },
    825 {{   1,  2,  1,  1,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  0,  0,  0,  1,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    826 {   2,  2,  1,  2,  1,  1,  2,  1,  2,  2,  2,  1,  2,  1,  2,  2,  1,  1,  1,  0,  1,  0,  0,  0,  1,  1,  1,  1,  0,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1, -1,  0, -1, -1,  0, -1, -1,  0,  0,  0, },
    827 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  2,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1, -1,  0,  0,  0,  0, -1, } } },
    828 {{{   2,  2,  1,  2,  2,  1,  1,  1,  2,  2,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0, -1, -1,  1,  0,  0,  0,  0,  0, -1, -1,  0,  0, -1, -1,  0,  0, },
    829 {   2,  2,  1,  2,  2,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  1,  1,  1, -1,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1, -1,  0,  0, -1, },
    830 {   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, } },
    831 {{   2,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    832 {   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    833 {   2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, } },
    834 {{   2,  2,  2,  2,  2,  2,  2,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  1,  1,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1, -1,  0,  0, -1, },
    835 {   1,  2,  1,  1,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    836 {   2,  2,  2,  2,  2,  2,  2,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  1,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1, -1,  0, -1, -1, } } } },
    837 {{{{   2,  3,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  2,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    838 {   2,  2,  1,  2,  2,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  0,  1,  0,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    839 {   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  1,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    840 {{   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    841 {   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    842 {   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    843 {{   2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  1,  0,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    844 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  2,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  1,  1,  1,  1,  0,  1,  1,  1,  0,  1,  1,  1,  0,  1,  1,  1,  1,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    845 {   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } },
    846 {{{   2,  2,  1,  2,  2,  1,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    847 {   2,  3,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  1,  2,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, },
    848 {   2,  2,  1,  1,  1,  1,  0,  1,  1,  2,  1,  2,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    849 {{   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    850 {   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    851 {   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  1,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0, } },
    852 {{   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1,  0, -1,  0, -1,  0, },
    853 {   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  0,  1,  1,  1,  0,  0,  0,  1,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0, },
    854 {   3,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  2,  1,  1,  1,  1,  0,  1,  0,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1, -1, -1,  0,  0,  0,  0, -1,  0, -1, -1,  0,  0, -1,  0,  0,  0, } } },
    855 {{{   2,  2,  1,  2,  2,  1,  1,  1,  2,  2,  1,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, },
    856 {   2,  2,  1,  2,  2,  1,  1,  2,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0, -1, },
    857 {   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0, } },
    858 {{   1,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    859 {   2,  2,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, -1, -1, -1, -1, },
    860 {   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } },
    861 {{   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1,  0,  0,  0,  0, },
    862 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1,  0, -1,  0,  0,  0, },
    863 {   2,  2,  1,  2,  2,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1,  0,  0, -1,  0, -1, -1,  0, -1, -1,  0,  0,  0, } } } } },
    864 {{{{{   2,  3,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0, },
    865 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0, },
    866 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, } },
    867 {{   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0,  0,  0,  0, -1, -1, },
    868 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1,  0,  0,  0,  0, -1,  0, -1, -1, },
    869 {   2,  2,  2,  2,  1,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1,  0,  0,  0,  0, -1,  0, -1, -1, } },
    870 {{   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    871 {   2,  2,  2,  2,  1,  1,  2,  1,  2,  2,  1,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1,  0, -1, -1,  0,  0, -1,  0, -1,  0, },
    872 {   2,  2,  2,  2,  1,  2,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, -1, -1,  0,  0,  0,  0,  0,  0,  0,  0, } } },
    873 {{{   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    874 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, },
    875 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, } },
    876 {{   2,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, },
    877 {   2,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, },
    878 {   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, } },
    879 {{   2,  3,  2,  2,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    880 {   2,  2,  2,  1,  1,  1,  2,  2,  2,  2,  2,  1,  1,  0,  2,  2,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  1,  1, -1,  0,  0,  0,  0,  0, -1, -1,  0, -1, -1, -1,  0,  0,  0,  0, },
    881 {   2,  3,  2,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0, -1, -1,  0,  0, -1,  0,  0,  0,  0, -1,  0, -1,  0,  0,  0,  0, } } },
    882 {{{   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    883 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    884 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, } },
    885 {{   2,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    886 {   2,  2,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, },
    887 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, } },
    888 {{   2,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    889 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    890 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } } },
    891 {{{{   2,  3,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    892 {   2,  3,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1,  0, },
    893 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, } },
    894 {{   1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0, },
    895 {   1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0, },
    896 {   1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  0,  1,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0, } },
    897 {{   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    898 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0,  0,  0,  0,  0, },
    899 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } },
    900 {{{   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1,  0, },
    901 {   2,  3,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, },
    902 {   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0, } },
    903 {{   1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  0,  1,  0,  0,  0,  1,  1,  1,  0,  1,  0,  0,  0,  1,  1,  1,  0,  1,  0,  0, },
    904 {   1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0, },
    905 {   1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0, } },
    906 {{   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    907 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0, },
    908 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } },
    909 {{{   2,  2,  1,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    910 {   2,  2,  2,  2,  2,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    911 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, } },
    912 {{   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, },
    913 {   2,  2,  1,  1,  1,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    914 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, } },
    915 {{   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    916 {   2,  2,  2,  2,  1,  1,  1,  1,  1,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  1,  1,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1,  0, -1, -1,  0,  0,  0, },
    917 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1, -1,  0,  0, -1, } } } },
    918 {{{{   3,  3,  2,  2,  2,  2,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    919 {   2,  2,  1,  2,  1,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    920 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, } },
    921 {{   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  0,  1,  0,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, },
    922 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    923 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  0,  1,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, } },
    924 {{   2,  3,  2,  2,  2,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    925 {   2,  2,  2,  2,  1,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  1,  1,  0,  0,  1,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    926 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, } } },
    927 {{{   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  0,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, -1, },
    928 {   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  2,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0, -1,  0, -1, -1,  0, -1, },
    929 {   2,  2,  1,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1, } },
    930 {{   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    931 {   2,  2,  1,  2,  2,  1,  1,  1,  2,  2,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  1,  1,  0,  0,  1,  0,  1,  0,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    932 {   2,  2,  1,  2,  1,  1,  0,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, } },
    933 {{   3,  3,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    934 {   1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  0,  1,  0,  1,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    935 {   3,  3,  2,  2,  1,  1,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1,  0, -1, -1, } } },
    936 {{{   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1, -1, -1, },
    937 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1, },
    938 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0,  0, -1,  0,  0,  0,  0, -1, -1, -1, -1, } },
    939 {{   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1,  0, -1, -1, },
    940 {   2,  2,  2,  2,  1,  2,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, },
    941 {   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  0,  1,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -1,  0,  0,  0,  0, -1, -1, -1, -1, } },
    942 {{   2,  2,  2,  2,  2,  2,  1,  1,  2,  2,  1,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1,  0,  0,  0, -1, },
    943 {   2,  2,  2,  2,  1,  1,  1,  1,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, },
    944 {   2,  2,  2,  2,  1,  2,  1,  1,  2,  2,  2,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1,  0, -1, -1, -1,  0, -1,  0, -1, -1, } } } } }};
    945 
    946 char CLIPtable[6][256]={
    947     {  0,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254},
    948     {  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255},
    949     {  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,255},
    950     {  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,255,255},
    951     {  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,255,255,255},
    952     {  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,255,255,255,255}};
    953 
    954 
    955 
    956 inline void pixOperation(unsigned char *img_0, unsigned char *img_1, unsigned char *img_2, unsigned char *img_3, int idx[4][5], int img_offset_0, int img_offset_1)
    957 {
    958     int ivalue[4];
    959 
    960     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][0]); *img_0 = ivalue[0]; img_0 += 2;
    961     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][1]); *img_0 = ivalue[0]; img_0 += 2;
    962     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][2]); *img_0 = ivalue[0]; img_0 += 2;
    963     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][3]); *img_0 = ivalue[0]; img_0 += 2;
    964     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][4]); *img_0 = ivalue[0]; img_0 += 2;
    965     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][5]); *img_0 = ivalue[0]; img_0 += 2;
    966     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][6]); *img_0 = ivalue[0]; img_0 += 2;
    967     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][7]); *img_0 = ivalue[0]; img_0 += 2;
    968 
    969     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][0]); *img_1 = ivalue[1]; img_1 += 2;
    970     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][1]); *img_1 = ivalue[1]; img_1 += 2;
    971     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][2]); *img_1 = ivalue[1]; img_1 += 2;
    972     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][3]); *img_1 = ivalue[1]; img_1 += 2;
    973     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][4]); *img_1 = ivalue[1]; img_1 += 2;
    974     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][5]); *img_1 = ivalue[1]; img_1 += 2;
    975     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][6]); *img_1 = ivalue[1]; img_1 += 2;
    976     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][7]); *img_1 = ivalue[1]; img_1 += 2;
    977 
    978     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][0]); *img_2 = ivalue[2]; img_2 += 4;
    979     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][1]); *img_2 = ivalue[2]; img_2 += 4;
    980     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][2]); *img_2 = ivalue[2]; img_2 += 4;
    981     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][3]); *img_2 = ivalue[2]; img_2 += 4;
    982     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][4]); *img_2 = ivalue[2]; img_2 += 4;
    983     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][5]); *img_2 = ivalue[2]; img_2 += 4;
    984     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][6]); *img_2 = ivalue[2]; img_2 += 4;
    985     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][7]); *img_2 = ivalue[2]; img_2 += 4;
    986 
    987     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][0]); *img_3 = ivalue[3]; img_3 += 4;
    988     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][1]); *img_3 = ivalue[3]; img_3 += 4;
    989     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][2]); *img_3 = ivalue[3]; img_3 += 4;
    990     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][3]); *img_3 = ivalue[3]; img_3 += 4;
    991     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][4]); *img_3 = ivalue[3]; img_3 += 4;
    992     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][5]); *img_3 = ivalue[3]; img_3 += 4;
    993     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][6]); *img_3 = ivalue[3]; img_3 += 4;
    994     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][7]); *img_3 = ivalue[3]; img_3 += 4;
    995 
    996     img_0 += img_offset_0; img_1 += img_offset_0;    img_2 += img_offset_1;    img_3 += img_offset_1;
    997 
    998     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][8] ); *img_0 = ivalue[0]; img_0 += 2;
    999     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][9] ); *img_0 = ivalue[0]; img_0 += 2;
   1000     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][10]); *img_0 = ivalue[0]; img_0 += 2;
   1001     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][11]); *img_0 = ivalue[0]; img_0 += 2;
   1002     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][12]); *img_0 = ivalue[0]; img_0 += 2;
   1003     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][13]); *img_0 = ivalue[0]; img_0 += 2;
   1004     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][14]); *img_0 = ivalue[0]; img_0 += 2;
   1005     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][15]); *img_0 = ivalue[0]; img_0 += 2;
   1006 
   1007     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][8] ); *img_1 = ivalue[1]; img_1 += 2;
   1008     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][9] ); *img_1 = ivalue[1]; img_1 += 2;
   1009     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][10]); *img_1 = ivalue[1]; img_1 += 2;
   1010     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][11]); *img_1 = ivalue[1]; img_1 += 2;
   1011     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][12]); *img_1 = ivalue[1]; img_1 += 2;
   1012     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][13]); *img_1 = ivalue[1]; img_1 += 2;
   1013     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][14]); *img_1 = ivalue[1]; img_1 += 2;
   1014     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][15]); *img_1 = ivalue[1]; img_1 += 2;
   1015 
   1016     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][8] ); *img_2 = ivalue[2]; img_2 += 4;
   1017     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][9] ); *img_2 = ivalue[2]; img_2 += 4;
   1018     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][10]); *img_2 = ivalue[2]; img_2 += 4;
   1019     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][11]); *img_2 = ivalue[2]; img_2 += 4;
   1020     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][12]); *img_2 = ivalue[2]; img_2 += 4;
   1021     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][13]); *img_2 = ivalue[2]; img_2 += 4;
   1022     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][14]); *img_2 = ivalue[2]; img_2 += 4;
   1023     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][15]); *img_2 = ivalue[2]; img_2 += 4;
   1024 
   1025     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][8] ); *img_3 = ivalue[3]; img_3 += 4;
   1026     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][9] ); *img_3 = ivalue[3]; img_3 += 4;
   1027     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][10]); *img_3 = ivalue[3]; img_3 += 4;
   1028     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][11]); *img_3 = ivalue[3]; img_3 += 4;
   1029     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][12]); *img_3 = ivalue[3]; img_3 += 4;
   1030     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][13]); *img_3 = ivalue[3]; img_3 += 4;
   1031     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][14]); *img_3 = ivalue[3]; img_3 += 4;
   1032     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][15]); *img_3 = ivalue[3]; img_3 += 4;
   1033 
   1034     img_0 += img_offset_0; img_1 += img_offset_0;    img_2 += img_offset_1;    img_3 += img_offset_1;
   1035 /*
   1036     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][16]); *img_0 = ivalue[0]; img_0 += 2;
   1037     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][17]); *img_0 = ivalue[0]; img_0 += 2;
   1038     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][18]); *img_0 = ivalue[0]; img_0 += 2;
   1039     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][19]); *img_0 = ivalue[0]; img_0 += 2;
   1040     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][20]); *img_0 = ivalue[0]; img_0 += 2;
   1041     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][21]); *img_0 = ivalue[0]; img_0 += 2;
   1042     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][22]); *img_0 = ivalue[0]; img_0 += 2;
   1043     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][23]); *img_0 = ivalue[0]; img_0 += 2;
   1044 
   1045     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][16]); *img_1 = ivalue[1]; img_1 += 2;
   1046     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][17]); *img_1 = ivalue[1]; img_1 += 2;
   1047     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][18]); *img_1 = ivalue[1]; img_1 += 2;
   1048     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][19]); *img_1 = ivalue[1]; img_1 += 2;
   1049     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][20]); *img_1 = ivalue[1]; img_1 += 2;
   1050     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][21]); *img_1 = ivalue[1]; img_1 += 2;
   1051     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][22]); *img_1 = ivalue[1]; img_1 += 2;
   1052     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][23]); *img_1 = ivalue[1]; img_1 += 2;
   1053 */
   1054     img_0 += 16; img_1 += 16;
   1055 
   1056     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][16]); *img_2 = ivalue[2]; img_2 += 4;
   1057     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][17]); *img_2 = ivalue[2]; img_2 += 4;
   1058     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][18]); *img_2 = ivalue[2]; img_2 += 4;
   1059     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][19]); *img_2 = ivalue[2]; img_2 += 4;
   1060     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][20]); *img_2 = ivalue[2]; img_2 += 4;
   1061     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][21]); *img_2 = ivalue[2]; img_2 += 4;
   1062     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][22]); *img_2 = ivalue[2]; img_2 += 4;
   1063     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][23]); *img_2 = ivalue[2]; img_2 += 4;
   1064 
   1065     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][16]); *img_3 = ivalue[3]; img_3 += 4;
   1066     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][17]); *img_3 = ivalue[3]; img_3 += 4;
   1067     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][18]); *img_3 = ivalue[3]; img_3 += 4;
   1068     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][19]); *img_3 = ivalue[3]; img_3 += 4;
   1069     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][20]); *img_3 = ivalue[3]; img_3 += 4;
   1070     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][21]); *img_3 = ivalue[3]; img_3 += 4;
   1071     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][22]); *img_3 = ivalue[3]; img_3 += 4;
   1072     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][23]); *img_3 = ivalue[3]; img_3 += 4;
   1073 
   1074     img_0 += img_offset_0; img_1 += img_offset_0;    img_2 += img_offset_1;    img_3 += img_offset_1;
   1075 
   1076     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][24]); *img_0 = ivalue[0]; img_0 += 2;
   1077     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][25]); *img_0 = ivalue[0]; img_0 += 2;
   1078     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][26]); *img_0 = ivalue[0]; img_0 += 2;
   1079     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][27]); *img_0 = ivalue[0]; img_0 += 2;
   1080     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][28]); *img_0 = ivalue[0]; img_0 += 2;
   1081     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][29]); *img_0 = ivalue[0]; img_0 += 2;
   1082     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][30]); *img_0 = ivalue[0]; img_0 += 2;
   1083     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][31]); *img_0 = ivalue[0]; img_0 += 2;
   1084 
   1085     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][24]); *img_1 = ivalue[1]; img_1 += 2;
   1086     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][25]); *img_1 = ivalue[1]; img_1 += 2;
   1087     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][26]); *img_1 = ivalue[1]; img_1 += 2;
   1088     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][27]); *img_1 = ivalue[1]; img_1 += 2;
   1089     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][28]); *img_1 = ivalue[1]; img_1 += 2;
   1090     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][29]); *img_1 = ivalue[1]; img_1 += 2;
   1091     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][30]); *img_1 = ivalue[1]; img_1 += 2;
   1092     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][31]); *img_1 = ivalue[1]; img_1 += 2;
   1093 
   1094     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][24]); *img_2 = ivalue[2]; img_2 += 4;
   1095     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][25]); *img_2 = ivalue[2]; img_2 += 4;
   1096     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][26]); *img_2 = ivalue[2]; img_2 += 4;
   1097     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][27]); *img_2 = ivalue[2]; img_2 += 4;
   1098     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][28]); *img_2 = ivalue[2]; img_2 += 4;
   1099     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][29]); *img_2 = ivalue[2]; img_2 += 4;
   1100     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][30]); *img_2 = ivalue[2]; img_2 += 4;
   1101     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][31]); *img_2 = ivalue[2]; img_2 += 4;
   1102 
   1103     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][24]); *img_3 = ivalue[3]; img_3 += 4;
   1104     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][25]); *img_3 = ivalue[3]; img_3 += 4;
   1105     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][26]); *img_3 = ivalue[3]; img_3 += 4;
   1106     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][27]); *img_3 = ivalue[3]; img_3 += 4;
   1107     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][28]); *img_3 = ivalue[3]; img_3 += 4;
   1108     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][29]); *img_3 = ivalue[3]; img_3 += 4;
   1109     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][30]); *img_3 = ivalue[3]; img_3 += 4;
   1110     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][31]); *img_3 = ivalue[3]; img_3 += 4;
   1111 
   1112     img_0 += img_offset_0; img_1 += img_offset_0;    img_2 += img_offset_1;    img_3 += img_offset_1;
   1113 /*
   1114     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][32]); *img_0 = ivalue[0]; img_0 += 2;
   1115     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][33]); *img_0 = ivalue[0]; img_0 += 2;
   1116     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][34]); *img_0 = ivalue[0]; img_0 += 2;
   1117     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][35]); *img_0 = ivalue[0]; img_0 += 2;
   1118     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][36]); *img_0 = ivalue[0]; img_0 += 2;
   1119     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][37]); *img_0 = ivalue[0]; img_0 += 2;
   1120     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][38]); *img_0 = ivalue[0]; img_0 += 2;
   1121     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][39]); *img_0 = ivalue[0]; img_0 += 2;
   1122 
   1123     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][32]); *img_1 = ivalue[1]; img_1 += 2;
   1124     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][33]); *img_1 = ivalue[1]; img_1 += 2;
   1125     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][34]); *img_1 = ivalue[1]; img_1 += 2;
   1126     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][35]); *img_1 = ivalue[1]; img_1 += 2;
   1127     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][36]); *img_1 = ivalue[1]; img_1 += 2;
   1128     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][37]); *img_1 = ivalue[1]; img_1 += 2;
   1129     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][38]); *img_1 = ivalue[1]; img_1 += 2;
   1130     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][39]); *img_1 = ivalue[1]; img_1 += 2;
   1131 */
   1132     img_0 += 16; img_1 += 16;
   1133 
   1134     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][32]); *img_2 = ivalue[2]; img_2 += 4;
   1135     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][33]); *img_2 = ivalue[2]; img_2 += 4;
   1136     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][34]); *img_2 = ivalue[2]; img_2 += 4;
   1137     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][35]); *img_2 = ivalue[2]; img_2 += 4;
   1138     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][36]); *img_2 = ivalue[2]; img_2 += 4;
   1139     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][37]); *img_2 = ivalue[2]; img_2 += 4;
   1140     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][38]); *img_2 = ivalue[2]; img_2 += 4;
   1141     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][39]); *img_2 = ivalue[2]; img_2 += 4;
   1142 
   1143     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][32]); *img_3 = ivalue[3]; img_3 += 4;
   1144     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][33]); *img_3 = ivalue[3]; img_3 += 4;
   1145     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][34]); *img_3 = ivalue[3]; img_3 += 4;
   1146     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][35]); *img_3 = ivalue[3]; img_3 += 4;
   1147     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][36]); *img_3 = ivalue[3]; img_3 += 4;
   1148     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][37]); *img_3 = ivalue[3]; img_3 += 4;
   1149     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][38]); *img_3 = ivalue[3]; img_3 += 4;
   1150     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][39]); *img_3 = ivalue[3]; img_3 += 4;
   1151 
   1152     img_0 += img_offset_0; img_1 += img_offset_0;    img_2 += img_offset_1;    img_3 += img_offset_1;
   1153 /*
   1154     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][40]); *img_0 = ivalue[0]; img_0 += 2;
   1155     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][41]); *img_0 = ivalue[0]; img_0 += 2;
   1156     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][42]); *img_0 = ivalue[0]; img_0 += 2;
   1157     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][43]); *img_0 = ivalue[0]; img_0 += 2;
   1158     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][44]); *img_0 = ivalue[0]; img_0 += 2;
   1159     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][45]); *img_0 = ivalue[0]; img_0 += 2;
   1160     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][46]); *img_0 = ivalue[0]; img_0 += 2;
   1161     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][47]); *img_0 = ivalue[0]; img_0 += 2;
   1162 
   1163     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][40]); *img_1 = ivalue[1]; img_1 += 2;
   1164     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][41]); *img_1 = ivalue[1]; img_1 += 2;
   1165     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][42]); *img_1 = ivalue[1]; img_1 += 2;
   1166     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][43]); *img_1 = ivalue[1]; img_1 += 2;
   1167     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][44]); *img_1 = ivalue[1]; img_1 += 2;
   1168     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][45]); *img_1 = ivalue[1]; img_1 += 2;
   1169     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][46]); *img_1 = ivalue[1]; img_1 += 2;
   1170     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][47]); *img_1 = ivalue[1]; img_1 += 2;
   1171 */
   1172     img_0 += 16; img_1 += 16;
   1173 
   1174     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][40]); *img_2 = ivalue[2]; img_2 += 4;
   1175     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][41]); *img_2 = ivalue[2]; img_2 += 4;
   1176     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][42]); *img_2 = ivalue[2]; img_2 += 4;
   1177     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][43]); *img_2 = ivalue[2]; img_2 += 4;
   1178     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][44]); *img_2 = ivalue[2]; img_2 += 4;
   1179     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][45]); *img_2 = ivalue[2]; img_2 += 4;
   1180     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][46]); *img_2 = ivalue[2]; img_2 += 4;
   1181     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][47]); *img_2 = ivalue[2]; img_2 += 4;
   1182 
   1183     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][40]); *img_3 = ivalue[3]; img_3 += 4;
   1184     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][41]); *img_3 = ivalue[3]; img_3 += 4;
   1185     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][42]); *img_3 = ivalue[3]; img_3 += 4;
   1186     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][43]); *img_3 = ivalue[3]; img_3 += 4;
   1187     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][44]); *img_3 = ivalue[3]; img_3 += 4;
   1188     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][45]); *img_3 = ivalue[3]; img_3 += 4;
   1189     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][46]); *img_3 = ivalue[3]; img_3 += 4;
   1190     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][47]); *img_3 = ivalue[3]; img_3 += 4;
   1191 
   1192     img_0 += img_offset_0; img_1 += img_offset_0;    img_2 += img_offset_1;    img_3 += img_offset_1;
   1193 
   1194     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][48]); *img_0 = ivalue[0]; img_0 += 2;
   1195     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][49]); *img_0 = ivalue[0]; img_0 += 2;
   1196     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][50]); *img_0 = ivalue[0]; img_0 += 2;
   1197     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][51]); *img_0 = ivalue[0]; img_0 += 2;
   1198     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][52]); *img_0 = ivalue[0]; img_0 += 2;
   1199     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][53]); *img_0 = ivalue[0]; img_0 += 2;
   1200     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][54]); *img_0 = ivalue[0]; img_0 += 2;
   1201     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][55]); *img_0 = ivalue[0]; img_0 += 2;
   1202 
   1203     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][48]); *img_1 = ivalue[1]; img_1 += 2;
   1204     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][49]); *img_1 = ivalue[1]; img_1 += 2;
   1205     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][50]); *img_1 = ivalue[1]; img_1 += 2;
   1206     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][51]); *img_1 = ivalue[1]; img_1 += 2;
   1207     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][52]); *img_1 = ivalue[1]; img_1 += 2;
   1208     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][53]); *img_1 = ivalue[1]; img_1 += 2;
   1209     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][54]); *img_1 = ivalue[1]; img_1 += 2;
   1210     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][55]); *img_1 = ivalue[1]; img_1 += 2;
   1211 
   1212     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][48]); *img_2 = ivalue[2]; img_2 += 4;
   1213     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][49]); *img_2 = ivalue[2]; img_2 += 4;
   1214     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][50]); *img_2 = ivalue[2]; img_2 += 4;
   1215     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][51]); *img_2 = ivalue[2]; img_2 += 4;
   1216     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][52]); *img_2 = ivalue[2]; img_2 += 4;
   1217     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][53]); *img_2 = ivalue[2]; img_2 += 4;
   1218     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][54]); *img_2 = ivalue[2]; img_2 += 4;
   1219     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][55]); *img_2 = ivalue[2]; img_2 += 4;
   1220 
   1221     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][48]); *img_3 = ivalue[3]; img_3 += 4;
   1222     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][49]); *img_3 = ivalue[3]; img_3 += 4;
   1223     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][50]); *img_3 = ivalue[3]; img_3 += 4;
   1224     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][51]); *img_3 = ivalue[3]; img_3 += 4;
   1225     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][52]); *img_3 = ivalue[3]; img_3 += 4;
   1226     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][53]); *img_3 = ivalue[3]; img_3 += 4;
   1227     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][54]); *img_3 = ivalue[3]; img_3 += 4;
   1228     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][55]); *img_3 = ivalue[3]; img_3 += 4;
   1229 
   1230     img_0 += img_offset_0; img_1 += img_offset_0;    img_2 += img_offset_1;    img_3 += img_offset_1;
   1231 
   1232     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][56]); *img_0 = ivalue[0]; img_0 += 2;
   1233     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][57]); *img_0 = ivalue[0]; img_0 += 2;
   1234     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][58]); *img_0 = ivalue[0]; img_0 += 2;
   1235     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][59]); *img_0 = ivalue[0]; img_0 += 2;
   1236     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][60]); *img_0 = ivalue[0]; img_0 += 2;
   1237     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][61]); *img_0 = ivalue[0]; img_0 += 2;
   1238     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][62]); *img_0 = ivalue[0]; img_0 += 2;
   1239     ivalue[0] = CLIP255(*img_0+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][63]); *img_0 = ivalue[0]; img_0 += 2;
   1240 
   1241     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][56]); *img_1 = ivalue[1]; img_1 += 2;
   1242     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][57]); *img_1 = ivalue[1]; img_1 += 2;
   1243     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][58]); *img_1 = ivalue[1]; img_1 += 2;
   1244     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][59]); *img_1 = ivalue[1]; img_1 += 2;
   1245     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][60]); *img_1 = ivalue[1]; img_1 += 2;
   1246     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][61]); *img_1 = ivalue[1]; img_1 += 2;
   1247     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][62]); *img_1 = ivalue[1]; img_1 += 2;
   1248     ivalue[1] = CLIP255(*img_1+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][63]); *img_1 = ivalue[1]; img_1 += 2;
   1249 
   1250     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][56]); *img_2 = ivalue[2]; img_2 += 4;
   1251     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][57]); *img_2 = ivalue[2]; img_2 += 4;
   1252     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][58]); *img_2 = ivalue[2]; img_2 += 4;
   1253     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][59]); *img_2 = ivalue[2]; img_2 += 4;
   1254     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][60]); *img_2 = ivalue[2]; img_2 += 4;
   1255     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][61]); *img_2 = ivalue[2]; img_2 += 4;
   1256     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][62]); *img_2 = ivalue[2]; img_2 += 4;
   1257     ivalue[2] = CLIP255(*img_2+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][63]); *img_2 = ivalue[2]; img_2 += 4;
   1258 
   1259     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][56]); *img_3 = ivalue[3]; img_3 += 4;
   1260     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][57]); *img_3 = ivalue[3]; img_3 += 4;
   1261     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][58]); *img_3 = ivalue[3]; img_3 += 4;
   1262     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][59]); *img_3 = ivalue[3]; img_3 += 4;
   1263     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][60]); *img_3 = ivalue[3]; img_3 += 4;
   1264     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][61]); *img_3 = ivalue[3]; img_3 += 4;
   1265     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][62]); *img_3 = ivalue[3]; img_3 += 4;
   1266     ivalue[3] = CLIP255(*img_3+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][63]); *img_3 = ivalue[3]; img_3 += 4;
   1267 
   1268     img_0 += img_offset_0; img_1 += img_offset_0;    img_2 += img_offset_1;    img_3 += img_offset_1;
   1269 
   1270 }
   1271 
   1272 inline void fwHDT4x4(int *inblk4x4, int *outblk4x4)
   1273 {
   1274  int tmpblk4x4[16];
   1275 
   1276  int add_0_8 = inblk4x4[0] + inblk4x4[8];
   1277  int add_4_12 = inblk4x4[4] + inblk4x4[12];
   1278  int add_2_10 = inblk4x4[2] + inblk4x4[10];
   1279  int add_6_14 = inblk4x4[6] + inblk4x4[14];
   1280  int add_1_9 = inblk4x4[1] + inblk4x4[9];
   1281  int add_5_13 = inblk4x4[5] + inblk4x4[13];
   1282  int add_3_11 = inblk4x4[3] + inblk4x4[11];
   1283  int add_7_15 = inblk4x4[7] + inblk4x4[15];
   1284  int add_tmp_4_6;
   1285  int add_tmp_5_7;
   1286 
   1287  // First, Vertical Hadamard Transform
   1288  tmpblk4x4[0]  = (add_0_8 + add_4_12);
   1289  tmpblk4x4[2]  = (add_2_10 + add_6_14);
   1290  tmpblk4x4[1]  = (add_1_9 + add_5_13);
   1291  tmpblk4x4[3]  = (add_3_11 + add_7_15);
   1292 
   1293  tmpblk4x4[4]  = (add_0_8 - (add_4_12));
   1294  tmpblk4x4[6]  = (add_2_10 - (add_6_14));
   1295  tmpblk4x4[5]  = (add_1_9 - (add_5_13));
   1296  tmpblk4x4[7]  = (add_3_11 - (add_7_15));
   1297 
   1298  tmpblk4x4[8]  = (inblk4x4[0] - inblk4x4[8] + inblk4x4[4] - inblk4x4[12]);
   1299  tmpblk4x4[10] = (inblk4x4[2] - inblk4x4[10] + inblk4x4[6] - inblk4x4[14]);
   1300  tmpblk4x4[9]  = (inblk4x4[1] - inblk4x4[9] + inblk4x4[5] - inblk4x4[13]);
   1301  tmpblk4x4[11] = (inblk4x4[3] - inblk4x4[11] + inblk4x4[7] - inblk4x4[15]);
   1302 
   1303 
   1304  add_tmp_4_6 = tmpblk4x4[4] + tmpblk4x4[6];
   1305  add_tmp_5_7 = tmpblk4x4[5] + tmpblk4x4[7];
   1306 
   1307  // Second, Horizontal Hadamard Transform
   1308  outblk4x4[0]  = (tmpblk4x4[0] + tmpblk4x4[2] - tmpblk4x4[1] - tmpblk4x4[3]);
   1309  outblk4x4[1]  = (tmpblk4x4[0] - tmpblk4x4[2] + tmpblk4x4[1] - tmpblk4x4[3]);
   1310  outblk4x4[2]  = (add_tmp_4_6 + add_tmp_5_7);
   1311  outblk4x4[3]  = (add_tmp_4_6 - add_tmp_5_7);
   1312  outblk4x4[4]  = (tmpblk4x4[8] + tmpblk4x4[10] + tmpblk4x4[9] + tmpblk4x4[11]);
   1313 }
   1314 
   1315 void ExynosJpegDecoder::reduceBlockingArtifact(unsigned char *addr, int iColor, int width, int height)
   1316 {
   1317     if (iColor != V4L2_PIX_FMT_YUYV) {
   1318         return;
   1319     }
   1320 
   1321     int i, j, x, y;
   1322 
   1323     int width2;
   1324 
   1325     int index_i, index_j;
   1326 
   1327     unsigned char *image = NULL;
   1328 
   1329     unsigned char *image_p1;
   1330     unsigned char *image_p3;
   1331     unsigned char *image_p16;
   1332 
   1333     unsigned char *image_ptr[4];
   1334     unsigned char *img[4];
   1335     unsigned char *block[4];
   1336 
   1337     int y_mul_width2;
   1338 
   1339     int block_offset_0;
   1340     int block_offset_1;
   1341     int img_offset_0;
   1342     int img_offset_1;
   1343 
   1344     int f_0[16];
   1345     int f_1[16];
   1346     int f_2[16];
   1347     int f_3[16];
   1348     int F[4][5];
   1349     int idx[4][5];
   1350 
   1351     int ivalue[4];
   1352 
   1353     width2 = width<<1;
   1354     block_offset_0 = (width2<<1)-16;
   1355     block_offset_1 = (width2<<1)-32;
   1356     img_offset_0 = width2-16;
   1357     img_offset_1 = width2-32;
   1358 
   1359     image_p1 = addr + 1;
   1360     image_p3 = addr + 3;
   1361     image_p16 = addr + 16;
   1362 
   1363     for(y=8;y<height;y+=8){
   1364 
   1365         y_mul_width2 = y*width2;
   1366 
   1367         image_ptr[0]     = addr+y_mul_width2;
   1368         image_ptr[1]     = image_p16+y_mul_width2;
   1369         image_ptr[2]     = image_p1+y_mul_width2;
   1370         image_ptr[3]     = image_p3+y_mul_width2;
   1371 
   1372         for(x=0;x<width2;x+=32){
   1373             img[0] = image_ptr[0]+x;
   1374             img[1] = image_ptr[1]+x;
   1375             img[2] = image_ptr[2]+x;
   1376             img[3] = image_ptr[3]+x;
   1377 
   1378             block[0] = img[0];
   1379             block[1] = img[1];
   1380             block[2] = img[2];
   1381             block[3] = img[3];
   1382 
   1383             //j=0
   1384             f_0[0]  = *block[0]; block[0] += 4;  f_1[0]  = *block[1]; block[1] += 4;  f_2[0]  = *block[2]; block[2] += 8;  f_3[0]  = *block[3]; block[3] += 8; //j=0, i=0
   1385             f_0[1]  = *block[0]; block[0] += 4;  f_1[1]  = *block[1]; block[1] += 4;  f_2[1]  = *block[2]; block[2] += 8;  f_3[1]  = *block[3]; block[3] += 8; //j=0, i=1
   1386             f_0[2]  = *block[0]; block[0] += 4;  f_1[2]  = *block[1]; block[1] += 4;  f_2[2]  = *block[2]; block[2] += 8;  f_3[2]  = *block[3]; block[3] += 8; //j=0, i=2
   1387             f_0[3]  = *block[0]; block[0] += 4;  f_1[3]  = *block[1]; block[1] += 4;  f_2[3]  = *block[2]; block[2] += 8;  f_3[3]  = *block[3]; block[3] += 8; //j=0, i=3
   1388             block[0] += block_offset_0;    block[1] += block_offset_0;    block[2] += block_offset_1;    block[3] += block_offset_1;
   1389             //j=1
   1390             f_0[4]  = *block[0]; block[0] += 4;  f_1[4]  = *block[1]; block[1] += 4;  f_2[4]  = *block[2]; block[2] += 8;  f_3[4]  = *block[3]; block[3] += 8; //j=1, i=0
   1391             f_0[5]  = *block[0]; block[0] += 4;  f_1[5]  = *block[1]; block[1] += 4;  f_2[5]  = *block[2]; block[2] += 8;  f_3[5]  = *block[3]; block[3] += 8; //j=1, i=1
   1392             f_0[6]  = *block[0]; block[0] += 4;  f_1[6]  = *block[1]; block[1] += 4;  f_2[6]  = *block[2]; block[2] += 8;  f_3[6]  = *block[3]; block[3] += 8; //j=1, i=2
   1393             f_0[7]  = *block[0]; block[0] += 4;  f_1[7]  = *block[1]; block[1] += 4;  f_2[7]  = *block[2]; block[2] += 8;  f_3[7]  = *block[3]; block[3] += 8; //j=1, i=3
   1394             block[0] += block_offset_0;    block[1] += block_offset_0;    block[2] += block_offset_1;    block[3] += block_offset_1;
   1395             //j=2
   1396             f_0[8]  = *block[0]; block[0] += 4;  f_1[8]  = *block[1]; block[1] += 4;  f_2[8]  = *block[2]; block[2] += 8;  f_3[8]  = *block[3]; block[3] += 8; //j=2, i=0
   1397             f_0[9]  = *block[0]; block[0] += 4;  f_1[9]  = *block[1]; block[1] += 4;  f_2[9]  = *block[2]; block[2] += 8;  f_3[9]  = *block[3]; block[3] += 8; //j=2, i=1
   1398             f_0[10] = *block[0]; block[0] += 4;  f_1[10] = *block[1]; block[1] += 4;  f_2[10] = *block[2]; block[2] += 8;  f_3[10] = *block[3]; block[3] += 8; //j=2, i=2
   1399             f_0[11] = *block[0]; block[0] += 4;  f_1[11] = *block[1]; block[1] += 4;  f_2[11] = *block[2]; block[2] += 8;  f_3[11] = *block[3]; block[3] += 8; //j=2, i=3
   1400             block[0] += block_offset_0;    block[1] += block_offset_0;    block[2] += block_offset_1;    block[3] += block_offset_1;
   1401             //j=3
   1402             f_0[12] = *block[0]; block[0] += 4;  f_1[12] = *block[1]; block[1] += 4;  f_2[12] = *block[2]; block[2] += 8;  f_3[12] = *block[3]; block[3] += 8; //j=3, i=0
   1403             f_0[13] = *block[0]; block[0] += 4;  f_1[13] = *block[1]; block[1] += 4;  f_2[13] = *block[2]; block[2] += 8;  f_3[13] = *block[3]; block[3] += 8; //j=3, i=1
   1404             f_0[14] = *block[0]; block[0] += 4;  f_1[14] = *block[1]; block[1] += 4;  f_2[14] = *block[2]; block[2] += 8;  f_3[14] = *block[3]; block[3] += 8; //j=3, i=2
   1405             f_0[15] = *block[0]; block[0] += 4;  f_1[15] = *block[1]; block[1] += 4;  f_2[15] = *block[2]; block[2] += 8;  f_3[15] = *block[3]; block[3] += 8; //j=3, i=3
   1406             block[0] += block_offset_0;    block[1] += block_offset_0;    block[2] += block_offset_1;    block[3] += block_offset_1;
   1407 
   1408             //i=0
   1409             fwHDT4x4(f_0, F[0]);
   1410             idx[0][0] = (F[0][0]==0)?1:((F[0][0]<0)?0:2);
   1411             idx[0][1] = (F[0][1]==0)?1:((F[0][1]<0)?0:2);
   1412             idx[0][2] = (F[0][2]==0)?1:((F[0][2]<0)?0:2);
   1413             idx[0][3] = (F[0][3]==0)?1:((F[0][3]<0)?0:2);
   1414             idx[0][4] = (F[0][4]==0)?1:((F[0][4]<0)?0:2);
   1415 
   1416             //i=1
   1417             fwHDT4x4(f_1, F[1]);
   1418             idx[1][0] = (F[1][0]==0)?1:((F[1][0]<0)?0:2);
   1419             idx[1][1] = (F[1][1]==0)?1:((F[1][1]<0)?0:2);
   1420             idx[1][2] = (F[1][2]==0)?1:((F[1][2]<0)?0:2);
   1421             idx[1][3] = (F[1][3]==0)?1:((F[1][3]<0)?0:2);
   1422             idx[1][4] = (F[1][4]==0)?1:((F[1][4]<0)?0:2);
   1423 
   1424             //i=2
   1425             fwHDT4x4(f_2, F[2]);
   1426             idx[2][0] = (F[2][0]==0)?1:((F[2][0]<0)?0:2);
   1427             idx[2][1] = (F[2][1]==0)?1:((F[2][1]<0)?0:2);
   1428             idx[2][2] = (F[2][2]==0)?1:((F[2][2]<0)?0:2);
   1429             idx[2][3] = (F[2][3]==0)?1:((F[2][3]<0)?0:2);
   1430             idx[2][4] = (F[2][4]==0)?1:((F[2][4]<0)?0:2);
   1431 
   1432             //i=3
   1433             fwHDT4x4(f_3, F[3]);
   1434             idx[3][0] = (F[3][0]==0)?1:((F[3][0]<0)?0:2);
   1435             idx[3][1] = (F[3][1]==0)?1:((F[3][1]<0)?0:2);
   1436             idx[3][2] = (F[3][2]==0)?1:((F[3][2]<0)?0:2);
   1437             idx[3][3] = (F[3][3]==0)?1:((F[3][3]<0)?0:2);
   1438             idx[3][4] = (F[3][4]==0)?1:((F[3][4]<0)?0:2);
   1439 
   1440             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][0]); *img[0] = ivalue[0]; img[0] += 2;
   1441             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][1]); *img[0] = ivalue[0]; img[0] += 2;
   1442             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][2]); *img[0] = ivalue[0]; img[0] += 2;
   1443             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][3]); *img[0] = ivalue[0]; img[0] += 2;
   1444             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][4]); *img[0] = ivalue[0]; img[0] += 2;
   1445             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][5]); *img[0] = ivalue[0]; img[0] += 2;
   1446             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][6]); *img[0] = ivalue[0]; img[0] += 2;
   1447             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][7]); *img[0] = ivalue[0]; img[0] += 2;
   1448 
   1449             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][0]); *img[1] = ivalue[1]; img[1] += 2;
   1450             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][1]); *img[1] = ivalue[1]; img[1] += 2;
   1451             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][2]); *img[1] = ivalue[1]; img[1] += 2;
   1452             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][3]); *img[1] = ivalue[1]; img[1] += 2;
   1453             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][4]); *img[1] = ivalue[1]; img[1] += 2;
   1454             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][5]); *img[1] = ivalue[1]; img[1] += 2;
   1455             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][6]); *img[1] = ivalue[1]; img[1] += 2;
   1456             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][7]); *img[1] = ivalue[1]; img[1] += 2;
   1457 
   1458             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][0]); *img[2] = ivalue[2]; img[2] += 4;
   1459             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][1]); *img[2] = ivalue[2]; img[2] += 4;
   1460             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][2]); *img[2] = ivalue[2]; img[2] += 4;
   1461             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][3]); *img[2] = ivalue[2]; img[2] += 4;
   1462             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][4]); *img[2] = ivalue[2]; img[2] += 4;
   1463             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][5]); *img[2] = ivalue[2]; img[2] += 4;
   1464             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][6]); *img[2] = ivalue[2]; img[2] += 4;
   1465             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][7]); *img[2] = ivalue[2]; img[2] += 4;
   1466 
   1467             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][0]); *img[3] = ivalue[3]; img[3] += 4;
   1468             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][1]); *img[3] = ivalue[3]; img[3] += 4;
   1469             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][2]); *img[3] = ivalue[3]; img[3] += 4;
   1470             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][3]); *img[3] = ivalue[3]; img[3] += 4;
   1471             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][4]); *img[3] = ivalue[3]; img[3] += 4;
   1472             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][5]); *img[3] = ivalue[3]; img[3] += 4;
   1473             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][6]); *img[3] = ivalue[3]; img[3] += 4;
   1474             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][7]); *img[3] = ivalue[3]; img[3] += 4;
   1475 
   1476             img[0] += img_offset_0; img[1] += img_offset_0;    img[2] += img_offset_1;    img[3] += img_offset_1;
   1477 
   1478             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][8] ); *img[0] = ivalue[0]; img[0] += 2;
   1479             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][9] ); *img[0] = ivalue[0]; img[0] += 2;
   1480             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][10]); *img[0] = ivalue[0]; img[0] += 2;
   1481             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][11]); *img[0] = ivalue[0]; img[0] += 2;
   1482             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][12]); *img[0] = ivalue[0]; img[0] += 2;
   1483             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][13]); *img[0] = ivalue[0]; img[0] += 2;
   1484             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][14]); *img[0] = ivalue[0]; img[0] += 2;
   1485             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][15]); *img[0] = ivalue[0]; img[0] += 2;
   1486 
   1487             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][8] ); *img[1] = ivalue[1]; img[1] += 2;
   1488             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][9] ); *img[1] = ivalue[1]; img[1] += 2;
   1489             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][10]); *img[1] = ivalue[1]; img[1] += 2;
   1490             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][11]); *img[1] = ivalue[1]; img[1] += 2;
   1491             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][12]); *img[1] = ivalue[1]; img[1] += 2;
   1492             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][13]); *img[1] = ivalue[1]; img[1] += 2;
   1493             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][14]); *img[1] = ivalue[1]; img[1] += 2;
   1494             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][15]); *img[1] = ivalue[1]; img[1] += 2;
   1495 
   1496             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][8] ); *img[2] = ivalue[2]; img[2] += 4;
   1497             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][9] ); *img[2] = ivalue[2]; img[2] += 4;
   1498             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][10]); *img[2] = ivalue[2]; img[2] += 4;
   1499             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][11]); *img[2] = ivalue[2]; img[2] += 4;
   1500             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][12]); *img[2] = ivalue[2]; img[2] += 4;
   1501             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][13]); *img[2] = ivalue[2]; img[2] += 4;
   1502             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][14]); *img[2] = ivalue[2]; img[2] += 4;
   1503             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][15]); *img[2] = ivalue[2]; img[2] += 4;
   1504 
   1505             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][8] ); *img[3] = ivalue[3]; img[3] += 4;
   1506             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][9] ); *img[3] = ivalue[3]; img[3] += 4;
   1507             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][10]); *img[3] = ivalue[3]; img[3] += 4;
   1508             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][11]); *img[3] = ivalue[3]; img[3] += 4;
   1509             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][12]); *img[3] = ivalue[3]; img[3] += 4;
   1510             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][13]); *img[3] = ivalue[3]; img[3] += 4;
   1511             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][14]); *img[3] = ivalue[3]; img[3] += 4;
   1512             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][15]); *img[3] = ivalue[3]; img[3] += 4;
   1513 
   1514             img[0] += img_offset_0; img[1] += img_offset_0;    img[2] += img_offset_1;    img[3] += img_offset_1;
   1515 
   1516             img[0] += 16; img[1] += 16;
   1517 
   1518             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][16]); *img[2] = ivalue[2]; img[2] += 4;
   1519             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][17]); *img[2] = ivalue[2]; img[2] += 4;
   1520             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][18]); *img[2] = ivalue[2]; img[2] += 4;
   1521             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][19]); *img[2] = ivalue[2]; img[2] += 4;
   1522             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][20]); *img[2] = ivalue[2]; img[2] += 4;
   1523             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][21]); *img[2] = ivalue[2]; img[2] += 4;
   1524             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][22]); *img[2] = ivalue[2]; img[2] += 4;
   1525             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][23]); *img[2] = ivalue[2]; img[2] += 4;
   1526 
   1527             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][16]); *img[3] = ivalue[3]; img[3] += 4;
   1528             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][17]); *img[3] = ivalue[3]; img[3] += 4;
   1529             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][18]); *img[3] = ivalue[3]; img[3] += 4;
   1530             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][19]); *img[3] = ivalue[3]; img[3] += 4;
   1531             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][20]); *img[3] = ivalue[3]; img[3] += 4;
   1532             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][21]); *img[3] = ivalue[3]; img[3] += 4;
   1533             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][22]); *img[3] = ivalue[3]; img[3] += 4;
   1534             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][23]); *img[3] = ivalue[3]; img[3] += 4;
   1535 
   1536             img[0] += img_offset_0; img[1] += img_offset_0;    img[2] += img_offset_1;    img[3] += img_offset_1;
   1537 
   1538             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][24]); *img[0] = ivalue[0]; img[0] += 2;
   1539             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][25]); *img[0] = ivalue[0]; img[0] += 2;
   1540             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][26]); *img[0] = ivalue[0]; img[0] += 2;
   1541             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][27]); *img[0] = ivalue[0]; img[0] += 2;
   1542             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][28]); *img[0] = ivalue[0]; img[0] += 2;
   1543             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][29]); *img[0] = ivalue[0]; img[0] += 2;
   1544             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][30]); *img[0] = ivalue[0]; img[0] += 2;
   1545             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][31]); *img[0] = ivalue[0]; img[0] += 2;
   1546 
   1547             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][24]); *img[1] = ivalue[1]; img[1] += 2;
   1548             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][25]); *img[1] = ivalue[1]; img[1] += 2;
   1549             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][26]); *img[1] = ivalue[1]; img[1] += 2;
   1550             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][27]); *img[1] = ivalue[1]; img[1] += 2;
   1551             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][28]); *img[1] = ivalue[1]; img[1] += 2;
   1552             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][29]); *img[1] = ivalue[1]; img[1] += 2;
   1553             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][30]); *img[1] = ivalue[1]; img[1] += 2;
   1554             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][31]); *img[1] = ivalue[1]; img[1] += 2;
   1555 #if 1
   1556             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][24]); *img[2] = ivalue[2]; img[2] += 4;
   1557             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][25]); *img[2] = ivalue[2]; img[2] += 4;
   1558             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][26]); *img[2] = ivalue[2]; img[2] += 4;
   1559             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][27]); *img[2] = ivalue[2]; img[2] += 4;
   1560             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][28]); *img[2] = ivalue[2]; img[2] += 4;
   1561             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][29]); *img[2] = ivalue[2]; img[2] += 4;
   1562             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][30]); *img[2] = ivalue[2]; img[2] += 4;
   1563             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][31]); *img[2] = ivalue[2]; img[2] += 4;
   1564 
   1565             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][24]); *img[3] = ivalue[3]; img[3] += 4;
   1566             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][25]); *img[3] = ivalue[3]; img[3] += 4;
   1567             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][26]); *img[3] = ivalue[3]; img[3] += 4;
   1568             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][27]); *img[3] = ivalue[3]; img[3] += 4;
   1569             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][28]); *img[3] = ivalue[3]; img[3] += 4;
   1570             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][29]); *img[3] = ivalue[3]; img[3] += 4;
   1571             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][30]); *img[3] = ivalue[3]; img[3] += 4;
   1572             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][31]); *img[3] = ivalue[3]; img[3] += 4;
   1573 #else
   1574             img[2] += 32;
   1575             img[3] += 32;
   1576 #endif
   1577             img[0] += img_offset_0; img[1] += img_offset_0;    img[2] += img_offset_1;    img[3] += img_offset_1;
   1578 
   1579             img[0] += 16; img[1] += 16;
   1580 
   1581             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][32]); *img[2] = ivalue[2]; img[2] += 4;
   1582             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][33]); *img[2] = ivalue[2]; img[2] += 4;
   1583             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][34]); *img[2] = ivalue[2]; img[2] += 4;
   1584             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][35]); *img[2] = ivalue[2]; img[2] += 4;
   1585             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][36]); *img[2] = ivalue[2]; img[2] += 4;
   1586             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][37]); *img[2] = ivalue[2]; img[2] += 4;
   1587             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][38]); *img[2] = ivalue[2]; img[2] += 4;
   1588             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][39]); *img[2] = ivalue[2]; img[2] += 4;
   1589 
   1590             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][32]); *img[3] = ivalue[3]; img[3] += 4;
   1591             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][33]); *img[3] = ivalue[3]; img[3] += 4;
   1592             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][34]); *img[3] = ivalue[3]; img[3] += 4;
   1593             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][35]); *img[3] = ivalue[3]; img[3] += 4;
   1594             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][36]); *img[3] = ivalue[3]; img[3] += 4;
   1595             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][37]); *img[3] = ivalue[3]; img[3] += 4;
   1596             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][38]); *img[3] = ivalue[3]; img[3] += 4;
   1597             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][39]); *img[3] = ivalue[3]; img[3] += 4;
   1598 
   1599             img[0] += img_offset_0; img[1] += img_offset_0;    img[2] += img_offset_1;    img[3] += img_offset_1;
   1600 
   1601             img[0] += 16; img[1] += 16;
   1602 #if 1
   1603             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][40]); *img[2] = ivalue[2]; img[2] += 4;
   1604             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][41]); *img[2] = ivalue[2]; img[2] += 4;
   1605             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][42]); *img[2] = ivalue[2]; img[2] += 4;
   1606             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][43]); *img[2] = ivalue[2]; img[2] += 4;
   1607             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][44]); *img[2] = ivalue[2]; img[2] += 4;
   1608             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][45]); *img[2] = ivalue[2]; img[2] += 4;
   1609             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][46]); *img[2] = ivalue[2]; img[2] += 4;
   1610             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][47]); *img[2] = ivalue[2]; img[2] += 4;
   1611 
   1612             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][40]); *img[3] = ivalue[3]; img[3] += 4;
   1613             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][41]); *img[3] = ivalue[3]; img[3] += 4;
   1614             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][42]); *img[3] = ivalue[3]; img[3] += 4;
   1615             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][43]); *img[3] = ivalue[3]; img[3] += 4;
   1616             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][44]); *img[3] = ivalue[3]; img[3] += 4;
   1617             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][45]); *img[3] = ivalue[3]; img[3] += 4;
   1618             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][46]); *img[3] = ivalue[3]; img[3] += 4;
   1619             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][47]); *img[3] = ivalue[3]; img[3] += 4;
   1620 #else
   1621             img[2] += 32;
   1622             img[3] += 32;
   1623 #endif
   1624             img[0] += img_offset_0; img[1] += img_offset_0;    img[2] += img_offset_1;    img[3] += img_offset_1;
   1625 
   1626             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][48]); *img[0] = ivalue[0]; img[0] += 2;
   1627             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][49]); *img[0] = ivalue[0]; img[0] += 2;
   1628             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][50]); *img[0] = ivalue[0]; img[0] += 2;
   1629             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][51]); *img[0] = ivalue[0]; img[0] += 2;
   1630             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][52]); *img[0] = ivalue[0]; img[0] += 2;
   1631             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][53]); *img[0] = ivalue[0]; img[0] += 2;
   1632             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][54]); *img[0] = ivalue[0]; img[0] += 2;
   1633             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][55]); *img[0] = ivalue[0]; img[0] += 2;
   1634 
   1635             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][48]); *img[1] = ivalue[1]; img[1] += 2;
   1636             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][49]); *img[1] = ivalue[1]; img[1] += 2;
   1637             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][50]); *img[1] = ivalue[1]; img[1] += 2;
   1638             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][51]); *img[1] = ivalue[1]; img[1] += 2;
   1639             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][52]); *img[1] = ivalue[1]; img[1] += 2;
   1640             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][53]); *img[1] = ivalue[1]; img[1] += 2;
   1641             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][54]); *img[1] = ivalue[1]; img[1] += 2;
   1642             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][55]); *img[1] = ivalue[1]; img[1] += 2;
   1643 
   1644             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][48]); *img[2] = ivalue[2]; img[2] += 4;
   1645             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][49]); *img[2] = ivalue[2]; img[2] += 4;
   1646             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][50]); *img[2] = ivalue[2]; img[2] += 4;
   1647             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][51]); *img[2] = ivalue[2]; img[2] += 4;
   1648             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][52]); *img[2] = ivalue[2]; img[2] += 4;
   1649             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][53]); *img[2] = ivalue[2]; img[2] += 4;
   1650             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][54]); *img[2] = ivalue[2]; img[2] += 4;
   1651             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][55]); *img[2] = ivalue[2]; img[2] += 4;
   1652 
   1653             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][48]); *img[3] = ivalue[3]; img[3] += 4;
   1654             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][49]); *img[3] = ivalue[3]; img[3] += 4;
   1655             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][50]); *img[3] = ivalue[3]; img[3] += 4;
   1656             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][51]); *img[3] = ivalue[3]; img[3] += 4;
   1657             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][52]); *img[3] = ivalue[3]; img[3] += 4;
   1658             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][53]); *img[3] = ivalue[3]; img[3] += 4;
   1659             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][54]); *img[3] = ivalue[3]; img[3] += 4;
   1660             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][55]); *img[3] = ivalue[3]; img[3] += 4;
   1661 
   1662             img[0] += img_offset_0; img[1] += img_offset_0;    img[2] += img_offset_1;    img[3] += img_offset_1;
   1663 
   1664             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][56]); *img[0] = ivalue[0]; img[0] += 2;
   1665             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][57]); *img[0] = ivalue[0]; img[0] += 2;
   1666             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][58]); *img[0] = ivalue[0]; img[0] += 2;
   1667             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][59]); *img[0] = ivalue[0]; img[0] += 2;
   1668             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][60]); *img[0] = ivalue[0]; img[0] += 2;
   1669             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][61]); *img[0] = ivalue[0]; img[0] += 2;
   1670             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][62]); *img[0] = ivalue[0]; img[0] += 2;
   1671             ivalue[0] = CLIP255(*img[0]+Ytable[idx[0][0]][idx[0][1]][idx[0][2]][idx[0][3]][idx[0][4]][63]); *img[0] = ivalue[0]; img[0] += 2;
   1672 
   1673             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][56]); *img[1] = ivalue[1]; img[1] += 2;
   1674             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][57]); *img[1] = ivalue[1]; img[1] += 2;
   1675             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][58]); *img[1] = ivalue[1]; img[1] += 2;
   1676             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][59]); *img[1] = ivalue[1]; img[1] += 2;
   1677             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][60]); *img[1] = ivalue[1]; img[1] += 2;
   1678             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][61]); *img[1] = ivalue[1]; img[1] += 2;
   1679             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][62]); *img[1] = ivalue[1]; img[1] += 2;
   1680             ivalue[1] = CLIP255(*img[1]+Ytable[idx[1][0]][idx[1][1]][idx[1][2]][idx[1][3]][idx[1][4]][63]); *img[1] = ivalue[1]; img[1] += 2;
   1681 
   1682             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][56]); *img[2] = ivalue[2]; img[2] += 4;
   1683             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][57]); *img[2] = ivalue[2]; img[2] += 4;
   1684             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][58]); *img[2] = ivalue[2]; img[2] += 4;
   1685             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][59]); *img[2] = ivalue[2]; img[2] += 4;
   1686             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][60]); *img[2] = ivalue[2]; img[2] += 4;
   1687             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][61]); *img[2] = ivalue[2]; img[2] += 4;
   1688             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][62]); *img[2] = ivalue[2]; img[2] += 4;
   1689             ivalue[2] = CLIP255(*img[2]+Utable[idx[2][0]][idx[2][1]][idx[2][2]][idx[2][3]][idx[2][4]][63]); *img[2] = ivalue[2]; img[2] += 4;
   1690 
   1691             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][56]); *img[3] = ivalue[3]; img[3] += 4;
   1692             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][57]); *img[3] = ivalue[3]; img[3] += 4;
   1693             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][58]); *img[3] = ivalue[3]; img[3] += 4;
   1694             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][59]); *img[3] = ivalue[3]; img[3] += 4;
   1695             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][60]); *img[3] = ivalue[3]; img[3] += 4;
   1696             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][61]); *img[3] = ivalue[3]; img[3] += 4;
   1697             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][62]); *img[3] = ivalue[3]; img[3] += 4;
   1698             ivalue[3] = CLIP255(*img[3]+Vtable[idx[3][0]][idx[3][1]][idx[3][2]][idx[3][3]][idx[3][4]][63]); *img[3] = ivalue[3]; img[3] += 4;
   1699 
   1700             img[0] += img_offset_0; img[1] += img_offset_0;    img[2] += img_offset_1;    img[3] += img_offset_1;
   1701 
   1702         }//x
   1703     }//y
   1704 }
   1705 
   1706 #endif // WA_BLOCKING_ARTIFACT
   1707