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
50ExynosJpegDecoder::ExynosJpegDecoder()
51{
52    t_iJpegFd = -1;
53    t_bFlagCreate = false;
54}
55
56ExynosJpegDecoder::~ExynosJpegDecoder()
57{
58    if (t_bFlagCreate == true) {
59        this->destroy();
60    }
61}
62
63int ExynosJpegDecoder::create(void)
64{
65    return ExynosJpegBase::create(MODE_DECODE);
66}
67
68int ExynosJpegDecoder::destroy(void)
69{
70    return ExynosJpegBase::destroy(NUM_JPEG_DEC_IN_BUFS, NUM_JPEG_DEC_OUT_BUFS);
71}
72
73int ExynosJpegDecoder::setJpegConfig(void *pConfig)
74{
75    return ExynosJpegBase::setJpegConfig(MODE_DECODE, pConfig);
76}
77
78int 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
84int ExynosJpegDecoder::getOutBuf(int *piBuf, int *piOutputSize, int iSize)
85{
86    return getBuf(t_bFlagCreateOutBuf, &t_stJpegOutbuf, piBuf, piOutputSize, iSize, t_iPlaneNum);
87}
88
89int  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
101int  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
113int 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
131int ExynosJpegDecoder::setColorFormat(int iV4l2ColorFormat)
132{
133    return ExynosJpegBase::setColorFormat(MODE_DECODE, iV4l2ColorFormat);
134}
135
136int ExynosJpegDecoder::setJpegFormat(int iV4l2JpegFormat)
137{
138    return ExynosJpegBase::setJpegFormat(MODE_DECODE, iV4l2JpegFormat);
139}
140
141int 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
148int 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
168int 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
183int 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
209int 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
455int 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
701int 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
946char 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
956inline 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
1272inline 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
1315void 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