#include <io.h>
#include <system.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <time.h>
#include <alt_types.h>
#include "alt_up_ps2_port.h"
#include "ps2_keyboard.h"

alt_u8 key = 0;
KB_CODE_TYPE decode_mode;
int status = 0;

unsigned long numOfDomove;
unsigned long numOfPermtonum;
/*
#define RESET_TIMER() \
  IOWR_16DIRECT(TIMER_BASE, 4, 0)
#define ENABLE_TIMER() \
  IOWR_16DIRECT(TIMER_BASE, 4, 1)
#define DISABLE_TIMER() \
  IOWR_16DIRECT(TIMER_BASE, 4, 2)

#define GET_TIMER_LOW() \
  IORD_16DIRECT(TIMER_BASE, 0)
#define GET_TIMER_HIGH() \
  IORD_16DIRECT(TIMER_BASE, 2)
*/
void SET_COLOR(int face, int position, int color)
{
	IOWR_8DIRECT(VGA_RASTER_BASE, face*9+position, color);
}

void SET_BORDER(int face)
{
	IOWR_8DIRECT(VGA_RASTER_BASE, 54, (1<<face));
}

void CLEAR_BORDER(void)
{
	IOWR_8DIRECT(VGA_RASTER_BASE, 54, 0);
}

char get_char_addr(char ch)
{
	if(ch >= 'A' && ch <= 'Z')
		ch = ch - 'A';
	else if(ch >= '0' && ch <= '9')
		ch = ch - '0' + 26;
	else if(ch == '\n')
		ch = 48;
	else if(ch == ' ')
		ch = 36;
	else if(ch == ':')
		ch = 37;
	else if(ch == '.')
		ch = 38;
	else if(ch == '/')
		ch = 39;
	else if(ch == '-')
		ch = 40;
	else if(ch == '&')
		ch = 43;
	else if(ch == '!')
		ch = 44;
	else if(ch == '\'')
		ch = 45;
	else if(ch == '(')
		ch = 46;
	else if(ch == ')')
		ch = 47;
	else
		ch = 36;
	return ch;
}

void SET_TEXT(int region, const char* text)
{
	int i, j, k, flag;
	char ch;
	if(region == 1) {
		flag = 0;
		for(i=0;i<30;i++) {
			if(flag) {
				IOWR_8DIRECT(VGA_RASTER_BASE, i+64, 36);
				continue;
			}
			ch = get_char_addr(text[i]);
			if(ch == 48) {
				flag = 1;
				IOWR_8DIRECT(VGA_RASTER_BASE, i+64, 36);
			}
			else
				IOWR_8DIRECT(VGA_RASTER_BASE, i+64, ch);
		}
	}
	else if(region == 2) {
		k = 0;
		for(j=0;j<4;j++) {
			flag = 0;
			for(i=0;i<20;i++) {
				if(flag) {
					IOWR_8DIRECT(VGA_RASTER_BASE, j*20+i+94, 36);
					continue;
				}
				ch = get_char_addr(text[k++]);
				if(ch == 48) {
					flag = 1;
					IOWR_8DIRECT(VGA_RASTER_BASE, j*20+i+94, 36);
				}
				else
					IOWR_8DIRECT(VGA_RASTER_BASE, j*20+i+94, ch);
			}
		}
	}
	else if(region == 3) {
		k = 0;
		for(j=0;j<4;j++) {
			flag = 0;
			for(i=0;i<20;i++) {
				if(flag) {
					IOWR_8DIRECT(VGA_RASTER_BASE, j*20+i+174, 36);
					continue;
				}
				ch = get_char_addr(text[k++]);
				if(ch == 48) {
					flag = 1;
					IOWR_8DIRECT(VGA_RASTER_BASE, j*20+i+174, 36);
				}
				else
					IOWR_8DIRECT(VGA_RASTER_BASE, j*20+i+174, ch);
			}
		}
	}
}

int GET_POS(int i)
{
    return IORD_8DIRECT(ACCELERATION_BASE, i) >> 2;
}

int GET_ORI(int i)
{
    return IORD_8DIRECT(ACCELERATION_BASE, i) & 3;
}

void SET_POS(int i, int val)
{
	int tmp = GET_ORI(i);
    IOWR_8DIRECT(ACCELERATION_BASE, i, (val << 2) + tmp);
}

void SET_ORI(int i, int val)
{
	int tmp = GET_POS(i);
    IOWR_8DIRECT(ACCELERATION_BASE, i, (tmp << 2) + val);
}

void DOMOVE(int m)
{
	numOfDomove++;
	IOWR_8DIRECT(ACCELERATION_BASE, 20, m);
}

#define SET_PERMTONUM0(i) \
    IOWR_8DIRECT(ACCELERATION_BASE, i, 21);

#define SET_PERMTONUM1(i) \
    IOWR_8DIRECT(ACCELERATION_BASE, i, 22);

#define SET_PERMTONUM2(i) \
    IOWR_8DIRECT(ACCELERATION_BASE, i, 23);

#define SET_PERMTONUM3(i) \
    IOWR_8DIRECT(ACCELERATION_BASE, i, 24);

#define SET_PERMTONUM4(i) \
    IOWR_8DIRECT(ACCELERATION_BASE, i, 25);

#define PERMTONUM0() \
  IORD_8DIRECT(ACCELERATION_BASE, 21)

#define PERMTONUM1() \
  IORD_8DIRECT(ACCELERATION_BASE, 22)

#define PERMTONUM2() \
  IORD_8DIRECT(ACCELERATION_BASE, 23)

#define PERMTONUM3() \
  IORD_8DIRECT(ACCELERATION_BASE, 24)

#define PERMTONUM4() \
  IORD_8DIRECT(ACCELERATION_BASE, 25)

//A solved cube format:
//UF UR UB UL DF DR DB DL FR FL BR BL UFR URB UBL ULF DRF DFL DLB DBR
const char CENTER_COLOR_POSITION[6] = {'F', 'R', 'U', 'B', 'L', 'D'};
const int SIDE_INDEX_1[12] = {2,2,2,2,5,5,5,5,0,0,3,3};
const int SIDE_INDEX_2[12] = {7,5,1,3,3,1,5,7,5,3,3,5};
const int SIDE_INDEX_3[12] = {0,1,3,4,0,1,3,4,1,4,1,4};
const int SIDE_INDEX_4[12] = {1,1,1,1,7,7,7,7,3,5,5,3};
const int CORNER_INDEX_1[8] = {2,2,2,2,5,5,5,5};
const int CORNER_INDEX_2[8] = {8,2,0,6,0,6,8,2};
const int CORNER_INDEX_3[8] = {0,1,3,4,1,0,4,3};
const int CORNER_INDEX_4[8] = {2,2,2,2,6,6,6,6};
const int CORNER_INDEX_5[8] = {1,3,4,0,0,4,3,1};
const int CORNER_INDEX_6[8] = {0,0,0,0,8,8,8,8};

int colorConfig[6][9];
int colorConfigOld[6][9];

char transformedInputFormat[20][3];
char solution[80][3];

char
	// RLFBUD is the face order used for input, so that a correctly oriented
	// piece in the input has its 'highest value' facelet first. The rest of the
	// program uses moves in FBRLUD order.
	*faces="RLFBUD",
	// I use char arrays here cause they can be initialised with a string
	// which is shorter than initialising other arrays.
	// Internally cube uses slightly different ordering to the input so that
	//  orbits of stage 4 are contiguous. Note also that the two corner orbits
	//  are diametrically opposite each other.
	//input:  UF UR UB UL  DF DR DB DL  FR FL BR BL  UFR URB UBL ULF   DRF DFL DLB DBR
	//        A  B  C  D   E  F  G  H   I  J  K  L   M   N   O   P     Q   R   S   T
	//        A  E  C  G   B  F  D  H   I  J  K  L   M   S   N   T     R   O   Q   P
	//intrnl: UF DF UB DB  UR DR UL DL  FR FL BR BL  UFR UBL DFL DBR   DLB DRF URB ULF
	*order="AECGBFDHIJKLMSNTROQP",
	//To quickly recognise the pieces, I construct an integer by setting a bit for each
	// facelet. The unique result is then found on the list below to map it to the correct
	// cubelet of the cube.
	//intrnl: UF DF UB DB  UR DR UL DL  FR FL BR BL  UFR UBL DFL DBR   DLB DRF URB ULF
	//bithash:20,36,24,40, 17,33,18,34, 5, 6, 9, 10, 21, 26, 38, 41,   42, 37, 25, 22
	*bithash="TdXhQaRbEFIJUZfijeYV",
	//Each move consists of two 4-cycles. This string contains these in FBRLUD order.
	//intrnl: UF DF UB DB  UR DR UL DL  FR FL BR BL  UFR UBL DFL DBR   DLB DRF URB ULF
	//        A  B  C  D   E  F  G  H   I  J  K  L   M   N   O   P     Q   R   S   T
	//*perm="AIBJTMROCLDKSNQPEKFIMSPRGJHLNTOQAGCEMTNSBFDHORPQ",   //size: 48

	// current cube position
	//pos[20],ori[20],
	val[20],
	// temporary variable used in swap macro
	//TEMP,
	// pruning tables, 2 for each phase
	*tables[8];
	// current phase solution
int move[20],moveamount[20],
	// current phase being searched (0,2,4,6 for phases 1 to 4)
	phase;
	// Length of pruning tables. (one dummy in phase 1);
	//tablesize[]={1,4096,  6561,4096,  256,1536,  13824,576};   //30946 bytes

char table0[] =
{1};
char table1[] =
{1,	0,	0,	5,	0,	6,	5,	0,	0,	5,	6,	0,	5,	0,	0,	7,	0,	4,	4,	0,
4,	0,	0,	5,	4,	0,	0,	6,	0,	5,	6,	0,	0,	4,	4,	0,	4,	0,	0,	6,
4,	0,	0,	5,	0,	6,	5,	0,	5,	0,	0,	5,	0,	6,	5,	0,	0,	5,	6,	0,
5,	0,	0,	7,	0,	4,	4,	0,	4,	0,	0,	5,	4,	0,	0,	6,	0,	5,	6,	0,
5,	0,	0,	4,	0,	6,	5,	0,	0,	5,	6,	0,	4,	0,	0,	7,	5,	0,	0,	4,
0,	6,	5,	0,	0,	5,	6,	0,	4,	0,	0,	7,	0,	5,	5,	0,	5,	0,	0,	6,
5,	0,	0,	6,	0,	6,	6,	0,	0,	4,	4,	0,	4,	0,	0,	6,	4,	0,	0,	5,
0,	6,	5,	0,	5,	0,	0,	4,	0,	6,	5,	0,	0,	5,	6,	0,	4,	0,	0,	7,
5,	0,	0,	4,	0,	6,	5,	0,	0,	5,	6,	0,	4,	0,	0,	7,	0,	5,	5,	0,
5,	0,	0,	6,	5,	0,	0,	6,	0,	6,	6,	0,	5,	0,	0,	5,	0,	6,	5,	0,
0,	5,	6,	0,	5,	0,	0,	7,	0,	5,	5,	0,	5,	0,	0,	6,	5,	0,	0,	6,
0,	6,	6,	0,	0,	5,	5,	0,	5,	0,	0,	6,	5,	0,	0,	6,	0,	6,	6,	0,
7,	0,	0,	7,	0,	7,	7,	0,	0,	7,	7,	0,	7,	0,	0,	5,	0,	5,	5,	0,
4,	0,	0,	5,	4,	0,	0,	5,	0,	6,	6,	0,	4,	0,	0,	4,	0,	5,	4,	0,
0,	5,	5,	0,	5,	0,	0,	6,	4,	0,	0,	4,	0,	5,	5,	0,	0,	4,	5,	0,
5,	0,	0,	6,	0,	5,	5,	0,	5,	0,	0,	6,	5,	0,	0,	6,	0,	6,	6,	0,
4,	0,	0,	3,	0,	5,	4,	0,	0,	4,	5,	0,	4,	0,	0,	6,	0,	5,	4,	0,
5,	0,	0,	6,	5,	0,	0,	6,	0,	6,	6,	0,	0,	4,	5,	0,	5,	0,	0,	6,
5,	0,	0,	6,	0,	6,	6,	0,	5,	0,	0,	6,	0,	7,	7,	0,	0,	7,	7,	0,
7,	0,	0,	6,	4,	0,	0,	3,	0,	5,	4,	0,	0,	4,	5,	0,	4,	0,	0,	6,
0,	5,	4,	0,	5,	0,	0,	6,	5,	0,	0,	6,	0,	6,	6,	0,	0,	4,	5,	0,
5,	0,	0,	6,	5,	0,	0,	6,	0,	6,	6,	0,	5,	0,	0,	6,	0,	7,	7,	0,
0,	7,	7,	0,	7,	0,	0,	6,	0,	4,	4,	0,	5,	0,	0,	5,	5,	0,	0,	5,
0,	5,	5,	0,	5,	0,	0,	6,	0,	6,	6,	0,	0,	6,	6,	0,	6,	0,	0,	5,
5,	0,	0,	6,	0,	6,	6,	0,	0,	6,	6,	0,	6,	0,	0,	5,	0,	7,	7,	0,
7,	0,	0,	6,	7,	0,	0,	6,	0,	6,	6,	0,	0,	5,	5,	0,	4,	0,	0,	5,
4,	0,	0,	5,	0,	6,	6,	0,	4,	0,	0,	3,	0,	5,	4,	0,	0,	4,	5,	0,
4,	0,	0,	6,	4,	0,	0,	3,	0,	5,	4,	0,	0,	4,	5,	0,	4,	0,	0,	6,
0,	4,	4,	0,	5,	0,	0,	5,	5,	0,	0,	5,	0,	5,	5,	0,	4,	0,	0,	4,
0,	5,	4,	0,	0,	5,	5,	0,	5,	0,	0,	6,	0,	5,	4,	0,	5,	0,	0,	6,
5,	0,	0,	6,	0,	6,	6,	0,	0,	5,	4,	0,	5,	0,	0,	6,	5,	0,	0,	6,
0,	6,	6,	0,	5,	0,	0,	6,	0,	6,	6,	0,	0,	6,	6,	0,	6,	0,	0,	5,
4,	0,	0,	4,	0,	5,	5,	0,	0,	4,	5,	0,	5,	0,	0,	6,	0,	4,	5,	0,
5,	0,	0,	6,	5,	0,	0,	6,	0,	6,	6,	0,	0,	4,	5,	0,	5,	0,	0,	6,
5,	0,	0,	6,	0,	6,	6,	0,	5,	0,	0,	6,	0,	6,	6,	0,	0,	6,	6,	0,
6,	0,	0,	5,	0,	5,	5,	0,	5,	0,	0,	6,	5,	0,	0,	6,	0,	6,	6,	0,
5,	0,	0,	6,	0,	7,	7,	0,	0,	7,	7,	0,	7,	0,	0,	6,	5,	0,	0,	6,
0,	7,	7,	0,	0,	7,	7,	0,	7,	0,	0,	6,	0,	7,	7,	0,	7,	0,	0,	6,
7,	0,	0,	6,	0,	6,	6,	0,	5,	0,	0,	2,	0,	4,	3,	0,	0,	3,	4,	0,
4,	0,	0,	6,	0,	4,	3,	0,	5,	0,	0,	5,	4,	0,	0,	5,	0,	5,	5,	0,
0,	3,	4,	0,	4,	0,	0,	5,	5,	0,	0,	5,	0,	5,	5,	0,	4,	0,	0,	6,
0,	6,	6,	0,	0,	6,	6,	0,	6,	0,	0,	6,	0,	4,	3,	0,	5,	0,	0,	5,
4,	0,	0,	5,	0,	5,	5,	0,	5,	0,	0,	6,	0,	6,	6,	0,	0,	6,	6,	0,
6,	0,	0,	5,	4,	0,	0,	6,	0,	6,	6,	0,	0,	6,	6,	0,	7,	0,	0,	5,
0,	6,	6,	0,	7,	0,	0,	6,	6,	0,	0,	6,	0,	7,	6,	0,	0,	3,	4,	0,
4,	0,	0,	5,	5,	0,	0,	5,	0,	5,	5,	0,	4,	0,	0,	6,	0,	6,	6,	0,
0,	6,	6,	0,	7,	0,	0,	5,	5,	0,	0,	6,	0,	6,	6,	0,	0,	6,	6,	0,
6,	0,	0,	5,	0,	6,	6,	0,	6,	0,	0,	6,	7,	0,	0,	6,	0,	6,	7,	0,
4,	0,	0,	6,	0,	6,	6,	0,	0,	6,	6,	0,	6,	0,	0,	6,	0,	6,	6,	0,
7,	0,	0,	6,	6,	0,	0,	6,	0,	7,	6,	0,	0,	6,	6,	0,	6,	0,	0,	6,
7,	0,	0,	6,	0,	6,	7,	0,	7,	0,	0,	7,	0,	6,	7,	0,	0,	7,	6,	0,
7,	0,	0,	8,	0,	4,	4,	0,	5,	0,	0,	6,	5,	0,	0,	6,	0,	5,	5,	0,
4,	0,	0,	5,	0,	5,	5,	0,	0,	4,	5,	0,	4,	0,	0,	6,	4,	0,	0,	5,
0,	5,	4,	0,	0,	5,	5,	0,	4,	0,	0,	6,	0,	5,	5,	0,	5,	0,	0,	6,
5,	0,	0,	6,	0,	6,	6,	0,	4,	0,	0,	4,	0,	5,	4,	0,	0,	4,	5,	0,
3,	0,	0,	6,	0,	5,	5,	0,	5,	0,	0,	6,	4,	0,	0,	6,	0,	6,	6,	0,
0,	5,	5,	0,	4,	0,	0,	6,	5,	0,	0,	6,	0,	6,	6,	0,	5,	0,	0,	7,
0,	7,	7,	0,	0,	7,	7,	0,	6,	0,	0,	6,	4,	0,	0,	4,	0,	5,	4,	0,
0,	4,	5,	0,	3,	0,	0,	6,	0,	5,	5,	0,	5,	0,	0,	6,	4,	0,	0,	6,
0,	6,	6,	0,	0,	5,	5,	0,	4,	0,	0,	6,	5,	0,	0,	6,	0,	6,	6,	0,
5,	0,	0,	7,	0,	7,	7,	0,	0,	7,	7,	0,	6,	0,	0,	6,	0,	5,	5,	0,
4,	0,	0,	5,	4,	0,	0,	5,	0,	5,	5,	0,	5,	0,	0,	6,	0,	6,	6,	0,
0,	6,	6,	0,	6,	0,	0,	5,	5,	0,	0,	6,	0,	6,	6,	0,	0,	6,	6,	0,
6,	0,	0,	5,	0,	7,	7,	0,	7,	0,	0,	6,	7,	0,	0,	6,	0,	6,	6,	0,
6,	0,	0,	4,	0,	5,	5,	0,	0,	5,	5,	0,	4,	0,	0,	6,	0,	5,	5,	0,
5,	0,	0,	6,	5,	0,	0,	5,	0,	6,	5,	0,	0,	5,	5,	0,	5,	0,	0,	5,
5,	0,	0,	6,	0,	5,	6,	0,	6,	0,	0,	6,	0,	7,	7,	0,	0,	7,	7,	0,
6,	0,	0,	6,	0,	5,	5,	0,	5,	0,	0,	5,	5,	0,	0,	5,	0,	5,	5,	0,
6,	0,	0,	6,	0,	7,	6,	0,	0,	6,	6,	0,	6,	0,	0,	6,	6,	0,	0,	6,
0,	6,	6,	0,	0,	6,	7,	0,	6,	0,	0,	5,	0,	7,	6,	0,	7,	0,	0,	7,
6,	0,	0,	6,	0,	7,	6,	0,	0,	5,	5,	0,	5,	0,	0,	5,	5,	0,	0,	5,
0,	5,	5,	0,	6,	0,	0,	6,	0,	7,	6,	0,	0,	6,	6,	0,	6,	0,	0,	5,
6,	0,	0,	6,	0,	6,	6,	0,	0,	6,	7,	0,	6,	0,	0,	6,	0,	6,	7,	0,
6,	0,	0,	6,	7,	0,	0,	7,	0,	6,	7,	0,	6,	0,	0,	6,	0,	6,	7,	0,
0,	7,	6,	0,	6,	0,	0,	4,	0,	7,	6,	0,	7,	0,	0,	6,	6,	0,	0,	5,
0,	6,	5,	0,	0,	6,	7,	0,	6,	0,	0,	5,	7,	0,	0,	6,	0,	5,	6,	0,
7,	0,	0,	6,	0,	7,	6,	0,	0,	6,	7,	0,	6,	0,	0,	7,	5,	0,	0,	3,
0,	5,	4,	0,	0,	4,	5,	0,	3,	0,	0,	6,	0,	4,	4,	0,	5,	0,	0,	6,
4,	0,	0,	5,	0,	5,	5,	0,	0,	4,	4,	0,	4,	0,	0,	5,	5,	0,	0,	6,
0,	5,	5,	0,	5,	0,	0,	6,	0,	6,	6,	0,	0,	6,	6,	0,	6,	0,	0,	5,
0,	5,	4,	0,	4,	0,	0,	5,	4,	0,	0,	5,	0,	6,	5,	0,	5,	0,	0,	6,
0,	7,	6,	0,	0,	6,	7,	0,	6,	0,	0,	6,	5,	0,	0,	6,	0,	6,	7,	0,
0,	7,	6,	0,	6,	0,	0,	6,	0,	7,	6,	0,	7,	0,	0,	6,	6,	0,	0,	6,
0,	7,	6,	0,	0,	4,	5,	0,	4,	0,	0,	5,	4,	0,	0,	5,	0,	5,	6,	0,
5,	0,	0,	6,	0,	6,	7,	0,	0,	7,	6,	0,	6,	0,	0,	6,	5,	0,	0,	6,
0,	7,	6,	0,	0,	6,	7,	0,	6,	0,	0,	6,	0,	6,	7,	0,	6,	0,	0,	6,
7,	0,	0,	6,	0,	6,	7,	0,	5,	0,	0,	6,	0,	6,	6,	0,	0,	6,	6,	0,
6,	0,	0,	5,	0,	7,	6,	0,	7,	0,	0,	7,	6,	0,	0,	6,	0,	6,	6,	0,
0,	6,	7,	0,	6,	0,	0,	6,	7,	0,	0,	7,	0,	6,	6,	0,	7,	0,	0,	7,
0,	6,	7,	0,	0,	7,	6,	0,	7,	0,	0,	7,	0,	5,	5,	0,	6,	0,	0,	5,
6,	0,	0,	5,	0,	4,	4,	0,	5,	0,	0,	5,	0,	6,	6,	0,	0,	5,	5,	0,
5,	0,	0,	5,	5,	0,	0,	5,	0,	5,	5,	0,	0,	6,	6,	0,	5,	0,	0,	5,
0,	6,	6,	0,	6,	0,	0,	6,	6,	0,	0,	6,	0,	6,	6,	0,	6,	0,	0,	5,
0,	5,	5,	0,	0,	5,	5,	0,	5,	0,	0,	4,	0,	6,	5,	0,	6,	0,	0,	6,
5,	0,	0,	5,	0,	6,	5,	0,	0,	6,	6,	0,	6,	0,	0,	5,	6,	0,	0,	6,
0,	6,	6,	0,	6,	0,	0,	6,	0,	7,	6,	0,	0,	7,	6,	0,	7,	0,	0,	7,
6,	0,	0,	5,	0,	5,	5,	0,	0,	5,	5,	0,	5,	0,	0,	4,	0,	6,	6,	0,
6,	0,	0,	6,	6,	0,	0,	5,	0,	6,	6,	0,	0,	5,	6,	0,	5,	0,	0,	5,
6,	0,	0,	6,	0,	5,	6,	0,	6,	0,	0,	6,	0,	6,	7,	0,	0,	6,	7,	0,
7,	0,	0,	7,	0,	6,	6,	0,	6,	0,	0,	5,	6,	0,	0,	5,	0,	5,	5,	0,
6,	0,	0,	6,	0,	6,	6,	0,	0,	6,	5,	0,	6,	0,	0,	7,	6,	0,	0,	6,
0,	5,	6,	0,	0,	6,	6,	0,	6,	0,	0,	7,	0,	6,	6,	0,	6,	0,	0,	8,
6,	0,	0,	8,	0,	7,	7,	0,	0,	4,	4,	0,	5,	0,	0,	6,	5,	0,	0,	6,
0,	5,	5,	0,	4,	0,	0,	4,	0,	5,	4,	0,	0,	4,	5,	0,	3,	0,	0,	6,
4,	0,	0,	4,	0,	5,	4,	0,	0,	4,	5,	0,	3,	0,	0,	6,	0,	5,	5,	0,
4,	0,	0,	5,	4,	0,	0,	5,	0,	5,	5,	0,	4,	0,	0,	5,	0,	5,	5,	0,
0,	4,	5,	0,	4,	0,	0,	6,	0,	5,	5,	0,	5,	0,	0,	6,	4,	0,	0,	6,
0,	6,	6,	0,	0,	5,	5,	0,	5,	0,	0,	6,	4,	0,	0,	6,	0,	6,	6,	0,
5,	0,	0,	6,	0,	6,	6,	0,	0,	6,	6,	0,	6,	0,	0,	5,	4,	0,	0,	5,
0,	5,	4,	0,	0,	5,	5,	0,	4,	0,	0,	6,	0,	5,	5,	0,	4,	0,	0,	6,
5,	0,	0,	6,	0,	6,	6,	0,	0,	5,	5,	0,	4,	0,	0,	6,	5,	0,	0,	6,
0,	6,	6,	0,	5,	0,	0,	6,	0,	6,	6,	0,	0,	6,	6,	0,	6,	0,	0,	5,
0,	5,	5,	0,	5,	0,	0,	6,	5,	0,	0,	6,	0,	6,	6,	0,	5,	0,	0,	7,
0,	7,	7,	0,	0,	7,	7,	0,	6,	0,	0,	6,	5,	0,	0,	7,	0,	7,	7,	0,
0,	7,	7,	0,	6,	0,	0,	6,	0,	7,	7,	0,	7,	0,	0,	6,	7,	0,	0,	6,
0,	6,	6,	0,	5,	0,	0,	3,	0,	5,	4,	0,	0,	4,	5,	0,	3,	0,	0,	6,
0,	5,	4,	0,	4,	0,	0,	5,	4,	0,	0,	5,	0,	6,	5,	0,	0,	4,	5,	0,
4,	0,	0,	5,	4,	0,	0,	5,	0,	5,	6,	0,	5,	0,	0,	6,	0,	6,	6,	0,
0,	6,	6,	0,	6,	0,	0,	5,	0,	4,	4,	0,	5,	0,	0,	6,	4,	0,	0,	5,
0,	5,	5,	0,	5,	0,	0,	6,	0,	7,	6,	0,	0,	6,	7,	0,	6,	0,	0,	6,
5,	0,	0,	6,	0,	6,	7,	0,	0,	7,	6,	0,	6,	0,	0,	6,	0,	7,	6,	0,
7,	0,	0,	7,	6,	0,	0,	6,	0,	6,	6,	0,	0,	4,	4,	0,	4,	0,	0,	5,
5,	0,	0,	6,	0,	5,	5,	0,	5,	0,	0,	6,	0,	6,	7,	0,	0,	7,	6,	0,
6,	0,	0,	6,	5,	0,	0,	6,	0,	7,	6,	0,	0,	6,	7,	0,	6,	0,	0,	6,
0,	6,	7,	0,	6,	0,	0,	6,	7,	0,	0,	7,	0,	6,	6,	0,	5,	0,	0,	6,
0,	6,	6,	0,	0,	6,	6,	0,	6,	0,	0,	5,	0,	7,	6,	0,	7,	0,	0,	6,
6,	0,	0,	6,	0,	7,	6,	0,	0,	6,	7,	0,	6,	0,	0,	6,	7,	0,	0,	6,
0,	6,	7,	0,	7,	0,	0,	7,	0,	6,	7,	0,	0,	7,	6,	0,	7,	0,	0,	7,
6,	0,	0,	4,	0,	5,	5,	0,	0,	5,	5,	0,	4,	0,	0,	6,	0,	5,	5,	0,
5,	0,	0,	5,	5,	0,	0,	5,	0,	5,	5,	0,	0,	5,	5,	0,	5,	0,	0,	5,
5,	0,	0,	5,	0,	5,	5,	0,	6,	0,	0,	6,	0,	6,	7,	0,	0,	7,	6,	0,
6,	0,	0,	4,	0,	5,	5,	0,	5,	0,	0,	6,	5,	0,	0,	5,	0,	6,	5,	0,
6,	0,	0,	6,	0,	7,	6,	0,	0,	6,	6,	0,	6,	0,	0,	6,	6,	0,	0,	6,
0,	7,	6,	0,	0,	6,	6,	0,	6,	0,	0,	5,	0,	7,	6,	0,	7,	0,	0,	6,
6,	0,	0,	5,	0,	6,	5,	0,	0,	5,	5,	0,	5,	0,	0,	5,	5,	0,	0,	6,
0,	5,	6,	0,	6,	0,	0,	6,	0,	6,	6,	0,	0,	6,	7,	0,	6,	0,	0,	5,
6,	0,	0,	6,	0,	6,	6,	0,	0,	6,	7,	0,	6,	0,	0,	6,	0,	6,	7,	0,
6,	0,	0,	5,	7,	0,	0,	6,	0,	5,	6,	0,	6,	0,	0,	6,	0,	7,	7,	0,
0,	7,	7,	0,	6,	0,	0,	6,	0,	7,	6,	0,	7,	0,	0,	7,	6,	0,	0,	6,
0,	7,	6,	0,	0,	6,	7,	0,	6,	0,	0,	6,	7,	0,	0,	7,	0,	6,	7,	0,
7,	0,	0,	6,	0,	7,	6,	0,	0,	6,	7,	0,	6,	0,	0,	7,	0,	5,	5,	0,
6,	0,	0,	5,	6,	0,	0,	5,	0,	4,	4,	0,	6,	0,	0,	5,	0,	5,	5,	0,
0,	5,	5,	0,	5,	0,	0,	4,	6,	0,	0,	5,	0,	5,	5,	0,	0,	5,	5,	0,
5,	0,	0,	4,	0,	6,	6,	0,	6,	0,	0,	5,	6,	0,	0,	5,	0,	5,	5,	0,
5,	0,	0,	5,	0,	6,	6,	0,	0,	5,	5,	0,	5,	0,	0,	5,	0,	6,	5,	0,
6,	0,	0,	6,	5,	0,	0,	5,	0,	6,	5,	0,	0,	6,	6,	0,	6,	0,	0,	6,
6,	0,	0,	5,	0,	6,	6,	0,	6,	0,	0,	6,	0,	6,	6,	0,	0,	6,	5,	0,
6,	0,	0,	7,	5,	0,	0,	5,	0,	5,	5,	0,	0,	6,	6,	0,	5,	0,	0,	5,
0,	6,	6,	0,	6,	0,	0,	5,	6,	0,	0,	6,	0,	6,	6,	0,	0,	5,	6,	0,
5,	0,	0,	5,	6,	0,	0,	6,	0,	5,	6,	0,	6,	0,	0,	6,	0,	5,	6,	0,
0,	6,	6,	0,	6,	0,	0,	7,	0,	6,	6,	0,	6,	0,	0,	6,	6,	0,	0,	6,
0,	6,	6,	0,	6,	0,	0,	6,	0,	7,	6,	0,	0,	7,	6,	0,	7,	0,	0,	7,
6,	0,	0,	6,	0,	6,	7,	0,	0,	6,	7,	0,	7,	0,	0,	7,	0,	6,	6,	0,
6,	0,	0,	8,	6,	0,	0,	8,	0,	7,	7,	0,	5,	0,	0,	4,	0,	4,	3,	0,
0,	3,	4,	0,	2,	0,	0,	6,	0,	5,	4,	0,	4,	0,	0,	5,	3,	0,	0,	5,
0,	5,	5,	0,	0,	4,	5,	0,	3,	0,	0,	5,	4,	0,	0,	5,	0,	5,	5,	0,
4,	0,	0,	6,	0,	6,	6,	0,	0,	6,	6,	0,	6,	0,	0,	6,	0,	5,	4,	0,
4,	0,	0,	5,	3,	0,	0,	5,	0,	5,	5,	0,	5,	0,	0,	6,	0,	6,	6,	0,
0,	6,	6,	0,	6,	0,	0,	5,	4,	0,	0,	7,	0,	6,	6,	0,	0,	6,	6,	0,
6,	0,	0,	5,	0,	7,	6,	0,	6,	0,	0,	7,	6,	0,	0,	6,	0,	6,	6,	0,
0,	4,	5,	0,	3,	0,	0,	5,	4,	0,	0,	5,	0,	5,	5,	0,	4,	0,	0,	7,
0,	6,	6,	0,	0,	6,	6,	0,	6,	0,	0,	5,	5,	0,	0,	6,	0,	6,	6,	0,
0,	6,	6,	0,	6,	0,	0,	5,	0,	6,	7,	0,	6,	0,	0,	6,	6,	0,	0,	7,
0,	6,	6,	0,	4,	0,	0,	6,	0,	6,	6,	0,	0,	6,	6,	0,	6,	0,	0,	6,
0,	7,	6,	0,	6,	0,	0,	7,	6,	0,	0,	6,	0,	6,	6,	0,	0,	6,	7,	0,
6,	0,	0,	6,	6,	0,	0,	7,	0,	6,	6,	0,	7,	0,	0,	7,	0,	6,	7,	0,
0,	7,	6,	0,	7,	0,	0,	8,	0,	6,	6,	0,	5,	0,	0,	4,	5,	0,	0,	4,
0,	5,	5,	0,	5,	0,	0,	5,	0,	6,	5,	0,	0,	6,	5,	0,	5,	0,	0,	5,
5,	0,	0,	5,	0,	5,	6,	0,	0,	5,	6,	0,	5,	0,	0,	5,	0,	6,	6,	0,
6,	0,	0,	6,	6,	0,	0,	6,	0,	6,	6,	0,	6,	0,	0,	5,	0,	5,	5,	0,
0,	5,	5,	0,	5,	0,	0,	4,	0,	6,	5,	0,	6,	0,	0,	6,	5,	0,	0,	5,
0,	6,	5,	0,	0,	6,	6,	0,	6,	0,	0,	6,	6,	0,	0,	6,	0,	5,	6,	0,
6,	0,	0,	7,	0,	7,	7,	0,	0,	6,	6,	0,	6,	0,	0,	7,	6,	0,	0,	5,
0,	5,	5,	0,	0,	5,	5,	0,	5,	0,	0,	4,	0,	6,	6,	0,	6,	0,	0,	6,
6,	0,	0,	6,	0,	6,	5,	0,	0,	5,	6,	0,	5,	0,	0,	5,	6,	0,	0,	6,
0,	5,	6,	0,	6,	0,	0,	7,	0,	6,	6,	0,	0,	7,	7,	0,	6,	0,	0,	7,
0,	6,	6,	0,	6,	0,	0,	5,	6,	0,	0,	5,	0,	5,	5,	0,	6,	0,	0,	6,
0,	6,	6,	0,	0,	6,	5,	0,	6,	0,	0,	7,	6,	0,	0,	6,	0,	5,	6,	0,
0,	6,	6,	0,	6,	0,	0,	7,	0,	6,	6,	0,	6,	0,	0,	7,	6,	0,	0,	7,
0,	8,	8,	0,	0,	6,	6,	0,	5,	0,	0,	4,	5,	0,	0,	4,	0,	5,	5,	0,
6,	0,	0,	5,	0,	5,	5,	0,	0,	5,	5,	0,	5,	0,	0,	4,	6,	0,	0,	5,
0,	5,	5,	0,	0,	5,	5,	0,	5,	0,	0,	4,	0,	6,	6,	0,	6,	0,	0,	5,
6,	0,	0,	5,	0,	5,	5,	0,	5,	0,	0,	5,	0,	6,	5,	0,	0,	6,	5,	0,
5,	0,	0,	5,	0,	6,	5,	0,	6,	0,	0,	6,	5,	0,	0,	5,	0,	6,	5,	0,
0,	6,	6,	0,	6,	0,	0,	6,	6,	0,	0,	6,	0,	6,	5,	0,	6,	0,	0,	6,
0,	6,	6,	0,	0,	6,	5,	0,	6,	0,	0,	7,	5,	0,	0,	5,	0,	5,	6,	0,
0,	5,	6,	0,	5,	0,	0,	5,	0,	6,	6,	0,	6,	0,	0,	6,	6,	0,	0,	6,
0,	5,	6,	0,	0,	5,	6,	0,	5,	0,	0,	5,	6,	0,	0,	6,	0,	5,	6,	0,
6,	0,	0,	6,	0,	5,	6,	0,	0,	6,	6,	0,	6,	0,	0,	7,	0,	6,	6,	0,
6,	0,	0,	6,	6,	0,	0,	6,	0,	6,	6,	0,	6,	0,	0,	7,	0,	7,	7,	0,
0,	6,	6,	0,	6,	0,	0,	7,	6,	0,	0,	7,	0,	6,	6,	0,	0,	7,	7,	0,
6,	0,	0,	7,	0,	6,	6,	0,	6,	0,	0,	7,	6,	0,	0,	7,	0,	8,	8,	0,
7,	0,	0,	6,	0,	6,	6,	0,	0,	6,	6,	0,	6,	0,	0,	3,	0,	6,	6,	0,
6,	0,	0,	5,	6,	0,	0,	4,	0,	5,	4,	0,	0,	6,	6,	0,	6,	0,	0,	4,
6,	0,	0,	5,	0,	4,	5,	0,	7,	0,	0,	5,	0,	6,	6,	0,	0,	6,	6,	0,
5,	0,	0,	7,	0,	6,	6,	0,	6,	0,	0,	5,	6,	0,	0,	4,	0,	5,	4,	0,
7,	0,	0,	6,	0,	6,	5,	0,	0,	5,	4,	0,	6,	0,	0,	7,	7,	0,	0,	5,
0,	5,	6,	0,	0,	6,	5,	0,	5,	0,	0,	7,	0,	6,	5,	0,	6,	0,	0,	7,
5,	0,	0,	7,	0,	7,	7,	0,	0,	6,	6,	0,	6,	0,	0,	4,	6,	0,	0,	5,
0,	4,	5,	0,	7,	0,	0,	5,	0,	5,	6,	0,	0,	6,	5,	0,	5,	0,	0,	7,
7,	0,	0,	6,	0,	4,	5,	0,	0,	5,	6,	0,	6,	0,	0,	7,	0,	5,	6,	0,
5,	0,	0,	7,	6,	0,	0,	7,	0,	7,	7,	0,	7,	0,	0,	5,	0,	6,	6,	0,
0,	6,	6,	0,	5,	0,	0,	7,	0,	6,	5,	0,	6,	0,	0,	7,	5,	0,	0,	7,
0,	7,	7,	0,	0,	5,	6,	0,	5,	0,	0,	7,	6,	0,	0,	7,	0,	7,	7,	0,
5,	0,	0,	8,	0,	7,	7,	0,	0,	7,	7,	0,	8,	0,	0,	8};
char table2[] =
{1,	0,	0,	0,	0,	6,	0,	6,	0,	0,	0,	6,	0,	5,	0,	7,	0,	0,	0,	6,
0,	7,	0,	0,	0,	0,	5,	0,	0,	7,	0,	5,	0,	6,	0,	0,	0,	5,	0,	5,
0,	0,	0,	0,	4,	6,	0,	0,	0,	0,	5,	0,	5,	0,	0,	7,	0,	6,	0,	0,
0,	0,	5,	6,	0,	0,	0,	0,	5,	0,	5,	0,	0,	0,	5,	0,	4,	0,	5,	0,
0,	0,	0,	7,	0,	6,	0,	7,	0,	0,	0,	6,	0,	6,	0,	0,	0,	0,	6,	7,
0,	0,	0,	0,	6,	0,	7,	0,	0,	5,	0,	5,	0,	0,	0,	0,	7,	6,	0,	0,
0,	0,	5,	0,	6,	0,	0,	0,	6,	0,	6,	0,	6,	0,	0,	7,	0,	0,	0,	0,
6,	0,	6,	0,	0,	0,	5,	0,	5,	0,	5,	0,	0,	0,	5,	0,	5,	0,	0,	0,
0,	7,	0,	6,	0,	7,	0,	0,	0,	0,	4,	7,	0,	0,	0,	0,	6,	0,	6,	0,
0,	0,	5,	0,	7,	0,	5,	0,	0,	6,	0,	0,	0,	0,	6,	0,	6,	0,	0,	0,
5,	0,	6,	0,	5,	0,	0,	0,	6,	0,	6,	0,	0,	0,	0,	7,	0,	0,	5,	0,
6,	0,	4,	0,	0,	0,	5,	0,	5,	0,	0,	0,	0,	6,	6,	0,	0,	0,	0,	6,
0,	6,	0,	0,	0,	7,	0,	6,	0,	7,	0,	0,	0,	5,	0,	5,	0,	0,	0,	0,
7,	7,	0,	0,	0,	0,	6,	0,	6,	0,	0,	6,	0,	6,	0,	0,	0,	0,	6,	6,
0,	0,	0,	0,	6,	0,	5,	0,	0,	0,	5,	0,	5,	0,	5,	0,	0,	7,	0,	0,
0,	0,	7,	0,	6,	0,	0,	0,	6,	0,	6,	0,	6,	0,	0,	0,	5,	0,	5,	0,
0,	0,	0,	7,	0,	4,	0,	4,	0,	0,	0,	0,	5,	6,	0,	0,	0,	0,	6,	0,
6,	0,	0,	0,	6,	0,	7,	0,	6,	0,	0,	6,	0,	0,	0,	0,	6,	0,	6,	0,
0,	0,	8,	0,	6,	0,	8,	0,	0,	0,	6,	0,	7,	0,	0,	0,	0,	7,	0,	0,
6,	0,	7,	0,	6,	0,	0,	0,	7,	0,	6,	0,	0,	0,	0,	7,	5,	0,	0,	0,
0,	7,	0,	7,	0,	6,	0,	0,	0,	0,	6,	0,	6,	0,	0,	0,	5,	0,	6,	0,
4,	0,	0,	0,	4,	0,	5,	0,	0,	0,	0,	6,	0,	0,	6,	0,	7,	0,	5,	0,
0,	0,	6,	0,	6,	0,	0,	0,	0,	7,	7,	0,	0,	0,	0,	7,	0,	7,	0,	0,
5,	0,	6,	0,	0,	0,	0,	7,	7,	0,	0,	0,	0,	7,	0,	7,	0,	0,	0,	6,
0,	7,	0,	6,	0,	0,	0,	7,	0,	6,	0,	0,	0,	0,	4,	6,	0,	0,	0,	0,
6,	0,	6,	0,	0,	0,	4,	0,	6,	0,	5,	0,	0,	7,	0,	0,	0,	0,	6,	0,
6,	0,	0,	0,	5,	0,	6,	0,	5,	0,	0,	0,	5,	0,	5,	0,	0,	0,	0,	6,
0,	0,	5,	0,	7,	0,	5,	0,	0,	0,	6,	0,	6,	0,	0,	0,	0,	7,	6,	0,
0,	0,	0,	6,	0,	6,	0,	6,	0,	0,	0,	0,	6,	0,	6,	0,	0,	0,	5,	0,
7,	0,	6,	0,	0,	0,	6,	0,	5,	0,	0,	0,	0,	7,	0,	0,	4,	0,	6,	0,
5,	0,	0,	0,	6,	0,	6,	0,	0,	0,	0,	7,	7,	0,	0,	0,	0,	7,	0,	7,
0,	0,	5,	0,	4,	0,	0,	0,	0,	6,	7,	0,	0,	0,	0,	7,	0,	7,	0,	0,
0,	6,	0,	7,	0,	6,	0,	0,	0,	0,	6,	0,	3,	0,	6,	0,	0,	0,	4,	0,
5,	0,	0,	0,	0,	7,	6,	0,	0,	0,	0,	5,	0,	6,	0,	0,	5,	0,	4,	0,
0,	0,	0,	7,	4,	0,	0,	0,	0,	6,	0,	6,	0,	0,	0,	5,	0,	7,	0,	6,
0,	0,	6,	0,	0,	0,	0,	6,	0,	5,	0,	0,	0,	6,	0,	7,	0,	5,	0,	0,
0,	7,	0,	7,	0,	0,	0,	0,	6,	0,	0,	7,	0,	6,	0,	7,	0,	0,	0,	6,
0,	5,	0,	0,	0,	0,	5,	7,	0,	0,	0,	0,	6,	0,	5,	0,	0,	6,	0,	5,
0,	0,	0,	0,	5,	6,	0,	0,	0,	0,	6,	0,	5,	0,	0,	0,	6,	0,	5,	0,
6,	0,	0,	7,	0,	0,	0,	0,	6,	0,	5,	0,	0,	0,	7,	0,	6,	0,	6,	0,
0,	0,	6,	0,	7,	0,	0,	0,	0,	7,	0,	5,	0,	4,	0,	0,	0,	0,	6,	5,
0,	0,	0,	0,	6,	0,	7,	0,	0,	0,	6,	0,	7,	0,	6,	0,	0,	4,	0,	0,
0,	0,	7,	0,	7,	0,	0,	0,	7,	0,	6,	0,	7,	0,	0,	0,	6,	0,	7,	0,
0,	0,	0,	7,	0,	0,	6,	0,	7,	0,	4,	0,	0,	0,	7,	0,	7,	0,	0,	0,
0,	6,	6,	0,	0,	0,	0,	7,	0,	6,	0,	6,	0,	0,	0,	0,	6,	0,	4,	0,
0,	0,	6,	0,	6,	0,	3,	0,	0,	0,	7,	0,	6,	0,	0,	0,	0,	7,	0,	0,
5,	0,	6,	0,	6,	0,	0,	0,	6,	0,	6,	0,	0,	0,	0,	7,	5,	0,	0,	0,
0,	8,	0,	6,	0,	0,	6,	0,	6,	0,	0,	0,	0,	7,	5,	0,	0,	0,	0,	6,
0,	7,	0,	0,	0,	6,	0,	7,	0,	6,	0,	0,	0,	5,	0,	5,	0,	0,	0,	0,
6,	5,	0,	0,	0,	0,	7,	0,	7,	0,	0,	0,	6,	0,	7,	0,	4,	0,	0,	5,
0,	0,	0,	0,	7,	0,	6,	0,	0,	0,	7,	0,	6,	0,	7,	0,	0,	0,	6,	0,
7,	0,	0,	0,	0,	6,	0,	0,	6,	0,	7,	0,	6,	0,	0,	0,	7,	0,	7,	0,
0,	0,	0,	7,	6,	0,	0,	0,	0,	7,	0,	6,	0,	5,	0,	0,	0,	0,	7,	0,
6,	0,	0,	0,	6,	0,	6,	0,	6,	0,	0,	0,	7,	0,	7,	0,	0,	0,	0,	6,
0,	0,	6,	0,	6,	0,	6,	0,	0,	0,	6,	0,	7,	0,	0,	0,	0,	7,	6,	0,
0,	0,	0,	7,	0,	6,	0,	0,	7,	0,	7,	0,	0,	0,	0,	7,	6,	0,	0,	0,
0,	7,	0,	6,	0,	0,	0,	7,	0,	6,	0,	6,	0,	0,	0,	0,	7,	0,	6,	0,
6,	0,	0,	0,	6,	0,	6,	0,	0,	0,	0,	6,	5,	0,	0,	0,	0,	7,	0,	7,
0,	0,	6,	0,	6,	0,	0,	0,	0,	7,	6,	0,	0,	0,	0,	6,	0,	5,	0,	0,
0,	7,	0,	7,	0,	7,	0,	0,	6,	0,	0,	0,	0,	8,	0,	6,	0,	0,	0,	7,
0,	7,	0,	7,	0,	0,	0,	7,	0,	7,	0,	0,	0,	0,	6,	7,	0,	0,	0,	0,
5,	0,	5,	0,	0,	0,	5,	0,	6,	0,	6,	0,	0,	0,	6,	0,	7,	0,	0,	0,
0,	7,	0,	0,	6,	0,	6,	0,	3,	0,	0,	0,	6,	0,	7,	0,	0,	0,	0,	7,
4,	0,	0,	0,	0,	6,	0,	6,	0,	0,	7,	0,	6,	0,	0,	0,	0,	7,	6,	0,
0,	0,	0,	8,	0,	6,	0,	0,	0,	6,	0,	6,	0,	6,	0,	0,	0,	0,	6,	0,
5,	0,	6,	0,	0,	0,	7,	0,	6,	0,	0,	0,	0,	7,	6,	0,	0,	0,	0,	8,
0,	7,	0,	0,	6,	0,	7,	0,	0,	0,	0,	5,	5,	0,	0,	0,	0,	6,	0,	5,
0,	0,	0,	7,	0,	6,	0,	7,	0,	0,	5,	0,	0,	0,	0,	6,	0,	7,	0,	0,
0,	7,	0,	6,	0,	7,	0,	0,	0,	6,	0,	7,	0,	0,	0,	0,	6,	0,	7,	0,
6,	0,	0,	0,	0,	7,	5,	0,	0,	0,	0,	6,	0,	6,	0,	0,	0,	7,	0,	7,
0,	7,	0,	0,	5,	0,	0,	0,	0,	6,	0,	5,	0,	0,	0,	6,	0,	5,	0,	7,
0,	0,	0,	6,	0,	6,	0,	0,	0,	0,	6,	0,	0,	7,	0,	7,	0,	7,	0,	0,
0,	7,	0,	7,	0,	0,	0,	0,	7,	8,	0,	0,	0,	0,	7,	0,	6,	0,	0,	7,
0,	6,	0,	0,	0,	0,	6,	6,	0,	0,	0,	0,	6,	0,	5,	0,	0,	0,	5,	0,
5,	0,	5,	0,	0,	7,	0,	0,	0,	0,	6,	0,	5,	0,	0,	0,	7,	0,	6,	0,
6,	0,	0,	0,	6,	0,	6,	0,	0,	0,	0,	6,	0,	0,	5,	0,	5,	0,	4,	0,
0,	0,	6,	0,	6,	0,	0,	0,	0,	6,	4,	0,	0,	0,	0,	7,	0,	6,	0,	6,
0,	0,	0,	0,	5,	0,	5,	0,	0,	0,	7,	0,	6,	0,	6,	0,	0,	0,	6,	0,
5,	0,	0,	0,	0,	6,	0,	0,	6,	0,	6,	0,	6,	0,	0,	0,	6,	0,	6,	0,
0,	0,	0,	7,	6,	0,	0,	0,	0,	8,	0,	6,	0,	0,	3,	0,	6,	0,	0,	0,
0,	6,	4,	0,	0,	0,	0,	6,	0,	7,	0,	0,	0,	7,	0,	7,	0,	7,	0,	0,
0,	0,	6,	0,	4,	0,	5,	0,	0,	0,	3,	0,	5,	0,	0,	0,	0,	5,	6,	0,
0,	0,	0,	7,	0,	6,	0,	0,	5,	0,	4,	0,	0,	0,	0,	5,	4,	0,	0,	0,
0,	7,	0,	6,	0,	0,	0,	7,	0,	7,	0,	6,	0,	0,	5,	0,	0,	0,	0,	6,
0,	7,	0,	0,	0,	6,	0,	6,	0,	7,	0,	0,	0,	5,	0,	5,	0,	0,	0,	0,
6,	7,	0,	0,	0,	0,	6,	0,	4,	0,	0,	0,	6,	0,	7,	0,	7,	0,	0,	0,
3,	0,	6,	0,	0,	0,	0,	6,	0,	0,	7,	0,	6,	0,	6,	0,	0,	0,	6,	0,
6,	0,	0,	0,	0,	6,	5,	0,	0,	0,	0,	6,	0,	6,	0,	0,	6,	0,	5,	0,
0,	0,	0,	6,	5,	0,	0,	0,	0,	8,	0,	6,	0,	0,	0,	7,	0,	7,	0,	7,
0,	0,	0,	0,	6,	0,	7,	0,	7,	0,	0,	0,	5,	0,	6,	0,	0,	0,	0,	7,
5,	0,	0,	0,	0,	7,	0,	6,	0,	0,	6,	0,	5,	0,	0,	0,	0,	7,	7,	0,
0,	0,	0,	7,	0,	6,	0,	0,	0,	6,	0,	6,	0,	7,	0,	0,	5,	0,	0,	0,
0,	7,	0,	5,	0,	0,	0,	7,	0,	6,	0,	7,	0,	0,	0,	7,	0,	7,	0,	0,
0,	0,	5,	0,	6,	0,	6,	0,	0,	0,	0,	6,	5,	0,	0,	0,	0,	6,	0,	7,
0,	0,	0,	7,	0,	6,	0,	7,	0,	0,	6,	0,	0,	0,	0,	7,	0,	5,	0,	0,
0,	7,	0,	6,	0,	6,	0,	0,	0,	6,	0,	7,	0,	0,	0,	0,	7,	0,	0,	7,
0,	6,	0,	7,	0,	0,	0,	6,	0,	6,	0,	0,	0,	0,	7,	7,	0,	0,	0,	0,
6,	0,	5,	0,	0,	0,	6,	0,	5,	0,	5,	0,	0,	0,	5,	0,	5,	0,	0,	0,
0,	6,	5,	0,	0,	0,	0,	6,	0,	6,	0,	0,	2,	0,	5,	0,	0,	0,	0,	6,
5,	0,	0,	0,	0,	6,	0,	6,	0,	0,	0,	6,	0,	6,	0,	6,	0,	0,	6,	0,
0,	0,	0,	6,	0,	6,	0,	0,	0,	6,	0,	6,	0,	6,	0,	0,	0,	6,	0,	6,
0,	0,	0,	0,	5,	0,	6,	0,	6,	0,	0,	0,	0,	6,	6,	0,	0,	0,	0,	7,
0,	6,	0,	0,	0,	6,	0,	6,	0,	7,	0,	0,	5,	0,	0,	0,	0,	5,	0,	7,
0,	0,	0,	6,	0,	6,	0,	7,	0,	0,	0,	7,	0,	6,	0,	0,	0,	0,	6,	0,
0,	6,	0,	5,	0,	7,	0,	0,	0,	6,	0,	7,	0,	0,	0,	0,	7,	6,	0,	0,
0,	0,	6,	0,	5,	0,	5,	0,	0,	0,	0,	7,	0,	6,	0,	0,	0,	6,	0,	6,
0,	7,	0,	0,	0,	6,	0,	6,	0,	0,	0,	0,	6,	0,	0,	6,	0,	7,	0,	6,
0,	0,	0,	7,	0,	6,	0,	0,	0,	0,	4,	6,	0,	0,	0,	0,	6,	0,	5,	0,
0,	6,	0,	6,	0,	0,	0,	0,	6,	6,	0,	0,	0,	0,	5,	0,	4,	0,	0,	0,
6,	0,	6,	0,	7,	0,	0,	0,	0,	7,	0,	6,	0,	7,	0,	0,	0,	5,	0,	6,
0,	0,	0,	0,	5,	7,	0,	0,	0,	0,	5,	0,	6,	0,	0,	5,	0,	6,	0,	0,
0,	0,	5,	6,	0,	0,	0,	0,	5,	0,	6,	0,	0,	0,	6,	0,	6,	0,	7,	0,
0,	7,	0,	0,	0,	0,	5,	0,	6,	0,	0,	0,	6,	0,	5,	0,	6,	0,	0,	0,
7,	0,	6,	0,	0,	0,	0,	7,	0,	5,	0,	5,	0,	0,	0,	0,	6,	5,	0,	0,
0,	0,	6,	0,	7,	0,	0,	0,	6,	0,	7,	0,	6,	0,	0,	5,	0,	0,	0,	0,
7,	0,	7,	0,	0,	0,	7,	0,	6,	0,	7,	0,	0,	0,	7,	0,	7,	0,	0,	0,
0,	7,	0,	0,	4,	0,	7,	0,	6,	0,	0,	0,	7,	0,	6,	0,	0,	0,	0,	6,
6,	0,	0,	0,	0,	6,	0,	7,	0,	7,	0,	0,	0,	0,	5,	0,	5,	0,	0,	0,
3,	0,	6,	0,	6,	0,	0,	0,	6,	0,	7,	0,	0,	0,	0,	7,	0,	0,	6,	0,
6,	0,	5,	0,	0,	0,	7,	0,	6,	0,	0,	0,	0,	7,	6,	0,	0,	0,	0,	6,
0,	8,	0,	0,	7,	0,	6,	0,	0,	0,	0,	7,	4,	0,	0,	0,	0,	6,	0,	6,
0,	0,	0,	6,	0,	6,	0,	6,	0,	0,	0,	4,	0,	5,	0,	0,	0,	0,	6,	4,
0,	0,	0,	0,	7,	0,	7,	0,	0,	0,	4,	0,	7,	0,	6,	0,	0,	5,	0,	0,
0,	0,	7,	0,	6,	0,	0,	0,	7,	0,	6,	0,	7,	0,	0,	0,	7,	0,	7,	0,
0,	0,	0,	6,	0,	0,	6,	0,	7,	0,	6,	0,	0,	0,	7,	0,	6,	0,	0,	0,
0,	7,	6,	0,	0,	0,	0,	6,	0,	7,	0,	5,	0,	0,	0,	0,	6,	0,	7,	0,
0,	0,	6,	0,	6,	0,	6,	0,	0,	0,	7,	0,	7,	0,	0,	0,	0,	7,	0,	0,
6,	0,	6,	0,	6,	0,	0,	0,	7,	0,	6,	0,	0,	0,	0,	7,	6,	0,	0,	0,
0,	6,	0,	7,	0,	0,	7,	0,	7,	0,	0,	0,	0,	6,	6,	0,	0,	0,	0,	6,
0,	7,	0,	0,	0,	6,	0,	6,	0,	7,	0,	0,	0,	0,	6,	0,	5,	0,	6,	0,
0,	0,	7,	0,	6,	0,	0,	0,	0,	5,	5,	0,	0,	0,	0,	7,	0,	6,	0,	0,
6,	0,	7,	0,	0,	0,	0,	7,	5,	0,	0,	0,	0,	5,	0,	6,	0,	0,	0,	7,
0,	6,	0,	7,	0,	0,	6,	0,	0,	0,	0,	7,	0,	8,	0,	0,	0,	7,	0,	6,
0,	7,	0,	0,	0,	7,	0,	6,	0,	0,	0,	0,	6,	6,	0,	0,	0,	0,	4,	0,
6,	0,	0,	0,	6,	0,	6,	0,	5,	0,	0,	0,	6,	0,	6,	0,	0,	0,	0,	7,
0,	0,	3,	0,	6,	0,	6,	0,	0,	0,	6,	0,	6,	0,	0,	0,	0,	7,	5,	0,
0,	0,	0,	7,	0,	6,	0,	0,	6,	0,	7,	0,	0,	0,	0,	7,	5,	0,	0,	0,
0,	6,	0,	8,	0,	0,	0,	6,	0,	7,	0,	6,	0,	0,	0,	0,	6,	0,	6,	0,
7,	0,	0,	0,	6,	0,	6,	0,	0,	0,	0,	7,	6,	0,	0,	0,	0,	6,	0,	8,
0,	0,	6,	0,	6,	0,	0,	0,	0,	6,	6,	0,	0,	0,	0,	5,	0,	6,	0,	0,
0,	7,	0,	7,	0,	7,	0,	0,	5,	0,	0,	0,	0,	7,	0,	7,	0,	0,	0,	7,
0,	7,	0,	7,	0,	0,	0,	7,	0,	7,	0,	0,	0,	0,	6,	0,	6,	0,	7,	0,
0,	0,	0,	7,	5,	0,	0,	0,	0,	5,	0,	6,	0,	0,	0,	7,	0,	7,	0,	7,
0,	0,	5,	0,	0,	0,	0,	6,	0,	6,	0,	0,	0,	7,	0,	5,	0,	6,	0,	0,
0,	7,	0,	7,	0,	0,	0,	0,	7,	0,	0,	7,	0,	7,	0,	7,	0,	0,	0,	6,
0,	6,	0,	0,	0,	0,	6,	8,	0,	0,	0,	0,	6,	0,	7,	0,	0,	6,	0,	6,
0,	0,	0,	0,	5,	4,	0,	0,	0,	0,	6,	0,	7,	0,	0,	0,	6,	0,	8,	0,
6,	0,	0,	4,	0,	0,	0,	0,	7,	0,	6,	0,	0,	0,	7,	0,	6,	0,	7,	0,
0,	0,	6,	0,	6,	0,	0,	0,	0,	7,	0,	0,	6,	0,	8,	0,	6,	0,	0,	0,
6,	0,	6,	0,	0,	0,	0,	7,	5,	0,	0,	0,	0,	7,	0,	7,	0,	5,	0,	0,
0,	0,	6,	0,	6,	0,	0,	0,	7,	0,	6,	0,	7,	0,	0,	0,	6,	0,	6,	0,
0,	0,	0,	7,	0,	0,	7,	0,	7,	0,	7,	0,	0,	0,	6,	0,	6,	0,	0,	0,
0,	6,	7,	0,	0,	0,	0,	7,	0,	7,	0,	0,	6,	0,	6,	0,	0,	0,	0,	6,
6,	0,	0,	0,	0,	6,	0,	6,	0,	0,	0,	6,	0,	7,	0,	7,	0,	0,	0,	0,
5,	0,	7,	0,	5,	0,	0,	0,	5,	0,	6,	0,	0,	0,	0,	7,	6,	0,	0,	0,
0,	6,	0,	7,	0,	0,	6,	0,	5,	0,	0,	0,	0,	7,	7,	0,	0,	0,	0,	6,
0,	6,	0,	0,	0,	7,	0,	7,	0,	7,	0,	0,	7,	0,	0,	0,	0,	7,	0,	7,
0,	0,	0,	6,	0,	6,	0,	5,	0,	0,	0,	7,	0,	7,	0,	0,	0,	0,	5,	5,
0,	0,	0,	0,	6,	0,	6,	0,	0,	0,	7,	0,	7,	0,	7,	0,	0,	0,	6,	0,
6,	0,	0,	0,	0,	6,	0,	0,	7,	0,	6,	0,	7,	0,	0,	0,	6,	0,	6,	0,
0,	0,	0,	6,	6,	0,	0,	0,	0,	6,	0,	6,	0,	0,	6,	0,	6,	0,	0,	0,
0,	7,	7,	0,	0,	0,	0,	7,	0,	7,	0,	0,	0,	7,	0,	7,	0,	6,	0,	0,
0,	0,	7,	0,	6,	0,	7,	0,	0,	0,	6,	0,	5,	0,	0,	0,	0,	5,	7,	0,
0,	0,	0,	6,	0,	6,	0,	0,	5,	0,	6,	0,	0,	0,	0,	5,	6,	0,	0,	0,
0,	7,	0,	7,	0,	0,	0,	6,	0,	7,	0,	6,	0,	0,	7,	0,	0,	0,	0,	6,
0,	6,	0,	0,	0,	6,	0,	7,	0,	6,	0,	0,	0,	5,	0,	5,	0,	0,	0,	0,
5,	0,	6,	0,	6,	0,	0,	0,	0,	7,	6,	0,	0,	0,	0,	5,	0,	5,	0,	0,
0,	6,	0,	6,	0,	6,	0,	0,	7,	0,	0,	0,	0,	6,	0,	6,	0,	0,	0,	7,
0,	7,	0,	6,	0,	0,	0,	7,	0,	7,	0,	0,	0,	0,	6,	0,	0,	7,	0,	7,
0,	7,	0,	0,	0,	7,	0,	6,	0,	0,	0,	0,	7,	7,	0,	0,	0,	0,	7,	0,
6,	0,	0,	0,	5,	0,	7,	0,	5,	0,	0,	0,	5,	0,	6,	0,	0,	0,	0,	7,
7,	0,	0,	0,	0,	7,	0,	7,	0,	0,	6,	0,	5,	0,	0,	0,	0,	7,	7,	0,
0,	0,	0,	6,	0,	6,	0,	0,	0,	5,	0,	6,	0,	6,	0,	0,	6,	0,	0,	0,
0,	7,	0,	6,	0,	0,	0,	7,	0,	7,	0,	7,	0,	0,	0,	7,	0,	7,	0,	0,
0,	0,	5,	0,	6,	0,	6,	0,	0,	0,	0,	7,	7,	0,	0,	0,	0,	6,	0,	6,
0,	0,	0,	7,	0,	7,	0,	7,	0,	0,	6,	0,	0,	0,	0,	5,	0,	5,	0,	0,
0,	6,	0,	7,	0,	7,	0,	0,	0,	6,	0,	7,	0,	0,	0,	0,	7,	0,	0,	6,
0,	6,	0,	6,	0,	0,	0,	7,	0,	7,	0,	0,	0,	0,	6,	7,	0,	0,	0,	0,
6,	0,	7,	0,	4,	0,	0,	0,	0,	7,	0,	7,	0,	0,	0,	7,	0,	6,	0,	7,
0,	0,	0,	7,	0,	6,	0,	0,	0,	0,	6,	0,	0,	7,	0,	6,	0,	7,	0,	0,
0,	4,	0,	4,	0,	0,	0,	0,	4,	7,	0,	0,	0,	0,	7,	0,	6,	0,	0,	6,
0,	7,	0,	0,	0,	0,	6,	7,	0,	0,	0,	0,	6,	0,	7,	0,	0,	0,	7,	0,
7,	0,	7,	0,	0,	6,	0,	0,	0,	0,	7,	0,	7,	0,	0,	0,	4,	0,	6,	0,
5,	0,	0,	0,	5,	0,	6,	0,	0,	0,	0,	6,	0,	0,	5,	0,	6,	0,	6,	0,
0,	0,	6,	0,	7,	0,	0,	0,	0,	7,	6,	0,	0,	0,	0,	7,	0,	7,	0,	0,
4,	0,	5,	0,	0,	0,	0,	6,	6,	0,	0,	0,	0,	7,	0,	7,	0,	0,	0,	6,
0,	7,	0,	7,	0,	0,	0,	0,	5,	0,	6,	0,	6,	0,	0,	0,	6,	0,	6,	0,
0,	0,	0,	7,	7,	0,	0,	0,	0,	7,	0,	7,	0,	0,	6,	0,	6,	0,	0,	0,
0,	7,	6,	0,	0,	0,	0,	7,	0,	7,	0,	0,	0,	7,	0,	6,	0,	8,	0,	0,
6,	0,	0,	0,	0,	7,	0,	7,	0,	0,	0,	7,	0,	5,	0,	6,	0,	0,	0,	6,
0,	7,	0,	0,	0,	0,	6,	0,	5,	0,	6,	0,	0,	0,	0,	7,	6,	0,	0,	0,
0,	6,	0,	6,	0,	0,	0,	7,	0,	7,	0,	7,	0,	0,	6,	0,	0,	0,	0,	7,
0,	6,	0,	0,	0,	6,	0,	6,	0,	6,	0,	0,	0,	6,	0,	7,	0,	0,	0,	0,
6,	0,	0,	7,	0,	6,	0,	7,	0,	0,	0,	7,	0,	5,	0,	0,	0,	0,	5,	6,
0,	0,	0,	0,	7,	0,	7,	0,	0,	0,	5,	0,	5,	0,	6,	0,	0,	0,	7,	0,
6,	0,	0,	0,	0,	7,	6,	0,	0,	0,	0,	7,	0,	7,	0,	0,	6,	0,	7,	0,
0,	0,	0,	6,	5,	0,	0,	0,	0,	6,	0,	6,	0,	0,	0,	7,	0,	5,	0,	7,
0,	0,	6,	0,	0,	0,	0,	7,	0,	7,	0,	0,	0,	6,	0,	6,	0,	8,	0,	0,
0,	5,	0,	7,	0,	0,	0,	0,	6,	0,	6,	0,	7,	0,	0,	0,	0,	7,	6,	0,
0,	0,	0,	7,	0,	7,	0,	0,	0,	6,	0,	7,	0,	7,	0,	0,	6,	0,	0,	0,
0,	7,	0,	6,	0,	0,	0,	6,	0,	7,	0,	7,	0,	0,	0,	5,	0,	6,	0,	0,
0,	0,	7,	0,	0,	6,	0,	6,	0,	7,	0,	0,	0,	5,	0,	6,	0,	0,	0,	0,
6,	7,	0,	0,	0,	0,	6,	0,	7,	0,	5,	0,	0,	0,	0,	7,	0,	7,	0,	0,
0,	7,	0,	4,	0,	6,	0,	0,	0,	7,	0,	6,	0,	0,	0,	0,	6,	0,	0,	6,
0,	6,	0,	8,	0,	0,	0,	4,	0,	6,	0,	0,	0,	0,	7,	7,	0,	0,	0,	0,
6,	0,	6,	0,	0,	6,	0,	8,	0,	0,	0,	0,	7,	7,	0,	0,	0,	0,	6,	0,
5,	0,	0,	0,	6,	0,	7,	0,	7,	0,	0,	0,	5,	0,	6,	0,	0,	0,	0,	6,
6,	0,	0,	0,	0,	7,	0,	6,	0,	0,	0,	7,	0,	7,	0,	7,	0,	0,	6,	0,
0,	0,	0,	6,	0,	7,	0,	0,	0,	5,	0,	6,	0,	6,	0,	0,	0,	7,	0,	6,
0,	0,	0,	0,	5,	0,	0,	6,	0,	6,	0,	6,	0,	0,	0,	5,	0,	7,	0,	0,
0,	0,	6,	6,	0,	0,	0,	0,	7,	0,	6,	0,	5,	0,	0,	0,	0,	7,	0,	7,
0,	0,	0,	6,	0,	5,	0,	8,	0,	0,	0,	6,	0,	8,	0,	0,	0,	0,	7,	0,
0,	6,	0,	5,	0,	6,	0,	0,	0,	5,	0,	5,	0,	0,	0,	0,	6,	7,	0,	0,
0,	0,	6,	0,	6,	0,	0,	6,	0,	6,	0,	0,	0,	0,	6,	7,	0,	0,	0,	0,
5,	0,	6,	0,	0,	0,	6,	0,	6,	0,	7,	0,	0,	0,	0,	5,	0,	7,	0,	6,
0,	0,	0,	6,	0,	6,	0,	0,	0,	0,	6,	6,	0,	0,	0,	0,	6,	0,	7,	0,
0,	6,	0,	7,	0,	0,	0,	0,	6,	6,	0,	0,	0,	0,	7,	0,	7,	0,	0,	0,
5,	0,	7,	0,	6,	0,	0,	5,	0,	0,	0,	0,	7,	0,	6,	0,	0,	0,	5,	0,
7,	0,	6,	0,	0,	0,	6,	0,	7,	0,	0,	0,	0,	7,	0,	6,	0,	7,	0,	0,
0,	0,	6,	7,	0,	0,	0,	0,	5,	0,	6,	0,	0,	0,	4,	0,	5,	0,	5,	0,
0,	6,	0,	0,	0,	0,	5,	0,	6,	0,	0,	0,	6,	0,	6,	0,	7,	0,	0,	0,
6,	0,	6,	0,	0,	0,	0,	6,	0,	0,	5,	0,	5,	0,	5,	0,	0,	0,	6,	0,
6,	0,	0,	0,	0,	6,	4,	0,	0,	0,	0,	6,	0,	7,	0,	7,	0,	0,	0,	0,
4,	0,	6,	0,	0,	0,	6,	0,	6,	0,	7,	0,	0,	0,	5,	0,	6,	0,	0,	0,
0,	6,	0,	0,	7,	0,	7,	0,	6,	0,	0,	0,	6,	0,	6,	0,	0,	0,	0,	6,
5,	0,	0,	0,	0,	6,	0,	8,	0,	0,	6,	0,	3,	0,	0,	0,	0,	6,	5,	0,
0,	0,	0,	6,	0,	6,	0,	0,	0,	7,	0,	7,	0,	7,	0,	0,	0,	0,	5,	0,
5,	0,	6,	0,	0,	0,	5,	0,	2,	0,	0,	0,	0,	6,	6,	0,	0,	0,	0,	6,
0,	6,	0,	0,	5,	0,	5,	0,	0,	0,	0,	6,	5,	0,	0,	0,	0,	6,	0,	6,
0,	0,	0,	6,	0,	6,	0,	6,	0,	0,	5,	0,	0,	0,	0,	6,	0,	6,	0,	0,
0,	6,	0,	6,	0,	6,	0,	0,	0,	6,	0,	6,	0,	0,	0,	0,	5,	6,	0,	0,
0,	0,	5,	0,	5,	0,	0,	0,	6,	0,	6,	0,	6,	0,	0,	0,	6,	0,	3,	0,
0,	0,	0,	6,	0,	0,	6,	0,	6,	0,	7,	0,	0,	0,	6,	0,	6,	0,	0,	0,
0,	7,	4,	0,	0,	0,	0,	7,	0,	6,	0,	0,	5,	0,	6,	0,	0,	0,	0,	6,
6,	0,	0,	0,	0,	6,	0,	8,	0,	0,	0,	7,	0,	7,	0,	7,	0,	0,	0,	0,
7,	0,	7,	0,	6,	0,	0,	0,	5,	0,	6,	0,	0,	0,	0,	7,	5,	0,	0,	0,
0,	5,	0,	7,	0,	0,	6,	0,	5,	0,	0,	0,	0,	7,	7,	0,	0,	0,	0,	6,
0,	7,	0,	0,	0,	7,	0,	6,	0,	7,	0,	0,	5,	0,	0,	0,	0,	6,	0,	7,
0,	0,	0,	7,	0,	6,	0,	6,	0,	0,	0,	7,	0,	7,	0,	0,	0,	0,	5,	0,
6,	0,	6,	0,	0,	0,	0,	6,	5,	0,	0,	0,	0,	7,	0,	5,	0,	0,	0,	7,
0,	5,	0,	6,	0,	0,	6,	0,	0,	0,	0,	6,	0,	7,	0,	0,	0,	7,	0,	6,
0,	6,	0,	0,	0,	7,	0,	6,	0,	0,	0,	0,	7,	0,	0,	7,	0,	6,	0,	6,
0,	0,	0,	6,	0,	7,	0,	0,	0,	0,	6,	6,	0,	0,	0,	0,	5,	0,	6,	0,
0,	0,	5,	0,	4,	0,	6,	0,	0,	0,	4,	0,	5,	0,	0,	0,	0,	5,	5,	0,
0,	0,	0,	7,	0,	6,	0,	0,	5,	0,	3,	0,	0,	0,	0,	5,	4,	0,	0,	0,
0,	6,	0,	7,	0,	0,	0,	7,	0,	6,	0,	6,	0,	0,	6,	0,	0,	0,	0,	6,
0,	7,	0,	0,	0,	6,	0,	7,	0,	7,	0,	0,	0,	5,	0,	5,	0,	0,	0,	0,
6,	0,	6,	0,	6,	0,	0,	0,	0,	6,	6,	0,	0,	0,	0,	5,	0,	7,	0,	0,
0,	7,	0,	6,	0,	7,	0,	0,	5,	0,	0,	0,	0,	7,	0,	6,	0,	0,	0,	6,
0,	6,	0,	7,	0,	0,	0,	6,	0,	6,	0,	0,	0,	0,	7,	0,	0,	7,	0,	6,
0,	7,	0,	0,	0,	7,	0,	6,	0,	0,	0,	0,	7,	7,	0,	0,	0,	0,	5,	0,
6,	0,	5,	0,	0,	0,	0,	6,	0,	7,	0,	0,	0,	6,	0,	7,	0,	6,	0,	0,
0,	6,	0,	6,	0,	0,	0,	0,	6,	0,	0,	7,	0,	6,	0,	6,	0,	0,	0,	6,
0,	7,	0,	0,	0,	0,	4,	6,	0,	0,	0,	0,	4,	0,	5,	0,	0,	6,	0,	6,
0,	0,	0,	0,	6,	6,	0,	0,	0,	0,	5,	0,	6,	0,	0,	0,	7,	0,	6,	0,
6,	0,	0,	6,	0,	0,	0,	0,	7,	0,	7,	0,	0,	0,	6,	0,	6,	0,	5,	0,
0,	0,	5,	0,	4,	0,	0,	0,	0,	6,	0,	0,	5,	0,	6,	0,	4,	0,	0,	0,
7,	0,	6,	0,	0,	0,	0,	7,	6,	0,	0,	0,	0,	7,	0,	7,	0,	0,	6,	0,
5,	0,	0,	0,	0,	6,	6,	0,	0,	0,	0,	7,	0,	7,	0,	0,	0,	7,	0,	7,
0,	6,	0,	0,	0,	0,	6,	0,	5,	0,	5,	0,	0,	0,	7,	0,	6,	0,	0,	0,
0,	6,	6,	0,	0,	0,	0,	7,	0,	7,	0,	0,	6,	0,	7,	0,	0,	0,	0,	7,
5,	0,	0,	0,	0,	6,	0,	6,	0,	0,	0,	8,	0,	6,	0,	6,	0,	0,	6,	0,
0,	0,	0,	7,	0,	7,	0,	0,	0,	7,	0,	5,	0,	7,	0,	0,	0,	7,	0,	5,
0,	0,	0,	0,	6,	0,	6,	0,	5,	0,	0,	0,	0,	6,	6,	0,	0,	0,	0,	7,
0,	6,	0,	0,	0,	6,	0,	6,	0,	6,	0,	0,	6,	0,	0,	0,	0,	6,	0,	7,
0,	0,	0,	6,	0,	6,	0,	5,	0,	0,	0,	7,	0,	5,	0,	0,	0,	0,	6,	0,
0,	7,	0,	7,	0,	7,	0,	0,	0,	6,	0,	7,	0,	0,	0,	0,	5,	6,	0,	0,
0,	0,	6,	0,	7,	0,	0,	0,	6,	0,	6,	0,	5,	0,	0,	0,	6,	0,	6,	0,
0,	0,	0,	7,	6,	0,	0,	0,	0,	7,	0,	7,	0,	0,	6,	0,	6,	0,	0,	0,
0,	7,	6,	0,	0,	0,	0,	7,	0,	7,	0,	0,	0,	6,	0,	5,	0,	7,	0,	0,
7,	0,	0,	0,	0,	7,	0,	7,	0,	0,	0,	8,	0,	6,	0,	7,	0,	0,	0,	7,
0,	6,	0,	0,	0,	0,	6,	0,	7,	0,	6,	0,	0,	0,	0,	7,	6,	0,	0,	0,
0,	6,	0,	7,	0,	0,	0,	7,	0,	6,	0,	6,	0,	0,	6,	0,	0,	0,	0,	7,
0,	7,	0,	0,	0,	7,	0,	7,	0,	6,	0,	0,	0,	6,	0,	5,	0,	0,	0,	0,
6,	0,	0,	7,	0,	7,	0,	6,	0,	0,	0,	6,	0,	5,	0,	0,	0,	0,	7,	7,
0,	0,	0,	0,	7,	0,	6,	0,	5,	0,	0,	0,	0,	7,	0,	7,	0,	0,	0,	6,
0,	5,	0,	6,	0,	0,	0,	6,	0,	6,	0,	0,	0,	0,	6,	0,	0,	8,	0,	5,
0,	6,	0,	0,	0,	5,	0,	5,	0,	0,	0,	0,	6,	7,	0,	0,	0,	0,	6,	0,
5,	0,	0,	8,	0,	6,	0,	0,	0,	0,	7,	7,	0,	0,	0,	0,	6,	0,	6,	0,
0,	0,	7,	0,	6,	0,	6,	0,	0,	0,	6,	0,	5,	0,	0,	0,	0,	7,	6,	0,
0,	0,	0,	6,	0,	7,	0,	0,	0,	7,	0,	6,	0,	7,	0,	0,	6,	0,	0,	0,
0,	6,	0,	6,	0,	0,	0,	6,	0,	6,	0,	6,	0,	0,	0,	5,	0,	7,	0,	0,
0,	0,	5,	0,	0,	7,	0,	7,	0,	7,	0,	0,	0,	7,	0,	6,	0,	0,	0,	0,
6,	6,	0,	0,	0,	0,	7,	0,	7,	0,	5,	0,	0,	0,	0,	7,	0,	7,	0,	0,
0,	8,	0,	6,	0,	6,	0,	0,	0,	8,	0,	6,	0,	0,	0,	0,	7,	0,	0,	6,
0,	4,	0,	7,	0,	0,	0,	6,	0,	4,	0,	0,	0,	0,	7,	7,	0,	0,	0,	0,
5,	0,	6,	0,	0,	6,	0,	7,	0,	0,	0,	0,	6,	7,	0,	0,	0,	0,	6,	0,
6,	0,	0,	0,	7,	0,	7,	0,	6,	0,	0,	0,	0,	6,	0,	7,	0,	5,	0,	0,
0,	7,	0,	6,	0,	0,	0,	0,	6,	5,	0,	0,	0,	0,	6,	0,	7,	0,	0,	6,
0,	6,	0,	0,	0,	0,	6,	6,	0,	0,	0,	0,	7,	0,	7,	0,	0,	0,	6,	0,
7,	0,	5,	0,	0,	6,	0,	0,	0,	0,	7,	0,	6,	0,	0,	0,	6,	0,	7,	0,
5,	0,	0,	0,	7,	0,	6,	0,	0,	0,	0,	7,	0,	0,	6,	0,	4,	0,	6,	0,
0,	0,	4,	0,	5,	0,	0,	0,	0,	7,	6,	0,	0,	0,	0,	5,	0,	6,	0,	0,
5,	0,	4,	0,	0,	0,	0,	7,	3,	0,	0,	0,	0,	7,	0,	7,	0,	0,	0,	5,
0,	6,	0,	6,	0,	0,	6,	0,	0,	0,	0,	6,	0,	5,	0,	0,	0,	6,	0,	6,
0,	5,	0,	0,	0,	7,	0,	7,	0,	0,	0,	0,	6,	0,	5,	0,	5,	0,	0,	0,
0,	8,	7,	0,	0,	0,	0,	6,	0,	7,	0,	0,	0,	7,	0,	6,	0,	7,	0,	0,
6,	0,	0,	0,	0,	6,	0,	7,	0,	0,	0,	7,	0,	5,	0,	7,	0,	0,	0,	6,
0,	6,	0,	0,	0,	0,	7,	0,	0,	7,	0,	7,	0,	7,	0,	0,	0,	6,	0,	5,
0,	0,	0,	0,	6,	7,	0,	0,	0,	0,	6,	0,	7,	0,	5,	0,	0,	0,	0,	6,
0,	6,	0,	0,	0,	6,	0,	7,	0,	6,	0,	0,	0,	6,	0,	6,	0,	0,	0,	0,
6,	0,	0,	6,	0,	6,	0,	6,	0,	0,	0,	6,	0,	7,	0,	0,	0,	0,	6,	7,
0,	0,	0,	0,	6,	0,	5,	0,	0,	7,	0,	6,	0,	0,	0,	0,	7,	6,	0,	0,
0,	0,	5,	0,	4,	0,	0,	0,	6,	0,	4,	0,	6,	0,	0,	0,	5,	0,	5,	0,
0,	0,	0,	8,	6,	0,	0,	0,	0,	7,	0,	6,	0,	0,	0,	7,	0,	7,	0,	7,
0,	0,	7,	0,	0,	0,	0,	7,	0,	6,	0,	0,	0,	7,	0,	5,	0,	7,	0,	0,
0,	5,	0,	6,	0,	0,	0,	0,	6,	0,	0,	7,	0,	6,	0,	7,	0,	0,	0,	6,
0,	6,	0,	0,	0,	0,	7,	7,	0,	0,	0,	0,	7,	0,	6,	0,	4,	0,	0,	0,
0,	7,	0,	7,	0,	0,	0,	7,	0,	4,	0,	6,	0,	0,	0,	7,	0,	7,	0,	0,
0,	0,	7,	0,	0,	6,	0,	4,	0,	7,	0,	0,	0,	6,	0,	6,	0,	0,	0,	0,
7,	7,	0,	0,	0,	0,	7,	0,	6,	0,	0,	7,	0,	7,	0,	0,	0,	0,	7,	7,
0,	0,	0,	0,	6,	0,	7,	0,	0,	0,	6,	0,	4,	0,	6,	0,	0,	0,	0,	6,
0,	6,	0,	5,	0,	0,	0,	6,	0,	6,	0,	0,	0,	0,	6,	5,	0,	0,	0,	0,
5,	0,	5,	0,	0,	6,	0,	7,	0,	0,	0,	0,	7,	7,	0,	0,	0,	0,	7,	0,
7,	0,	0,	0,	6,	0,	7,	0,	7,	0,	0,	6,	0,	0,	0,	0,	6,	0,	6,	0,
0,	0,	7,	0,	7,	0,	6,	0,	0,	0,	6,	0,	6,	0,	0,	0,	0,	7,	5,	0,
0,	0,	0,	6,	0,	6,	0,	0,	0,	6,	0,	6,	0,	6,	0,	0,	0,	6,	0,	7,
0,	0,	0,	0,	7,	0,	0,	6,	0,	7,	0,	6,	0,	0,	0,	7,	0,	6,	0,	0,
0,	0,	6,	6,	0,	0,	0,	0,	4,	0,	5,	0,	0,	6,	0,	6,	0,	0,	0,	0,
6,	7,	0,	0,	0,	0,	5,	0,	6,	0,	0,	0,	6,	0,	4,	0,	6,	0,	0,	0,
0,	5,	0,	6,	0,	6,	0,	0,	0,	7,	0,	6,	0,	0,	0,	0,	7,	6,	0,	0,
0,	0,	6,	0,	6,	0,	0,	6,	0,	6,	0,	0,	0,	0,	6,	7,	0,	0,	0,	0,
7,	0,	7,	0,	0,	0,	6,	0,	7,	0,	7,	0,	0,	5,	0,	0,	0,	0,	5,	0,
5,	0,	0,	0,	7,	0,	7,	0,	6,	0,	0,	0,	6,	0,	6,	0,	0,	0,	0,	7,
0,	6,	0,	6,	0,	0,	0,	0,	6,	6,	0,	0,	0,	0,	6,	0,	6,	0,	0,	0,
6,	0,	5,	0,	6,	0,	0,	6,	0,	0,	0,	0,	6,	0,	6,	0,	0,	0,	5,	0,
3,	0,	5,	0,	0,	0,	6,	0,	6,	0,	0,	0,	0,	7,	0,	0,	6,	0,	5,	0,
6,	0,	0,	0,	6,	0,	6,	0,	0,	0,	0,	7,	6,	0,	0,	0,	0,	7,	0,	7,
0};
char table3[] =
{0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	5,	0,	0,	0,	0,
0,	0,	0,	6,	0,	0,	0,	5,	0,	6,	5,	0,	0,	0,	0,	0,	0,	0,	0,	5,
0,	0,	0,	6,	0,	5,	6,	0,	0,	0,	0,	5,	0,	6,	5,	0,	0,	5,	6,	0,
5,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	6,	0,	0,	0,	5,	0,	6,	5,	0,
0,	0,	0,	6,	0,	6,	5,	0,	0,	5,	4,	0,	6,	0,	0,	0,	0,	0,	0,	6,
0,	5,	6,	0,	0,	6,	5,	0,	6,	0,	0,	0,	0,	5,	4,	0,	5,	0,	0,	0,
4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	5,	0,	0,	0,	6,
0,	5,	6,	0,	0,	0,	0,	6,	0,	5,	6,	0,	0,	6,	5,	0,	6,	0,	0,	0,
0,	0,	0,	6,	0,	4,	5,	0,	0,	5,	6,	0,	6,	0,	0,	0,	0,	4,	5,	0,
4,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	5,	0,	6,	5,	0,
0,	5,	6,	0,	5,	0,	0,	0,	0,	5,	4,	0,	5,	0,	0,	0,	4,	0,	0,	0,
0,	0,	0,	0,	0,	4,	5,	0,	4,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,
3,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	6,	0,	0,	0,	6,	0,	6,	6,	0,	0,	0,	0,	6,	0,	6,	6,	0,
0,	6,	5,	0,	6,	0,	0,	0,	0,	0,	0,	6,	0,	5,	6,	0,	0,	6,	6,	0,
6,	0,	0,	0,	0,	5,	5,	0,	5,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	6,	0,	6,	6,	0,	0,	6,	5,	0,	6,	0,	0,	0,	0,	5,	5,	0,
6,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	0,	5,	5,	0,	5,	0,	0,	0,
6,	0,	0,	0,	0,	0,	0,	0,	4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	6,	0,	5,	6,	0,	0,	6,	6,	0,	6,	0,	0,	0,
0,	5,	5,	0,	6,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	0,	5,	5,	0,
5,	0,	0,	0,	6,	0,	0,	0,	0,	0,	0,	0,	4,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	5,	5,	0,	5,	0,	0,	0,	5,	0,	0,	0,
0,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
5,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	6,
0,	0,	0,	6,	0,	6,	6,	0,	0,	0,	0,	6,	0,	6,	6,	0,	0,	6,	5,	0,
6,	0,	0,	0,	0,	0,	0,	6,	0,	5,	6,	0,	0,	6,	6,	0,	6,	0,	0,	0,
0,	5,	5,	0,	5,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	6,
0,	6,	6,	0,	0,	6,	5,	0,	6,	0,	0,	0,	0,	5,	5,	0,	6,	0,	0,	0,
5,	0,	0,	0,	0,	0,	0,	0,	0,	5,	5,	0,	6,	0,	0,	0,	5,	0,	0,	0,
0,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	6,	0,	5,	6,	0,	0,	6,	6,	0,	6,	0,	0,	0,	0,	5,	5,	0,
5,	0,	0,	0,	6,	0,	0,	0,	0,	0,	0,	0,	0,	5,	5,	0,	5,	0,	0,	0,
6,	0,	0,	0,	0,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	5,	5,	0,	5,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,
4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	4,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	6,	0,	6,	6,	0,	0,	6,	6,	0,
6,	0,	0,	0,	0,	5,	5,	0,	5,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,
0,	5,	5,	0,	5,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	4,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	5,	5,	0,	5,	0,	0,	0,
5,	0,	0,	0,	0,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	5,	5,	0,
5,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	6,	0,	0,	0,	6,	0,	6,	6,	0,
0,	0,	0,	6,	0,	6,	6,	0,	0,	6,	5,	0,	6,	0,	0,	0,	0,	0,	0,	6,
0,	5,	6,	0,	0,	6,	6,	0,	6,	0,	0,	0,	0,	5,	5,	0,	5,	0,	0,	0,
5,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	6,	0,	6,	6,	0,	0,	6,	5,	0,
6,	0,	0,	0,	0,	6,	5,	0,	5,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,
0,	5,	6,	0,	5,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	4,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	6,	0,	5,	6,	0,
0,	6,	6,	0,	6,	0,	0,	0,	0,	6,	5,	0,	5,	0,	0,	0,	5,	0,	0,	0,
0,	0,	0,	0,	0,	5,	6,	0,	5,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,
4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	5,	5,	0,
5,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	4,	0,	5,	4,	0,	0,	4,	5,	0,	4,	0,	0,	0,	0,	5,	4,	0,
5,	0,	0,	0,	4,	0,	0,	0,	0,	0,	0,	0,	0,	4,	5,	0,	4,	0,	0,	0,
5,	0,	0,	0,	0,	0,	0,	0,	4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	4,	3,	0,	4,	0,	0,	0,	3,	0,	0,	0,	0,	0,	0,	0,
4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	3,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	3,	4,	0,	3,	0,	0,	0,	4,	0,	0,	0,
0,	0,	0,	0,	3,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	2,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	5,
0,	5,	5,	0,	0,	5,	5,	0,	5,	0,	0,	0,	0,	5,	4,	0,	4,	0,	0,	0,
4,	0,	0,	0,	0,	0,	0,	0,	0,	4,	5,	0,	4,	0,	0,	0,	4,	0,	0,	0,
0,	0,	0,	0,	3,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	4,	4,	0,	5,	0,	0,	0,	4,	0,	0,	0,	0,	0,	0,	0,	5,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	4,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	4,	4,	0,	4,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,
4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	5,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	3,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	4,	4,	0,	4,	0,	0,	0,
4,	0,	0,	0,	0,	0,	0,	0,	4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	5,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
5,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	6,	0,	0,	0,	6,
0,	6,	6,	0,	0,	0,	0,	6,	0,	6,	6,	0,	0,	6,	5,	0,	6,	0,	0,	0,
0,	0,	0,	6,	0,	5,	6,	0,	0,	6,	6,	0,	6,	0,	0,	0,	0,	5,	5,	0,
5,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	6,	0,	6,	6,	0,
0,	6,	5,	0,	6,	0,	0,	0,	0,	6,	5,	0,	5,	0,	0,	0,	5,	0,	0,	0,
0,	0,	0,	0,	0,	6,	5,	0,	5,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,
5,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	6,
0,	5,	6,	0,	0,	6,	6,	0,	6,	0,	0,	0,	0,	5,	6,	0,	5,	0,	0,	0,
5,	0,	0,	0,	0,	0,	0,	0,	0,	5,	6,	0,	5,	0,	0,	0,	5,	0,	0,	0,
0,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	5,	5,	0,	5,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	4,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	4,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	5,	0,	5,	5,	0,	0,	5,	5,	0,	5,	0,	0,	0,
0,	4,	4,	0,	5,	0,	0,	0,	4,	0,	0,	0,	0,	0,	0,	0,	0,	4,	4,	0,
4,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	3,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	5,	4,	0,	4,	0,	0,	0,	4,	0,	0,	0,
0,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	4,	5,	0,	4,	0,	0,	0,
4,	0,	0,	0,	0,	0,	0,	0,	4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	3,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	4,	0,	5,	4,	0,	0,	4,	5,	0,	4,	0,	0,	0,	0,	4,	3,	0,
4,	0,	0,	0,	3,	0,	0,	0,	0,	0,	0,	0,	0,	3,	4,	0,	3,	0,	0,	0,
4,	0,	0,	0,	0,	0,	0,	0,	2,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	5,	4,	0,	5,	0,	0,	0,	4,	0,	0,	0,	0,	0,	0,	0,
4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	3,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	4,	5,	0,	4,	0,	0,	0,	5,	0,	0,	0,
0,	0,	0,	0,	3,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	4,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	4,	4,	0,
4,	0,	0,	0,	4,	0,	0,	0,	0,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	6,	0,	6,	6,	0,
0,	6,	6,	0,	6,	0,	0,	0,	0,	5,	5,	0,	5,	0,	0,	0,	5,	0,	0,	0,
0,	0,	0,	0,	0,	5,	5,	0,	5,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,
4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	5,	5,	0,
5,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	5,	5,	0,	5,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,	5,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	4,	4,	0,	4,	0,	0,	0,	4,	0,	0,	0,
0,	0,	0,	0,	4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	5,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	5,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	4,	4,	0,	4,	0,	0,	0,	4,	0,	0,	0,	0,	0,	0,	0,
5,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	5,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	4,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	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,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0};
char table4[] =
{0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	3,	0,	0,	0,	0,
0,	0,	0,	4,	0,	0,	0,	5,	0,	4,	5,	0,	0,	0,	0,	0,	0,	0,	0,	5,
0,	0,	0,	4,	0,	5,	4,	0,	0,	0,	0,	5,	0,	4,	5,	0,	0,	5,	4,	0,
5,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	4,	0,	0,	0,	5,	0,	4,	5,	0,
0,	0,	0,	4,	0,	4,	3,	0,	0,	3,	2,	0,	4,	0,	0,	0,	0,	0,	0,	5,
0,	3,	4,	0,	0,	4,	3,	0,	5,	0,	0,	0,	0,	4,	5,	0,	4,	0,	0,	0,
5,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	5,	0,	0,	0,	4,
0,	5,	4,	0,	0,	0,	0,	5,	0,	3,	4,	0,	0,	4,	3,	0,	5,	0,	0,	0,
0,	0,	0,	4,	0,	2,	3,	0,	0,	3,	4,	0,	4,	0,	0,	0,	0,	5,	4,	0,
5,	0,	0,	0,	4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	5,	0,	4,	5,	0,
0,	5,	4,	0,	5,	0,	0,	0,	0,	4,	5,	0,	4,	0,	0,	0,	5,	0,	0,	0,
0,	0,	0,	0,	0,	5,	4,	0,	5,	0,	0,	0,	4,	0,	0,	0,	0,	0,	0,	0,
1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0};
char table5[] =
{0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	3,	10,	11,	10,	10,	11,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	10,	9,
8,	7,	7,	8,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	9,	10,	7,	8,	8,	7,	0,	0,	0,	0,	0,	0,	6,	10,	10,	6,	12,	10,
9,	6,	6,	9,	9,	11,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	9,	10,	7,	8,	8,	7,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	10,	9,
8,	7,	7,	8,	0,	0,	0,	0,	0,	0,	9,	6,	6,	9,	9,	11,	6,	10,	10,	6,
12,	10,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	9,	2,	10,	12,	12,	9,	0,	0,	0,	0,	0,	0,	9,	11,
5,	10,	10,	6,	11,	9,	10,	6,	5,	10,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	11,	9,	10,	5,	6,	10,	9,	11,	6,	10,	10,	5,	0,	0,	0,	0,	0,	0,
6,	5,	9,	10,	10,	9,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	6,	10,	10,	12,	6,	10,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	9,	6,	6,	9,	9,	11,	0,	0,	0,	0,
0,	0,	10,	8,	9,	7,	7,	8,	9,	7,	10,	8,	8,	7,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	9,	11,
5,	10,	10,	6,	0,	0,	0,	0,	0,	0,	7,	4,	8,	11,	11,	9,	8,	10,	7,	11,
11,	4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	8,	10,	7,	11,	11,	4,
8,	3,	8,	12,	12,	10,	0,	0,	0,	0,	0,	0,	9,	11,	6,	10,	10,	5,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	11,	9,	10,	6,	5,	10,
0,	0,	0,	0,	0,	0,	8,	10,	7,	11,	11,	4,	7,	4,	8,	11,	11,	9,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	8,	3,	8,	12,	12,	10,	8,	10,	7,	11,
11,	4,	0,	0,	0,	0,	0,	0,	11,	9,	10,	6,	5,	10,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	10,	8,
9,	7,	7,	8,	9,	7,	10,	8,	8,	7,	0,	0,	0,	0,	0,	0,	6,	10,	10,	6,
12,	10,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
9,	6,	6,	9,	9,	11,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	9,	6,	6,	9,	9,	11,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	6,	10,	10,	12,	6,	10,
0,	0,	0,	0,	0,	0,	9,	7,	10,	8,	8,	7,	10,	8,	9,	7,	7,	8,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	11,	9,	10,	5,	6,	10,	0,	0,	0,	0,	0,	0,	8,	10,	7,	11,	11,	4,
8,	3,	8,	12,	12,	10,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	7,	4,
8,	11,	11,	9,	8,	10,	7,	11,	11,	4,	0,	0,	0,	0,	0,	0,	11,	9,	10,	5,
6,	10,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	9,	11,
6,	10,	10,	5,	0,	0,	0,	0,	0,	0,	8,	3,	8,	12,	12,	10,	8,	10,	7,	11,
11,	4,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	8,	10,	7,	11,	11,	4,
7,	4,	8,	11,	11,	9,	0,	0,	0,	0,	0,	0,	9,	11,	5,	10,	10,	6,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	9,	7,	10,	8,	8,	7,	10,	8,	9,	7,	7,	8,	0,	0,	0,	0,	0,	0,
9,	6,	6,	9,	9,	11,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	6,	10,	10,	6,	12,	10,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	6,	5,	9,	10,	10,	9,	0,	0,	0,	0,
0,	0,	9,	11,	6,	10,	10,	5,	11,	9,	10,	6,	5,	10,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	11,	9,	10,	5,	6,	10,	9,	11,	5,	10,	10,	6,	0,	0,
0,	0,	0,	0,	9,	2,	10,	12,	12,	9,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	6,	10,	10,	12,	6,	10,
9,	6,	6,	9,	9,	11,	0,	0,	0,	0,	0,	0,	10,	9,	8,	7,	7,	8,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	9,	10,	7,	8,
8,	7,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	9,	6,	6,	9,	9,	11,	6,	10,	10,	12,
6,	10,	0,	0,	0,	0,	0,	0,	9,	10,	7,	8,	8,	7,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	10,	9,	8,	7,	7,	8,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
1,	10,	11,	10,	10,	11,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0};
char table6[] =
{1,	10,	10,	5,	5,	10,	10,	7,	5,	10,	10,	5,	5,	10,	10,	5,	7,	10,	10,	5,
5,	10,	10,	7,	9,	4,	2,	9,	9,	6,	4,	11,	9,	6,	6,	9,	9,	6,	6,	9,
11,	6,	6,	9,	9,	6,	6,	11,	9,	6,	8,	9,	9,	4,	6,	11,	9,	8,	8,	9,
9,	8,	8,	9,	11,	8,	8,	9,	9,	8,	8,	11,	9,	8,	8,	5,	7,	8,	8,	9,
7,	10,	10,	9,	9,	10,	10,	9,	9,	10,	10,	7,	9,	10,	10,	9,	9,	8,	8,	7,
5,	8,	8,	9,	9,	10,	10,	7,	7,	10,	10,	9,	9,	10,	10,	9,	9,	10,	10,	9,
7,	6,	8,	9,	9,	8,	10,	11,	9,	8,	10,	9,	9,	10,	8,	9,	11,	10,	8,	9,
9,	8,	10,	11,	9,	4,	6,	9,	9,	6,	4,	11,	9,	6,	6,	9,	9,	6,	6,	9,
11,	6,	6,	9,	9,	2,	6,	11,	7,	10,	10,	5,	5,	10,	10,	5,	5,	10,	10,	5,
5,	10,	10,	5,	7,	10,	10,	5,	5,	10,	10,	3,	9,	8,	10,	7,	9,	8,	8,	9,
9,	10,	10,	7,	9,	10,	10,	9,	9,	10,	10,	5,	7,	8,	10,	9,	11,	10,	10,	9,
9,	8,	10,	9,	9,	8,	8,	9,	9,	8,	8,	9,	9,	10,	8,	9,	9,	10,	6,	9,
11,	8,	8,	9,	9,	8,	8,	11,	9,	8,	8,	9,	9,	8,	8,	9,	11,	8,	6,	9,
9,	8,	8,	9,	9,	8,	10,	9,	9,	10,	8,	9,	7,	10,	10,	9,	9,	10,	8,	7,
9,	10,	10,	7,	5,	8,	10,	9,	9,	8,	10,	9,	7,	8,	8,	9,	9,	10,	10,	5,
9,	10,	10,	7,	9,	10,	10,	7,	9,	8,	10,	9,	11,	8,	8,	9,	9,	8,	8,	11,
9,	6,	8,	9,	9,	8,	8,	9,	11,	8,	8,	9,	9,	8,	8,	9,	7,	10,	8,	9,
9,	8,	6,	11,	9,	8,	10,	9,	9,	10,	8,	9,	11,	10,	8,	9,	9,	8,	10,	11,
9,	8,	8,	7,	9,	10,	8,	9,	5,	10,	10,	9,	7,	10,	8,	9,	9,	10,	10,	9,
7,	10,	10,	9,	7,	10,	10,	9,	9,	10,	10,	7,	9,	10,	10,	9,	9,	10,	10,	9,
9,	10,	10,	9,	9,	10,	10,	9,	11,	8,	8,	9,	9,	8,	8,	11,	9,	8,	6,	9,
9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	8,	11,	11,	10,	10,	9,	9,	8,	10,	9,
9,	8,	8,	9,	9,	8,	8,	9,	9,	6,	8,	9,	9,	10,	10,	9,	9,	8,	10,	9,
9,	10,	8,	9,	9,	10,	10,	7,	7,	10,	8,	5,	9,	10,	10,	9,	7,	8,	10,	9,
9,	8,	8,	9,	7,	10,	8,	9,	7,	10,	10,	9,	5,	10,	8,	7,	9,	10,	10,	9,
9,	10,	10,	9,	9,	6,	8,	9,	9,	8,	6,	11,	9,	8,	8,	9,	9,	8,	4,	9,
11,	8,	8,	9,	9,	8,	8,	11,	11,	8,	8,	9,	9,	8,	8,	11,	9,	8,	8,	9,
9,	6,	8,	9,	9,	8,	8,	9,	9,	8,	8,	11,	9,	10,	10,	7,	7,	10,	10,	7,
7,	10,	10,	7,	7,	10,	10,	7,	5,	10,	10,	7,	7,	10,	10,	9,	9,	4,	6,	9,
9,	2,	4,	11,	9,	6,	6,	9,	9,	6,	6,	9,	11,	6,	6,	9,	9,	6,	6,	11,
7,	8,	8,	3,	3,	8,	10,	7,	5,	10,	10,	5,	5,	10,	10,	7,	7,	8,	10,	5,
7,	10,	8,	7,	5,	8,	8,	7,	7,	10,	8,	9,	9,	10,	10,	7,	9,	10,	12,	9,
9,	10,	10,	7,	9,	8,	10,	9,	7,	6,	6,	9,	7,	8,	8,	9,	9,	8,	8,	9,
11,	8,	10,	9,	9,	8,	10,	9,	11,	8,	8,	9,	7,	6,	6,	7,	9,	8,	8,	9,
11,	10,	8,	9,	9,	8,	10,	11,	9,	8,	8,	9,	9,	8,	8,	9,	7,	10,	8,	7,
7,	6,	10,	7,	9,	10,	8,	9,	9,	8,	10,	9,	9,	10,	10,	9,	9,	10,	10,	9,
7,	10,	10,	5,	5,	8,	8,	7,	7,	10,	10,	3,	7,	10,	10,	5,	7,	8,	10,	3,
5,	8,	8,	7,	11,	6,	6,	9,	9,	6,	6,	11,	9,	4,	6,	9,	9,	6,	8,	9,
11,	4,	4,	9,	9,	6,	4,	9,	7,	8,	8,	9,	9,	8,	6,	9,	11,	10,	8,	7,
9,	8,	10,	11,	9,	8,	8,	9,	9,	6,	8,	9,	9,	10,	8,	9,	9,	10,	10,	9,
7,	8,	8,	9,	9,	10,	8,	9,	7,	10,	8,	9,	7,	8,	10,	7,	7,	10,	8,	7,
7,	10,	10,	7,	9,	10,	8,	7,	7,	8,	10,	9,	7,	8,	10,	7,	7,	8,	8,	7,
9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	6,	9,	9,	8,	8,	9,	7,	8,	8,	7,
9,	8,	6,	9,	7,	8,	8,	9,	9,	8,	6,	9,	9,	8,	8,	9,	11,	8,	10,	9,
9,	8,	10,	7,	11,	6,	8,	9,	7,	10,	8,	7,	7,	10,	10,	7,	7,	10,	8,	7,
9,	8,	10,	7,	7,	8,	10,	7,	9,	8,	8,	7,	7,	10,	10,	9,	9,	6,	10,	7,
9,	10,	8,	7,	9,	8,	10,	9,	9,	10,	10,	7,	9,	8,	10,	9,	9,	8,	8,	7,
9,	8,	8,	9,	9,	8,	6,	9,	9,	8,	8,	9,	7,	8,	8,	9,	9,	8,	6,	9,
11,	8,	8,	9,	9,	6,	8,	11,	9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	8,	9,
9,	8,	8,	11,	9,	8,	10,	7,	9,	10,	8,	9,	7,	10,	10,	9,	9,	8,	8,	9,
9,	10,	10,	7,	7,	10,	8,	9,	9,	10,	8,	9,	9,	10,	10,	9,	9,	8,	10,	9,
7,	8,	8,	7,	7,	10,	8,	9,	9,	8,	10,	7,	9,	8,	8,	9,	9,	8,	8,	9,
9,	8,	8,	7,	9,	6,	8,	9,	7,	6,	8,	9,	9,	8,	8,	9,	9,	8,	8,	9,
7,	8,	8,	9,	9,	8,	8,	9,	9,	6,	8,	9,	7,	6,	8,	9,	9,	8,	8,	9,
9,	8,	10,	7,	7,	10,	8,	9,	7,	10,	8,	7,	7,	8,	10,	7,	5,	10,	10,	7,
7,	10,	10,	9,	9,	8,	10,	9,	7,	10,	8,	9,	9,	10,	8,	7,	7,	10,	8,	7,
9,	8,	10,	9,	9,	10,	10,	9,	11,	8,	8,	9,	9,	10,	8,	9,	9,	8,	8,	9,
9,	8,	6,	9,	11,	8,	8,	9,	9,	8,	8,	11,	9,	6,	4,	9,	9,	8,	6,	11,
9,	8,	8,	9,	9,	8,	8,	9,	11,	8,	8,	9,	9,	8,	8,	11,	5,	8,	10,	7,
7,	8,	8,	9,	7,	10,	10,	9,	7,	10,	8,	9,	9,	10,	10,	9,	9,	12,	10,	9,
9,	6,	6,	5,	5,	6,	8,	9,	7,	8,	8,	7,	7,	8,	8,	9,	9,	6,	8,	7,
9,	8,	6,	9,	5,	6,	8,	7,	5,	6,	8,	7,	7,	8,	10,	9,	7,	8,	8,	7,
7,	8,	8,	7,	9,	10,	8,	7,	5,	6,	8,	5,	7,	6,	8,	7,	7,	8,	8,	7,
7,	10,	8,	9,	7,	8,	8,	9,	7,	10,	8,	7,	9,	8,	4,	7,	7,	6,	8,	9,
9,	6,	8,	9,	9,	8,	8,	9,	9,	8,	6,	9,	9,	8,	8,	9,	9,	8,	10,	7,
7,	10,	8,	9,	7,	8,	10,	7,	7,	10,	10,	7,	9,	10,	8,	7,	7,	10,	10,	5,
11,	8,	10,	9,	9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	8,	9,	11,	8,	8,	9,
9,	6,	8,	11,	7,	8,	8,	5,	9,	8,	8,	7,	9,	8,	8,	7,	7,	10,	8,	7,
7,	8,	6,	7,	7,	10,	6,	5,	9,	8,	8,	9,	9,	6,	8,	9,	9,	8,	6,	9,
9,	6,	6,	9,	9,	8,	6,	7,	7,	6,	8,	9,	9,	6,	8,	7,	9,	8,	6,	9,
7,	6,	8,	9,	9,	8,	8,	9,	9,	8,	8,	7,	7,	6,	6,	9,	7,	8,	8,	9,
7,	8,	8,	7,	5,	8,	10,	7,	9,	8,	8,	7,	7,	8,	6,	7,	7,	10,	6,	5,
7,	8,	8,	9,	5,	8,	8,	7,	7,	6,	10,	7,	9,	8,	8,	7,	7,	6,	8,	7,
7,	10,	8,	5,	9,	6,	8,	9,	7,	8,	6,	9,	9,	8,	8,	7,	7,	8,	8,	7,
9,	6,	6,	9,	9,	6,	8,	9,	9,	8,	4,	9,	9,	8,	8,	9,	7,	6,	8,	9,
7,	8,	6,	9,	9,	8,	6,	9,	9,	8,	8,	9,	5,	8,	8,	7,	7,	8,	6,	7,
7,	8,	8,	7,	5,	10,	6,	9,	7,	8,	8,	9,	7,	10,	8,	7,	11,	8,	6,	9,
9,	8,	8,	11,	9,	8,	8,	9,	9,	8,	8,	9,	11,	8,	8,	9,	9,	8,	8,	9,
7,	10,	10,	7,	7,	8,	10,	7,	7,	8,	10,	7,	7,	10,	8,	9,	7,	8,	8,	9,
7,	10,	8,	7,	9,	8,	8,	9,	9,	6,	8,	9,	9,	6,	6,	7,	9,	6,	6,	7,
9,	8,	8,	9,	9,	6,	8,	9,	7,	8,	8,	7,	9,	8,	8,	7,	9,	6,	8,	7,
5,	10,	8,	7,	7,	6,	8,	7,	7,	10,	8,	5,	5,	8,	8,	7,	7,	8,	6,	7,
5,	8,	10,	9,	7,	8,	6,	7,	7,	8,	8,	7,	9,	10,	8,	7,	9,	8,	6,	7,
7,	8,	6,	9,	5,	8,	8,	9,	5,	8,	6,	7,	9,	6,	8,	9,	7,	8,	6,	9,
7,	10,	10,	7,	7,	8,	10,	7,	7,	8,	10,	9,	7,	10,	8,	7,	7,	8,	8,	7,
9,	10,	8,	7,	11,	8,	8,	9,	9,	8,	8,	11,	9,	8,	6,	9,	9,	6,	8,	9,
9,	6,	8,	9,	9,	8,	6,	11,	9,	8,	8,	7,	5,	8,	8,	9,	9,	10,	10,	7,
7,	10,	10,	9,	9,	10,	10,	9,	9,	10,	10,	9,	7,	6,	8,	7,	9,	6,	8,	9,
9,	8,	8,	9,	9,	10,	8,	11,	9,	8,	8,	11,	9,	10,	8,	9,	5,	6,	6,	5,
7,		8,	8,	7,	9,	10,	8,	7,	7,	8,	10,	9,	7,	8,	8,	7,	7,	8,	8,	7,
7,	8,	4,	7,	7,	4,	8,	9,	9,	6,	6,	9,	9,	6,	8,	9,	7,	8,	6,	9,
9,	8,	8,	7,	7,	4,	6,	7,	9,	6,	8,	7,	9,	8,	6,	9,	9,	8,	8,	11,
9,	8,	6,	9,	7,	8,	8,	9,	5,	8,	8,	7,	3,	8,	10,	5,	7,	10,	8,	7,
7,	8,	10,	7,	7,	10,	8,	7,	7,	8,	10,	7,	9,	8,	8,	9,	9,	8,	8,	9,
9,	8,	8,	7,	9,	8,	8,	9,	9,	6,	6,	9,	9,	8,	8,	7,	9,	10,	10,	7,
9,	10,	10,	9,	7,	8,	10,	7,	9,	10,	10,	7,	9,	8,	10,	7,	7,	8,	8,	9,
9,	6,	8,	7,	9,	6,	6,	9,	9,	8,	8,	9,	9,	6,	8,	11,	7,	6,	6,	9,
7,	6,	6,	7,	7,	10,	8,	7,	7,	8,	10,	7,	5,	10,	8,	7,	7,	8,	10,	7,
5,	10,	8,	5,	7,	8,	8,	5,	7,	6,	8,	7,	7,	8,	8,	5,	9,	10,	6,	7,
7,	8,	10,	9,	7,	8,	8,	7,	5,	8,	8,	7,	9,	8,	6,	9,	7,	6,	8,	7,
9,	8,	4,	9,	9,	8,	6,	9,	7,	8,	4,	9,	7,	6,	8,	7,	7,	8,	6,	9,
9,	8,	8,	7,	9,	6,	8,	9,	7,	8,	8,	7,	9,	8,	6,	9,	9,	6,	8,	7,
7,	8,	6,	7,	7,	10,	8,	7,	9,	8,	8,	5,	7,	8,	8,	9,	7,	6,	10,	7,
7,	8,	8,	5,	7,	10,	8,	7,	5,	10,	10,	7,	7,	8,	8,	7,	7,	8,	8,	7,
7,	8,	10,	7,	7,	8,	10,	7,	9,	6,	6,	9,	9,	6,	6,	9,	9,	8,	6,	7,
7,	8,	8,	9,	7,	6,	6,	11,	9,	8,	6,	7,	9,	8,	10,	9,	5,	10,	8,	9,
9,	10,	8,	7,	7,	10,	10,	9,	9,	10,	8,	9,	7,	10,	10,	9,	9,	6,	8,	9,
9,	8,	8,	7,	9,	8,	8,	9,	9,	10,	8,	11,	9,	8,	6,	11,	7,	10,	8,	9,
7,	10,	8,	7,	9,	10,	8,	7,	7,	8,	8,	7,	7,	8,	8,	5,	7,	10,	10,	7,
7,	8,	10,	7,	7,	8,	8,	9,	9,	6,	8,	7,	9,	8,	8,	7,	7,	6,	8,	9,
9,	4,	6,	11,	9,	6,	8,	9,	7,	8,	8,	9,	9,	6,	8,	7,	9,	8,	6,	7,
9,	6,	6,	7,	7,	8,	8,	9,	9,	8,	8,	9,	7,	8,	8,	7,	7,	10,	8,	7,
9,	8,	6,	7,	5,	8,	8,	9,	5,	6,	10,	7,	7,	8,	8,	7,	9,	8,	8,	9,
9,	6,	8,	9,	9,	8,	8,	9,	7,	8,	8,	9,	7,	6,	8,	9,	9,	8,	8,	9,
9,	10,	10,	7,	9,	10,	10,	9,	7,	10,	10,	9,	7,	8,	8,	7,	9,	8,	10,	7,
7,	10,	8,	9,	9,	8,	8,	5,	7,	8,	8,	9,	7,	10,	10,	9,	9,	10,	10,	9,
9,	10,	10,	7,	9,	10,	10,	9,	7,	6,	8,	9,	7,	6,	8,	9,	9,	8,	10,	11,
9,	8,	8,	9,	9,	8,	8,	9,	11,	10,	8,	9,	5,	6,	6,	7,	5,	8,	8,	7,
7,	8,	8,	7,	9,	8,	10,	7,	7,	8,	10,	7,	9,	8,	8,	7,	7,	4,	6,	9,
7,	6,	8,	7,	9,	6,	8,	9,	9,	6,	8,	7,	9,	8,	8,	9,	11,	8,	8,	9,
7,	8,	4,	7,	7,	4,	8,	9,	9,	6,	6,	9,	9,	6,	8,	9,	7,	8,	6,	9,
9,	8,	8,	7,	5,	8,	8,	3,	7,	8,	10,	5,	7,	8,	8,	7,	7,	8,	10,	7,
7,	10,	10,	7,	7,	8,	10,	7,	9,	8,	8,	9,	9,	8,	8,	9,	9,	6,	8,	9,
9,	8,	8,	9,	9,	8,	8,	7,	9,	8,	6,	7,	9,	10,	10,	9,	7,	10,	10,	9,
9,	10,	10,	7,	7,	10,	10,	7,	9,	8,	8,	7,	7,	8,	8,	9,	7,	8,	6,	9,
9,	8,	8,	7,	7,	6,	8,	9,	9,	8,	8,	9,	9,	8,	6,	9,	7,	6,	8,	7,
7,	10,	8,	9,	7,	10,	8,	7,	7,	10,	8,	7,	7,	8,	8,	7,	7,	10,	8,	7,
5,	8,	10,	7,	7,	8,	6,	7,	7,	10,	8,	7,	7,	10,	8,	7,	9,	8,	8,	7,
7,	8,	8,	5,	9,	8,	6,	5,	7,	8,	8,	9,	9,	6,	8,	7,	7,	6,	6,	11,
9,	8,	8,	9,	9,	8,	8,	7,	9,	6,	4,	9,	9,	6,	8,	9,	7,	6,	6,	9,
9,	6,	6,	9,	9,	8,	8,	7,	7,	6,	8,	9,	11,	6,	6,	7,	7,	6,	8,	7,
7,	8,	8,	5,	7,	8,	8,	7,	9,	6,	10,	5,	7,	8,	10,	7,	9,	8,	8,	7,
7,	10,	8,	5,	7,	10,	10,	7,	7,	10,	8,	7,	7,	8,	8,	7,	7,	10,	8,	7,
7,	8,	8,	7,	7,	8,	8,	9,	9,	6,	8,	7,	9,	8,	6,	9,	9,	6,	6,	9,
7,	8,	8,	7,	7,	8,	8,	9,	9,	8,	10,	5,	9,	10,	8,	9,	7,	8,	10,	9,
9,	8,	10,	7,	9,	10,	10,	7,	9,	10,	10,	9,	9,	8,	8,	9,	9,	6,	8,	9,
7,	8,	8,	9,	9,	8,	8,	9,	7,	8,	8,	9,	9,	8,	6,	9,	7,	10,	8,	7,
7,	8,	10,	7,	7,	8,	8,	5,	5,	8,	10,	7,	5,	8,	10,	7,	7,	8,	10,	5,
9,	8,	6,	7,	9,	6,	8,	7,	9,	4,	8,	9,	9,	4,	6,	7,	7,	8,	8,	9,
9,	6,	8,	7,	9,	6,	6,	9,	9,	6,	6,	9,	7,	6,	8,	11,	9,	6,	8,	9,
7,	6,	8,	7,	9,	8,	6,	7,	7,	8,	8,	7,	7,	10,	8,	7,	5,	10,	8,	7,
9,	6,	8,	7,	5,	8,	8,	7,	9,	8,	6,	7,	9,	6,	8,	9,	9,	8,	8,	7,
9,	6,	10,	11,	9,	8,	8,	7,	9,	8,	8,	9,	11,	10,	8,	9,	9,	10,	10,	9,
7,	10,	10,	9,	7,	10,	8,	7,	7,	10,	8,	7,	9,	8,	10,	9,	7,	10,	8,	9,
7,	6,	8,	9,	9,	8,	10,	11,	9,	10,	8,	9,	9,	8,	8,	9,	11,	10,	10,	9,
9,	8,	10,	11,	7,	10,	6,	7,	7,	8,	10,	7,	9,	8,	10,	9,	9,	10,	10,	9,
9,	10,	8,	9,	9,	10,	10,	9,	9,	8,	6,	7,	7,	4,	8,	9,	9,	8,	6,	9,
9,	6,	8,	9,	9,	8,	8,	9,	9,	8,	8,	9,	5,	8,	8,	3,	7,	8,	10,	5,
7,	8,	10,	7,	7,	8,	8,	7,	7,	10,	8,	7,	7,	10,	10,	7,	5,	8,	8,	7,
3,	8,	10,	5,	7,	8,	8,	7,	7,	10,	8,	7,	7,	10,	8,	7,	7,	10,	10,	7,
9,	2,	6,	9,	9,	6,	8,	9,	9,	6,	6,	9,	9,	6,	6,	9,	11,	8,	6,	9,
9,	6,	8,	11,	7,	10,	10,	9,	9,	10,	10,	7,	9,	8,	10,	9,	9,	10,	8,	7,
9,	10,	8,	9,	7,	6,	10,	9,	11,	10,	8,	9,	9,	10,	8,	11,	9,	8,	8,	9,
9,	8,	10,	9,	11,	8,	8,	9,	9,	8,	8,	7,	7,	10,	8,	7,	7,	8,	10,	7,
7,	8,	8,	7,	7,	10,	8,	7,	7,	10,	8,	5,	7,	10,	8,	7,	9,	8,	6,	9,
9,	6,	6,	9,	9,	6,	6,	9,	9,	6,	6,	9,	9,	8,	6,	9,	9,	6,	4,	9,
9,	8,	6,	9,	7,	8,	8,	9,	9,	8,	6,	9,	9,	8,	8,	9,	9,	8,	4,	9,
7,	6,	8,	9,	5,	8,	10,	7,	7,	8,	10,	5,	7,	8,	8,	7,	7,	10,	8,	7,
7,	10,	8,	7,	3,	8,	10,	7,	7,	10,	8,	7,	7,	8,	10,	7,	7,	8,	10,	5,
7,	8,	8,	7,	7,	8,	8,	7,	7,	10,	10,	7,	9,	8,	6,	7,	9,	8,	8,	9,
9,	4,	8,	9,	9,	6,	8,	7,	9,	8,	8,	9,	9,	6,	8,	9,	11,	6,	8,	9,
9,	8,	6,	11,	9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	8,	9,
7,	10,	10,	7,	7,	8,	10,	7,	5,	8,	10,	7,	7,	8,	8,	7,	7,	10,	8,	7,
7,	8,	8,	7,	11,	6,	8,	9,	9,	10,	10,	7,	9,	8,	8,	9,	9,	8,	10,	9,
11,	10,	8,	9,	9,	8,	10,	11,	7,	10,	10,	9,	7,	8,	10,	7,	9,	10,	6,	9,
9,	10,	8,	9,	9,	10,	8,	9,	7,	10,	10,	9,	9,	8,	6,	9,	9,	6,	6,	9,
9,	6,	6,	9,	9,	6,	6,	9,	9,	4,	6,	9,	9,	6,	8,	9,	5,	8,	10,	7,
7,	8,	10,	5,	7,	8,	10,	7,	7,	8,	8,	3,	7,	10,	8,	7,	7,	8,	10,	7,
7,	10,	10,	7,	7,	8,	10,	7,	7,	8,	8,	7,	5,	10,	8,	7,	7,	8,	8,	7,
7,	8,	10,	7,	9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	6,	9,	9,	6,	4,	7,
9,	8,	8,	9,	7,	6,	8,	9,	7,	10,	10,	7,	9,	8,	10,	7,	9,	8,	10,	9,
9,	6,	8,	7,	9,	10,	10,	9,	9,	10,	10,	9,	11,	10,	8,	9,	9,	8,	8,	11,
9,	10,	8,	9,	9,	8,	8,	9,	7,	8,	10,	9,	9,	8,	8,	11,	9,	4,	6,	9,
9,	6,	4,	11,	9,	6,	6,	9,	9,	6,	2,	9,	11,	6,	6,	9,	9,	6,	6,	11,
7,	10,	8,	5,	5,	10,	8,	7,	3,	10,	10,	7,	3,	10,	8,	5,	7,	8,	10,	7,
5,	10,	8,	7,	9,	8,	10,	7,	7,	10,	8,	9,	7,	10,	8,	7,	7,	8,	10,	7,
5,	10,	10,	7,	7,	10,	10,	9,	9,	8,	8,	9,	9,	8,	8,	9,	7,	8,	8,	9,
9,	6,	8,	9,	7,	8,	8,	9,	9,	8,	6,	9,	9,	8,	8,	9,	9,	8,	8,	9,
9,	8,	6,	9,	7,	8,	8,	9,	7,	6,	8,	9,	9,	8,	8,	9,	7,	10,	10,	9,
9,	10,	10,	7,	9,	10,	8,	9,	9,	8,	6,	7,	9,	10,	10,	9,	7,	8,	10,	9,
7,	8,	10,	7,	7,	10,	10,	7,	5,	10,	10,	5,	5,	10,	8,	3,	7,	8,	10,	5,
3,	8,	8,	7,	11,	6,	6,	9,	9,	8,	6,	11,	9,	4,	6,	9,	9,	6,	6,	9,
11,	4,	4,	9,	9,	6,	4,	9,	9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	8,	9,
9,	6,	8,	9,	7,	8,	8,	9,	7,	8,	6,	9,	9,	10,	8,	7,	9,	8,	10,	9,
9,	8,	10,	9,	9,	8,	10,	9,	7,	10,	8,	7,	9,	8,	10,	7,	7,	10,	8,	9,
7,	10,	10,	7,	7,	10,	8,	9,	7,	8,	10,	7,	7,	8,	10,	7,	7,	8,	8,	7,
7,	6,	8,	11,	9,	10,	8,	9,	9,	10,	8,	11,	9,	8,	8,	7,	9,	8,	8,	9,
9,	6,	8,	9,	9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	6,	9,	9,	8,	8,	7,
7,	6,	8,	9,	9,	8,	8,	9,	7,	10,	8,	7,	9,	10,	10,	7,	7,	10,	8,	7,
7,	8,	10,	7,	7,	8,	10,	9,	7,	8,	8,	7,	7,	10,	8,	9,	9,	10,	10,	7,
7,	10,	8,	9,	7,	8,	6,	9,	9,	10,	10,	9,	9,	10,	10,	9,	7,	8,	6,	9,
11,	10,	6,	9,	9,	8,	8,	9,	7,	8,	8,	9,	9,	8,	10,	11,	9,	8,	8,	9,
11,	8,	8,	9,	9,	8,	8,	11,	9,	8,	8,	9,	9,	8,	6,	9,	9,	8,	8,	9,
9,	8,	8,	11,	9,	8,	10,	9,	7,	8,	8,	9,	9,	10,	10,	7,	7,	8,	10,	7,
9,	8,	10,	9,	9,	10,	10,	9,	9,	10,	8,	9,	7,	8,	10,	9,	9,	8,	8,	7,
9,	10,	10,	9,	7,	10,	8,	9,	9,	8,	10,	7,	7,	6,	8,	9,	11,	10,	8,	9,
9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	10,	11,	7,	6,	8,	9,	7,	8,	6,	11,
9,	10,	6,	9,	7,	10,	8,	11,	9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	8,	9,
5,	8,	8,	9,	9,	12,	8,	9,	7,	10,	10,	9,	7,	10,	10,	7,	9,	10,	10,	9,
7,	8,	10,	9,	9,	8,	10,	7,	9,	8,	8,	9,	7,	10,	8,	9,	9,	10,	10,	9,
9,	10,	10,	7,	7,	10,	8,	9,	11,	8,	8,	9,	9,	6,	8,	9,	9,	8,	8,	9,
9,	8,	10,	9,	11,	8,	8,	9,	9,	8,	8,	11,	7,	10,	10,	5,	5,	10,	10,	5,
5,	10,	10,	5,	5,	10,	10,	5,	3,	10,	10,	5,	5,	10,	10,	7,	11,	6,	6,	9,
9,	6,	6,	11,	9,	6,	4,	9,	9,	4,	6,	9,	9,	4,	6,	9,	9,	8,	4,	11,
11,	8,	8,	9,	9,	10,	8,	9,	9,	8,	8,	9,	9,	8,	6,	9,	11,	8,	8,	9,
9,	8,	8,	11,	9,	10,	10,	9,	7,	10,	10,	9,	7,	10,	8,	7,	7,	10,	8,	7,
9,	8,	10,	9,	7,	10,	8,	9,	9,	10,	10,	7,	9,	10,	10,	9,	7,	10,	10,	9,
7,	8,	8,	7,	9,	8,	10,	7,	7,	10,	8,	9,	11,	10,	10,	9,	9,	8,	8,	11,
9,	8,	8,	9,	9,	8,	8,	9,	7,	8,	8,	9,	9,	10,	8,	11,	11,	6,	8,	9,
9,	6,	6,	11,	9,	6,	4,	9,	9,	4,	6,	9,	9,	4,	6,	9,	9,	6,	4,	11,
7,	10,	10,	5,	5,	10,	10,	5,	5,	10,	10,	5,	5,	10,	10,	5,	5,	10,	10,	5,
5,	10,	10,	5,	9,	10,	10,	9,	7,	10,	10,	9,	7,	10,	8,	7,	7,	10,	8,	7,
9,	8,	10,	9,	7,	10,	8,	9,	9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	10,	9,
9,	10,	8,	9,	11,	8,	8,	9,	9,	8,	10,	9,	11,	8,	8,	9,	9,	6,	8,	11,
9,	8,	8,	9,	9,	8,	6,	9,	9,	6,	8,	9,	9,	8,	6,	11,	9,	10,	10,	7,
7,	8,	10,	9,	9,	10,	10,	7,	7,	8,	10,	7,	9,	8,	10,	7,	9,	10,	8,	9,
9,	10,	10,	7,	9,	10,	10,	9,	7,	10,	10,	9,	7,	8,	8,	7,	9,	8,	10,	7,
7,	10,	8,	9,	11,	8,	8,	9,	9,	6,	8,	11,	9,	8,	8,	9,	9,	8,	6,	9,
9,	6,	8,	9,	9,	8,	6,	11,	11,	8,	10,	9,	9,	8,	10,	11,	9,	8,	8,	9,
9,	8,	8,	9,	7,	8,	8,	9,	9,	10,	8,	11,	9,	10,	10,	7,	7,	8,	10,	9,
9,	10,	10,	7,	7,	8,	10,	7,	9,	8,	10,	7,	9,	10,	8,	9,	7,	10,	10,	7,
7,	10,	10,	9,	7,	10,	10,	7,	7,	10,	10,	7,	5,	10,	10,	7,	7,	10,	10,	9,
9,	8,	8,	9,	9,	8,	8,	11,	9,	8,	10,	9,	9,	6,	8,	9,	11,	8,	8,	9,
9,	8,	8,	11,	9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	10,	9,	9,	10,	8,	9,
11,	10,	8,	9,	9,	8,	8,	9,	9,	10,	10,	7,	7,	8,	10,	9,	7,	10,	8,	7,
9,	10,	10,	9,	9,	8,	10,	7,	7,	10,	8,	9,	9,	10,	10,	7,	7,	8,	10,	9,
7,	10,	8,	7,	9,	10,	10,	9,	9,	8,	10,	7,	7,	10,	8,	9,	11,	8,	8,	9,
9,	6,	8,	9,	9,	8,	8,	9,	9,	8,	10,	9,	11,	8,	8,	9,	9,	8,	8,	11,
9,	8,	8,	9,	9,	8,	8,	11,	9,	8,	6,	9,	9,	10,	8,	9,	11,	8,	8,	9,
9,	8,	8,	11,	7,	10,	10,	9,	9,	10,	10,	7,	9,	10,	10,	9,	9,	10,	10,	9,
11,	10,	10,	9,	9,	10,	10,	9,	9,	8,	8,	9,	7,	10,	8,	9,	7,	10,	10,	9,
5,	10,	8,	7,	9,	10,	10,	9,	9,	10,	10,	9,	7,	8,	8,	9,	9,	8,	6,	9,
7,	8,	10,	11,	9,	8,	6,	9,	9,	8,	8,	9,	11,	10,	8,	9,	7,	8,	8,	9,
5,	8,	8,	7,	7,	8,	8,	9,	7,	6,	10,	7,	5,	6,	10,	7,	7,	8,	8,	7,
9,	6,	6,	9,	7,	8,	6,	9,	9,	8,	8,	9,	9,	6,	6,	7,	7,	6,	6,	9,
11,	8,	6,	7,	7,	8,	8,	9,	9,	6,	8,	7,	9,	8,	6,	7,	9,	6,	6,	7,
7,	8,	8,	9,	9,	8,	8,	9,	7,	10,	8,	7,	7,	8,	10,	7,	7,	8,	8,	7,
5,	8,	10,	7,	7,	8,	10,	7,	7,	8,	10,	7,	9,	8,	8,	9,	9,	8,	8,	9,
9,	8,	8,	9,	9,	8,	8,	7,	9,	6,	6,	9,	9,	8,	8,	7,	9,	10,	10,	7,
9,	10,	10,	9,	7,	8,	10,	7,	9,	10,	10,	7,	9,	8,	10,	7,	7,	8,	8,	9,
9,	8,	6,	9,	9,	6,	8,	7,	9,	8,	8,	9,	7,	4,	6,	9,	7,	8,	4,	7,
9,	6,	8,	7,	7,	10,	8,	5,	7,	10,	10,	7,	7,	10,	8,	7,	7,	8,	8,	7,
5,	10,	8,	7,	5,	8,	8,	5,	7,	8,	8,	9,	7,	10,	6,	5,	7,	10,	8,	9,
7,	6,	8,	7,	7,	8,	8,	5,	7,	8,	8,	7,	9,	6,	8,	9,	9,	8,	6,	9,
7,	8,	6,	11,	9,	8,	6,	9,	7,	6,	6,	7,	9,	6,	6,	7,	7,	8,	8,	9,
7,	8,	8,	7,	9,	8,	6,	9,	9,	8,	6,	7,	9,	4,	6,	9,	11,	6,	8,	9,
7,	8,	6,	9,	7,	8,	8,	7,	7,	8,	8,	9,	7,	8,	10,	5,	7,	6,	10,	7,
7,	8,	8,	5,	5,	10,	8,	7,	7,	10,	8,	5,	7,	10,	8,	7,	3,	8,	8,	7,
7,	10,	8,	7,	7,	8,	10,	7,	7,	8,	4,	9,	9,	8,	8,	9,	7,	6,	6,	9,
7,	6,	4,	9,	7,	8,	6,	9,	9,	8,	8,	7,	9,	8,	10,	9,	7,	10,	8,	9,
9,	10,	10,	9,	5,	8,	10,	7,	9,	10,	8,	7,	9,	10,	10,	9,	9,	8,	8,	9,
7,	8,	8,	9,	9,	8,	8,	9,	9,	8,	6,	9,	7,	6,	8,	9,	9,	8,	8,	9,
7,	8,	8,	7,	7,	8,	10,	7,	7,	8,	8,	5,	9,	8,	10,	7,	7,	10,	10,	7,
7,	8,	10,	7,	7,	8,	6,	9,	7,	8,	8,	7,	9,	6,	8,	7,	9,	8,	8,	9,
9,	8,	6,	9,	9,	6,	8,	7,	7,	8,	6,	9,	9,	8,	4,	7,	7,	8,	8,	11,
9,	6,	6,	9,	9,	8,	6,	7,	9,	8,	8,	9,	5,	8,	6,	9,	7,	10,	6,	7,
5,	10,	8,	9,	7,	8,	8,	7,	7,	8,	8,	7,	7,	8,	8,	7,	9,	8,	8,	9,
9,	8,	6,	7,	9,	8,	10,	11,	9,	8,	8,	9,	9,	8,	6,	7,	11,	10,	8,	9,
9,	10,	10,	7,	7,	8,	10,	9,	7,	10,	8,	7,	9,	10,	10,	9,	9,	8,	10,	7,
7,	10,	8,	9,	11,	10,	8,	9,	9,	10,	10,	9,	9,	8,	8,	9,	9,	8,	10,	9,
9,	6,	8,	9,	9,	8,	10,	9,	9,	10,	10,	9,	9,	8,	10,	9,	9,	8,	8,	7,
9,	8,	8,	7,	7,	10,	10,	9,	9,	8,	10,	7,	9,	8,	6,	9,	9,	8,	8,	9,
9,	6,	8,	9,	7,	6,	6,	7,	9,	8,	6,	9,	9,	6,	8,	9,	7,	10,	8,	7,
7,	8,	10,	7,	7,	8,	10,	5,	5,	8,	8,	7,	5,	8,	8,	7,	7,	10,	10,	5,
7,	10,	10,	7,	9,	8,	8,	7,	7,	8,	10,	7,	7,	8,	8,	5,	7,	10,	8,	7,
7,	8,	10,	7,	9,	8,	6,	9,	9,	6,	6,	9,	9,	6,	6,	9,	9,	6,	6,	9,
9,	4,	6,	9,	9,	6,	8,	9,	9,	10,	8,	9,	7,	8,	10,	9,	9,	10,	8,	9,
7,	8,	8,	9,	7,	10,	8,	9,	9,	10,	10,	7,	9,	8,	8,	9,	9,	8,	8,	9,
9,	10,	8,	9,	9,	8,	8,	9,	9,	10,	10,	9,	9,	8,	8,	11,	7,	10,	10,	7,
5,	8,	10,	7,	7,	8,	10,	7,	7,	8,	8,	5,	5,	8,	8,	7,	7,	8,	10,	5,
11,	6,	6,	9,	9,	6,	6,	11,	9,	6,	6,	9,	9,	6,	6,	9,	9,	6,	6,	9,
9,	6,	6,	9,	9,	8,	8,	9,	9,	6,	8,	9,	9,	6,	6,	7,	9,	6,	6,	7,
9,	8,	8,	9,	9,	6,	8,	9,	7,	10,	10,	7,	7,	8,	10,	7,	7,	8,	8,	5,
5,	10,	8,	7,	5,	8,	8,	7,	7,	8,	10,	5,	7,	8,	8,	7,	7,	8,	10,	7,
7,	8,	10,	9,	5,	8,	8,	7,	7,	10,	8,	7,	7,	10,	10,	7,	9,	8,	6,	9,
7,	6,	8,	9,	9,	8,	6,	9,	7,	6,	6,	9,	9,	8,	6,	9,	9,	8,	8,	9,
9,	6,	6,	9,	9,	6,	8,	9,	9,	6,	6,	9,	9,	6,	6,	9,	9,	4,	6,	9,
9,	6,	8,	9,	7,	10,	8,	7,	5,	8,	10,	7,	7,	8,	8,	7,	7,	10,	8,	5,
5,	8,	8,	7,	7,	10,	10,	5,	9,	10,	8,	9,	9,	8,	10,	11,	9,	10,	8,	9,
9,	8,	8,	9,	9,	6,	10,	9,	9,	8,	10,	9,	9,	10,	8,	9,	9,	10,	10,	9,
9,	8,	10,	9,	7,	8,	8,	7,	7,	10,	8,	9,	9,	8,	10,	7,	9,	6,	8,	9,
9,	8,	6,	9,	9,	8,	8,	9,	9,	8,	8,	9,	11,	10,	8,	9,	9,	8,	8,	11,
7,	10,	8,	7,	5,	8,	8,	7,	7,	8,	8,	7,	7,	10,	8,	9,	7,	10,	8,	7,
7,	10,	10,	7,	7,	8,	10,	7,	7,	8,	10,	7,	7,	8,	8,	5,	9,	10,	8,	7,
7,	10,	8,	7,	7,	8,	10,	7,	9,	8,	6,	9,	7,	6,	8,	9,	9,	6,	6,	7,
9,	8,	8,	9,	9,	8,	6,	9,	9,	6,	8,	9,	9,	10,	8,	9,	7,	8,	10,	9,
9,	8,	8,	7,	9,	10,	10,	9,	7,	10,	8,	9,	9,	8,	10,	7,	9,	8,	8,	9,
9,	10,	8,	9,	9,	8,	8,	9,	9,	8,	10,	9,	11,	10,	8,	9,	9,	8,	8,	9,
11,	8,	8,	9,	9,	8,	8,	11,	9,	8,	8,	9,	9,	6,	8,	9,	9,	8,	8,	9,
9,	8,	8,	11,	7,	10,	10,	7,	7,	8,	10,	7,	7,	8,	10,	9,	7,	10,	8,	7,
7,	8,	8,	7,	9,	10,	8,	7,	9,	6,	8,	9,	7,	8,	6,	9,	9,	8,	6,	7,
7,	8,	6,	7,	9,	6,	8,	9,	9,	8,	8,	9,	7,	6,	8,	7,	7,	8,	8,	5,
7,	6,	10,	9,	7,	8,	8,	5,	7,	8,	8,	7,	9,	10,	8,	7,	7,	8,	10,	7,
7,	6,	8,	7,	7,	8,	10,	7,	5,	8,	8,	9,	5,	6,	8,	9,	7,	8,	8,	7,
9,	8,	8,	7,	9,	6,	8,	9,	9,	6,	8,	9,	9,	4,	6,	7,	9,	8,	8,	9,
9,	8,	8,	9,	7,	10,	10,	7,	9,	8,	10,	7,	9,	8,	10,	7,	7,	10,	8,	7,
7,	8,	8,	7,	7,	10,	8,	7,	11,	8,	6,	9,	9,	8,	8,	11,	9,	8,	8,	9,
9,	8,	8,	9,	11,	6,	8,	9,	9,	6,	6,	9,	7,	8,	10,	7,	9,	8,	6,	5,
9,	8,	10,	7,	5,	8,	8,	7,	7,	8,	6,	7,	7,	8,	8,	7,	9,	8,	6,	9,
9,	8,	8,	9,	7,	6,	6,	9,	9,	8,	6,	9,	9,	8,	6,	9,	7,	6,	8,	9,
9,	8,	8,	7,	7,	8,	6,	9,	9,	8,	8,	9,	5,	6,	8,	7,	9,	6,	6,	5,
7,	8,	6,	9,	7,	8,	8,	9,	7,	8,	8,	7,	7,	8,	10,	7,	9,	8,	6,	7,
5,	8,	8,	5,	7,	10,	6,	7,	7,	8,	8,	9,	7,	6,	8,	7,	7,	8,	10,	7,
9,	8,	8,	5,	5,	6,	8,	7,	7,	10,	8,	7,	9,	6,	8,	5,	9,	8,	8,	9,
7,	6,	8,	7,	7,	6,	8,	5,	9,	6,	8,	7,	9,	8,	6,	9,	9,	8,	8,	9,
9,	6,	8,	9,	9,	8,	8,	9,	7,	4,	6,	9,	9,	8,	6,	7,	9,	8,	8,	9,
7,	8,	10,	5,	7,	8,	8,	7,	7,	8,	10,	7,	7,	8,	6,	9,	5,	8,	8,	9,
7,	8,	6,	7,	11,	6,	8,	9,	9,	8,	6,	9,	9,	8,	8,	9,	9,	4,	8,	9,
11,	8,	8,	9,	9,	8,	8,	11,	9,	8,	10,	7,	7,	8,	8,	9,	7,	10,	10,	7,
7,	10,	8,	7,	5,	10,	10,	7,	7,	10,	10,	9,	9,	8,	6,	9,	7,	6,	8,	9,
9,	6,	6,	7,	9,	8,	8,	9,	9,	8,	6,	9,	9,	6,	8,	9,	7,	6,	10,	5,
9,	8,	8,	5,	9,	6,	10,	7,	7,	8,	8,	7,	7,	8,	8,	7,	7,	8,	8,	7,
7,	8,	8,	7,	7,	8,	6,	5,	7,	8,	10,	9,	7,	8,	8,	7,	7,	8,	6,	5,
9,	10,	8,	7,	9,	6,	8,	7,	9,	6,	6,	9,	7,	8,	6,	9,	9,	8,	8,	9,
9,	8,	8,	7,	7,	8,	6,	9,	9,	8,	10,	7,	9,	10,	8,	5,	9,	8,	12,	9,
7,	10,	10,	7,	9,	10,	8,	7,	9,	10,	10,	9,	9,	8,	8,	9,	9,	8,	8,	11,
9,	8,	6,	9,	9,	10,	8,	9,	11,	8,	8,	9,	9,	8,	8,	11,	9,	8,	10,	9,
9,	10,	8,	9,	9,	10,	10,	7,	7,	10,	8,	5,	9,	10,	10,	9,	7,	8,	10,	9,
9,	8,	8,	9,	9,	8,	8,	9,	9,	6,	8,	9,	7,	8,	8,	9,	9,	6,	8,	9,
9,	8,	8,	7,	7,	8,	8,	7,	9,	8,	8,	7,	7,	10,	8,	5,	7,	6,	10,	7,
5,	6,	8,	9,	7,	8,	8,	7,	9,	8,	6,	7,	9,	6,	8,	7,	9,	4,	8,	9,
9,	4,	6,	7,	7,	8,	8,	9,	9,	6,	8,	7,	7,	8,	6,	9,	9,	8,	8,	7,
11,	6,	6,	7,	7,	8,	6,	9,	9,	4,	8,	9,	9,	8,	8,	9,	5,	8,	8,	7,
7,	10,	10,	5,	7,	8,	8,	7,	7,	8,	8,	3,	7,	10,	10,	7,	7,	8,	10,	7,
7,	6,	10,	9,	11,	8,	8,	9,	11,	8,	10,	9,	9,	8,	6,	9,	9,	8,	8,	9,
7,	8,	8,	9,	9,	10,	8,	7,	7,	10,	10,	9,	7,	10,	10,	9,	7,	10,	10,	9,
9,	8,	8,	7,	7,	10,	8,	9,	9,	6,	8,	9,	9,	8,	6,	9,	11,	6,	8,	7,
7,	6,	6,	9,	7,	6,	8,	9,	9,	6,	6,	7,	7,	10,	8,	7,	7,	10,	10,	7,
5,	8,	8,	7,	7,	8,	8,	7,	5,	10,	10,	5,	7,	8,	8,	5,	7,	8,	8,	7,
9,	8,	8,	7,	7,	10,	8,	7,	5,	8,	10,	7,	7,	6,	8,	9,	7,	6,	8,	5,
7,	8,	8,	9,	9,	8,	8,	9,	9,	6,	6,	9,	9,	6,	4,	7,	7,	8,	6,	9,
7,	4,	8,	7,	7,	8,	8,	9,	7,	6,	8,	7,	9,	8,	6,	9,	7,	6,	6,	9,
7,	8,	8,	9,	9,	8,	8,	9,	7,	6,	8,	5,	9,	10,	8,	5,	7,	8,	8,	7,
7,	6,	8,	7,	7,	8,	10,	9,	7,	8,	8,	7,	7,	10,	8,	7,	7,	8,	10,	7,
7,	10,	8,	7,	7,	8,	10,	5,	7,	8,	8,	7,	7,	8,	10,	7,	9,	6,	6,	7,
11,	8,	6,	9,	9,	6,	6,	9,	9,	8,	6,	9,	7,	6,	8,	9,	7,	8,	6,	7,
9,	8,	10,	7,	9,	10,	8,	9,	9,	8,	10,	7,	7,	8,	10,	5,	9,	10,	10,	9,
9,	10,	10,	9,	9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	8,	7,	9,	8,	6,	9,
7,	6,	8,	9,	9,	8,	8,	9,	7,	10,	8,	7,	5,	8,	8,	7,	7,	10,	8,	7,
7,	8,	10,	9,	7,	10,	8,	7,	7,	8,	10,	7,	7,	4,	8,	7,	11,	8,	8,	7,
9,	6,	8,	9,	9,	6,	6,	9,	9,	8,	8,	9,	7,	6,	8,	9,	7,	8,	6,	9,
7,	8,	8,	7,	9,	6,	8,	7,	9,	8,	8,	9,	9,	8,	6,	9,	9,	6,	8,	7,
5,	6,	8,	7,	9,	10,	8,	7,	7,	8,	8,	7,	7,	8,	8,	7,	7,	8,	10,	9,
5,	6,	8,	7,	9,	6,	10,	7,	11,	8,	8,	7,	11,	6,	10,	9,	9,	8,	8,	9,
9,	8,	8,	9,	9,	8,	8,	9,	9,	10,	10,	7,	7,	8,	10,	9,	7,	10,	8,	7,
9,	10,	10,	9,	9,	8,	10,	7,	7,	10,	8,	9,	9,	8,	8,	7,	9,	10,	8,	9,
5,	10,	10,	9,	7,	10,	8,	9,	9,	10,	10,	9,	7,	10,	10,	9,	7,	8,	8,	9,
9,	8,	6,	9,	9,	8,	8,	9,	7,	10,	6,	11,	9,	8,	8,	11,	9,	10,	8,	9,
7,	8,	8,	5,	9,	8,	8,	7,	7,	10,	6,	7,	7,	8,	10,	7,	5,	8,	8,	9,
7,	8,	6,	7,	7,	8,	8,	9,	9,	6,	8,	7,	9,	8,	6,	9,	9,	6,	6,	9,
7,	8,	8,	7,	7,	8,	8,	9,	9,	6,	6,	7,	9,	8,	6,	9,	9,	6,	6,	9,
9,	8,	6,	11,	7,	6,	8,	9,	7,	8,	6,	7,	7,	10,	8,	7,	7,	8,	10,	7,
5,	10,	8,	7,	7,	8,	10,	7,	7,	10,	8,	7,	7,	8,	8,	7,	9,	8,	8,	9,
9,	8,	8,	9,	9,	6,	8,	9,	9,	8,	8,	9,	9,	8,	8,	9,	7,	8,	6,	7,
9,	10,	10,	9,	7,	10,	10,	9,	9,	10,	10,	7,	7,	10,	10,	7,	9,	8,	8,	7,
7,	8,	8,	9,	7,	8,	8,	7,	9,	8,	8,	7,	9,	6,	8,	9,	9,	6,	6,	11,
9,	8,	8,	9,	7,	6,	4,	9,	7,	8,	8,	7,	7,	8,	10,	7,	9,	10,	8,	7,
7,	8,	10,	7,	7,	10,	8,	5,	7,	8,	10,	7,	7,	8,	6,	7,	9,	8,	8,	7,
7,	10,	8,	7,	7,	8,	10,	7,	7,	8,	8,	9,	5,	8,	6,	5,	7,	8,	6,	7,
9,	8,	8,	7,	9,	6,	8,	9,	9,	8,	8,	9,	9,	8,	6,	7,	9,	6,	8,	7,
9,	8,	6,	9,	9,	6,	8,	7,	7,	4,	4,	7,	9,	8,	6,	9,	7,	8,	8,	9,
9,	6,	8,	7,	7,	8,	8,	7,	9,	10,	6,	5,	7,	8,	6,	5,	7,	8,	8,	7,
7,	8,	10,	9,	7,	8,	8,	7,	5,	10,	8,	7,	7,	10,	8,	5,	3,	8,	8,	7,
7,	8,	8,	7,	7,	10,	10,	7,	7,	8,	10,	7,	7,	8,	6,	9,	9,	8,	4,	7,
9,	6,	6,	7,	7,	8,	6,	9,	9,	8,	8,	11,	9,	8,	8,	9,	9,	8,	10,	7,
9,	10,	8,	9,	5,	8,	8,	7,	9,	10,	10,	9,	9,	10,	10,	9,	7,	10,	10,	9,
9,	8,	8,	9,	9,	8,	6,	7,	9,	6,	8,	7,	9,	10,	8,	11,	9,	8,	8,	11,
9,	10,	8,	9,	7,	10,	8,	7,	5,	10,	10,	7,	7,	8,	8,	7,	7,	8,	8,	5,
5,	8,	10,	7,	7,	8,	10,	5,	9,	6,	8,	9,	9,	8,	6,	9,	9,	6,	8,	7,
7,	6,	6,	9,	7,	6,	8,	11,	9,	6,	6,	7,	7,	8,	4,	9,	9,	8,	8,	9,
7,	6,	6,	9,	7,	6,	4,	9,	7,	8,	6,	9,	9,	8,	8,	7,	5,	8,	6,	7,
9,	10,	6,	7,	7,	8,	8,	7,	5,	8,	8,	7,	7,	8,	10,	9,	7,	8,	8,	7,
9,	8,	8,	7,	9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	6,	9,	7,	8,	8,	9,
9,	8,	6,	9,	9,	10,	10,	7,	7,	8,	10,	9,	9,	10,	10,	7,	7,	8,	10,	7,
9,	8,	10,	7,	9,	10,	8,	9,	11,	8,	8,	9,	9,	8,	8,	11,	9,	8,	6,	9,
9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	8,	11,	7,	10,	10,	7,	7,	8,	10,	7,
7,	8,	10,	7,	7,	10,	8,	9,	7,	8,	8,	9,	7,	10,	8,	7,	9,	6,	8,	7,
9,	8,	6,	9,	7,	8,	8,	9,	9,	6,	6,	9,	9,	8,	8,	7,	7,	8,	6,	9,
7,	8,	10,	7,	7,	6,	8,	7,	5,	8,	8,	9,	7,	10,	8,	7,	5,	8,	8,	7,
9,	8,	6,	7,	7,	6,	8,	7,	7,	8,	8,	5,	7,	8,	8,	7,	7,	10,	8,	9,
7,	8,	6,	9,	5,	10,	8,	7,	9,	8,	8,	9,	7,	6,	8,	9,	9,	8,	4,	9,
9,	8,	6,	9,	9,	8,	6,	9,	7,	8,	8,	9,	7,	10,	10,	9,	7,	8,	10,	7,
7,	8,	10,	7,	9,	10,	8,	7,	7,	8,	8,	7,	7,	10,	8,	7,	11,	8,	6,	9,
9,	8,	8,	11,	9,	8,	8,	9,	9,	8,	8,	9,	11,	6,	8,	9,	9,	6,	6,	9,
7,	8,	8,	7,	9,	6,	8,	7,	9,	8,	8,	7,	7,	10,	8,	7,	5,	8,	8,	7,
5,	10,	6,	7,	9,	8,	6,	7,	9,	6,	8,	9,	9,	6,	8,	9,	9,	6,	8,	9,
9,	8,	6,	7,	9,	6,	8,	9,	9,	6,	8,	9,	5,	8,	8,	9,	7,	8,	6,	7,
7,	8,	8,	9,	9,	6,	6,	7,	5,	8,	6,	9,	7,	6,	10,	9,	5,	8,	8,	5,
7,	8,	8,	7,	9,	10,	8,	7,	7,	8,	6,	7,	7,	8,	8,	7,	7,	8,	10,	9,
7,	8,	6,	5,	5,	6,	8,	7,	9,	10,	8,	7,	7,	8,	8,	7,	7,	8,	8,	7,
9,	8,	8,	7,	7,	8,	6,	9,	5,	6,	6,	5,	9,	8,	8,	7,	9,	6,	8,	9,
7,	8,	6,	9,	9,	8,	8,	9,	9,	6,	8,	9,	7,	6,	4,	7,	9,	8,	6,	9,
9,	8,	8,	9,	9,	8,	8,	9,	7,	8,	8,	7,	7,	8,	6,	5,	7,	6,	8,	5,
7,	10,	8,	9,	7,	8,	8,	9,	7,	10,	8,	7,	11,	6,	8,	9,	9,	8,	6,	9,
9,	8,	4,	9,	9,	8,	8,	9,	11,	8,	8,	9,	9,	8,	8,	11,	9,	8,	10,	9,
7,	10,	8,	5,	7,	8,	10,	7,	9,	12,	10,	9,	9,	10,	8,	9,	7,	10,	10,	9,
9,	8,	6,	9,	9,	8,	8,	9,	9,	6,	8,	9,	7,	6,	6,	7,	9,	8,	6,	9,
9,	6,	8,	9,	7,	8,	8,	7,	9,	8,	8,	7,	9,	8,	8,	5,	7,	10,	6,	7,
5,	6,	8,	7,	7,	10,	8,	7,	7,	8,	10,	7,	5,	8,	8,	7,	7,	8,	8,	9,
7,	10,	6,	7,	5,	6,	8,	7,	9,	8,	8,	7,	9,	6,	8,	9,	7,	6,	6,	9,
9,	8,	8,	7,	7,	6,	8,	7,	9,	6,	8,	9,	9,	8,	8,	9,	9,	8,	10,	7,
7,	8,	8,	9,	7,	10,	10,	7,	7,	10,	8,	7,	5,	10,	10,	7,	7,	10,	10,	9,
9,	8,	8,	9,	9,	8,	8,	11,	9,	8,	10,	9,	9,	6,	8,	9,	11,	8,	8,	9,
9,	8,	8,	11,	7,	10,	8,	9,	9,	8,	6,	11,	9,	10,	8,	9,	9,	8,	8,	9,
11,	10,	10,	9,	9,	8,	10,	11,	7,	10,	6,	9,	9,	10,	10,	7,	7,	8,	10,	9,
7,	10,	8,	9,	9,	10,	8,	9,	9,	10,	10,	9,	9,	8,	8,	9,	9,	4,	8,	9,
9,	8,	6,	7,	9,	6,	8,	9,	9,	8,	8,	7,	9,	6,	8,	9,	7,	10,	10,	5,
7,	8,	10,	7,	7,	8,	8,	7,	7,	10,	8,	7,	7,	10,	8,	7,	7,	8,	8,	7,
7,	10,	10,	7,	5,	8,	10,	7,	7,	8,	10,	7,	7,	8,	8,	7,	7,	8,	8,	7,
7,	8,	10,	7,	11,	6,	8,	9,	9,	8,	6,	11,	9,	8,	8,	9,	9,	8,	8,	9,
9,	8,	8,	9,	9,	8,	8,	9,	7,	10,	10,	9,	9,	8,	10,	7,	9,	8,	10,	7,
9,	10,	10,	9,	9,	10,	8,	7,	9,	6,	10,	9,	11,	8,	8,	9,	9,	10,	10,	11,
9,	8,	8,	9,	9,	8,	10,	9,	11,	8,	8,	9,	9,	8,	8,	7,	5,	10,	10,	7,
7,	8,	8,	5,	7,	8,	10,	7,	7,	8,	8,	7,	7,	10,	8,	3,	7,	8,	10,	7,
9,	6,	6,	9,	9,	6,	8,	9,	9,	6,	6,	9,	9,	6,	6,	9,	9,	8,	6,	9,
9,	6,	4,	9,	9,	8,	6,	9,	9,	8,	8,	9,	9,	8,	8,	9,	7,	6,	8,	9,
9,	8,	4,	7,	9,	6,	8,	9,	7,	10,	8,	7,	7,	8,	10,	7,	7,	8,	10,	7,
7,	8,	8,	7,	7,	10,	8,	7,	5,	10,	8,	7,	5,	10,	10,	7,	7,	8,	8,	5,
7,	8,	8,	3,	7,	10,	8,	7,	7,	10,	8,	7,	7,	8,	10,	7,	9,	8,	6,	9,
9,	8,	8,	9,	7,	4,	6,	7,	9,	8,	8,	9,	9,	8,	8,	9,	9,	6,	8,	9,
9,	8,	6,	9,	9,	6,	2,	9,	9,	6,	6,	9,	9,	6,	6,	9,	11,	8,	6,	9,
9,	6,	8,	11,	5,	10,	8,	7,	7,	8,	8,	5,	3,	8,	8,	7,	7,	10,	8,	7,
7,	10,	8,	7,	7,	10,	10,	7,	11,	10,	8,	9,	9,	10,	6,	7,	9,	8,	8,	9,
9,	8,	10,	9,	11,	10,	8,	9,	9,	8,	10,	11,	7,	10,	10,	9,	9,	8,	10,	7,
7,	8,	6,	7,	9,	10,	8,	9,	9,	10,	10,	9,	9,	10,	10,	9,	9,	6,	6,	9,
9,	6,	8,	9,	9,	6,	6,	9,	9,	6,	6,	9,	9,	4,	6,	9,	9,	6,	8,	9,
7,	10,	8,	7,	7,	8,	10,	7,	7,	8,	8,	7,	7,	10,	8,	5,	7,	8,	8,	7,
7,	10,	10,	7,	5,	10,	8,	7,	7,	8,	8,	5,	7,	8,	10,	7,	3,	8,	8,	7,
7,	10,	8,	7,	7,	10,	10,	7,	9,	8,	6,	9,	9,	8,	8,	9,	7,	8,	6,	9,
7,	6,	4,	9,	9,	8,	8,	9,	9,	8,	8,	9,	7,	10,	10,	9,	9,	8,	10,	7,
9,	10,	10,	9,	7,	6,	8,	9,	9,	10,	8,	7,	9,	10,	10,	9,	11,	8,	8,	9,
9,	8,	10,	11,	9,	10,	8,	9,	9,	8,	8,	9,	7,	8,	10,	9,	9,	8,	8,	11,
9,	8,	10,	9,	7,	8,	8,	9,	9,	10,	10,	5,	9,	10,	10,	7,	9,	10,	10,	7,
9,	8,	10,	9,	9,	8,	8,	9,	7,	8,	8,	9,	9,	6,	8,	9,	9,	8,	8,	9,
9,	6,	8,	9,	9,	8,	8,	7,	5,	8,	8,	7,	7,	8,	6,	7,	7,	8,	8,	7,
9,	8,	10,	7,	7,	8,	10,	5,	9,	6,	8,	7,	9,	6,	6,	9,	9,	6,	6,	9,
7,	6,	8,	9,	11,	6,	8,	9,	7,	6,	8,	7,	9,	8,	6,	7,	7,	8,	6,	9,
9,	8,	8,	7,	9,	6,	8,	9,	7,	8,	8,	7,	9,	8,	6,	9,	9,	6,	8,	7,
7,	10,	8,	7,	7,	10,	10,	7,	7,	10,	8,	5,	7,	8,	8,	7,	7,	8,	8,	7,
7,	8,	10,	7,	7,	8,	10,	11,	9,	6,	6,	9,	9,	8,	8,	9,	11,	10,	8,	9,
9,	8,	8,	7,	9,	8,	8,	9,	9,	10,	8,	7,	7,	10,	10,	9,	7,	10,	10,	9,
7,	10,	10,	9,	9,	8,	8,	7,	7,	10,	8,	9,	7,	8,	8,	9,	9,	4,	8,	9,
9,	6,	6,	7,	9,	6,	8,	9,	7,	8,	6,	7,	9,	4,	8,	7,	7,	10,	8,	5,
7,	8,	10,	7,	7,	8,	8,	7,	7,	8,	10,	7,	5,	10,	10,	7,	5,	8,	8,	5,
7,	8,	8,	7,	5,	10,	8,	7,	7,	10,	8,	7,	9,	8,	8,	7,	7,	6,	8,	7,
9,	6,	8,	5,	9,	6,	8,	11,	7,	6,	6,	9,	9,	6,	6,	9,	9,	8,	8,	7,
7,	6,	8,	9,	9,	6,	6,	7,	7,	8,	8,	9,	9,	6,	4,	7,	7,	6,	6,	9,
11,	8,	8,	9,	9,	8,	8,	7,	9,	6,	8,	9,	7,	8,	8,	7,	7,	8,	6,	5,
5,	8,	6,	7,	9,	8,	10,	7,	7,	8,	10,	7,	9,	8,	8,	7,	5,	10,	8,	7,
7,	8,	8,	5,	7,	8,	8,	3,	7,	8,	10,	7,	7,	10,	10,	7,	7,	8,	10,	7,
9,	8,	6,	9,	9,	6,	8,	7,	7,	4,	4,	7,	9,	8,	6,	9,	7,	8,	8,	9,
9,	6,	8,	7,	9,	8,	10,	9,	7,	10,	8,	9,	7,	8,	8,	5,	9,	10,	10,	7,
9,	10,	10,	9,	9,	10,	10,	9,	9,	8,	10,	11,	9,	8,	6,	7,	7,	6,	8,	9,
11,	10,	8,	9,	9,	8,	8,	9,	9,	8,	8,	9,	7,	8,	8,	7,	7,	10,	10,	7,
7,	10,	8,	9,	5,	8,	8,	7,	7,	10,	8,	7,	7,	8,	10,	7,	7,	8,	8,	9,
7,	6,	8,	7,	9,	8,	6,	9,	7,	6,	6,	9,	7,	8,	8,	9,	9,	8,	8,	9,
7,	8,	6,	11,	7,	6,	8,	7,	9,	6,	8,	9,	9,	6,	8,	7,	9,	4,	8,	9,
9,	8,	8,	9,	7,	8,	8,	7,	7,	10,	8,	7,	7,	10,	6,	7,	9,	8,	8,	5,
5,	6,	8,	7,	9,	8,	8,	7,	9,	8,	8,	9,	9,	6,	8,	9,	9,	8,	8,	9,
9,	8,	8,	7,	7,	6,	8,	9,	9,	8,	8,	9,	9,	10,	10,	7,	9,	10,	10,	9,
7,	10,	10,	9,	7,	8,	8,	7,	9,	8,	10,	7,	7,	10,	8,	9,	7,	10,	10,	9,
9,	10,	10,	7,	9,	10,	10,	9,	9,	10,	10,	9,	9,	10,	10,	9,	9,	10,	10,	9,
11,	8,	6,	9,	9,	8,	8,	11,	9,	8,	8,	9,	9,	8,	8,	9,	11,	8,	8,	9,
9,	8,	8,	9,	11,	8,	8,	9,	9,	6,	8,	11,	9,	8,	8,	9,	9,	8,	8,	9,
9,	8,	8,	9,	9,	8,	8,	11,	9,	8,	10,	5,	9,	10,	8,	9,	7,	8,	10,	9,
9,	8,	10,	7,	9,	10,	10,	7,	9,	10,	10,	9,	9,	8,	10,	9,	5,	10,	8,	9,
9,	10,	8,	7,	7,	10,	10,	9,	9,	10,	8,	9,	7,	10,	10,	9,	11,	6,	10,	9,
9,	8,	10,	7,	9,	8,	8,	9,	9,	8,	8,	9,	11,	10,	8,	9,	9,	10,	10,	11,
11,	8,	8,	9,	9,	8,	8,	11,	9,	8,	8,	9,	9,	8,	8,	9,	11,	8,	8,	9,
9,	6,	8,	9,	7,	10,	10,	7,	7,	10,	10,	9,	7,	10,	10,	7,	7,	10,	10,	7,
9,	10,	10,	7,	7,	10,	10,	5,	9,	8,	10,	7,	9,	10,	8,	9,	9,	10,	10,	9,
7,	8,	10,	9,	9,	10,	8,	5,	7,	10,	10,	9,	9,	10,	8,	9,	9,	8,	10,	11,
9,	8,	10,	9,	9,	10,	8,	9,	9,	10,	8,	9,	9,	8,	6,	9,	11,	6,	8,	9,
9,	8,	6,	9,	9,	8,	8,	9,	9,	8,	8,	9,	11,	8,	4,	9,	9,	8,	8,	11,
9,	8,	10,	9,	7,	10,	8,	9,	7,	10,	8,	9,	9,	10,	10,	9,	9,	10,	8,	7,
5,	10,	10,	9,	9,	8,	10,	9,	7,	10,	8,	9,	7,	8,	8,	5,	9,	10,	10,	7,
9,	10,	10,	9,	9,	10,	10,	9,	11,	6,	8,	9,	9,	8,	6,	9,	9,	4,	8,	9,
9,	8,	8,	9,	11,	8,	8,	9,	9,	8,	8,	11,	11,	10,	10,	9,	9,	8,	6,	7,
9,	8,	8,	9,	9,	8,	8,	9,	11,	10,	8,	9,	9,	10,	10,	11,	9,	8,	10,	7,
9,	10,	8,	9,	5,	8,	8,	7,	9,	10,	10,	9,	9,	10,	10,	9,	7,	10,	10,	9,
9,	10,	10,	7,	7,	10,	10,	3,	7,	10,	10,	7,	7,	10,	10,	7,	9,	10,	10,	7,
7,	10,	10,	9,	11,	6,	8,	9,	9,	8,	6,	9,	9,	8,	4,	9,	9,	8,	8,	9,
11,	8,	8,	9,	9,	8,	8,	11,	9,	10,	8,	9,	9,	8,	10,	11,	9,	8,	10,	9,
9,	10,	8,	9,	9,	6,	8,	9,	9,	8,	10,	9,	9,	8,	10,	7,	9,	10,	8,	9,
9,	8,	10,	7,	7,	8,	10,	5,	9,	10,	10,	9,	9,	10,	10,	9,	9,	8,	10,	9,
7,	10,	8,	9,	9,	10,	10,	9,	5,	8,	10,	7,	9,	10,	8,	7,	9,	10,	10,	9,
11,	8,	8,	9,	9,	8,	8,	11,	9,	8,	8,	9,	9,	8,	6,	9,	9,	8,	8,	9,
9,	8,	8,	11,	11,	6,	8,	9,	9,	8,	6,	9,	9,	8,	8,	9,	9,	4,	8,	9,
11,	8,	8,	9,	9,	8,	8,	11,	7,	10,	10,	7,	7,	10,	10,	9,	7,	10,	10,	7,
7,	10,	10,	7,	5,	10,	10,	7,	7,	10,	10,	9,	11,	8,	8,	9,	9,	8,	8,	11,
9,	6,	8,	9,	9,	8,	8,	9,	11,	8,	8,	9,	9,	8,	8,	9,	9,	8,	10,	9,
7,	10,	8,	9,	9,	10,	10,	7,	7,	10,	10,	7,	9,	8,	8,	9,	9,	8,	10,	9,
7,	10,	8,	7,	7,	10,	10,	7,	7,	10,	8,	7,	9,	8,	10,	7,	7,	8,	10,	7,
9,	8,	8,	7,	9,	6,	8,	9,	9,	8,	8,	7,	9,	8,	8,	9,	11,	6,	10,	7,
9,	8,	10,	9,	11,	8,	8,	9,	9,	8,	6,	9,	9,	8,	8,	9,	9,	8,	8,	7,
9,	8,	8,	9,	9,	6,	8,	9,	9,	8,	8,	7,	7,	10,	8,	7,	9,	10,	10,	7,
9,	6,	10,	9,	9,	8,	10,	7,	9,	10,	10,	9,	9,	8,	10,	9,	9,	8,	8,	7,
9,	10,	8,	9,	7,	10,	10,	9,	9,	10,	10,	9,	9,	10,	8,	7,	7,	10,	8,	9,
9,	8,	8,	9,	9,	8,	8,	11,	9,	10,	8,	9,	9,	8,	8,	9,	11,	8,	6,	9,
9,	8,	8,	11,	9,	8,	8,	7,	9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	8,	9,
9,	8,	8,	9,	9,	6,	6,	7,	9,	10,	10,	9,	9,	8,	10,	9,	9,	10,	8,	9,
9,	8,	8,	9,	7,	10,	8,	7,	7,	8,	10,	7,	9,	8,	8,	7,	7,	10,	8,	9,
7,	10,	10,	7,	7,	10,	10,	7,	9,	10,	10,	7,	7,	8,	10,	5,	9,	8,	8,	9,
9,	8,	8,	9,	7,	8,	8,	9,	9,	8,	8,	9,	9,	8,	8,	9,	9,	6,	6,	7,
9,	8,	8,	9,	9,	8,	6,	7,	7,	8,	6,	9,	11,	8,	10,	9,	9,	8,	10,	9,
11,	8,	8,	9,	9,	8,	10,	7,	9,	10,	8,	5,	7,	10,	8,	7,	9,	8,	10,	7,
9,	10,	12,	9,	9,	10,	10,	9,	7,	10,	8,	9,	9,	10,	10,	7,	7,	6,	8,	7,
9,	10,	10,	9,	9,	10,	10,	9,	9,	8,	10,	9,	9,	8,	8,	9,	11,	10,	6,	7,
9,	8,	6,	7,	9,	8,	8,	9,	9,	8,	10,	11,	9,	8,	8,	9,	11,	6,	8,	9,
9,	8,	6,	9,	9,	4,	8,	9,	9,	8,	8,	9,	11,	8,	8,	9,	9,	8,	8,	11,
9,	10,	10,	7,	7,	10,	8,	9,	5,	8,	8,	5,	9,	10,	10,	7,	9,	8,	10,	9,
7,	10,	8,	9,	9,	10,	8,	9,	7,	8,	10,	9,	9,	10,	8,	9,	7,	8,	8,	9,
7,	10,	8,	9,	9,	10,	10,	7,	9,	6,	8,	7,	11,	10,	8,	7,	9,	8,	8,	9,
9,	6,	8,	9,	9,	8,	10,	11,	9,	8,	8,	9,	9,	8,	6,	9,	9,	8,	8,	9,
9,	8,	8,	9,	9,	8,	8,	7,	9,	6,	8,	9,	9,	8,	8,	7,	7,	10,	8,	7,
9,	10,	10,	7,	7,	10,	8,	7,	7,	8,	10,	7,	7,	8,	10,	9,	7,	8,	8,	7,
9,	8,	10,	5,	9,	10,	10,	9,	7,	8,	10,	7,	7,	8,	10,	5,	9,	8,	10,	7,
9,	10,	8,	9,	11,	8,	8,	9,	9,	6,	8,	11,	9,	8,	8,	9,	9,	8,	6,	9,
9,	6,	8,	9,	9,	8,	6,	11,	11,	10,	8,	9,	9,	10,	10,	9,	9,	8,	8,	9,
9,	8,	10,	9,	9,	10,	8,	9,	9,	8,	6,	9,	9,	10,	10,	9,	9,	8,	10,	9,
9,	10,	8,	9,	9,	8,	8,	9,	7,	10,	8,	7,	7,	8,	10,	7,	9,	8,	6,	9,
9,	8,	8,	9,	7,	6,	6,	9,	9,	8,	6,	9,	9,	8,	6,	9,	7,	6,	8,	9,
7,	10,	10,	9,	7,	8,	8,	7,	7,	8,	8,	7,	7,	10,	8,	7,	7,	10,	8,	7,
5,	8,	10,	7,	7,	10,	8,	7,	7,	8,	10,	7,	5,	8,	8,	7,	7,	10,	8,	7,
5,	10,	8,	5,	7,	10,	8,	5,	9,	8,	6,	9,	9,	6,	6,	9,	9,	6,	6,	9,
9,	6,	6,	9,	9,	8,	6,	9,	9,	6,	4,	9,	9,	10,	8,	7,	9,	8,	10,	9,
7,	8,	8,	9,	9,	8,	8,	9,	7,	10,	10,	9,	9,	10,	10,	7,	9,	8,	8,	9,
9,	8,	8,	9,	9,	10,	8,	9,	9,	8,	8,	9,	9,	8,	10,	9,	9,	8,	10,	11,
7,	8,	8,	7,	7,	8,	10,	7,	5,	8,	8,	7,	7,	10,	8,	7,	7,	10,	8,	9,
7,	10,	10,	7,	9,	6,	8,	9,	9,	8,	6,	9,	9,	8,	8,	9,	9,	8,	8,	9,
11,	8,	8,	9,	9,	8,	10,	11,	9,	8,	6,	7,	9,	6,	8,	9,	7,	6,	6,	9,
9,	6,	6,	9,	9,	8,	8,	9,	9,	8,	8,	9,	7,	10,	8,	5,	7,	8,	8,	7,
7,	8,	10,	7,	7,	8,	8,	7,	7,	10,	8,	7,	9,	10,	10,	7,	7,	10,	10,	5,
7,	8,	10,	7,	7,	8,	8,	7,	7,	10,	8,	7,	5,	10,	8,	7,	5,	8,	8,	5,
9,	8,	8,	9,	9,	6,	8,	9,	9,	8,	6,	9,	9,	6,	6,	9,	9,	8,	6,	7,
7,	6,	8,	9,	9,	6,	6,	9,	9,	6,	8,	9,	9,	6,	6,	9,	9,	6,	6,	9,
9,	8,	6,	9,	9,	6,	4,	9,	7,	8,	10,	7,	7,	8,	10,	7,	9,	8,	10,	7,
7,	8,	8,	7,	7,	10,	8,	5,	7,	8,	10,	7,	9,	10,	8,	9,	9,	8,	10,	11,
9,	10,	8,	9,	9,	8,	8,	9,	9,	10,	10,	9,	9,	8,	6,	9,	9,	10,	8,	7,
9,	8,	10,	9,	9,	8,	10,	9,	9,	8,	10,	9,	7,	10,	8,	7,	9,	8,	10,	7,
11,	6,	6,	9,	9,	6,	6,	11,	9,	6,	6,	9,	9,	6,	6,	9,	9,	6,	6,	9,
9,	6,	6,	9,	7,	10,	10,	7,	7,	8,	10,	7,	5,	8,	10,	7,	7,	8,	8,	7,
5,	10,	8,	5,	7,	8,	8,	5,	7,	10,	8,	5,	7,	8,	10,	7,	7,	8,	10,	7,
7,	8,	8,	7,	5,	10,	8,	7,	5,	10,	8,	5,	9,	8,	6,	7,	9,	6,	8,	9,
9,	6,	8,	9,	9,	6,	8,	9,	9,	8,	6,	7,	9,	6,	8,	9,	9,	10,	8,	9,
9,	10,	10,	9,	7,	8,	8,	9,	9,	10,	8,	9,	7,	10,	8,	9,	7,	8,	10,	7,
9,	8,	8,	9,	9,	10,	8,	9,	9,	8,	8,	9,	9,	8,	10,	9,	11,	8,	8,	9,
9,	8,	10,	9,	9,	8,	10,	9,	9,	10,	8,	9,	7,	10,	10,	9,	9,	10,	8,	7,
9,	10,	10,	7,	5,	8,	10,	9,	9,	8,	8,	9,	9,	8,	8,	9,	7,	8,	8,	9,
9,	8,	8,	9,	9,	8,	6,	9,	9,	8,	6,	7,	7,	8,	8,	9,	7,	8,	8,	7,
7,	8,	6,	9,	7,	8,	10,	7,	5,	8,	10,	5,	7,	8,	6,	7,	7,	8,	6,	9,
9,	8,	8,	7,	7,	8,	8,	9,	11,	6,	6,	9,	9,	8,	6,	7,	9,	8,	4,	9,
9,	8,	6,	9,	7,	6,	8,	7,	9,	8,	4,	9,	9,	8,	6,	9,	7,	8,	4,	9,
7,	6,	8,	7,	5,	8,	8,	7,	7,	10,	10,	5,	7,	10,	8,	7,	7,	8,	8,	7,
7,	10,	8,	7,	3,	8,	10,	7,	7,	6,	10,	11,	9,	8,	8,	9,	9,	8,	8,	9,
11,	10,	6,	7,	9,	8,	8,	9,	9,	8,	8,	9,	9,	10,	8,	7,	7,	10,	10,	9,
7,	8,	10,	7,	7,	10,	10,	7,	9,	8,	10,	9,	9,	10,	8,	9,	7,	8,	8,	7,
9,	6,	8,	7,	7,	8,	6,	9,	9,	6,	6,	9,	7,	8,	8,	9,	9,	8,	8,	9,
7,	10,	8,	5,	7,	8,	8,	7,	7,	8,	8,	7,	7,	8,	10,	7,	7,	10,	10,	7,
9,	8,	10,	7,	7,	6,	8,	9,	5,	10,	8,	5,	7,	10,	6,	9,	7,	8,	8,	7,
7,	8,	8,	7,	7,	8,	8,	7,	7,	4,	8,	11,	7,	8,	8,	7,	9,	8,	6,	9,
9,	8,	6,	7,	9,	8,	6,	9,	9,	6,	8,	9,	9,	6,	8,	9,	9,	8,	6,	9,
7,	8,	6,	9,	11,	8,	6,	9,	7,	6,	6,	7,	9,	6,	6,	7,	7,	8,	8,	9,
7,	8,	8,	7,	5,	8,	8,	9,	7,	8,	10,	7,	7,	8,	10,	7,	7,	6,	6,	5,
7,	10,	8,	7,	7,	8,	10,	7,	7,	8,	8,	7,	7,	8,	10,	7,	7,	10,	10,	7,
5,	8,	8,	7,	7,	8,	6,	7,	9,	8,	8,	7,	9,	6,	8,	9,	9,	8,	8,	9,
9,	8,	6,	7,	9,	6,	8,	7,	9,	8,	10,	9,	7,	10,	8,	9,	7,	10,	8,	9,
9,	10,	10,	9,	9,	10,	8,	7,	5,	10,	10,	9,	9,	6,	10,	11,	7,	8,	8,	7,
9,	8,	8,	9,	11,	10,	8,	9,	9,	8,	6,	9,	9,	8,	8,	9,	7,	10,	8,	7,
7,	10,	10,	7,	7,	10,	8,	5,	5,	8,	8,	7,	5,	8,	8,	7,	7,	8,	10,	5,
7,	8,	8,	9,	9,	8,	8,	9,	9,	6,	6,	9,	9,	6,	4,	7,	7,	8,	6,	9,
7,	4,	8,	7,	9,	6,	6,	11,	7,	8,	6,	9,	9,	8,	8,	9,	9,	6,	6,	7,
7,	6,	6,	9,	9,	8,	6,	7,	5,	6,	8,	9,	7,	10,	8,	7,	7,	10,	8,	9,
7,	8,	8,	5,	7,	8,	8,	7,	7,	6,	8,	7,	9,	8,	8,	9,	9,	8,	8,	9,
9,	8,	8,	9,	9,	8,	6,	9,	7,	8,	8,	7,	9,	8,	6,	9,	9,	10,	10,	7,
7,	8,	10,	9,	9,	10,	10,	7,	7,	8,	10,	7,	9,	8,	10,	7,	9,	10,	8,	9,
9,	8,	10,	7,	9,	8,	8,	9,	9,	10,	10,	7,	9,	10,	10,	9,	9,	10,	10,	5,
7,	8,	10,	9,	9,	8,	8,	7,	9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	8,	9,
9,	8,	6,	9,	9,	8,	6,	7,	5,	8,	8,	7,	7,	8,	6,	7,	9,	10,	8,	5,
7,	8,	10,	9,	7,	8,	8,	7,	7,	6,	8,	7,	7,	8,	6,	9,	9,	8,	8,	7,
7,	6,	8,	9,	9,	8,	8,	9,	9,	8,	6,	9,	7,	6,	8,	7,	9,	6,	6,	9,
9,	6,	6,	9,	11,	8,	6,	7,	7,	8,	8,	9,	7,	6,	6,	9,	9,	8,	6,	7,
7,	10,	8,	7,	7,	10,	10,	7,	7,	8,	8,	7,	7,	8,	8,	7,	7,	10,	10,	5,
7,	8,	8,	7,	7,	8,	10,	9,	11,	6,	6,	9,	11,	8,	10,	7,	9,	8,	8,	9,
9,	8,	8,	9,	9,	8,	8,	9,	9,	10,	8,	7,	7,	10,	10,	9,	7,	8,	10,	7,
7,	10,	10,	7,	9,	8,	10,	9,	9,	10,	8,	9,	7,	8,	8,	9,	9,	6,	4,	7,
11,	8,	8,	7,	7,	6,	8,	9,	9,	8,	6,	9,	9,	6,	8,	9,	7,	8,	8,	7,
7,	10,	10,	7,	5,	8,	8,	7,	7,	8,	8,	7,	7,	10,	10,	9,	7,	8,	10,	7,
7,	8,	8,	7,	7,	8,	6,	5,	9,	10,	8,	7,	5,	6,	10,	9,	7,	8,	8,	7,
7,	8,	8,	7,	7,	8,	8,	7,	9,	6,	8,	7,	7,	8,	6,	9,	9,	6,	6,	9,
7,	8,	8,	9,	9,	8,	8,	9,	7,	8,	8,	9,	9,	4,	8,	9,	9,	6,	6,	7,
9,	6,	8,	9,	7,	8,	6,	7,	9,	4,	8,	7,	7,	8,	8,	5,	7,	10,	8,	7,
9,	8,	8,	7,	7,	8,	8,	9,	7,	8,	10,	7,	7,	6,	6,	5,	5,	10,	8,	7,
7,	8,	8,	5,	7,	10,	8,	7,	7,	8,	10,	7,	7,	10,	8,	3,	7,	8,	10,	7,
7,	8,	6,	7,	11,	6,	8,	7,	9,	8,	6,	9,	9,	8,	8,	9,	9,	8,	6,	9,
7,	8,	4,	9,	9,	8,	10,	7,	9,	10,	8,	9,	9,	10,	10,	9,	7,	8,	10,	9,
9,	10,	8,	5,	7,	10,	10,	9,	9,	8,	8,	9,	9,	6,	8,	9,	9,	8,	8,	9,
9,	8,	8,	9,	7,	8,	8,	9,	7,	8,	6,	9,	7,	10,	8,	7,	5,	8,	10,	7,
7,	10,	8,	7,	7,	8,	10,	5,	5,	8,	8,	7,	7,	8,	10,	5,	9,	6,	8,	7,
11,	6,	6,	9,	9,	8,	8,	9,	9,	6,	8,	9,	7,	6,	6,	9,	7,	6,	6,	7,
9,	8,	6,	9,	9,	6,	8,	7,	9,	8,	8,	9,	7,	4,	6,	9,	7,	8,	4,	7,
9,	6,	8,	7,	7,	8,	8,	7,	7,	10,	8,	7,	9,	8,	8,	7,	7,	6,	8,	9,
5,	8,	10,	7,	5,	8,	6,	7,	9,	8,	10,	9,	11,	8,	6,	7,	11,	8,	10,	9,
7,	8,	8,	9,	9,	8,	6,	9,	9,	8,	8,	9,	9,	10,	10,	9,	7,	10,	10,	9,
7,	10,	8,	7,	7,	10,	8,	7,	9,	8,	10,	9,	7,	10,	8,	9,	9,	6,	8,	9,
9,	8,	6,	11,	9,	8,	8,	9,	9,	8,	8,	9,	11,	8,	8,	9,	9,	4,	8,	11,
9,	8,	10,	7,	7,	10,	8,	9,	7,	8,	10,	7,	7,	10,	10,	7,	9,	10,	8,	7,
7,	10,	10,	5,	9,	8,	8,	7,	7,	6,	6,	9,	9,	8,	8,	5,	9,	8,	8,	7,
9,	6,	8,	5,	7,	6,	6,	9,	7,	8,	10,	7,	7,	8,	8,	7,	7,	6,	8,	9,
7,	10,	8,	7,	7,	8,	8,	5,	9,	8,	6,	5,	7,	8,	10,	7,	7,	8,	8,	7,
7,	8,	10,	5,	7,	8,	8,	9,	7,	6,	6,	9,	7,	8,	8,	5,	9,	8,	8,	9,
9,	8,	8,	9,	9,	6,	8,	9,	9,	8,	6,	7,	9,	8,	6,	9,	7,	4,	8,	9,
5,	8,	12,	9,	9,	8,	8,	9,	9,	10,	10,	7,	9,	10,	8,	7,	9,	10,	10,	7,
7,	10,	10,	9,	11,	8,	6,	9,	9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	8,	9,
11,	8,	8,	9,	9,	10,	8,	11,	5,	8,	10,	7,	9,	6,	6,	7,	9,	8,	10,	5,
7,	8,	8,	7,	7,	8,	8,	7,	7,	8,	8,	7,	9,	8,	6,	7,	9,	6,	8,	9,
7,	6,	6,	9,	9,	6,	6,	9,	9,	8,	8,	9,	9,	8,	8,	9,	9,	6,	6,	9,
7,	8,	6,	9,	9,	6,	8,	7,	7,	8,	8,	7,	9,	6,	8,	9,	9,	8,	8,	9,
5,	6,	10,	9,	7,	8,	8,	7,	7,	8,	8,	7,	9,	10,	6,	5,	7,	8,	8,	7,
7,	8,	8,	7,	5,	8,	10,	9,	7,	6,	6,	7,	7,	8,	8,	7,	9,	10,	8,	7,
7,	8,	8,	5,	7,	8,	8,	7,	9,	6,	6,	7,	9,	8,	6,	9,	7,	8,	8,	9,
9,	8,	8,	9,	9,	8,	6,	7,	7,	8,	6,	9,	9,	8,	8,	9,	9,	6,	8,	9,
9,	6,	8,	7,	9,	8,	8,	9,	9,	8,	6,	7,	9,	4,	8,	9,	7,	8,	10,	7,
7,	8,	8,	7,	7,	6,	10,	7,	7,	8,	8,	9,	7,	8,	8,	9,	5,	8,	6,	5,
11,	8,	8,	9,	9,	8,	8,	11,	9,	8,	8,	9,	9,	8,	8,	9,	11,	8,	8,	9,
9,	6,	8,	9,	7,	10,	10,	9,	7,	8,	10,	7,	7,	8,	10,	7,	9,	10,	8,	7,
7,	8,	8,	7,	7,	10,	8,	7,	9,	8,	6,	9,	7,	6,	8,	9,	9,	8,	6,	9,
7,	6,	6,	9,	9,	8,	6,	9,	9,	8,	8,	9,	5,	6,	10,	7,	9,	8,	8,	7,
9,	8,	10,	7,	7,	8,	6,	7,	7,	8,	8,	7,	5,	8,	8,	7,	7,	8,	10,	7,
7,	8,	8,	7,	7,	8,	8,	9,	7,	10,	8,	5,	7,	6,	6,	7,	9,	8,	8,	5,
9,	6,	8,	9,	9,	8,	8,	9,	7,	8,	8,	7,	7,	8,	6,	5,	9,	6,	8,	7,
5,	6,	6,	9,	7,	10,	10,	7,	9,	8,	10,	7,	9,	8,	10,	7,	7,	10,	8,	7,
7,	8,	8,	7,	7,	10,	8,	7,	11,	8,	8,	9,	9,	8,	8,	11,	9,	8,	6,	9,
9,	6,	8,	9,	9,	6,	8,	9,	9,	8,	6,	11,	11,	8,	8,	9,	9,	8,	8,	11,
9,	8,	8,	9,	9,	8,	8,	9,	11,	8,	6,	9,	9,	8,	8,	9,	9,	8,	10,	7,
9,	10,	8,	9,	7,	8,	10,	9,	9,	10,	10,	9,	9,	10,	10,	7,	7,	8,	8,	9,
7,	10,	8,	7,	7,	10,	10,	7,	9,	10,	8,	7,	7,	8,	10,	9,	7,	8,	10,	7,
7,	8,	8,	7,	9,	8,	6,	9,	9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	8,	9,
9,	8,	8,	7,	9,	8,	6,	7,	9,	6,	8,	9,	9,	8,	8,	7,	11,	10,	6,	9,
9,	8,	10,	11,	9,	8,	8,	9,	7,	8,	8,	9,	7,	10,	8,	9,	7,	10,	10,	7,
9,	10,	8,	9,	9,	10,	10,	9,	9,	10,	6,	9,	7,	8,	10,	9,	9,	8,	8,	9,
7,	10,	8,	9,	9,	8,	10,	7,	7,	10,	10,	7,	9,	8,	10,	9,	9,	10,	10,	9,
9,	8,	8,	9,	9,	8,	8,	11,	9,	6,	8,	9,	9,	8,	8,	9,	11,	8,	10,	9,
9,	8,	8,	11,	9,	8,	8,	9,	9,	8,	6,	7,	11,	10,	8,	9,	7,	6,	10,	11,
9,	8,	8,	9,	9,	8,	8,	9,	9,	10,	8,	7,	9,	8,	10,	9,	7,	8,	8,	9,
9,	8,	8,	9,	7,	10,	10,	9,	9,	10,	10,	7,	9,	8,	10,	9,	7,	10,	8,	5,
9,	12,	8,	9,	7,	8,	10,	9,	9,	10,	10,	7,	7,	10,	10,	9,	9,	6,	8,	11,
7,	10,	8,	7,	9,	10,	6,	11,	9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	8,	9,
9,	8,	8,	9,	7,	8,	8,	9,	9,	8,	8,	9,	9,	8,	8,	9,	9,	6,	8,	9,
9,	6,	8,	7,	9,	8,	8,	7,	7,	10,	8,	9,	7,	10,	10,	7,	7,	10,	10,	7,
9,	10,	10,	7,	7,	8,	10,	5,	7,	10,	8,	9,	9,	10,	10,	7,	9,	10,	10,	9,
7,	8,	10,	9,	9,	10,	6,	7,	9,	8,	10,	9,	9,	8,	6,	9,	9,	8,	8,	9,
9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	8,	9,	7,	8,	6,	7,	11,	6,	8,	9,
9,	8,	6,	9,	9,	8,	8,	9,	9,	8,	8,	9,	11,	8,	4,	9,	9,	8,	8,	11,
9,	8,	10,	9,	5,	10,	10,	9,	7,	10,	8,	7,	7,	10,	10,	9,	9,	8,	8,	7,
5,	10,	8,	9,	9,	10,	10,	9,	9,	8,	10,	9,	9,	8,	8,	7,	9,	8,	8,	7,
7,	10,	10,	9,	9,	8,	10,	7,	9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	8,	9,
7,	8,	8,	9,	9,	6,	8,	9,	9,	6,	8,	7,	9,	8,	8,	11,	9,	10,	6,	7,
9,	10,	8,	11,	9,	6,	8,	9,	9,	8,	8,	7,	9,	8,	8,	9,	7,	10,	8,	9,
7,	10,	10,	7,	7,	10,	8,	9,	7,	8,	10,	7,	7,	8,	10,	7,	7,	8,	8,	7,
9,	10,	10,	7,	7,	10,	8,	9,	9,	10,	10,	9,	5,	8,	10,	7,	9,	8,	8,	5,
7,	10,	8,	9,	11,	8,	8,	9,	9,	6,	8,	11,	9,	8,	8,	9,	9,	8,	6,	9,
9,	6,	8,	9,	9,	8,	6,	11,	9,	10,	10,	7,	7,	10,	10,	7,	7,	10,	10,	7,
7,	10,	10,	7,	9,	10,	10,	7,	7,	10,	10,	5,	11,	8,	10,	9,	9,	8,	8,	9,
9,	8,	8,	9,	9,	8,	8,	9,	11,	8,	8,	9,	9,	6,	8,	11,	11,	8,	8,	9,
9,	8,	8,	11,	9,	6,	8,	9,	9,	8,	8,	9,	11,	6,	6,	9,	9,	8,	6,	9,
9,	10,	10,	9,	7,	10,	10,	9,	9,	10,	10,	7,	7,	10,	10,	7,	9,	8,	8,	7,
7,	8,	8,	9,	9,	10,	10,	7,	9,	10,	10,	9,	7,	8,	10,	7,	9,	10,	10,	7,
9,	8,	10,	7,	7,	8,	8,	9,	11,	10,	8,	9,	9,	8,	8,	11,	9,	8,	10,	9,
9,	10,	8,	9,	11,	8,	8,	9,	9,	8,	8,	7,	11,	8,	6,	9,	9,	8,	8,	9,
9,	8,	8,	9,	9,	8,	8,	9,	11,	8,	8,	9,	9,	10,	8,	11,	7,	10,	10,	9,
9,	10,	10,	7,	9,	10,	10,	9,	9,	10,	10,	9,	9,	10,	10,	9,	9,	10,	10,	11,
9,	10,	8,	7,	7,	10,	10,	9,	7,	8,	10,	7,	7,	10,	10,	7,	9,	8,	10,	9,
9,	10,	8,	9,	9,	8,	10,	9,	9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	8,	9,
9,	8,	8,	9,	9,	10,	10,	11,	9,	8,	8,	9,	9,	8,	8,	11,	9,	6,	8,	9,
9,	8,	8,	9,	11,	8,	10,	9,	9,	8,	8,	11,	9,	10,	8,	7,	7,	10,	10,	9,
7,	8,	10,	7,	7,	10,	10,	7,	9,	8,	10,	9,	9,	10,	8,	9,	9,	10,	8,	7,
7,	10,	10,	9,	7,	10,	10,	9,	7,	10,	10,	9,	9,	8,	8,	7,	7,	10,	8,	9,
9,	8,	8,	9,	9,	8,	8,	11,	9,	10,	8,	9,	9,	8,	8,	9,	11,	8,	6,	9,
9,	8,	8,	11,	11,	8,	8,	9,	9,	8,	10,	11,	9,	8,	10,	9,	9,	10,	8,	9,
11,	8,	8,	9,	9,	8,	8,	7,	9,	10,	10,	9,	7,	10,	10,	9,	9,	10,	10,	7,
7,	10,	10,	7,	9,	8,	8,	7,	7,	8,	8,	9,	7,	10,	10,	7,	7,	10,	10,	9,
7,	10,	10,	7,	7,	10,	10,	7,	9,	10,	10,	7,	7,	10,	10,	5,	11,	8,	6,	9,
9,	8,	8,	11,	9,	8,	8,	9,	9,	8,	8,	9,	11,	6,	8,	9,	9,	6,	6,	9,
9,	8,	10,	9,	9,	8,	8,	9,	9,	8,	8,	9,	9,	8,	8,	9,	9,	10,	8,	9,
9,	10,	8,	11,	9,	10,	8,	7,	7,	10,	10,	9,	7,	10,	10,	9,	7,	10,	10,	9,
9,	8,	8,	7,	7,	10,	8,	9,	9,	10,	10,	7,	9,	10,	10,	9,	7,	8,	10,	7,
9,	10,	10,	7,	9,	8,	10,	7,	7,	8,	8,	9,	11,	8,	8,	9,	9,	8,	8,	11,
9,	6,	8,	9,	9,	8,	8,	9,	11,	6,	6,	9,	9,	8,	6,	9,	11,	8,	6,	9,
9,	8,	8,	11,	9,	8,	8,	9,	9,	8,	8,	9,	11,	6,	8,	9,	9,	6,	6,	9,
7,	10,	10,	7,	7,	10,	10,	7,	7,	10,	10,	7,	7,	10,	10,	7,	7,	10,	10,	7,
7,	10,	10,	7};
char table7[] =
{1,	2,	4,	5,	5,	4,	2,	3,	5,	6,	6,	5,	5,	6,	4,	5,	5,	6,	6,	5,
5,	4,	6,	5,	5,	6,	4,	5,	5,	6,	6,	7,	3,	4,	4,	5,	3,	4,	2,	3,
5,	6,	4,	5,	3,	4,	6,	7,	5,	4,	6,	5,	5,	6,	6,	5,	7,	6,	6,	7,
7,	6,	6,	5,	7,	6,	6,	7,	5,	6,	6,	7,	5,	4,	6,	5,	5,	6,	6,	5,
5,	6,	4,	5,	5,	6,	4,	5,	5,	6,	4,	5,	3,	4,	4,	5,	5,	4,	6,	5,
5,	6,	6,	5,	5,	4,	6,	5,	5,	4,	4,	3,	5,	4,	6,	5,	5,	4,	6,	5,
5,	6,	6,	5,	5,	4,	6,	7,	5,	4,	4,	3,	5,	4,	4,	3,	7,	6,	4,	3,
3,	2,	6,	5,	5,	6,	4,	3,	3,	2,	6,	7,	5,	4,	4,	3,	5,	4,	6,	5,
5,	6,	4,	3,	5,	4,	6,	7,	7,	6,	6,	5,	5,	6,	6,	5,	5,	6,	4,	5,
5,	4,	6,	5,	3,	4,	6,	5,	5,	6,	4,	5,	5,	4,	4,	5,	3,	4,	6,	5,
5,	6,	4,	5,	5,	6,	6,	5,	5,	4,	4,	5,	5,	6,	6,	5,	7,	6,	6,	7,
5,	6,	6,	5,	5,	6,	4,	5,	7,	6,	6,	7,	5,	6,	6,	7,	5,	6,	6,	7,
7,	6,	6,	7,	5,	6,	6,	7,	7,	6,	6,	5,	5,	6,	6,	5,	5,	4,	6,	7,
7,	6,	6,	5,	5,	6,	6,	5,	5,	4,	4,	5,	5,	4,	4,	3,	5,	6,	6,	5,
5,	4,	6,	5,	5,	4,	6,	5,	5,	4,	4,	3,	5,	4,	6,	5,	5,	4,	6,	5,
5,	4,	6,	5,	5,	6,	6,	5,	5,	6,	4,	5,	7,	6,	6,	5,	7,	6,	6,	7,
5,	6,	6,	7,	7,	6,	6,	7,	5,	6,	6,	5,	5,	6,	4,	5,	5,	6,	2,	3,
3,	4,	6,	7,	3,	4,	4,	5,	3,	4,	4,	5,	7,	6,	4,	5,	5,	6,	6,	5,
5,	6,	4,	5,	5,	6,	4,	5,	3,	4,	4,	5,	5,	6,	4,	5,	5,	6,	6,	5,
5,	6,	4,	5,	7,	6,	6,	5,	5,	6,	6,	5,	5,	4,	6,	5,	5,	6,	6,	5,
5,	4,	4,	5,	5,	6,	4,	3,	7,	6,	6,	5,	7,	6,	6,	5,	5,	4,	6,	5,
7,	6,	6,	5,	7,	6,	6,	7,	7,	6,	6,	5,	7,	6,	6,	5,	7,	6,	6,	5,
7,	6,	6,	7,	5,	4,	6,	5,	5,	6,	6,	5,	7,	6,	6,	7,	5,	6,	6,	5,
5,	4,	4,	5,	5,	6,	6,	5,	5,	4,	6,	5,	5,	6,	4,	3,	5,	4,	4,	5,
5,	6,	4,	5,	5,	6,	4,	5,	5,	6,	6,	5,	3,	4,	4,	5,	5,	4,	4,	5,
5,	6,	6,	5,	5,	6,	6,	7,	7,	6,	4,	5,	5,	6,	6,	5,	5,	6,	6,	7,
7,	6,	6,	5,	7,	6,	6,	7,	7,	6,	6,	7,	5,	6,	6,	5,	7,	6,	6,	7,
5,	6,	6,	7,	7,	6,	4,	5,	5,	6,	6,	5,	7,	6,	8,	7,	7,	8,	6,	5,
7,	6,	6,	7,	7,	6,	8,	7,	7,	8,	6,	7,	7,	8,	8,	7};

// Use very ugly and unsafe macro to swap items instead of classic routine with
//   pointers for the sole reason of brevity
//#define SWAP(a,b) TEMP=a;a=b;b=TEMP;
// number 65='A' is often subtracted to convert char ABC... to number 0,1,2,...
#define CHAROFFSET 65

void updateColorConfigOld()
{
	int i, j;
    for(i=0;i<6;i++)
    	for(j=0;j<9;j++)
    		colorConfigOld[i][j] = colorConfig[i][j];
}

void reverseColorConfigOld()
{
	int i, j;
    for(i=0;i<6;i++)
    	for(j=0;j<9;j++)
    		colorConfig[i][j] = colorConfigOld[i][j];
}

void updateCube()
{
	int i, j;
    for(i=0;i<6;i++)
    	for(j=0;j<9;j++)
    		SET_COLOR(i,j,colorConfig[i][j]);
}

void U1()
{
	colorConfig[2][0] = colorConfigOld[2][6];
	colorConfig[2][6] = colorConfigOld[2][8];
	colorConfig[2][8] = colorConfigOld[2][2];
	colorConfig[2][2] = colorConfigOld[2][0];
	colorConfig[2][1] = colorConfigOld[2][3];
	colorConfig[2][3] = colorConfigOld[2][7];
	colorConfig[2][7] = colorConfigOld[2][5];
	colorConfig[2][5] = colorConfigOld[2][1];
	colorConfig[4][0] = colorConfigOld[0][0];
	colorConfig[0][0] = colorConfigOld[1][0];
	colorConfig[1][0] = colorConfigOld[3][0];
	colorConfig[3][0] = colorConfigOld[4][0];
	colorConfig[4][1] = colorConfigOld[0][1];
	colorConfig[0][1] = colorConfigOld[1][1];
	colorConfig[1][1] = colorConfigOld[3][1];
	colorConfig[3][1] = colorConfigOld[4][1];
	colorConfig[4][2] = colorConfigOld[0][2];
	colorConfig[0][2] = colorConfigOld[1][2];
	colorConfig[1][2] = colorConfigOld[3][2];
	colorConfig[3][2] = colorConfigOld[4][2];
}

void U2()
{
	colorConfig[2][0] = colorConfigOld[2][8];
	colorConfig[2][6] = colorConfigOld[2][2];
	colorConfig[2][8] = colorConfigOld[2][0];
	colorConfig[2][2] = colorConfigOld[2][6];
	colorConfig[2][1] = colorConfigOld[2][7];
	colorConfig[2][3] = colorConfigOld[2][5];
	colorConfig[2][7] = colorConfigOld[2][1];
	colorConfig[2][5] = colorConfigOld[2][3];
	colorConfig[4][0] = colorConfigOld[1][0];
	colorConfig[0][0] = colorConfigOld[3][0];
	colorConfig[1][0] = colorConfigOld[4][0];
	colorConfig[3][0] = colorConfigOld[0][0];
	colorConfig[4][1] = colorConfigOld[1][1];
	colorConfig[0][1] = colorConfigOld[3][1];
	colorConfig[1][1] = colorConfigOld[4][1];
	colorConfig[3][1] = colorConfigOld[0][1];
	colorConfig[4][2] = colorConfigOld[1][2];
	colorConfig[0][2] = colorConfigOld[3][2];
	colorConfig[1][2] = colorConfigOld[4][2];
	colorConfig[3][2] = colorConfigOld[0][2];
}

void U3()
{
	colorConfig[2][0] = colorConfigOld[2][2];
	colorConfig[2][6] = colorConfigOld[2][0];
	colorConfig[2][8] = colorConfigOld[2][6];
	colorConfig[2][2] = colorConfigOld[2][8];
	colorConfig[2][1] = colorConfigOld[2][5];
	colorConfig[2][3] = colorConfigOld[2][1];
	colorConfig[2][7] = colorConfigOld[2][3];
	colorConfig[2][5] = colorConfigOld[2][7];
	colorConfig[4][0] = colorConfigOld[3][0];
	colorConfig[0][0] = colorConfigOld[4][0];
	colorConfig[1][0] = colorConfigOld[0][0];
	colorConfig[3][0] = colorConfigOld[1][0];
	colorConfig[4][1] = colorConfigOld[3][1];
	colorConfig[0][1] = colorConfigOld[4][1];
	colorConfig[1][1] = colorConfigOld[0][1];
	colorConfig[3][1] = colorConfigOld[1][1];
	colorConfig[4][2] = colorConfigOld[3][2];
	colorConfig[0][2] = colorConfigOld[4][2];
	colorConfig[1][2] = colorConfigOld[0][2];
	colorConfig[3][2] = colorConfigOld[1][2];
}

void D1()
{
	colorConfig[5][0] = colorConfigOld[5][6];
	colorConfig[5][6] = colorConfigOld[5][8];
	colorConfig[5][8] = colorConfigOld[5][2];
	colorConfig[5][2] = colorConfigOld[5][0];
	colorConfig[5][1] = colorConfigOld[5][3];
	colorConfig[5][3] = colorConfigOld[5][7];
	colorConfig[5][7] = colorConfigOld[5][5];
	colorConfig[5][5] = colorConfigOld[5][1];
	colorConfig[4][6] = colorConfigOld[3][6];
	colorConfig[0][6] = colorConfigOld[4][6];
	colorConfig[1][6] = colorConfigOld[0][6];
	colorConfig[3][6] = colorConfigOld[1][6];
	colorConfig[4][7] = colorConfigOld[3][7];
	colorConfig[0][7] = colorConfigOld[4][7];
	colorConfig[1][7] = colorConfigOld[0][7];
	colorConfig[3][7] = colorConfigOld[1][7];
	colorConfig[4][8] = colorConfigOld[3][8];
	colorConfig[0][8] = colorConfigOld[4][8];
	colorConfig[1][8] = colorConfigOld[0][8];
	colorConfig[3][8] = colorConfigOld[1][8];
}

void D2()
{
	colorConfig[5][0] = colorConfigOld[5][8];
	colorConfig[5][6] = colorConfigOld[5][2];
	colorConfig[5][8] = colorConfigOld[5][0];
	colorConfig[5][2] = colorConfigOld[5][6];
	colorConfig[5][1] = colorConfigOld[5][7];
	colorConfig[5][3] = colorConfigOld[5][5];
	colorConfig[5][7] = colorConfigOld[5][1];
	colorConfig[5][5] = colorConfigOld[5][3];
	colorConfig[4][6] = colorConfigOld[1][6];
	colorConfig[0][6] = colorConfigOld[3][6];
	colorConfig[1][6] = colorConfigOld[4][6];
	colorConfig[3][6] = colorConfigOld[0][6];
	colorConfig[4][7] = colorConfigOld[1][7];
	colorConfig[0][7] = colorConfigOld[3][7];
	colorConfig[1][7] = colorConfigOld[4][7];
	colorConfig[3][7] = colorConfigOld[0][7];
	colorConfig[4][8] = colorConfigOld[1][8];
	colorConfig[0][8] = colorConfigOld[3][8];
	colorConfig[1][8] = colorConfigOld[4][8];
	colorConfig[3][8] = colorConfigOld[0][8];
}

void D3()
{
	colorConfig[5][0] = colorConfigOld[5][2];
	colorConfig[5][6] = colorConfigOld[5][0];
	colorConfig[5][8] = colorConfigOld[5][6];
	colorConfig[5][2] = colorConfigOld[5][8];
	colorConfig[5][1] = colorConfigOld[5][5];
	colorConfig[5][3] = colorConfigOld[5][1];
	colorConfig[5][7] = colorConfigOld[5][3];
	colorConfig[5][5] = colorConfigOld[5][7];
	colorConfig[4][6] = colorConfigOld[0][6];
	colorConfig[0][6] = colorConfigOld[1][6];
	colorConfig[1][6] = colorConfigOld[3][6];
	colorConfig[3][6] = colorConfigOld[4][6];
	colorConfig[4][7] = colorConfigOld[0][7];
	colorConfig[0][7] = colorConfigOld[1][7];
	colorConfig[1][7] = colorConfigOld[3][7];
	colorConfig[3][7] = colorConfigOld[4][7];
	colorConfig[4][8] = colorConfigOld[0][8];
	colorConfig[0][8] = colorConfigOld[1][8];
	colorConfig[1][8] = colorConfigOld[3][8];
	colorConfig[3][8] = colorConfigOld[4][8];
}

void F1()
{
	colorConfig[0][0] = colorConfigOld[0][6];
	colorConfig[0][6] = colorConfigOld[0][8];
	colorConfig[0][8] = colorConfigOld[0][2];
	colorConfig[0][2] = colorConfigOld[0][0];
	colorConfig[0][1] = colorConfigOld[0][3];
	colorConfig[0][3] = colorConfigOld[0][7];
	colorConfig[0][7] = colorConfigOld[0][5];
	colorConfig[0][5] = colorConfigOld[0][1];
	colorConfig[2][6] = colorConfigOld[4][8];
	colorConfig[1][0] = colorConfigOld[2][6];
	colorConfig[5][0] = colorConfigOld[1][0];
	colorConfig[4][8] = colorConfigOld[5][0];
	colorConfig[2][7] = colorConfigOld[4][5];
	colorConfig[1][3] = colorConfigOld[2][7];
	colorConfig[5][3] = colorConfigOld[1][3];
	colorConfig[4][5] = colorConfigOld[5][3];
	colorConfig[2][8] = colorConfigOld[4][2];
	colorConfig[1][6] = colorConfigOld[2][8];
	colorConfig[5][6] = colorConfigOld[1][6];
	colorConfig[4][2] = colorConfigOld[5][6];
}

void F2()
{
	colorConfig[0][0] = colorConfigOld[0][8];
	colorConfig[0][6] = colorConfigOld[0][2];
	colorConfig[0][8] = colorConfigOld[0][0];
	colorConfig[0][2] = colorConfigOld[0][6];
	colorConfig[0][1] = colorConfigOld[0][7];
	colorConfig[0][3] = colorConfigOld[0][5];
	colorConfig[0][7] = colorConfigOld[0][1];
	colorConfig[0][5] = colorConfigOld[0][3];
	colorConfig[2][6] = colorConfigOld[5][0];
	colorConfig[1][0] = colorConfigOld[4][8];
	colorConfig[5][0] = colorConfigOld[2][6];
	colorConfig[4][8] = colorConfigOld[1][0];
	colorConfig[2][7] = colorConfigOld[5][3];
	colorConfig[1][3] = colorConfigOld[4][5];
	colorConfig[5][3] = colorConfigOld[2][7];
	colorConfig[4][5] = colorConfigOld[1][3];
	colorConfig[2][8] = colorConfigOld[5][6];
	colorConfig[1][6] = colorConfigOld[4][2];
	colorConfig[5][6] = colorConfigOld[2][8];
	colorConfig[4][2] = colorConfigOld[1][6];
}

void F3()
{
	colorConfig[0][0] = colorConfigOld[0][2];
	colorConfig[0][6] = colorConfigOld[0][0];
	colorConfig[0][8] = colorConfigOld[0][6];
	colorConfig[0][2] = colorConfigOld[0][8];
	colorConfig[0][1] = colorConfigOld[0][5];
	colorConfig[0][3] = colorConfigOld[0][1];
	colorConfig[0][7] = colorConfigOld[0][3];
	colorConfig[0][5] = colorConfigOld[0][7];
	colorConfig[2][6] = colorConfigOld[1][0];
	colorConfig[1][0] = colorConfigOld[5][0];
	colorConfig[5][0] = colorConfigOld[4][8];
	colorConfig[4][8] = colorConfigOld[2][6];
	colorConfig[2][7] = colorConfigOld[1][3];
	colorConfig[1][3] = colorConfigOld[5][3];
	colorConfig[5][3] = colorConfigOld[4][5];
	colorConfig[4][5] = colorConfigOld[2][7];
	colorConfig[2][8] = colorConfigOld[1][6];
	colorConfig[1][6] = colorConfigOld[5][6];
	colorConfig[5][6] = colorConfigOld[4][2];
	colorConfig[4][2] = colorConfigOld[2][8];
}

void B1()
{
	colorConfig[3][0] = colorConfigOld[3][6];
	colorConfig[3][6] = colorConfigOld[3][8];
	colorConfig[3][8] = colorConfigOld[3][2];
	colorConfig[3][2] = colorConfigOld[3][0];
	colorConfig[3][1] = colorConfigOld[3][3];
	colorConfig[3][3] = colorConfigOld[3][7];
	colorConfig[3][7] = colorConfigOld[3][5];
	colorConfig[3][5] = colorConfigOld[3][1];
	colorConfig[2][0] = colorConfigOld[1][2];
	colorConfig[1][2] = colorConfigOld[5][2];
	colorConfig[5][2] = colorConfigOld[4][6];
	colorConfig[4][6] = colorConfigOld[2][0];
	colorConfig[2][1] = colorConfigOld[1][5];
	colorConfig[1][5] = colorConfigOld[5][5];
	colorConfig[5][5] = colorConfigOld[4][3];
	colorConfig[4][3] = colorConfigOld[2][1];
	colorConfig[2][2] = colorConfigOld[1][8];
	colorConfig[1][8] = colorConfigOld[5][8];
	colorConfig[5][8] = colorConfigOld[4][0];
	colorConfig[4][0] = colorConfigOld[2][2];
}

void B2()
{
	colorConfig[3][0] = colorConfigOld[3][8];
	colorConfig[3][6] = colorConfigOld[3][2];
	colorConfig[3][8] = colorConfigOld[3][0];
	colorConfig[3][2] = colorConfigOld[3][6];
	colorConfig[3][1] = colorConfigOld[3][7];
	colorConfig[3][3] = colorConfigOld[3][5];
	colorConfig[3][7] = colorConfigOld[3][1];
	colorConfig[3][5] = colorConfigOld[3][3];
	colorConfig[2][0] = colorConfigOld[5][2];
	colorConfig[1][2] = colorConfigOld[4][6];
	colorConfig[5][2] = colorConfigOld[2][0];
	colorConfig[4][6] = colorConfigOld[1][2];
	colorConfig[2][1] = colorConfigOld[5][5];
	colorConfig[1][5] = colorConfigOld[4][3];
	colorConfig[5][5] = colorConfigOld[2][1];
	colorConfig[4][3] = colorConfigOld[1][5];
	colorConfig[2][2] = colorConfigOld[5][8];
	colorConfig[1][8] = colorConfigOld[4][0];
	colorConfig[5][8] = colorConfigOld[2][2];
	colorConfig[4][0] = colorConfigOld[1][8];
}

void B3()
{
	colorConfig[3][0] = colorConfigOld[3][2];
	colorConfig[3][6] = colorConfigOld[3][0];
	colorConfig[3][8] = colorConfigOld[3][6];
	colorConfig[3][2] = colorConfigOld[3][8];
	colorConfig[3][1] = colorConfigOld[3][5];
	colorConfig[3][3] = colorConfigOld[3][1];
	colorConfig[3][7] = colorConfigOld[3][3];
	colorConfig[3][5] = colorConfigOld[3][7];
	colorConfig[2][0] = colorConfigOld[4][6];
	colorConfig[1][2] = colorConfigOld[2][0];
	colorConfig[5][2] = colorConfigOld[1][2];
	colorConfig[4][6] = colorConfigOld[5][2];
	colorConfig[2][1] = colorConfigOld[4][3];
	colorConfig[1][5] = colorConfigOld[2][1];
	colorConfig[5][5] = colorConfigOld[1][5];
	colorConfig[4][3] = colorConfigOld[5][5];
	colorConfig[2][2] = colorConfigOld[4][0];
	colorConfig[1][8] = colorConfigOld[2][2];
	colorConfig[5][8] = colorConfigOld[1][8];
	colorConfig[4][0] = colorConfigOld[5][8];
}

void L1()
{
	colorConfig[4][0] = colorConfigOld[4][6];
	colorConfig[4][6] = colorConfigOld[4][8];
	colorConfig[4][8] = colorConfigOld[4][2];
	colorConfig[4][2] = colorConfigOld[4][0];
	colorConfig[4][1] = colorConfigOld[4][3];
	colorConfig[4][3] = colorConfigOld[4][7];
	colorConfig[4][7] = colorConfigOld[4][5];
	colorConfig[4][5] = colorConfigOld[4][1];
	colorConfig[2][0] = colorConfigOld[3][8];
	colorConfig[0][0] = colorConfigOld[2][0];
	colorConfig[5][6] = colorConfigOld[0][0];
	colorConfig[3][8] = colorConfigOld[5][6];
	colorConfig[2][3] = colorConfigOld[3][5];
	colorConfig[0][3] = colorConfigOld[2][3];
	colorConfig[5][7] = colorConfigOld[0][3];
	colorConfig[3][5] = colorConfigOld[5][7];
	colorConfig[2][6] = colorConfigOld[3][2];
	colorConfig[0][6] = colorConfigOld[2][6];
	colorConfig[5][8] = colorConfigOld[0][6];
	colorConfig[3][2] = colorConfigOld[5][8];
}

void L2()
{
	colorConfig[4][0] = colorConfigOld[4][8];
	colorConfig[4][6] = colorConfigOld[4][2];
	colorConfig[4][8] = colorConfigOld[4][0];
	colorConfig[4][2] = colorConfigOld[4][6];
	colorConfig[4][1] = colorConfigOld[4][7];
	colorConfig[4][3] = colorConfigOld[4][5];
	colorConfig[4][7] = colorConfigOld[4][1];
	colorConfig[4][5] = colorConfigOld[4][3];
	colorConfig[2][0] = colorConfigOld[5][6];
	colorConfig[0][0] = colorConfigOld[3][8];
	colorConfig[5][6] = colorConfigOld[2][0];
	colorConfig[3][8] = colorConfigOld[0][0];
	colorConfig[2][3] = colorConfigOld[5][7];
	colorConfig[0][3] = colorConfigOld[3][5];
	colorConfig[5][7] = colorConfigOld[2][3];
	colorConfig[3][5] = colorConfigOld[0][3];
	colorConfig[2][6] = colorConfigOld[5][8];
	colorConfig[0][6] = colorConfigOld[3][2];
	colorConfig[5][8] = colorConfigOld[2][6];
	colorConfig[3][2] = colorConfigOld[0][6];
}

void L3()
{
	colorConfig[4][0] = colorConfigOld[4][2];
	colorConfig[4][6] = colorConfigOld[4][0];
	colorConfig[4][8] = colorConfigOld[4][6];
	colorConfig[4][2] = colorConfigOld[4][8];
	colorConfig[4][1] = colorConfigOld[4][5];
	colorConfig[4][3] = colorConfigOld[4][1];
	colorConfig[4][7] = colorConfigOld[4][3];
	colorConfig[4][5] = colorConfigOld[4][7];
	colorConfig[2][0] = colorConfigOld[0][0];
	colorConfig[0][0] = colorConfigOld[5][6];
	colorConfig[5][6] = colorConfigOld[3][8];
	colorConfig[3][8] = colorConfigOld[2][0];
	colorConfig[2][3] = colorConfigOld[0][3];
	colorConfig[0][3] = colorConfigOld[5][7];
	colorConfig[5][7] = colorConfigOld[3][5];
	colorConfig[3][5] = colorConfigOld[2][3];
	colorConfig[2][6] = colorConfigOld[0][6];
	colorConfig[0][6] = colorConfigOld[5][8];
	colorConfig[5][8] = colorConfigOld[3][2];
	colorConfig[3][2] = colorConfigOld[2][6];
}

void R1()
{
	colorConfig[1][0] = colorConfigOld[1][6];
	colorConfig[1][6] = colorConfigOld[1][8];
	colorConfig[1][8] = colorConfigOld[1][2];
	colorConfig[1][2] = colorConfigOld[1][0];
	colorConfig[1][1] = colorConfigOld[1][3];
	colorConfig[1][3] = colorConfigOld[1][7];
	colorConfig[1][7] = colorConfigOld[1][5];
	colorConfig[1][5] = colorConfigOld[1][1];
	colorConfig[2][2] = colorConfigOld[0][2];
	colorConfig[0][2] = colorConfigOld[5][0];
	colorConfig[5][0] = colorConfigOld[3][6];
	colorConfig[3][6] = colorConfigOld[2][2];
	colorConfig[2][5] = colorConfigOld[0][5];
	colorConfig[0][5] = colorConfigOld[5][1];
	colorConfig[5][1] = colorConfigOld[3][3];
	colorConfig[3][3] = colorConfigOld[2][5];
	colorConfig[2][8] = colorConfigOld[0][8];
	colorConfig[0][8] = colorConfigOld[5][2];
	colorConfig[5][2] = colorConfigOld[3][0];
	colorConfig[3][0] = colorConfigOld[2][8];
}

void R2()
{
	colorConfig[1][0] = colorConfigOld[1][8];
	colorConfig[1][6] = colorConfigOld[1][2];
	colorConfig[1][8] = colorConfigOld[1][0];
	colorConfig[1][2] = colorConfigOld[1][6];
	colorConfig[1][1] = colorConfigOld[1][7];
	colorConfig[1][3] = colorConfigOld[1][5];
	colorConfig[1][7] = colorConfigOld[1][1];
	colorConfig[1][5] = colorConfigOld[1][3];
	colorConfig[2][2] = colorConfigOld[5][0];
	colorConfig[0][2] = colorConfigOld[3][6];
	colorConfig[5][0] = colorConfigOld[2][2];
	colorConfig[3][6] = colorConfigOld[0][2];
	colorConfig[2][5] = colorConfigOld[5][1];
	colorConfig[0][5] = colorConfigOld[3][3];
	colorConfig[5][1] = colorConfigOld[2][5];
	colorConfig[3][3] = colorConfigOld[0][5];
	colorConfig[2][8] = colorConfigOld[5][2];
	colorConfig[0][8] = colorConfigOld[3][0];
	colorConfig[5][2] = colorConfigOld[2][8];
	colorConfig[3][0] = colorConfigOld[0][8];
}

void R3()
{
	colorConfig[1][0] = colorConfigOld[1][2];
	colorConfig[1][6] = colorConfigOld[1][0];
	colorConfig[1][8] = colorConfigOld[1][6];
	colorConfig[1][2] = colorConfigOld[1][8];
	colorConfig[1][1] = colorConfigOld[1][5];
	colorConfig[1][3] = colorConfigOld[1][1];
	colorConfig[1][7] = colorConfigOld[1][3];
	colorConfig[1][5] = colorConfigOld[1][7];
	colorConfig[2][2] = colorConfigOld[3][6];
	colorConfig[0][2] = colorConfigOld[2][2];
	colorConfig[5][0] = colorConfigOld[0][2];
	colorConfig[3][6] = colorConfigOld[5][0];
	colorConfig[2][5] = colorConfigOld[3][3];
	colorConfig[0][5] = colorConfigOld[2][5];
	colorConfig[5][1] = colorConfigOld[0][5];
	colorConfig[3][3] = colorConfigOld[5][1];
	colorConfig[2][8] = colorConfigOld[3][0];
	colorConfig[0][8] = colorConfigOld[2][8];
	colorConfig[5][2] = colorConfigOld[0][8];
	colorConfig[3][0] = colorConfigOld[5][2];
}

void display_step(int i, char *str)
{
	if(!strcmp(solution[i], "FF")) {
		SET_TEXT(2, "CONGRATULATIONS!\n\nTHE CUBE IS SOLVED!\n\n");
	} else if(!strcmp(solution[i], "U1")) {
		SET_TEXT(2, "NEXT STEP:\n\nTOP FACE\nCLOCKWISE\n");
	} else if(!strcmp(solution[i], "U2")) {
		SET_TEXT(2, "NEXT STEP:\n\nTOP FACE\n180 DEGREES\n");
	} else if(!strcmp(solution[i], "U3")) {
		SET_TEXT(2, "NEXT STEP:\n\nTOP FACE\nCOUNTER-CLOCKWISE\n");
	} else if(!strcmp(solution[i], "D1")) {
		SET_TEXT(2, "NEXT STEP:\n\nBOTTOM FACE\nCLOCKWISE\n");
	} else if(!strcmp(solution[i], "D2")) {
		SET_TEXT(2, "NEXT STEP:\n\nBOTTOM FACE\n180 DEGREES\n");
	} else if(!strcmp(solution[i], "D3")) {
		SET_TEXT(2, "NEXT STEP:\n\nBOTTOM FACE\nCOUNTER-CLOCKWISE\n");
	} else if(!strcmp(solution[i], "F1")) {
		SET_TEXT(2, "NEXT STEP:\n\nFRONT FACE\nCLOCKWISE\n");
	} else if(!strcmp(solution[i], "F2")) {
		SET_TEXT(2, "NEXT STEP:\n\nFRONT FACE\n180 DEGREES\n");
	} else if(!strcmp(solution[i], "F3")) {
		SET_TEXT(2, "NEXT STEP:\n\nFRONT FACE\nCOUNTER-CLOCKWISE\n");
	} else if(!strcmp(solution[i], "B1")) {
		SET_TEXT(2, "NEXT STEP:\n\nBACK FACE\nCLOCKWISE\n");
	} else if(!strcmp(solution[i], "B2")) {
		SET_TEXT(2, "NEXT STEP:\n\nBACK FACE\n180 DEGREES\n");
	} else if(!strcmp(solution[i], "B3")) {
		SET_TEXT(2, "NEXT STEP:\n\nBACK FACE\nCOUNTER-CLOCKWISE\n");
	} else if(!strcmp(solution[i], "L1")) {
		SET_TEXT(2, "NEXT STEP:\n\nLEFT FACE\nCLOCKWISE\n");
	} else if(!strcmp(solution[i], "L2")) {
		SET_TEXT(2, "NEXT STEP:\n\nLEFT FACE\n180 DEGREES\n");
	} else if(!strcmp(solution[i], "L3")) {
		SET_TEXT(2, "NEXT STEP:\n\nLEFT FACE\nCOUNTER-CLOCKWISE\n");
	} else if(!strcmp(solution[i], "R1")) {
		SET_TEXT(2, "NEXT STEP:\n\nRIGHT FACE\nCLOCKWISE\n");
	} else if(!strcmp(solution[i], "R2")) {
		SET_TEXT(2, "NEXT STEP:\n\nRIGHT FACE\n180 DEGREES\n");
	} else if(!strcmp(solution[i], "R3")) {
		SET_TEXT(2, "NEXT STEP:\n\nRIGHT FACE\nCOUNTER-CLOCKWISE\n");
	}
}
