MicroPython动手做(35)——体验小游戏
小游戏 (体积较小、玩法简单的游戏)
小游戏是一个较模糊的概念,它是相对于体积庞大的单机游戏及网络游戏而言的,泛指所有体积较小、玩法简单的游戏,通常这类游戏以休闲益智类为主,有单机版有网页版,在网页上嵌入的多为FLASH格式。当下小游戏主要是指在线玩的flash版本游戏,统称小游戏,其实小游戏还包含单机游戏,小型游戏机等。一般游戏大小小于10m的游戏都统称为小游戏,一些街机类小游戏。因其游戏安装简便,耐玩性强,无依赖性而广受白领及小朋友的喜爱。
“小游戏”这个词的型含义其实很简单,它不是一些大的游戏,不必花费更多的时间和精力。小游戏是原始的游戏娱乐方式,小游戏本身是为了叫人们在工作,学习后的一种娱乐、休闲的一种方式,不是为了叫玩家为之花费金钱、花费精力,更不是叫玩家为他痴迷。小游戏也可以理解为“Flash游戏”,是以SWF为后缀的游戏的总称.这些游戏是通过Flash软件和 Flash 编程语言 Flash ActionScript 制作而成。由于Flash是矢量软件,所以小游戏放大后几乎不影响画面效果。Flash小游戏是一种新兴起的游戏形式,以游戏简单,操作方便,绿色,无需安装,文件体积小等优点渐渐被广大网友喜爱。
3、贪吃蛇(EVE)
开机时,由6个像素点组成的贪吃蛇出现在屏幕中央,默认向右移动,按下A或B,会逆时针或顺时针转向。
//MicroPython动手做(35)——小游戏
//贪吃蛇
#include <MPython.h>
#include <SimpleList.h>
// 动态变量
volatile float mind_n_ShiWux, mind_n_ShiWuy, mind_n_FangXiange, mind_n_x, mind_n_y,
mind_n_ShenChangc, mind_n_FenShuf, mind_n_SheToux, mind_n_SheTouy,
mind_n_LieBiaod;
SimpleList<String> mind_l_X, mind_l_Y;
// 函数声明
void DF_ChiDaoShiWu();
void DF_PengBi();
void DF_KaiJiDongHua();
void DF_TanChiSheHuoDong();
void DF_ChuShiHuaChangDu();
void DF_AnJian();
// 静态常量
const uint8_t imageMatrix[] = {
{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xfe,0x7f,0xef,0x7f,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0x5f,0xfe,0x4f,0xef,0x3f,0xf3,0xfe,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xf1,0x4f,0xd3,0x7f,0xf3,0xfe,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0x7,0xf0,0x4f,0x80,0x7f,0xc2,0x7e,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0x87,0xf8,0x7f,0x80,0x7f,0xc2,0x7e,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0x6f,0xe3,0x1f,0xce,0x5f,0xd2,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0x2f,0xf1,0x3f,0x9f,0xff,0xe1,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc6,0xef,0xec,0xdb,0xcd,0xdf,0xd2,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc6,0xef,0xec,0xdb,0xcd,0xdf,0xd2,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xe3,0xfc,0xbf,0x73,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcf,0xff,0xff,0xff,0xff,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0x9f,0xbe,0x3f,0x38,0xf,0xfb,0x3c,0x30,0x80,0xe0,0x73,0xff,0xff,0xff,0xff,0xfb,0x9f,0xbe,0x3f,0x38,0xf,0xfb,0x3c,0x30,0x80,0xe0,0x73,0xff,0xff,0xff,0xff,0xe7,0xdf,0x9f,0x1e,0x39,0xef,0xe7,0xce,0x7b,0xde,0xf6,0x73,0xff,0xff,0xff,0xff,0xcf,0xff,0x4f,0x4e,0x39,0xdf,0xcf,0xef,0x7b,0xdf,0xf7,0x7b,0xff,0xff,0xff,0xff,0xcf,0xff,0x4f,0x65,0x38,0x1f,0xcf,0xe7,0x37,0xc1,0xf4,0xfb,0xff,0xff,0xff,0xff,0xcf,0xde,0xe7,0x63,0x39,0xdf,0xef,0xef,0xb7,0xdf,0xf6,0x7b,0xff,0xff,0xff,0xff,0xcf,0xde,0xe7,0x63,0x39,0xdf,0xef,0xef,0xb7,0xdf,0xf6,0x7b,0xff,0xff,0xff,0xff,0xe7,0xde,0xe7,0x73,0x39,0xf7,0xe7,0xcf,0x8f,0xdf,0x77,0x3f,0xff,0xff,0xff,0xff,0xf3,0xbc,0xf3,0x1f,0xf8,0x7,0xfb,0xbf,0xdf,0x80,0x43,0x13,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x87,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x79,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0x63,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xff,0x5f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xff,0x3d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1,0xfe,0x7e,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3e,0xfe,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xcf,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xfd,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x9f,0xff,0xfc,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x7,0xff,0xff,0xff,0xfe,0xff,0xfb,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x3,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xc3,0xe3,0xff,0xff,0xff,0xfb,0xff,0xff,0xfe,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xc7,0xe3,0xff,0xff,0xff,0xf7,0xff,0xff,0x7f,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xc7,0xf1,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0x9c,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xf1,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xf1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xe3,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0xc3,0xff,0xff,0xff,0x3f,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x3,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x7,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xed,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xe1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0x80,0x7f,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0x0,0x3f,0xff,0xff,0xff,0xff,0xfc,0x3f,0xff,0xff,0xfe,0xfb,0xff,0xff,0xff,0xff,0xc,0x1f,0xff,0xff,0xfc,0x3f,0xff,0xbf,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xfe,0x3f,0x1f,0xff,0xff,0xf0,0xf,0xff,0xff,0xff,0xff,0xfd,0xf7,0xff,0xff,0xff,0xfe,0x3f,0x8f,0xff,0xff,0xe0,0x7,0xff,0xcf,0xff,0xff,0xf7,0xef,0xff,0xff,0xff,0xfe,0x3f,0x8f,0xff,0xff,0xc3,0x87,0xff,0xef,0xff,0xff,0xe7,0xcf,0xff,0xff,0xff,0xfe,0x3f,0x8f,0xff,0xff,0xc7,0xe3,0xff,0xf7,0xff,0xff,0xff,0xf8,0x7f,0xff,0xff,0xfe,0x3f,0xf,0xff,0xff,0x8f,0xe3,0xff,0xfd,0xff,0xff,0x3f,0xcf,0xbf,0xff,0xff,0xfe,0x1f,0x1f,0xff,0xff,0x8f,0xe3,0xff,0xfe,0x7f,0xfe,0xef,0x3f,0xbf,0xbf,0xff,0xff,0xc,0x1f,0xff,0xff,0x8f,0xe3,0xff,0xff,0x7f,0xfd,0xff,0xff,0xff,0x1f,0xff,0xff,0x0,0x3f,0xff,0xff,0xc7,0xe3,0xff,0xff,0xf8,0x7f,0xdf,0xff,0xff,0xdf,0xff,0xff,0xc0,0xff,0xff,0xff,0xc7,0xc3,0xff,0xff,0xf7,0x7f,0xbf,0xff,0xed,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xf7,0x7f,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdc,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xf8,0xfd,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xfe,0xe9,0xfe,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0x9f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x81,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x87,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x79,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0x63,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xff,0x5f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xff,0x3d,0xff,0xff,0xff,0xff,0xff,0xff,0xe1,0xff,0xff,0xff,0xff,0xff,0xff,0xe1,0xfe,0x7e,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7f,0xff,0xff,0xff,0xff,0xff,0x3e,0xfe,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x1f,0xff,0xff,0xff,0xff,0xfb,0xff,0xcf,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xe,0x1f,0xff,0xff,0xff,0xff,0xf7,0xff,0xfd,0xff,0xbf,0xff,0xff,0xff,0xff,0xfe,0x3f,0x1f,0xff,0xff,0xff,0xff,0x9f,0xff,0xfc,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x3f,0x8f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x3f,0x8f,0xff,0xff,0xff,0xfe,0xff,0xfb,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x3f,0x8f,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xfe,0x3f,0xf,0xff,0xff,0xff,0xfb,0xff,0xff,0xfe,0xff,0x7f,0xff,0xff,0xff,0xff,0xfe,0x1f,0x1f,0xff,0xff,0xff,0xf7,0xff,0xff,0x7f,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0x0,0x1f,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0x9c,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x3f,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xed,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x3e,0x3f,0xff,0x7f,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xf0,0x3f,0xff,0xff,0xfc,0x7e,0x3f,0xfc,0x3f,0xff,0xff,0xfe,0xfb,0xff,0xff,0xff,0xe0,0x1f,0xff,0xff,0xfc,0x7f,0x1f,0xff,0xbf,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xfc,0x7f,0x1f,0xff,0xff,0xff,0xff,0xfd,0xf7,0xff,0xff,0xff,0x87,0x87,0xff,0xff,0xfc,0x7f,0x1f,0xff,0xcf,0xff,0xff,0xf7,0xef,0xff,0xff,0xff,0x8f,0xc7,0xff,0xff,0xfc,0x7e,0x1f,0xff,0xef,0xff,0xff,0xe7,0xcf,0xff,0xff,0xff,0x8f,0xe3,0xff,0xff,0xfc,0x3e,0x3f,0xff,0xf7,0xff,0xff,0xff,0xf8,0x7f,0xff,0xff,0x8f,0xe3,0xff,0xff,0xfe,0x0,0x3f,0xff,0xfd,0xff,0xff,0x3f,0xcf,0xbf,0xff,0xff,0x8f,0xe3,0xff,0xff,0xff,0x0,0x7f,0xff,0xfe,0x7f,0xfe,0xef,0x3f,0xbf,0xbf,0xff,0x8f,0xc3,0xff,0xff,0xff,0x81,0xff,0xff,0xff,0x7f,0xfd,0xff,0xff,0xff,0x1f,0xff,0x87,0xc7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x7f,0xdf,0xff,0xff,0xdf,0xff,0xc0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0x7f,0xbf,0xff,0xed,0xff,0xff,0xe0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0x7f,0xff,0xff,0xf7,0xff,0xff,0xf0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdc,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xf8,0xfd,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xfe,0xe9,0xfe,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0x9f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x81,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfd,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xfe,0xc7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xfe,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xfe,0x79,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc3,0xfc,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x7d,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0x9f,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xfb,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xfd,0xff,0xf7,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0xf,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0x8f,0x87,0xff,0xff,0xff,0xf7,0xff,0xff,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0x8f,0xc7,0xff,0xff,0xff,0xef,0xff,0xfe,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xc7,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0x39,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xc7,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xc7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0x8f,0xc7,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0x87,0x8f,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0xf,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x1f,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xdb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x9f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0x1f,0xff,0xff,0xff,0xff,0xff,0xf8,0x7f,0xff,0xff,0xfd,0xf7,0xff,0xff,0xff,0xff,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xef,0xff,0xff,0xff,0xff,0xe3,0xff,0xff,0xff,0xc0,0xff,0xff,0x9f,0xff,0xff,0xef,0xdf,0xff,0xff,0xff,0xff,0xf1,0xff,0xff,0xff,0x80,0x3f,0xff,0xdf,0xff,0xff,0xcf,0x9f,0xff,0xff,0xff,0xff,0xf1,0xff,0xff,0xff,0x0,0x1f,0xff,0xef,0xff,0xff,0xff,0xf0,0xff,0xff,0xff,0xff,0xf1,0xff,0xff,0xfe,0x1e,0x1f,0xff,0xfb,0xff,0xff,0x7f,0x1f,0x7f,0xff,0xff,0xff,0xf1,0xff,0xff,0xfe,0x3f,0x1f,0xff,0xfc,0xff,0xfc,0xde,0x7f,0x7f,0x7f,0xff,0xff,0xf1,0xff,0xff,0xfe,0x3f,0x8f,0xff,0xfe,0xff,0xfb,0xff,0x7f,0xfe,0x3f,0xff,0xff,0xe1,0xff,0xff,0xfe,0x3f,0x8f,0xff,0xff,0xf0,0xff,0xbf,0xff,0xff,0xbf,0xff,0xff,0x3,0xff,0xff,0xfe,0x3f,0x8f,0xff,0xff,0xee,0xff,0x7f,0xff,0xdb,0xff,0xff,0xff,0x7,0xff,0xff,0xfe,0x3f,0x1f,0xff,0xff,0xee,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0x1f,0xff,0xff,0xfe,0x1e,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7f,0xff,0xff,0xaf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0xff,0xff,0xff,0xb9,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0x77,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xf1,0xfb,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xfd,0xd3,0xfc,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfd,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xfe,0x7d,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x7f,0xff,0xff,0xff,0xff,0xff,0xc1,0xfe,0x7d,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x1f,0xff,0xff,0xff,0xff,0xfe,0x3c,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xcf,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0x83,0x7,0xff,0xff,0xff,0xff,0xef,0xff,0xf9,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0x8f,0xc7,0xff,0xff,0xff,0xff,0xbf,0xff,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xe3,0xff,0xff,0xff,0xfd,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xe3,0xff,0xff,0xff,0xfb,0xff,0xf7,0xff,0xff,0x3f,0xff,0xff,0xff,0xff,0xff,0x8f,0xc3,0xff,0xff,0xff,0xf7,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8f,0x87,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0xf,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xb9,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0xf,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x3f,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xdb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xff,0xff,0xff,0xff,0xff,0xff,0x9b,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1,0xff,0xf7,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xff,0xfe,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x38,0x7f,0xf6,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x7c,0x3f,0xf9,0x7f,0xff,0xff,0xfd,0x77,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xf8,0xfe,0x3f,0xff,0xff,0xff,0xff,0xff,0xe7,0xff,0xff,0xff,0xff,0xff,0x3f,0xff,0xf8,0xfe,0x3f,0xff,0xff,0xff,0xff,0xfb,0xef,0xff,0xff,0xff,0xff,0xff,0x1f,0xff,0xf8,0xfe,0x3f,0xff,0xdf,0xff,0xff,0xef,0xdf,0xff,0xff,0xff,0xff,0xff,0x1f,0xff,0xf8,0xfe,0x3f,0xff,0xdf,0xff,0xff,0xcf,0x9f,0xff,0xff,0xff,0xff,0xff,0x8f,0xff,0xfc,0x7c,0x3f,0xff,0xf7,0xff,0xff,0xff,0xfa,0xff,0xff,0xff,0xff,0xff,0x8f,0xff,0xfc,0x38,0x7f,0xff,0xfb,0xff,0xff,0x7f,0x5f,0x3f,0xff,0xff,0xff,0xff,0x8f,0xff,0xfe,0x0,0xff,0xff,0xfc,0xff,0xfc,0xcf,0x3f,0x3f,0x3f,0xff,0xff,0xff,0x1f,0xff,0xff,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0x3f,0xff,0xff,0xff,0x1f,0xff,0xff,0xc7,0xff,0xff,0xff,0xf0,0x7f,0xff,0xff,0xdd,0xbf,0xff,0xff,0xff,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0x7f,0xef,0xdb,0xbf,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x7d,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbd,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0x77,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xfc,0xfb,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xf9,0xfb,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xfd,0xdb,0xfc,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xef,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xe8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xef,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x3f,0xe7,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xbf,0xcf,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xdf,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x7f,0xf8,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0x9f,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xff,0xff,0x9f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0x9f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xff,0xff,0xff,0xff,0xbf,0xff,0x7f,0xbf,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x3f,0xff,0xff,0xfe,0xff,0xff,0xff,0xdf,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xe,0x1f,0xff,0xff,0xfe,0xff,0xff,0xef,0xdf,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x1f,0xff,0xff,0xfd,0xff,0xff,0xff,0xf1,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x8f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x8f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x8f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x8f,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x1f,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xef,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x2f,0xff,0xff,0xff,0xce,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc3,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0xff,0xf9,0xff,0xff,0xfc,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x7f,0xfd,0xff,0xff,0xfd,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x38,0x7f,0xfe,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x7e,0x3f,0xff,0xbf,0xff,0xef,0xe9,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xfe,0x3f,0xff,0xcf,0xff,0x9d,0xe7,0xf7,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xfe,0x3f,0xff,0xfc,0x7,0xff,0xff,0xff,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xfe,0x3f,0xff,0xff,0x4f,0xff,0xff,0xfb,0xb3,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x7e,0x3f,0xff,0xfe,0xcf,0xef,0xff,0xf9,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x7c,0x3f,0xff,0xfd,0xef,0xff,0xfe,0xfe,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xef,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xff,0xff,0xfb,0xff,0xef,0xff,0xff,0x9f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x81,0xff,0xff,0xfe,0xff,0x6f,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcf,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xdf,0x79,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0x3f,0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xb7,0x3f,0xc7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xef,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xe8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xef,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x3f,0xe7,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xbf,0xcf,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xdf,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x7f,0xf8,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0x9f,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xff,0xff,0xff,0xff,0xf3,0xff,0xff,0x9f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0x9f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x87,0xff,0xff,0xff,0xff,0xbf,0xff,0x7f,0xbf,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xdf,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xff,0xff,0xff,0xfe,0xff,0xff,0xef,0xdf,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xf1,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0x87,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xef,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x2f,0xff,0xff,0xff,0xce,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0xff,0xfc,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc3,0xff,0xff,0xfd,0xff,0xff,0xfd,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x81,0xff,0xff,0xfe,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x7f,0xff,0xff,0xbf,0xff,0xef,0xe9,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x18,0x7f,0xff,0xff,0xcf,0xff,0x9d,0xe7,0xf7,0xe7,0xff,0xff,0xff,0xff,0xff,0xfc,0x7e,0x3f,0xff,0xff,0xfc,0x7,0xff,0xff,0xff,0xf3,0xff,0xff,0xff,0xff,0xff,0xfc,0x7e,0x3f,0xff,0xff,0xff,0x4f,0xff,0xff,0xfb,0xb3,0xff,0xff,0xff,0xff,0xff,0xf8,0xff,0x3f,0xff,0xff,0xfe,0xcf,0xef,0xff,0xf9,0xf7,0xff,0xff,0xff,0xff,0xff,0xf8,0xff,0x3f,0xff,0xff,0xfd,0xef,0xff,0xfe,0xfe,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x7e,0x3f,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xfc,0x7e,0x3f,0xff,0xff,0xfb,0xff,0xef,0xff,0xff,0x9f,0xff,0xff,0xff,0xff,0xff,0xfe,0x18,0x7f,0xff,0xff,0xfe,0xff,0x6f,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x7f,0xff,0xff,0xff,0xcf,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc3,0xff,0xff,0xff,0xfb,0xff,0xff,0xdf,0x79,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0x3f,0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xb7,0x3f,0xc7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x9f,0xdf,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xec,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x9f,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x3f,0xe7,0x9f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xdf,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xef,0xdf,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xf8,0xff,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0x8f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xff,0xff,0x8f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0x9f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0x3f,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xbf,0xff,0xff,0xff,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xff,0xff,0x7f,0xff,0xff,0xdf,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xff,0xfe,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xff,0xfd,0xff,0xff,0xff,0xf8,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xff,0xf7,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xff,0xe7,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xf9,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xf7,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x6f,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97,0xff,0xff,0xff,0xdf,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xfe,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xf9,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xf1,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcf,0xff,0x8c,0xe7,0xf3,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x1,0xff,0xff,0xff,0xdb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xff,0xff,0xff,0x6f,0xff,0xff,0xfd,0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7f,0xff,0xfe,0xef,0xf7,0xff,0xfd,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x3f,0xff,0xff,0xef,0xbf,0xff,0xfe,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe,0x1f,0xff,0xfd,0xf7,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x1f,0xff,0xfd,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x9f,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x9f,0xff,0xfb,0xef,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x9f,0xff,0xfb,0xff,0xff,0xf7,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x9f,0xff,0xff,0xff,0xff,0xdf,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x1f,0xff,0xfd,0xff,0xff,0x3f,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe,0x1f,0xff,0xff,0xff,0x33,0x3f,0xc3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x3f,0xff,0xff,0x7f,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7f,0xff,0xff,0x7f,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xff,0xff,0xff,0x9f,0x97,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x7f,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xbf,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xd1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x7f,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xff,0x9f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0x7f,0xbf,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x9f,0xbf,0x7f,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xe3,0xff,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xfe,0x3f,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcf,0xff,0xfe,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xfe,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xfc,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xbf,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xde,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xbf,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5f,0xff,0xff,0xff,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xff,0xff,0xfb,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xe7,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xdf,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xdf,0xd7,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xfe,0x33,0xdf,0xcf,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x7,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xbf,0xff,0xff,0xf7,0x6f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xff,0xff,0xf9,0xbf,0xdf,0xff,0xf2,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf,0xff,0xff,0xff,0x9f,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7,0xff,0xff,0xf7,0xdb,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc3,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xff,0xff,0xff,0x9f,0xff,0xff,0x7d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xff,0xff,0xff,0xff,0xff,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xff,0xff,0xf7,0xff,0xff,0x7e,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0xff,0xff,0xf7,0xff,0xfe,0x7f,0x77,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc3,0xff,0xff,0xff,0xfc,0xce,0xff,0x8f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7,0xff,0xff,0xfd,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xff,0xff,0xfe,0x7f,0x4f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x87,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfe,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0x7f,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0x47,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xff,0x7d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xff,0x3d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcd,0xfe,0x7e,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x3e,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xc7,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xfc,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x9f,0xff,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xfd,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xfe,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0x7f,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0x88,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3b,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0x7f,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x3f,0xff,0xff,0xfe,0x77,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcf,0xff,0xff,0xe7,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xbf,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0x3f,0x4f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x7f,0xfc,0xef,0x3f,0xbf,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x3f,0xff,0xff,0xff,0x9f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0x7f,0xff,0xff,0xdd,0x9f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0x7f,0x7f,0xff,0xed,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0x7d,0xff,0xf7,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd7,0xfb,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xde,0x7f,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfb,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xf9,0xfd,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xfd,0xb9,0xfe,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0xfe,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xfd,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xfe,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xfe,0xb7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xfe,0x7b,0xff,0xff,0xff,0x9f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc3,0xfc,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x39,0xfd,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x7f,0xff,0xff,0xfc,0xfd,0xfb,0xff,0xff,0xff,0xff,0xfb,0xfd,0xdf,0x7f,0xfe,0xd7,0xff,0xff,0xff,0xef,0xff,0xfb,0xff,0x7f,0xff,0xef,0xbf,0xbb,0xb3,0xff,0x6b,0x3e,0x7f,0xff,0xff,0xbf,0xff,0xf9,0xff,0x7f,0xff,0xff,0xff,0x9d,0xfb,0xff,0x6c,0x7e,0x7f,0xff,0xff,0x7f,0xff,0xf1,0xff,0xff,0xff,0xff,0xd3,0xff,0xff,0xff,0x7f,0x1f,0xff,0xff,0xfc,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xfb,0xff,0xbe,0xff,0x7f,0x9e,0xff,0xff,0xfb,0xff,0xe7,0xfb,0xff,0x7f,0xff,0xff,0xff,0xfb,0xff,0xd7,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xfe,0xff,0xff,0xfa,0xfe,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xef,0xff,0xfe,0xfd,0xff,0xff,0xff,0xf9,0xd9,0xf9,0xbf,0x7f,0x7f,0xd3,0xff,0xff,0xff,0xff,0xff,0xff,0x79,0xff,0xff,0xf7,0xbf,0xfb,0xde,0xff,0xff,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xf7,0xbf,0xfe,0x7d,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xff,0xff,0x7b,0xff,0xff,0xfe,0x7f,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xfe,0x3f,0xfd,0xd7,0xff,0xff,0xbe,0x7f,0xfe,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xc4,0x7f,0xff,0xfc,0x7b,0xbf,0xf7,0xff,0xfe,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xe2,0xff,0xff,0xfd,0xff,0xff,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0xff,0xff,0xff,0xb7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x77,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x77,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xd9,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf7,0xff,0xff,0xff,0xd7,0xff,0xff,0xff,0xf8,0xff,0xff,0xec,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcc,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xef,0xff,0xff,0xfd,0xaf,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xef,0xff,0xff,0xff,0xef,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0x5f,0xff,0xfd,0xdc,0xff,0xff,0xff,0x9f,0xff,0xff,0xcf,0xbf,0xff,0xff,0xff,0xfe,0x5f,0xff,0xff,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x71,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xf7,0xff,0xfe,0xfe,0xde,0xff,0xff,0xff,0xd0,0xff,0xff,0xff,0x17,0xff,0xff,0xff,0xf9,0xff,0xfc,0x7e,0xbe,0xff,0xff,0xfe,0x3b,0xff,0xff,0xdf,0x5f,0xff,0xff,0xff,0xfc,0xff,0xf1,0xde,0x7f,0x7f,0x7f,0xfc,0x27,0xff,0xff,0xfd,0xf7,0xff,0xff,0xff,0xff,0xc0,0x7f,0xff,0xff,0xff,0x7f,0xff,0x6f,0xff,0xfd,0xdf,0xf0,0xff,0xff,0xff,0xff,0xed,0xff,0xff,0xff,0xbf,0x7f,0xff,0x3f,0xff,0xff,0xef,0xfb,0xff,0xff,0xff,0xff,0xed,0xfe,0xdf,0xff,0xdf,0x7f,0xff,0xff,0xff,0xfe,0xff,0xf7,0xff,0xff,0xff,0xff,0xfe,0xfb,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xbf,0xdf,0xff,0xff,0xfe,0xff,0xff,0xdf,0xdf,0xff,0xfb,0x3f,0xff,0xff,0xff,0xff,0xbf,0xfe,0xff,0xff,0xfb,0xff,0xff,0xff,0x7f,0xff,0xab,0xff,0xff,0xff,0xff,0xff,0xf3,0xff,0xff,0xff,0xf7,0xff,0xfb,0xbf,0xff,0xff,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xcf,0xff,0xff,0xff,0xbf,0xff,0xfb,0xf7,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xf9,0xf3,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xef,0xfe,0xff,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0xfe,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xfd,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xfe,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xfe,0xb7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xfe,0x7b,0xff,0xff,0xff,0x9f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc3,0xfc,0xfb,0xff,0xff,0xff,0x3f,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x39,0xfd,0xfd,0xff,0xff,0xff,0xff,0xff,0xf9,0xdf,0xff,0xfc,0x7f,0xff,0xff,0xfc,0xfd,0xfb,0xff,0xff,0xff,0xff,0xfa,0xfd,0x5b,0x6f,0xf6,0x80,0x7f,0xff,0xff,0xef,0xff,0xfb,0xff,0x7f,0xff,0xe7,0xbd,0xbb,0xb3,0xff,0x60,0x3e,0x7f,0xff,0xff,0xbf,0xff,0xf9,0xff,0x7f,0xff,0xfe,0xf8,0x9d,0xbb,0xff,0x48,0x7e,0x7f,0xff,0xff,0x7f,0xff,0xf1,0xff,0xff,0xff,0xf7,0xc2,0xfd,0xdf,0xff,0x49,0x1f,0xff,0xff,0xfc,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xf3,0xff,0xbe,0x27,0x4d,0x9e,0xff,0xff,0xfb,0xff,0xe7,0xfb,0xff,0x7f,0xff,0xff,0xf3,0xf9,0xde,0x47,0x4b,0x7c,0xff,0xff,0xf7,0xff,0xff,0xff,0xfe,0xff,0xff,0xf8,0x90,0x7f,0xbf,0x1f,0x51,0xfd,0xff,0xff,0xef,0xff,0xfe,0xfd,0xff,0xff,0xff,0xf9,0xd1,0x79,0xbe,0x3f,0x6f,0xd3,0xff,0xff,0xff,0xff,0xff,0xff,0x79,0xff,0xff,0xf7,0xbe,0xfb,0xde,0x7f,0xff,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xbf,0x7d,0x7d,0xff,0xff,0xff,0x7f,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xff,0xfe,0x7b,0xff,0xfb,0x1e,0x7f,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xfe,0x3f,0xf9,0xd7,0xff,0xf5,0x9e,0x7f,0xfe,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xc4,0x7f,0xf9,0xbc,0x63,0x1d,0xd7,0xff,0xfe,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xe2,0xff,0xff,0xfd,0xef,0xff,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0xff,0xff,0xff,0xb7,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x77,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x77,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xd9,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf7,0xff,0xff,0xff,0xd7,0xff,0xff,0xff,0xf8,0xff,0xff,0xec,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0x7f,0xcc,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xeb,0xff,0xff,0x7f,0xaf,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xef,0xff,0xff,0xff,0xe3,0xff,0xff,0x23,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xef,0x5f,0xff,0xfd,0xdc,0xff,0xff,0xff,0x9f,0xff,0xff,0xcf,0xbf,0xff,0xff,0xff,0xce,0x5f,0xff,0xff,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x71,0xff,0xff,0xff,0xf3,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xf7,0xff,0xfe,0xfe,0xde,0xff,0xff,0xff,0xd0,0xff,0xff,0xcf,0x17,0xff,0xff,0xff,0xf9,0xff,0xfc,0x7e,0xbe,0xff,0xff,0xfe,0xb,0xff,0xff,0xdf,0x5f,0xff,0xff,0xff,0xfc,0xff,0xf1,0xde,0x7f,0x7f,0x7f,0xf8,0x7,0xff,0xff,0xfd,0xf7,0xff,0xff,0xff,0xff,0xc0,0x7f,0xff,0xff,0xff,0x7f,0xfd,0x4f,0xff,0xfd,0xdf,0xf0,0xff,0xff,0xff,0xff,0xed,0xff,0xff,0xff,0xbf,0x7f,0xff,0x2f,0xff,0xff,0xef,0xfb,0xff,0xff,0xff,0xff,0xed,0xfe,0xdf,0xff,0xdf,0x7f,0xff,0x5f,0xff,0xfe,0xff,0xf7,0xff,0xff,0xff,0xff,0xfe,0xfb,0xff,0xff,0xff,0xff,0xff,0xdc,0xff,0xff,0xbc,0x7f,0xff,0xff,0xff,0xff,0xbf,0xdf,0xff,0xff,0xfe,0xff,0xff,0xdc,0x5f,0xff,0xc3,0x3f,0xff,0xff,0xff,0xff,0xbf,0xfe,0xff,0xff,0xfb,0xff,0xfe,0x7f,0x7f,0xff,0xab,0xff,0xff,0xff,0xff,0xff,0xf3,0xff,0xff,0xff,0xf7,0xff,0xf8,0xbf,0x9f,0xff,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xcf,0xff,0xff,0xff,0xbf,0xff,0xfb,0xf7,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xf9,0xf3,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xef,0xfe,0xff,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0xfe,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xfd,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xfe,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xfe,0xb7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xfe,0x7b,0xff,0xff,0xff,0x8f,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc3,0xfc,0xfb,0xff,0xff,0xff,0x17,0xff,0xfe,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0x39,0xfd,0xfd,0xff,0xff,0xfc,0xff,0xff,0xd9,0x4f,0xfe,0x7c,0x7f,0xff,0xff,0xfc,0xfd,0xfb,0xff,0xff,0xff,0xff,0xfa,0xfd,0x13,0x67,0xd2,0x80,0x7f,0xff,0xff,0xef,0xff,0xfb,0xff,0x7f,0xff,0xe7,0xbd,0x1b,0x81,0xff,0x60,0x3e,0x7f,0xff,0xff,0xbf,0xff,0xf9,0xff,0x7f,0xff,0xfa,0x50,0x99,0x9b,0xff,0x48,0x7e,0x7f,0xff,0xff,0x7f,0xff,0xf1,0xff,0xff,0xff,0xf5,0x2,0xfd,0x9f,0xff,0x49,0x1f,0xff,0xff,0xfc,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xf1,0xf9,0xbe,0x7,0x49,0x1e,0xff,0xff,0xfb,0xff,0xe7,0xfb,0xff,0x7f,0xff,0xff,0xf3,0xf9,0xde,0x7,0x4b,0x3c,0xff,0xff,0xf7,0xff,0xff,0xff,0xfe,0xff,0xff,0xe0,0x80,0x79,0x9f,0x1f,0x51,0x35,0xff,0xff,0xef,0xff,0xfe,0xfd,0xff,0xff,0xff,0xf9,0x90,0x79,0xbe,0x3f,0x4f,0xc3,0xff,0xff,0xff,0xff,0xff,0xff,0x79,0xff,0xff,0xf7,0xbe,0xfb,0xde,0x7f,0xff,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xbf,0x7c,0x39,0xff,0xff,0x9e,0x7f,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xff,0xfe,0x7b,0xff,0xfb,0x1e,0x7f,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xfe,0x3f,0xf9,0xd7,0xff,0xd5,0x9e,0x7f,0xfe,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xc4,0x7f,0xf9,0x9c,0x63,0x5,0x13,0xff,0xfe,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xe2,0xfe,0xff,0xfc,0xf,0xfd,0x8d,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0xff,0xff,0xff,0xb7,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x77,0xff,0xff,0xff,0xdf,0xff,0xff,0xfe,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x77,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0x19,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf7,0xff,0xff,0xff,0xd3,0xff,0xff,0xff,0x38,0xff,0xff,0xec,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xf3,0xff,0xff,0x7f,0xc,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xe3,0xff,0xff,0x1f,0x8f,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xef,0xff,0xff,0xff,0xe3,0xff,0xff,0x0,0x77,0xff,0xff,0xff,0xbf,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xc3,0x5f,0xff,0xc0,0x8c,0xff,0xff,0xff,0x9f,0xff,0xff,0xcf,0xbf,0xff,0xff,0xff,0xcc,0x5f,0xff,0xf7,0xcc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x71,0xff,0xff,0xff,0xf3,0x3f,0xff,0xb7,0xc7,0xff,0xff,0xff,0xf7,0xff,0xfe,0xfe,0xde,0xff,0xff,0xff,0xd0,0xff,0xff,0xc7,0x7,0xff,0xff,0xff,0xf9,0xff,0xfc,0x7e,0xbe,0xff,0xff,0xfe,0xb,0xff,0xff,0x8f,0x45,0xff,0xff,0xff,0xfc,0xff,0xf1,0xde,0x7f,0x7f,0x7f,0xf8,0x7,0xff,0xff,0xfd,0xe0,0xff,0xff,0xff,0xff,0xc0,0x7f,0xff,0xff,0xff,0x7f,0xfd,0x4f,0xff,0xfd,0xde,0xe0,0xff,0xff,0xff,0xff,0xed,0xff,0xff,0xff,0xbf,0x7f,0xff,0x2f,0xff,0xfd,0xef,0xf9,0xff,0xff,0xff,0xff,0xed,0xfe,0xdf,0xff,0xdf,0x7f,0xff,0x5f,0xff,0xfc,0xd3,0xe5,0xff,0xff,0xff,0xff,0xfe,0xfb,0xff,0xff,0xff,0xff,0xff,0xdc,0xff,0xfe,0x30,0x41,0xff,0xff,0xff,0xff,0xbf,0xdf,0xff,0xff,0xfe,0xff,0xff,0xdc,0x5f,0xff,0x41,0xf,0xff,0xff,0xff,0xff,0xbf,0xfe,0xff,0xff,0xfb,0xff,0xfe,0x7f,0x77,0xff,0xa3,0xfd,0xff,0xff,0xff,0xff,0xf3,0xff,0xff,0xff,0xf7,0xff,0xf8,0xbf,0x93,0xff,0x47,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0x9f,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xdf,0xff,0xcf,0xff,0xff,0xff,0xbf,0xff,0xfb,0xf7,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xf9,0xf3,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xef,0xfe,0xff,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0xfe,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xfd,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xfe,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xfe,0xb7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xfe,0x7b,0xff,0xff,0xff,0x8f,0xff,0xfd,0xff,0xef,0xe7,0xff,0xff,0xff,0xff,0xc3,0xfc,0xfb,0xff,0xff,0xff,0x7,0xff,0xfa,0xff,0xef,0xe7,0xff,0xff,0xff,0xff,0x39,0xfd,0xfd,0xff,0xff,0xfc,0x67,0xfb,0x59,0x4b,0xce,0x0,0x7f,0xff,0xff,0xfc,0xfd,0xfb,0xff,0xff,0xff,0xfe,0x92,0x39,0x10,0x23,0x0,0x0,0x7f,0xff,0xff,0xef,0xff,0xfb,0xff,0x7f,0xff,0xe3,0xbd,0x19,0x81,0xff,0x0,0x3e,0x7f,0xff,0xff,0xbf,0xff,0xf9,0xff,0x7f,0xff,0xfa,0x50,0x19,0x9b,0xff,0x48,0x7e,0x7f,0xff,0xff,0x7f,0xff,0xf1,0xff,0xff,0xff,0xf5,0x0,0xf9,0x9f,0xff,0x49,0x1f,0xff,0xff,0xfc,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xf1,0xf9,0x9e,0x7,0x49,0x1e,0xff,0xff,0xfb,0xff,0xe7,0xfb,0xff,0x7f,0xff,0xff,0xf1,0xf9,0xde,0x7,0x4b,0x3c,0xff,0xff,0xf7,0xff,0xff,0xff,0xfe,0xff,0xff,0xe0,0x0,0x79,0x9f,0x1f,0x51,0x35,0xff,0xff,0xef,0xff,0xfe,0xfd,0xff,0xff,0xff,0xe0,0x0,0x79,0xbe,0x7f,0x27,0xc3,0xff,0xff,0xff,0xff,0xff,0xff,0x79,0xff,0xff,0xe7,0x9e,0xf9,0x9c,0x7f,0xcf,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xe7,0xbe,0x7d,0x1c,0xf9,0xcd,0x9e,0x7f,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0x7f,0x7a,0x59,0xf3,0xc9,0x1e,0x7f,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xfe,0x3f,0xf9,0xd3,0xf2,0x81,0x1e,0x7f,0xfe,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xc0,0x79,0xb9,0x9c,0x62,0x1,0x0,0x7f,0xfe,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xc0,0xfe,0x9f,0xfc,0x7,0xfd,0x80,0x7f,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xc7,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0xff,0xff,0xff,0xb7,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x77,0xff,0xff,0xff,0xdf,0xff,0xff,0xfe,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x77,0xff,0xff,0xff,0xdb,0xff,0xff,0xff,0x19,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf7,0xff,0xff,0xff,0xc3,0xff,0xff,0xff,0x38,0xff,0xff,0xec,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xf3,0xff,0xff,0x7f,0xc,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xe3,0xff,0xff,0x1f,0x8f,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xef,0xff,0xff,0xff,0xe1,0xff,0xff,0x0,0x37,0xff,0xff,0xff,0xbf,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xc0,0x1f,0xff,0x80,0x8c,0xff,0xff,0xff,0x9f,0xff,0xff,0xcf,0xbf,0xff,0xff,0xff,0xc0,0xf,0xff,0x93,0xc8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x71,0xff,0xff,0xff,0xc0,0x3f,0xff,0xb7,0x83,0xff,0xff,0xff,0xf7,0xff,0xfe,0xfe,0xde,0xff,0xff,0xff,0x80,0xff,0xff,0xc6,0x7,0xff,0xff,0xff,0xf9,0xff,0xfc,0x7e,0xbe,0x7f,0xff,0xfe,0x3,0xff,0xff,0x84,0x5,0xff,0xff,0xff,0xfc,0xff,0xf1,0xde,0x7f,0x7e,0x7f,0xf0,0x7,0xff,0xff,0x81,0xe0,0xff,0xff,0xff,0xff,0xc0,0x7f,0xff,0xff,0xbb,0x7f,0xf9,0x4f,0xff,0xfd,0xc0,0xe0,0xff,0xff,0xff,0xff,0xed,0xff,0xff,0xff,0xbb,0x7f,0xff,0x2f,0xff,0xfd,0x82,0xf9,0xff,0xff,0xff,0xff,0xed,0xfe,0xdf,0xff,0xdf,0x7f,0xff,0x1f,0xff,0xfc,0x83,0xe5,0xff,0xff,0xff,0xff,0xfe,0xfb,0xff,0xff,0xff,0xff,0xff,0x9c,0x7f,0xfe,0x30,0x1,0xff,0xff,0xff,0xff,0xbf,0xdf,0xff,0xff,0xfe,0xff,0xff,0x9c,0xf,0xff,0x41,0xf,0xff,0xff,0xff,0xff,0xbf,0xfe,0xff,0xff,0xfb,0xff,0xfe,0x3e,0x3,0xff,0x83,0xf8,0xef,0xff,0xff,0xff,0xf3,0xff,0xff,0xff,0xf7,0xff,0xe8,0x3f,0x83,0xff,0x47,0xfc,0x6f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7f,0xc7,0xff,0xdf,0xfe,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xdf,0xff,0xf,0xff,0xff,0xff,0xbf,0xff,0xfb,0xf7,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8f,0xff,0xff,0xff,0xbf,0xf9,0xf3,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xff,0xff,0xff,0xef,0xfe,0xff,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0xfe,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xfd,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xfe,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xfe,0xb7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xfe,0x7b,0xff,0xff,0xff,0x8f,0xff,0xfc,0xff,0xcf,0xe7,0xff,0xff,0xff,0xff,0xc3,0xfc,0xfb,0xff,0xff,0xff,0x7,0xff,0xf8,0xff,0xcf,0xe7,0xff,0xff,0xff,0xff,0x39,0xfd,0xfd,0xff,0xff,0xfc,0x21,0xf8,0x18,0x3,0xce,0x0,0x7f,0xff,0xff,0xfc,0xfd,0xfb,0xff,0xff,0xff,0xe0,0x90,0x18,0x10,0x3,0x0,0x0,0x7f,0xff,0xff,0xef,0xff,0xfb,0xff,0x7f,0xff,0x83,0x9c,0x19,0x81,0xff,0x0,0x3e,0x7f,0xff,0xff,0xbf,0xff,0xf9,0xff,0x7f,0xff,0xc0,0x0,0x19,0x93,0xff,0x48,0x7e,0x7f,0xff,0xff,0x7f,0xff,0xf1,0xff,0xff,0xff,0xf0,0x0,0xf9,0x9f,0xff,0x49,0x1f,0xff,0xff,0xfc,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xf1,0xf9,0x98,0x7,0x49,0x1c,0xff,0xff,0xfb,0xff,0xe7,0xfb,0xff,0x7f,0xff,0xff,0xf1,0xf9,0x98,0x7,0x49,0x18,0x7f,0xff,0xf7,0xff,0xff,0xff,0xfe,0xff,0xff,0xe0,0x0,0x79,0x9f,0xf,0x1,0x0,0xff,0xff,0xef,0xff,0xfe,0xfd,0xff,0xff,0xff,0xe0,0x0,0x79,0x9e,0x3f,0x1,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x79,0xff,0xff,0xe7,0x9e,0x79,0x9c,0x7f,0xcb,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xe7,0x9e,0x78,0x18,0xf1,0xc9,0x1e,0x7f,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0x6,0x78,0x11,0xf3,0xc9,0x1e,0x7f,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xfe,0x0,0xf9,0x93,0xf2,0x1,0x1e,0x7f,0xfe,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xc0,0x70,0x39,0x90,0x2,0x1,0x0,0x7f,0xfe,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xc0,0xfe,0x1f,0xf8,0x7,0xfd,0x80,0x7f,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xc7,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0xff,0xff,0xff,0xb7,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x77,0xff,0xff,0xff,0xcf,0xff,0xff,0xfe,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x77,0xff,0xff,0xff,0xc3,0xff,0xff,0xff,0x19,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf7,0xff,0xff,0xff,0xc3,0xff,0xff,0xff,0x10,0xff,0xff,0xec,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xe3,0xff,0xff,0x7f,0xc,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xe3,0xff,0xff,0x1f,0x8f,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xef,0xff,0xff,0xff,0xe1,0xff,0xff,0x0,0x7,0xff,0xff,0xff,0xbf,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xc0,0x1f,0xff,0x80,0x80,0xff,0xff,0xff,0x9f,0xff,0xff,0xcf,0xbf,0xff,0xff,0xff,0xc0,0xf,0xff,0x81,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x71,0xff,0xff,0xff,0xc0,0x3f,0xff,0x83,0x83,0xff,0xff,0xff,0xf7,0xff,0xfe,0xfe,0xde,0xff,0xff,0xff,0x80,0xff,0xff,0xc6,0x7,0xff,0xff,0xff,0xf9,0xff,0xfc,0x7e,0xbe,0x7f,0xff,0xfe,0x3,0xff,0xff,0x84,0x5,0xff,0xff,0xff,0xfc,0xff,0xf1,0xde,0x7f,0x7e,0x7f,0xf0,0x7,0xff,0xff,0x81,0xe0,0xff,0xff,0xff,0xff,0xc0,0x7f,0xff,0xff,0xbb,0x7f,0xf8,0xf,0xff,0xfd,0xc0,0xe0,0xff,0xff,0xff,0xff,0xed,0xff,0xff,0xff,0xbb,0x7f,0xfc,0xf,0xff,0xfc,0x80,0xf1,0xff,0xff,0xff,0xff,0xed,0xfe,0xdf,0xff,0xdf,0x7f,0xff,0x1f,0xff,0xfc,0x0,0xe1,0xff,0xff,0xff,0xff,0xfe,0xfb,0xff,0xff,0xff,0xff,0xff,0x18,0x7f,0xfe,0x30,0x1,0xff,0xff,0xff,0xff,0xbf,0xdf,0xff,0xff,0xfe,0xff,0xfe,0x1c,0xf,0xfe,0x1,0x9,0xff,0xff,0xff,0xff,0xbf,0xfe,0xff,0xff,0xfb,0xff,0xfe,0x3e,0x3,0xff,0x0,0xf8,0xef,0xff,0xff,0xff,0xf3,0xff,0xff,0xff,0xf7,0xff,0xe8,0x3f,0x83,0xff,0x7,0xfc,0x6f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7f,0xc3,0xff,0x9f,0xfe,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xff,0xdf,0xff,0xf,0xff,0xff,0xff,0xbf,0xff,0xfb,0xf7,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8f,0xff,0xff,0xff,0xbf,0xf9,0xf3,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xff,0xff,0xff,0xef,0xfe,0xff,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xf7,0xff,0xff,0xff,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe6,0xff,0xf7,0xff,0xfc,0xff,0xcd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x96,0x9f,0xf2,0x7f,0x49,0xfb,0x4d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0x9a,0xff,0xff,0xfb,0x6d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x64,0x3e,0xd3,0xff,0xf8,0xf8,0x69,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0x7e,0x1a,0x7c,0x79,0xfb,0x4d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xa2,0xff,0x38,0xfe,0xe1,0xf8,0x41,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x12,0x7f,0x19,0xfe,0xe3,0xfa,0x5d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x17,0x7f,0x40,0xfe,0x2b,0xff,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x67,0x7e,0xee,0xbe,0x5b,0xbf,0x9d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x7f,0xff,0x3c,0xbb,0xbf,0x39,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x9d,0xff,0x9e,0x7e,0x77,0xff,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xf9,0x9f,0x9f,0xff,0xbe,0xfe,0xf7,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xcf,0xf9,0xdf,0x9f,0x1e,0xe,0xfc,0x31,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xaf,0xf9,0x9f,0x7,0xfe,0x3a,0xfc,0xe7,0xfc,0x39,0xff,0xff,0xff,0xff,0xff,0xff,0xa7,0xf8,0x3f,0x8a,0x7e,0x3a,0x7c,0x6c,0x73,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0x7,0xf9,0xdf,0x93,0xff,0x8a,0x78,0x6f,0xfa,0xc9,0xff,0xff,0xff,0xff,0xff,0xff,0x77,0xf9,0xcf,0x3f,0xfe,0x2a,0x7e,0x49,0xfa,0xd9,0xff,0xff,0xff,0xff,0xff,0xfe,0x73,0xf9,0xcc,0xb8,0x7e,0xae,0x7c,0xf9,0xfa,0x19,0xff,0xff,0xff,0xff,0xff,0xfe,0xfb,0xf9,0xdf,0xbd,0xfe,0xae,0x7e,0xfb,0xfb,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x98,0x7f,0x3c,0x3f,0xbc,0x7e,0xe7,0xfb,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x9f,0xff,0xa7,0xff,0xbe,0xfe,0xf3,0xff,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xe,0xff,0xfb,0xff,0xdf,0xfd,0xef,0xfe,0x7f,0xff,0xff,0xff,0xff,0xff,0xfa,0x7f,0x6c,0x7c,0xdb,0xff,0xd9,0xf9,0xef,0xfe,0x7f,0xff,0xff,0xff,0xff,0xff,0xf,0xff,0x1a,0xff,0xf1,0xff,0xcf,0xfa,0xef,0xf8,0x7f,0xff,0xff,0xff,0xff,0xff,0xb0,0xff,0x40,0xfb,0xc,0xf8,0x67,0xf6,0xe1,0xfe,0x9f,0xff,0xff,0xff,0xff,0xff,0xbc,0x7e,0x4c,0xfd,0x9c,0xfa,0x6b,0xe1,0xef,0xf2,0xcf,0xff,0xff,0xff,0xff,0xff,0xc,0x1e,0x18,0xff,0x89,0xfc,0xe3,0xfb,0xc3,0xfa,0x9f,0xff,0xff,0xff,0xff,0xff,0x40,0x3d,0xfd,0xfc,0x8,0x3c,0x67,0xf1,0xff,0xfe,0x7f,0xff,0xff,0xff,0xff,0xfe,0x18,0x7f,0xf7,0xfc,0x59,0xfd,0x7,0xfe,0x3,0xfc,0x3f,0xff,0xff,0xff,0xff,0xfd,0x7c,0x7f,0xf3,0xf9,0x99,0xfb,0x92,0xf1,0xbb,0xfa,0xcf,0xff,0xff,0xff,0xff,0xff,0xfc,0xf,0xf7,0xfb,0xb9,0xf7,0xf8,0xf7,0xb3,0xe6,0xe1,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f,0xbf,0xf1,0xff,0xfc,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xff,0xfe,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xbc,0xe7,0xff,0xfe,0x7f,0xff,0xff,0x9f,0xfe,0x7e,0x3f,0xe3,0xff,0xff,0xff,0xff,0x8e,0xef,0xff,0xfe,0x63,0xff,0xe0,0x1f,0xfe,0x7e,0x7f,0xe3,0xff,0xff,0xff,0xff,0xef,0xc1,0xff,0xfe,0x7f,0xff,0xee,0x7f,0xfe,0x7e,0xff,0xf3,0xff,0xff,0xff,0xff,0xfe,0x1f,0xff,0x83,0x63,0xff,0xe6,0x7f,0xfe,0xfc,0xff,0xf3,0xff,0xff,0xff,0xfe,0x70,0xf0,0xfe,0x67,0x1f,0xff,0xe6,0x7f,0xfe,0xdd,0x8f,0xf3,0xff,0xff,0xff,0xff,0x39,0x89,0xff,0xe0,0x37,0xff,0xe6,0x1,0xfc,0xc9,0xc7,0xf3,0xff,0xff,0xff,0xff,0xf8,0xfb,0xff,0x27,0x23,0xff,0x6,0x7f,0xfc,0x0,0x27,0xf3,0xff,0xff,0xff,0xff,0xd8,0x67,0xff,0x8f,0xa7,0xff,0xe6,0x7f,0xc1,0x93,0xff,0xf3,0xff,0xff,0xff,0xff,0x92,0x66,0x3f,0xc7,0x8f,0xff,0xee,0x7f,0xfd,0x9f,0xff,0xf3,0xff,0xff,0xff,0xff,0xb6,0x3,0xff,0x83,0x1f,0xff,0xce,0x7f,0xfc,0x3e,0xf,0xf3,0xff,0xff,0xff,0xff,0x2c,0xf3,0xff,0x32,0xf,0xff,0xce,0x7f,0xfe,0x73,0xc7,0xff,0xff,0xff,0xff,0xfe,0x1c,0xf3,0xfe,0x7c,0xee,0xff,0x9e,0x7f,0xfe,0x33,0xcf,0xf3,0xff,0xff,0xff,0xfe,0x79,0xf3,0xfc,0xf3,0xe2,0xff,0x3e,0x7f,0xfc,0x9b,0x8f,0xe3,0xff,0xff,0xff,0xff,0xfb,0xe3,0xff,0xff,0xf0,0xfe,0xfe,0x7f,0xf3,0xb8,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xff,0xff,0xf8,0xff,0xfe,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xff,0xff,0xff,0xff,0xfe,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}
};
// 主程序开始
void setup() {
mPython.begin();
dfrobotRandomSeed();
DF_ChuShiHuaChangDu();
DF_KaiJiDongHua();
}
void loop() {
delay(100);
display.fillScreen(0);
display.point(mind_n_ShiWux, mind_n_ShiWuy);
DF_AnJian();
if ((mind_n_FangXiange==0)) {
mind_n_x += 1;
DF_TanChiSheHuoDong();
}
if ((mind_n_FangXiange==1)) {
mind_n_y -= 1;
DF_TanChiSheHuoDong();
}
if ((mind_n_FangXiange==2)) {
mind_n_x -= 1;
DF_TanChiSheHuoDong();
}
if ((mind_n_FangXiange==3)) {
mind_n_y += 1;
DF_TanChiSheHuoDong();
}
}
// 自定义函数
void DF_ChiDaoShiWu() {
if (((mind_n_x==mind_n_ShiWux) && (mind_n_y==mind_n_ShiWuy))) {
mind_n_ShenChangc += 1;
mind_l_X.insert(mind_n_ShenChangc-1, mind_l_X[(mind_n_ShenChangc - 1)-1]);
mind_l_Y.insert(mind_n_ShenChangc-1, mind_l_Y[(mind_n_ShenChangc - 1)-1]);
display.point((String("123").toInt()), (String("123").toInt()));
mind_n_ShiWux = (random(5, 60+1));
mind_n_ShiWuy = (random(5, 120+1));
mind_n_FenShuf += 1;
}
}
void DF_PengBi() {
if ((((mind_n_SheToux==0) || (mind_n_SheTouy==0)) || ((mind_n_SheToux==128) || (mind_n_SheTouy==64)))) {
display.drawImage(0, 0, 128, 64, imageMatrix);
delay(2000);
display.fillScreen(0);
display.setCursor(10, 22);
display.print("获得分数:");
display.setCursor(82, 22);
display.print(mind_n_FenShuf);
DF_ChuShiHuaChangDu();
delay(2000);
}
}
void DF_KaiJiDongHua() {
display.drawImage(0, 0, 128, 64, imageMatrix);
delay(200);
display.drawImage(0, 0, 128, 64, imageMatrix);
delay(200);
display.drawImage(0, 0, 128, 64, imageMatrix);
delay(200);
display.drawImage(0, 0, 128, 64, imageMatrix);
delay(200);
display.drawImage(0, 0, 128, 64, imageMatrix);
delay(200);
display.drawImage(0, 0, 128, 64, imageMatrix);
delay(200);
display.drawImage(0, 0, 128, 64, imageMatrix);
delay(200);
display.drawImage(0, 0, 128, 64, imageMatrix);
delay(200);
display.drawImage(0, 0, 128, 64, imageMatrix);
delay(200);
display.drawImage(0, 0, 128, 64, imageMatrix);
delay(200);
display.drawImage(0, 0, 128, 64, imageMatrix);
delay(200);
display.drawImage(0, 0, 128, 64, imageMatrix);
delay(200);
display.drawImage(0, 0, 128, 64, imageMatrix);
delay(200);
display.drawImage(0, 0, 128, 64, imageMatrix);
delay(1000);
display.drawImage(0, 0, 128, 64, imageMatrix);
delay(3000);
display.drawImage(0, 0, 128, 64, imageMatrix);
delay(2000);
}
void DF_TanChiSheHuoDong() {
mind_n_SheToux = mind_n_x;
mind_n_SheTouy = mind_n_y;
mind_n_LieBiaod = mind_n_ShenChangc;
display.point(mind_n_SheToux, mind_n_SheTouy);
while (!(mind_n_LieBiaod==1)) {
mind_l_X.replace(mind_n_LieBiaod-1, mind_l_X[(mind_n_LieBiaod - 1)-1]);
mind_l_Y.replace(mind_n_LieBiaod-1, mind_l_Y[(mind_n_LieBiaod - 1)-1]);
display.point((String("123").toInt()), (String("123").toInt()));
mind_n_LieBiaod -= 1;
yield();
}
mind_l_X.replace(mind_n_LieBiaod-1, (String(mind_n_SheToux)));
mind_l_Y.replace(mind_n_LieBiaod-1, (String(mind_n_SheTouy)));
DF_ChiDaoShiWu();
DF_PengBi();
}
void DF_ChuShiHuaChangDu() {
mind_n_ShiWux = (random(1, 60+1));
mind_n_ShiWuy = (random(1, 120+1));
mind_n_x = 64;
mind_n_y = 32;
mind_n_ShenChangc = 6;
mind_n_FangXiange = 0;
mind_l_X.insert(1-1, "64");
mind_l_X.insert(2-1, "63");
mind_l_X.insert(3-1, "62");
mind_l_X.insert(4-1, "61");
mind_l_X.insert(5-1, "60");
mind_l_X.insert(6-1, "59");
mind_l_Y.insert(1-1, "32");
mind_l_Y.insert(2-1, "32");
mind_l_Y.insert(3-1, "32");
mind_l_Y.insert(4-1, "32");
mind_l_Y.insert(5-1, "32");
mind_l_Y.insert(6-1, "32");
display.point(64, 32);
display.point(63, 32);
display.point(62, 32);
display.point(61, 32);
display.point(60, 32);
display.point(59, 32);
display.point(59, 32);
}
void DF_AnJian() {
if ((buttonA.isPressed())) {
mind_n_FangXiange += 1;
if ((mind_n_FangXiange==4)) {
mind_n_FangXiange = 0;
}
}
if ((buttonB.isPressed())) {
mind_n_FangXiange -= 1;
if ((mind_n_FangXiange==-1)) {
mind_n_FangXiange = 3;
}
}
}
2、简单连连看(shworld)
玩法说明
按A键左移动
按B键右移动
按金手指T或H来选择
#MicroPython动手做(35)——体验小游戏
#简单连连看
from mpython import *
import random
#--------------------------------------------------------
#图片转换参考https://mpython.readthedocs.io/zh/master/tutorials/basics/oled.html#id3
#图片定义
#苹果
apple = bytearray([\
0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X01,0X80,0X00,0X00,0X01,0X80,0X18,0X70,0X01,
0X80,0X00,0X0C,0X01,0X80,0X00,0X03,0X01,0X84,0X01,0XC0,0X81,0X88,0X3F,0XF0,0X61,
0X98,0X3F,0XF8,0X31,0X90,0X3F,0XFC,0X31,0XB0,0X3F,0XFC,0X19,0XB0,0X3F,0XFE,0X19,
0XB0,0X0F,0XF6,0X19,0XB8,0X00,0X80,0X19,0XBC,0X00,0X00,0X19,0XBE,0X00,0X00,0X39,
0XBF,0X80,0X00,0X79,0XBF,0XE0,0X07,0XF9,0X9F,0XFF,0XFF,0XF9,0X9F,0XFF,0XFF,0XF1,
0X8F,0XFF,0XFF,0XF1,0X8F,0XFF,0XFF,0XE1,0X87,0XFF,0XFF,0XE1,0X83,0XFF,0XFF,0XC1,
0X81,0XFF,0XFF,0X81,0X81,0XFF,0XFF,0X01,0X80,0XFF,0XFE,0X01,0X80,0X7F,0XFC,0X01,
0X80,0X3F,0XF0,0X01,0X80,0X00,0X00,0X01,0X80,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF,
])
#樱桃
cherry = bytearray([\
0XFF,0XFF,0XFF,0XFF,0X80,0XC0,0X00,0X01,0X81,0XC0,0X00,0X01,0X80,0XC0,0X00,0X01,
0X80,0XC0,0X00,0X01,0X80,0XA0,0X00,0X01,0X80,0X10,0X00,0X01,0X80,0X90,0X00,0X01,
0X80,0X88,0X00,0X01,0X80,0X8C,0X00,0X01,0X80,0X84,0X00,0X01,0X80,0X83,0X00,0X01,
0X80,0X81,0X80,0X01,0X80,0X00,0XCF,0X21,0X80,0X40,0X7F,0X11,0X80,0X79,0XFF,0X19,
0X87,0XFC,0XFF,0XF9,0X8F,0XFC,0X7F,0XF9,0X9F,0XF8,0X7F,0XFD,0XBF,0XF8,0X7F,0XFD,
0XBF,0XF8,0X7F,0XFD,0XBF,0XF8,0X7F,0XFD,0XBF,0XFF,0XFF,0XFD,0XBF,0XFF,0XFF,0XF9,
0XBF,0XFF,0XFF,0XF9,0XBF,0XFF,0XFF,0XF1,0XBF,0XFF,0XFF,0XF1,0X9F,0XFF,0XFF,0XE1,
0X8F,0XFF,0X9F,0X81,0X87,0XFF,0X00,0X01,0X81,0XFC,0X00,0X01,0XFF,0XFF,0XFF,0XFF,
])
#桑葚
mulberry = bytearray([\
0XFF,0XFF,0XFF,0XFF,0X80,0X21,0X00,0X01,0X80,0X10,0X00,0X01,0X81,0X08,0X80,0X01,
0X82,0X38,0X80,0X01,0X82,0X3F,0X80,0X01,0X82,0X3F,0XE0,0X01,0X86,0X3F,0XF0,0X01,
0X86,0X3F,0XF8,0X01,0X83,0XFF,0XFC,0X01,0X83,0XFF,0XFE,0X01,0X87,0XFF,0XFF,0X01,
0X8F,0XFF,0XFF,0X01,0X8F,0XFF,0XFF,0X01,0X8F,0XFF,0XFF,0X81,0X8F,0XFF,0XFF,0X81,
0X8F,0XFF,0XFF,0X81,0X8F,0XFF,0XFF,0X81,0X8F,0XFF,0XFF,0X81,0X87,0XFF,0XFF,0X81,
0X87,0XFF,0XFF,0X81,0X83,0XFF,0XFF,0XC1,0X81,0XFF,0XFF,0XC1,0X80,0XFF,0XFF,0XC1,
0X80,0XFF,0XFF,0XC1,0X80,0X7F,0XFF,0XC1,0X80,0X3F,0XFF,0X81,0X80,0X1F,0XFF,0X81,
0X80,0X0F,0XFF,0X81,0X80,0X03,0XFF,0X01,0X80,0X01,0XFC,0X01,0XFF,0XFF,0XFF,0XFF,
])
#草莓
strawberry = bytearray([\
0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X01,0X80,0X00,0X00,0X01,0X80,0X00,0X00,0X01,
0X80,0X00,0X00,0X01,0X80,0X00,0XC0,0X01,0X80,0X03,0XE8,0X01,0X80,0X0D,0XE4,0X01,
0X80,0X1F,0XFE,0X01,0X80,0X3F,0XFF,0X01,0X80,0X7F,0XFF,0X01,0X80,0XFF,0XDF,0X81,
0X81,0XFF,0XFF,0XF9,0X83,0XFF,0XFF,0XC1,0X83,0XFF,0XFF,0XC1,0X87,0XFF,0XFF,0XC1,
0X8F,0XFF,0XFF,0XE1,0X9F,0X7F,0XFF,0XE1,0XBF,0XFF,0XFF,0XE1,0XBF,0XFF,0XFF,0XE1,
0XBF,0XFE,0XFF,0XE1,0XBF,0XDF,0XFF,0XE1,0XBF,0XFF,0XFF,0XC1,0X9F,0XFF,0XFE,0XC1,
0X9F,0XFF,0XBF,0X81,0X8F,0XFF,0XFF,0X01,0X81,0XFF,0XFC,0X01,0X80,0X07,0XF0,0X01,
0X80,0X00,0X00,0X01,0X80,0X00,0X00,0X01,0X80,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF,
])
#打勾
tick = bytearray([\
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,0X00,0X00,0X03,0XC0,0X00,0X00,0X03,
0XC0,0X00,0X00,0X03,0XC0,0X00,0X00,0X63,0XC0,0X00,0X00,0XE3,0XC0,0X00,0X01,0XE3,
0XC0,0X00,0X03,0XE3,0XC0,0X00,0X07,0XE3,0XC0,0X00,0X0F,0XE3,0XC0,0X00,0X1F,0XE3,
0XC0,0X00,0X1F,0XF3,0XC0,0X00,0X3F,0XF3,0XC0,0X00,0X7F,0XC3,0XC0,0X00,0X7F,0X83,
0XC0,0XC0,0XFF,0X03,0XC1,0XE0,0XFE,0X03,0XC7,0XE1,0XFC,0X03,0XCF,0XF1,0XF8,0X03,
0XCF,0XF3,0XF0,0X03,0XC3,0XFB,0XE0,0X03,0XC1,0XFF,0XC0,0X03,0XC0,0X7F,0X80,0X03,
0XC0,0X3F,0X80,0X03,0XC0,0X1F,0X00,0X03,0XC0,0X0E,0X00,0X03,0XC0,0X06,0X00,0X03,
0XC0,0X04,0X00,0X03,0XC0,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
])
#--------------------------------------------------------
#函数定义
#生成8个随机水果下标
#默认数组,循环2次,就有个8了,如何避免每次生成重复的呢,下面请看
def getFruitRand():
fruitsIndex=
fruitsIndex_random=[]
for i in range(2): #对循环2次加入到fruitsIndex_random中
fruitsIndex_=fruitsIndex.copy() #这里不直接用fruitsIndex,因为下面有del删除,我们拷贝一份副本
for j in range(4): #循环4次
rand=random.randint(0,len(fruitsIndex_)-1) #随机0-3,因j从0开始最大为3,而len(fruitsIndex)返回的是4,所以-1
randIndex=fruitsIndex_ #取随机下标,范围在0-3中, fruitsIndex=
fruitsIndex_random.append(randIndex) #添加到fruitsIndex_random中
del(fruitsIndex_) #这里核心,添加完成后删除掉fruitsIndex中的内容
#删除掉后,随机就肯定不会出现重复的了
#比如每次都随机删除最后一个
#循环第一次fruitsIndex_长度为
#循环第二次fruitsIndex_长度为
#循环第三次fruitsIndex_长度为
#循环第四次fruitsIndex_长度为
#这样随机肯定不会重复
#返回得到的8位随机水果下标fruitsIndex_random
return fruitsIndex_random
#显示8个水果图片
#isShow主要控制是否最后oled.show(),因为我可能会再show()之前插入一些文字
#fruitsIndex传输的8位随机水果下标,如
def showFruit(fruitsIndex,isShow=True):
i=0
for index in fruitsIndex: #遍历fruitsIndex下标,i计次,从0开始
if i<4: #控制一行显示4个
if index==-1: #下标为何出现-1,在其他函数中连连看完成会置下标-1
oled.Bitmap(32*i, 0, tick, 32, 32, 1) #显示打勾图片(x每次递增32,因为每张图32*32,屏宽128)
else: #否则显示水果图
oled.Bitmap(32*i, 0, fruits, 32, 32, 1)
if i>=4: #如果显示第5个图了,换行显示,y坐标变成32
if index==-1: #以此类题,显示打勾图片
oled.Bitmap(32*(i-4), 32, tick, 32, 32, 1)
else:
oled.Bitmap(32*(i-4), 32, fruits, 32, 32, 1)
i=i+1 #i递增
#是否显示输出
if isShow:
oled.show()
#按键A触发事件,向左移动判断
def on_button_a_down(_):
global cursor_X,cursor_Y,chose1XY,isFinish#引用全局变量
time.sleep_ms(10) #防抖,可以不写
if button_a.value() == 1: return #按钮按下状态
if isFinish==True: #如果全部连完了,重新开始游戏
start()
return
oled.fill(0) #清空屏幕显示
showFruit(fruitsIndex,False) #显示水果,传入随机的8个水果下标
cursor_X=cursor_X-32 #全局光标坐标-32(因图片宽高为32)
if cursor_X<0 and cursor_Y==8: #如果光标在第一行且X到最左端了,那么换到第二行最右侧
cursor_X=100 #换到第二行最右侧
cursor_Y=40
if cursor_X<4 and cursor_Y==40: #如果光标在第二行且X在最左端了,那么换到第一行最右侧
cursor_X=100
cursor_Y=8
if chose1XY: #如果第1个位置已经选中状态
oled.DispChar('选中', chose1XY, chose1XY)#显示那个"光标"的文字位置
oled.DispChar('光标', cursor_X, cursor_Y) #否则显示"光标"文字
oled.show() #显示生效
#按键B触发事件,向右移动判断
def on_button_b_down(_):
global cursor_X,cursor_Y,chose1XY,isFinish #按键B与按键A没有区别,就是到极端时换行不同
time.sleep_ms(10)
if button_b.value() == 1: return
if isFinish==True:
start()
return
oled.fill(0)
showFruit(fruitsIndex,False)
cursor_X=cursor_X+32
if cursor_X>128 and cursor_Y==40:
cursor_X=4
cursor_Y=8
if cursor_X>128 and cursor_Y==8:
cursor_X=4
cursor_Y=40
if chose1XY :
oled.DispChar('选中', chose1XY, chose1XY)
oled.DispChar('光标', cursor_X, cursor_Y)
oled.show()
#验证是否完成8个水果的连连看
def checkIsFinish():
global isFinish #引用全局变量
i=0 #初始化i变量
for index in fruitsIndex: #遍历fruitsIndex下标情况
if index==-1: #如果为-1,i递增(在其他函数中连连看完成会置下标-1)
i=i+1
if i>=8: #如果i等于8说明8个连连看都完成了
isFinish=True #置全局变量
oled.fill(0) #清空屏幕显示
oled.DispChar('恭喜您,通关了!', 28, 15) #填充文字
oled.DispChar('按A或B重新开始', 22, 30) #填充文字
oled.show() #显示生效
#通过金手指T和H来选择水果
def choseFruit(cursor_X,cursor_Y):
global fruitsIndex,chose1Index,chose2Index,chose1XY,chose2XY
i=0
for x,y in fruitXY: #遍历8张图的预定义坐标
if cursor_X==x and cursor_Y==y: #如果当前光标位置=预定义坐标位置,即可得到水果下标
if fruitsIndex==-1: #如果光标位置下标为-1,说明已是打勾状态,不重复选中
return #返回
if chose1XY: #如果第1个位置已经选中状态
chose2XY= #把光标位置赋给第2个选择位置
chose2Index=fruitsIndex #同时得到水果下标
else:
chose1XY= #否则赋值第1个选择位置
chose1Index=fruitsIndex #同时得到水果下标
i=i+1 #i递增
showFruit(fruitsIndex,False) #显示水果,不立即显示生效
if chose2XY: #如果第2个位置选中了,此时可进行匹配
if chose1Index==chose2Index and chose1XY!=chose2XY: #如果位置1和位置2的下标相同且坐标不相同(否则连自身就匹配成功了)
oled.line(chose1XY, chose1XY, chose2XY, chose2XY, 1) #画线,位置1到位置2
oled.DispChar('成功', cursor_X, cursor_Y) #填充文字
for i in range(len(fruitsIndex)): #遍历全局fruitsIndex,把该水果的下标置-1
if fruitsIndex==chose2Index:
fruitsIndex=-1
chose1XY=[] #清空位置1坐标
chose2XY=[] #清空位置2坐标
oled.show() #显示生效
checkIsFinish() #检测是否全部匹配完成
else:
oled.DispChar('选中', cursor_X, cursor_Y) #否则继续显示"选中"文字
oled.show() #显示生效
#开始游戏
def start():
#引用全局变量并初始化默认值,因为重新开始游戏时必须初始化
global fruitsIndex,cursor_X,cursor_Y,chose1XY,chose1Index,chose2XY,chose2Index,fruitsIndex,isFinish
#初始化变量
chose1XY=[]
chose1Index=''
chose2XY=[]
chose2Index=''
fruitsIndex=[]
cursor_X=4
cursor_Y=8
isFinish=False
oled.fill(0) #清空屏幕显示
fruitsIndex=getFruitRand() #获取随机的8个水果下标
showFruit(fruitsIndex,False) #第一次开始游戏先显示水果,传入8个随机水果下标
oled.DispChar('光标', cursor_X, cursor_Y) #第一次开始游戏,光标出现在默认的x,y4,8位置
oled.show() #显示生效
#--------------------------------------------------------
#变量定义
fruits= #4个图片的bitmap数组
fruitsIndex=[] #水果的下标数组,用来存放随机的8个水果
fruitXY=[,,,,,,,]#8张图的预定义坐标,从左到右,从上到下
chose1XY=[] #位置1选择的水果坐标
chose1Index='' #位置1选择的水果下标
chose2XY=[] #位置2选择的水果坐标
chose2Index='' #位置2选择的水果下标
cursor_X=4 #全局光标坐标,默认为第一个图的位置4,8(居中显示)
cursor_Y=8
isFinish=False #是否已完成
start() #开始游戏
#--------------------------------------------------------
#按键监听
#按键A/B触发监视
button_a.irq(trigger=Pin.IRQ_FALLING, handler=on_button_a_down)
button_b.irq(trigger=Pin.IRQ_FALLING, handler=on_button_b_down)
#通过金手指T和H来选择水果
while True:
if(touchPad_T.read() < 100):
choseFruit(cursor_X,cursor_Y)
elif(touchPad_H.read() < 100):
choseFruit(cursor_X,cursor_Y)
11、俄罗斯方块
#MicroPython动手做(35)——小游戏
#俄罗斯方块
from mpython import *
import math
import random, time
class Brick():
def __init__(self, p_position):
self.position = p_position
def draw(self):
x = self.position * brick_size
y = self.position * brick_size
oled.fill_rect(brick_size * (field_height - 1) - x, y, brick_size, brick_size, 1)
class Block():
def __init__(self, p_bricks_layout, p_direction):
self.bricks_layout = p_bricks_layout
self.direction = p_direction
self.init_position = (field_width // 2 - 2, 0)
self.cur_layout = self.bricks_layout
self.position = self.init_position
self.stopped = False
self.move_interval = 500
self.last_move = 0
self.bricks = []
for (x, y) in self.cur_layout:
self.bricks.append(Brick((self.position + x, self.position + y)))
def draw(self):
for brick in self.bricks:
brick.draw()
def isLegal(self, layout, position):
(x0, y0) = position
for (x, y) in layout:
if x + x0 < 0 or y + y0 < 0 or x + x0 >= field_width or y + y0 >= field_height:
return False
if field_map != 0:
return False
return True
def left(self):
new_position = (self.position - 1, self.position)
if self.isLegal(self.cur_layout, new_position):
self.position = new_position
self.refresh_bircks()
def right(self):
new_position = (self.position + 1, self.position)
if self.isLegal(self.cur_layout, new_position):
self.position = new_position
self.refresh_bircks()
def down(self):
(x, y) = (self.position, self.position + 1)
while self.isLegal(self.cur_layout, (x, y)):
self.position = (x, y)
self.refresh_bircks()
y += 1
def refresh_bircks(self):
for (brick, (x, y)) in zip(self.bricks, self.cur_layout):
brick.position = (self.position + x, self.position + y)
def stop(self):
global field_bricks
global score
self.stopped = True
ys = []
for brick in self.bricks:
field_bricks.append(brick)
(x, y) = brick.position
if y not in ys:
ys.append(y)
field_map = 1
eliminate_count = 0
ys.sort()
for y in ys:
if 0 in field_map:
continue
eliminate_count += 1
for fy in range(y, 0, -1):
field_map = field_map[:]
field_map =
tmp_field_bricks = []
for fb in field_bricks:
(fx, fy) = fb.position
if fy < y:
fb.position = (fx, fy + 1)
tmp_field_bricks.append(fb)
elif fy > y:
tmp_field_bricks.append(fb)
field_bricks = tmp_field_bricks
if eliminate_count == 1:
score += 1
elif eliminate_count == 2:
score += 2
elif eliminate_count == 3:
score += 4
elif eliminate_count == 4:
score += 6
def update(self, time):
self.draw()
if time - self.last_move >= self.move_interval:
new_position = (self.position, self.position + 1)
if self.isLegal(self.cur_layout, new_position):
self.position = new_position
self.refresh_bircks()
self.last_move = time
else:
self.stop()
def rotate(self):
new_direction = (self.direction + 1) % len(self.bricks_layout)
new_layout = self.bricks_layout
if not self.isLegal(new_layout, self.position):
return
self.direction = new_direction
self.cur_layout = new_layout
for (brick, (x, y)) in zip(self.bricks, self.cur_layout):
brick.position = (self.position + x, self.position + y)
self.refresh_bircks()
self.draw()
# 0: oooo
# 1: oo
# oo
# 2: o
# ooo
# 3: o
# oo
# o
# 4:o
# oo
# o
# 5: ooo
# o
# 6: ooo
# o
bricks_layout_0 = (((0, 0), (0, 1), (0, 2), (0, 3)), ((0, 1), (1, 1), (2, 1), (3, 1)))
bricks_layout_1 = (((1, 0), (2, 0), (1, 1), (2, 1)), )
bricks_layout_2 = (
((1, 0), (0, 1), (1, 1), (2, 1)),
((0, 1), (1, 0), (1, 1), (1, 2)),
((1, 2), (0, 1), (1, 1), (2, 1)),
((2, 1), (1, 0), (1, 1), (1, 2)),
)
bricks_layout_3 = (
((0, 1), (1, 1), (1, 0), (2, 0)),
((0, 0), (0, 1), (1, 1), (1, 2)),
)
bricks_layout_4 = (
((0, 0), (1, 0), (1, 1), (2, 1)),
((1, 0), (1, 1), (0, 1), (0, 2)),
)
bricks_layout_5 = (
((0, 0), (1, 0), (1, 1), (1, 2)),
((0, 2), (0, 1), (1, 1), (2, 1)),
((1, 0), (1, 1), (1, 2), (2, 2)),
((2, 0), (2, 1), (1, 1), (0, 1)),
)
bricks_layout_6 = (
((2, 0), (1, 0), (1, 1), (1, 2)),
((0, 0), (0, 1), (1, 1), (2, 1)),
((0, 2), (1, 2), (1, 1), (1, 0)),
((2, 2), (2, 1), (1, 1), (0, 1)),
)
field_width, field_height = 16, 30
brick_size = 4
field_map = [ for i in range(field_height)]
field_bricks = []
score = 0
running = True
threshhold = 400
def drawField():
for brick in field_bricks:
brick.draw()
def getBlock():
block_type = random.randint(0, 6)
if block_type == 0:
return Block(bricks_layout_0, random.randint(0, len(bricks_layout_0) - 1))
elif block_type == 1:
return Block(bricks_layout_1, random.randint(0, len(bricks_layout_1) - 1))
elif block_type == 2:
return Block(bricks_layout_2, random.randint(0, len(bricks_layout_2) - 1))
elif block_type == 3:
return Block(bricks_layout_3, random.randint(0, len(bricks_layout_3) - 1))
elif block_type == 4:
return Block(bricks_layout_4, random.randint(0, len(bricks_layout_4) - 1))
elif block_type == 5:
return Block(bricks_layout_5, random.randint(0, len(bricks_layout_5) - 1))
elif block_type == 6:
return Block(bricks_layout_6, random.randint(0, len(bricks_layout_6) - 1))
def run():
global running
btn_n_stat, btn_o_stat, btn_t_stat, btn_p_stat = * 4
while running:
cur_block = getBlock()
if not cur_block.isLegal(cur_block.cur_layout, cur_block.position):
cur_block.draw()
running = False
continue
while not cur_block.stopped:
oled.fill(0)
ticks = time.ticks_ms()
cur_block.update(ticks)
drawField()
oled.show()
if touchPad_T.read() < threshhold and btn_t_stat == 0:
cur_block.rotate()
btn_t_stat = 1
elif touchPad_T.read() >= threshhold:
btn_t_stat = 0
if touchPad_P.read() < threshhold and btn_p_stat == 0:
cur_block.down()
btn_p_stat = 1
elif touchPad_P.read() >= threshhold:
btn_p_stat = 0
if touchPad_N.read() < threshhold and btn_n_stat == 0:
cur_block.left()
btn_n_stat = 1
elif touchPad_N.read() >= threshhold:
btn_n_stat = 0
if touchPad_O.read() < threshhold and btn_o_stat == 0:
cur_block.right()
btn_o_stat = 1
elif touchPad_O.read() >= threshhold:
btn_o_stat = 0
oled.fill(0)
oled.text('Game over!', 25, 20)
oled.text('Score:%d' % score, 25, 32)
oled.show()
if __name__ == '__main__':
run()
1、弹球游戏
#MicroPython动手做(35)——体验小游戏
#弹球游戏
from mpython import *
import music
import time
def func():
global a, b, FMQ, loc, staart_flag, Start, X, Y
music.pitch(131, 500)
loc = 44
a = 2
b = 2
staart_flag = False
Start = True
Y = 48
X = 64
FMQ = False
def a1():
global a, b, FMQ, loc, staart_flag, Start, X, Y
if FMQ:
music.pitch(131, 500)
FMQ = False
def a3():
global a, b, FMQ, loc, staart_flag, Start, X, Y
if Start:
if button_a.value() == 0:
staart_flag = True
loc = loc - 2
if loc < 0:
loc = 0
if button_b.value() == 0:
staart_flag = True
loc = loc + 2
if loc > 88:
loc = 88
def a2():
global a, b, FMQ, loc, staart_flag, Start, X, Y
oled.fill(0)
oled.fill_rect(loc, 55, 40, 5, 1)
oled.fill_circle(X, Y, 5, 1)
oled.show()
if button_a.value() == 0 and button_b.value() == 0:
func()
while button_a.value() == 0 and button_b.value() == 0:
pass
time.sleep_ms(100)
def a4():
global a, b, FMQ, loc, staart_flag, Start, X, Y
if staart_flag:
X = X + a
Y = Y - b
if X >= 122:
a = a * -1
if X <= 5:
a = a * -1
if Y <= 5:
b = b * -1
if Y >= 48:
if not (X > loc + 50 or X < loc - 10):
b = b * -1
if X > loc + 50 or X < loc - 10:
staart_flag = False
Start = False
FMQ = True
func()
while True:
a1()
a2()
a3()
a4()
mPython X 实验图形编程
弹球游戏(实验视频)
https://v.youku.com/v_show/id_XNDcyNzU1MjkwNA==.html?spm=a2h0c.8166622.PhoneSokuUgc_1.dtitle
https://v.youku.com/v_show/id_XNDcyNzU1MjkwNA==.html?spm=a2h0c.8166622.PhoneSokuUgc_1.dtitle
简单连连看
Mind+ 实验图形编程
Mind+ 实验图形编程2
4、平衡自行车(shworld)
#MicroPython动手做(35)——小游戏
#平衡自行车
from mpython import *
#自行车BMP图像转字节数据参考
#https://mpython.readthedocs.io/zh/master/tutorials/basics/oled.html#id4
bmp = bytearray([\
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X7F,0X00,0X0F,0XF8,0X00,0X00,
0X00,0X00,0X18,0X00,0X0C,0X0C,0X00,0X00,0X00,0X00,0X08,0X00,0X04,0X04,0X00,0X00,
0X00,0X00,0X04,0X00,0X02,0X38,0X00,0X00,0X00,0X00,0X07,0XFF,0XFF,0X00,0X00,0X00,
0X00,0X00,0X07,0X00,0X07,0X00,0X00,0X00,0X00,0X00,0X09,0X00,0X04,0X80,0X00,0X00,
0X00,0X00,0X11,0X80,0X0C,0XC0,0X00,0X00,0X00,0XFF,0X30,0X80,0X18,0X7F,0XE0,0X00,
0X03,0X80,0XE0,0XC0,0X30,0X70,0X38,0X00,0X06,0X00,0XF0,0X60,0X21,0XB0,0X06,0X00,
0X08,0X00,0X88,0X20,0X43,0X10,0X03,0X00,0X10,0X01,0X04,0X30,0X86,0X08,0X01,0X00,
0X30,0X03,0X0E,0XFF,0X84,0X0C,0X00,0X80,0X20,0X1F,0XFF,0X31,0X8C,0X04,0X00,0XC0,
0X60,0X32,0X02,0X20,0X8C,0X00,0X00,0XC0,0X60,0X22,0X02,0X24,0XC8,0X00,0X00,0XC0,
0X60,0X1F,0X02,0X3C,0X8C,0X00,0X00,0XC0,0X30,0X0F,0XFF,0XFF,0X04,0X00,0X00,0X80,
0X10,0X00,0X04,0X18,0X04,0X00,0X01,0X80,0X18,0X00,0X0C,0X08,0X02,0X00,0X03,0X00,
0X0C,0X00,0X18,0X00,0X01,0X00,0X06,0X00,0X07,0X00,0X70,0X00,0X00,0XC0,0X0C,0X00,
0X01,0XFF,0XC0,0X00,0X00,0X3F,0XF0,0X00,0X00,0X3E,0X00,0X00,0X00,0X0F,0XC0,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
])
#无限循环
while True:
bikeWidth=60 #自行车图片宽度
bikeHeight=30 #自行车图片高度
bikeInitX=34 #初始化自行车的X中央点,屏幕宽度128/2-补偿自行车宽度30=34
bikeInitY=35 #初始化自行车的Y点,手动测量调为35即可
y=accelerometer.get_y() #如官方说明图所示,y轴和x轴是相反的,所以这里获取的是y轴加速度
if y<=1 and y>=-1: #定界,其实不定也行。用于下面设定变量转换
offsetX=int(numberMap(y,1,-1,-60,128)) #-60=最小宽度0-自行车宽度,128为屏幕最大宽度
#offsetX主要把y轴的加速度转换成屏幕的宽度分辨率
#numberMap变量转换说明
#numberMap(输入值,需映射的最小值,需映射的最大值,映射出的最小值,映射出的最大值)
#比如numberMap(i,1,2,10000,20000)
#即i是变量,范围在1~2之间,通过numberMap函数你可以得到转换后的范围,在10000-2000之间
#如i是1.5则返回15000,i是1.8返回18000,以此类推
move_x=offsetX #移动的坐标
#清除
oled.fill(0)
#填充图形
oled.Bitmap(move_x,bikeInitY, bmp, bikeWidth, bikeHeight, 1)
#填充左侧钉子,手绘坐标
oled.line(0,64,2,58,1)
oled.line(2,58,4,64,1)
#填充右侧钉子,手绘坐标
oled.line(127,64,125,58,1)
oled.line(125,58,123,64,1)
#判断是否碰到左右钉子边界,并填充文字提示
if move_x+bikeWidth >=125:
oled.DispChar('老铁,扎前胎了!', 60-14, 0)
if move_x+bikeWidth<=58:
oled.DispChar('老铁,扎后胎了!',0,0)
#显示图形文字
oled.show()
本帖最后由 驴友花雕 于 2020-6-26 13:47 编辑
#MicroPython动手做(35)——小游戏
#平衡自行车(实验视频)
https://v.youku.com/v_show/id_XN ... oneSokuUgc_1.dtitle
https://v.youku.com/v_show/id_XNDcyNzY3NTUzMg==.html?spm=a2h0c.8166622.PhoneSokuUgc_1.dtitle
5、贪吃蛇2
使用三轴传感器控制前后左右
#MicroPython动手做(35)——小游戏
#贪吃蛇2
from mpython import *
import random, time
WIDTH, HEIGHT = 127, 63
class Direction():
"""
贪吃蛇方向,含上下左右
"""
UP = 0
DOWN = 1
LEFT = 2
RIGHT = 3
class GameState():
"""
游戏状态
"""
PLAYING = 0
PAUSE = 1
WIN = 2
FAIL = 3
class Snake():
"""
贪吃蛇
构建snake
:param cube(int): 网格大小默认4
"""
def __init__(self, cube=4):
self.cube_width = cube
self.grid_width_num, self.grid_height_num = WIDTH // self.cube_width, HEIGHT // self.cube_width
self.snake_body = []
self.snake_body.append((int(self.grid_width_num // 2 * self.cube_width),
int(self.grid_height_num // 2 * self.cube_width)))# 添加贪吃蛇的“头”
self.food_pos = self.generate_food()
self.direction = Direction.LEFT
def draw_grids(self):
"""
绘制网格
"""
for i in range(self.grid_width_num + 1):
oled.vline(self.cube_width * i, 0, HEIGHT, 1)
for i in range(self.grid_height_num + 1):
oled.hline(0, self.cube_width * i, WIDTH, 1)
def draw_body(self):
"""
绘制snake
"""
for sb in self.snake_body:
# pygame.draw.rect(screen, WHITE, (sb, sb, CUBE_WIDTH, CUBE_WIDTH))
oled.fill_rect(sb, sb, self.cube_width, self.cube_width, 1)
def generate_food(self):
"""
随机产生一个食物
"""
self.food_pos = (random.randint(0, self.cube_width - 1), random.randint(0, self.grid_height_num - 1))
return self.food_pos
def draw_food(self):
"""
绘制食物
"""
oled.fill_rect(self.food_pos * self.cube_width, self.food_pos * self.cube_width, self.cube_width,
self.cube_width, 1)
def grow(self):
"""
判断贪吃蛇是否吃到了事物,如果吃到了我们就加长小蛇的身体
"""
if self.snake_body == self.food_pos * self.cube_width and \
self.snake_body == self.food_pos * self.cube_width:
return True
return False
def refresh(self):
"""
更新小蛇身体的位置
"""
for i in range(len(self.snake_body) - 1, 0, -1):
self.snake_body = self.snake_body
def move(self):
"""
移动snake身体
"""
if self.direction == Direction.UP:
self.snake_body = (self.snake_body, self.snake_body - self.cube_width)
elif self.direction == Direction.DOWN:
self.snake_body = (self.snake_body, self.snake_body + self.cube_width)
# top += cube_width
elif self.direction == Direction.LEFT:
self.snake_body = (self.snake_body - self.cube_width, self.snake_body)
# left -= cube_width
elif self.direction == Direction.RIGHT:
self.snake_body = (self.snake_body + self.cube_width, self.snake_body)
class Game():
"""
snake游戏控制
"""
def __init__(self, fps=8):
self.snake = Snake()
self.get_body = self.snake.snake_body
self.state = None
self.fps = fps
self.handles_cb = None
def is_win(self):
"""
判断是否赢
"""
return len(self.get_body) == WIDTH * HEIGHT - 1
def is_fail(self):
"""
判断是否输
"""
if not 0 <= self.get_body < WIDTH or not 0 <= self.get_body < HEIGHT:
return True
return False
@property
def score(self):
"""
游戏分数
"""
return len(self.get_body) - 1
def handles_accele(self, threshold=0.2):
"""
掌控板加速度控制
"""
x = accelerometer.get_x()
y = accelerometer.get_y()
if y <= 1 and y >= -1:
if abs(y) > threshold:
if y > 0:
self.snake.direction = Direction.LEFT
else:
self.snake.direction = Direction.RIGHT
if x <= 1 and x >= -1:
if abs(x) > threshold:
if x > 0:
self.snake.direction = Direction.DOWN
else:
self.snake.direction = Direction.UP
def handles_callback(self, f):
"""
游戏控制回调函数,可外部自定义控制方式
"""
self.handles_cb = f
def run(self):
"""
游戏运行
"""
self.state = GameState.PLAYING
update_time = time.ticks_ms()
while self.state == GameState.PLAYING:# 游戏状态为PLAYING
self.handles_cb()# 游戏控制回调函数
# 显示帧刷新,刷新方块位置
if time.ticks_diff(time.ticks_ms(), update_time) > (1000 // self.fps):
last_pos = self.get_body[-1]# 这里需要保存一下尾部的位置,如果小蛇迟到了食物,需要在尾部增长
self.snake.refresh()# 更新小蛇身体的位置
self.snake.move()# 改变头部的位置
if self.snake.grow():# 判断小蛇是否吃到了事物,吃到了就成长,如果吃到了事物我们就产生一个新的食物
self.snake.generate_food()
self.get_body.append(last_pos)
oled.fill(0)# 清屏
self.snake.draw_body()# 画小蛇的身体
self.snake.draw_food()# 画出食物
oled.show()# 显示生效
update_time = time.ticks_ms()# 刷新帧时间
if self.is_fail():# 判断if输
self.state = GameState.FAIL
break
if self.is_win():# 判断if赢
self.state = GameState.WIN
break
if self.state == GameState.FAIL:# 输了,显示分数
oled.fill(0)
oled.text('Game over!', 25, 20)
oled.text('Score:%d' % self.score, 25, 32)
oled.show()
if self.state == GameState.WIN:# 赢了!
oled.fill(0)
oled.text('You win!', 25, 20)
oled.show()
if __name__ == '__main__':
game = Game(fps=8)
game.handles_callback(game.handles_accele)
game.run()
6、记忆力大比拼(shworld)
产生8位随机键序→累加用户的输入键序→判断键序
#MicroPython动手做(35)——小游戏
#记忆力大比拼
from mpython import *
import time
import random
isStart=False #是否首次载入,不然游戏中按A键又初始化了
inputKey='' #键序,统计用户输入的键序,如11112222
inputKey_STR=''#同键序,文本型,只不过用来显示,当前"当前您已输入AAABBBB"
keyOrder='' #获取到的8位随机键序,如11112222
#获取随机8位键序
def makeKeyOrder():
keys=''
for i in range(8):#循环8次
key = random.randrange(1, 3)#获取范围1到2, 1为A键,2位B键
keys = keys + str(key)
return keys
keyOrder = makeKeyOrder() #返回获取到的8位键序,如11112222
#覆写oledshow,主要减少重复代码量
def oledshow(str,y=0,isClear=True):
if isClear==False:
oled.DispChar(str, 0,y)
oled.show()
return
oled.fill(0)
oled.DispChar(str, 0,y)
oled.show()
#倒计时显示3-2-1
def countdownshow():
j=4
for i in range(3):
j = j-1
oledshow('倒计时:%s'%str(j),0)
time.sleep(1)
#每次用户按键后触发该方法
def checkKey():
global keyOrder,inputKey,inputKey_STR #引用全局变量,如果不修改变量,不需要申明global
if len(inputKey)==8: #如果当前按键数等于8位才开始进行对比
if inputKey==keyOrder: #如果输入的8位键序和生成的8位键序匹配
oledshow('恭喜您,按对了!...',0)#按键正确,输出内容
else:
oledshow('别灰心,再接再厉!...',0)#否则按键失败,输出内容
#重新开始下一轮
time.sleep(2) #暂停2秒,避免内容切换过快看不到
inputKey='' #清空用户输入的键值,如11112222
inputKey_STR='' #清空用户输入的键值,文本型,如AAAABBBB
oledshow('下一题开始:',0)
time.sleep(2)
keyOrder = makeKeyOrder() #重新获取8位键序,11112222
countdownshow() #倒计时显示3-2-1
showKey() #显示要记忆的键序
#显示键序
#主要是把数字11112222,转换成对应的AAAABBBB,很好理解,多看看
def showKey():
global keyOrder#引用全局变量
key_str='' #局部变量
for key in keyOrder:
if key=='1':
key_str=key_str+"A"
if key=='2':
key_str=key_str+"B"
oledshow(key_str,0)
time.sleep(1)
oledshow('',0)
#按键A触发事件
def on_button_a_down(_):
time.sleep_ms(100) #延迟调高点,避免产生2次按键事件
global isStart,inputKey,inputKey_STR #引用全局变量
if button_a.value() == 1: return
if isStart == True:
inputKey=inputKey+'1' #统计用户键序
inputKey_STR=inputKey_STR+'A' #统计用户键序,文本型,用来显示当前的输入
oledshow('您输入的是:'+inputKey_STR,0) #显示当前的输入
checkKey() #输入的键序进行校验匹配
return
isStart=True
oledshow('游戏现在开始...',0)
time.sleep(1)
countdownshow()
showKey()
#按键B触发事件
def on_button_b_down(_):
time.sleep_ms(100)#延迟调高点,避免产生2次按键事件
global inputKey,inputKey_STR
if button_b.value() == 1: return
if isStart == True:
inputKey=inputKey+'2' #统计用户键序
inputKey_STR=inputKey_STR+'B' #统计用户键序,文本型,用来显示当前的输入
oledshow('您输入的是:'+inputKey_STR,0) #显示当前的输入
checkKey() #输入的键序进行校验匹配
return
#按键触发监视
button_a.irq(trigger=Pin.IRQ_FALLING, handler=on_button_a_down)
button_b.irq(trigger=Pin.IRQ_FALLING, handler=on_button_b_down)
#游戏启动
oledshow('【记忆力大比拼】',0,False)
oledshow('记忆屏幕出现的键序',16,False)
oledshow('如ABABAA,请依次键入',32,False)
oledshow('按A键自动开始游戏',48,False)
记忆力大比拼
本帖最后由 驴友花雕 于 2020-6-26 14:41 编辑
7、吃鸡游戏(luyi)
#MicroPython动手做(35)——小游戏
#吃鸡游戏
from mpython import *
import time
import random
import music
def zhunxing():
global grade, zidan, foodstate, yy, diY, xx, diX
oled.hline((xx - 10), yy, 20, 1)
oled.vline(xx, (yy - 10), 20, 1)
oled.circle(xx, yy, 6, 1)
random.seed(time.ticks_cpu())
oled.fill(0)
oled.DispChar("今晚吃鸡?", 32, 26, 1)
oled.show()
time.sleep(3)
xx = 64
yy = 32
foodstate = True
grade = 0
zidan = 10
while True:
if foodstate:
diX = random.randint(4, 120)
diY = random.randint(4, 60)
foodstate = False
xx = int(numberMap(accelerometer.get_y(),(-0.5),0.5,2,125))
yy = int(numberMap(accelerometer.get_x(),0.5,(-0.5),2,61))
if xx >= 2 and xx <= 125 and yy >= 2 and yy <= 61:
oled.fill(0)
oled.fill_circle(diX, diY, 4, 1)
zhunxing()
oled.show()
if button_a.value() == 0 or button_b.value() == 0:
rgb.fill((int(255), int(0), int(0)))
rgb.write()
time.sleep_ms(1)
music.play('C3:1')
zidan = zidan + -1
if diX >= xx - 2 and diX <= xx + 2 and diY >= yy - 2 and diY <= yy + 2:
foodstate = True
grade = grade + 1
if zidan <= 0:
oled.fill(0)
oled.DispChar(" 游戏结束", 0, 16, 1)
oled.DispChar(str(" 得分:") + str(grade), 0, 32, 1)
oled.show()
break
time.sleep_ms(100)
rgb.fill( (0, 0, 0) )
rgb.write()
time.sleep_ms(1)
mPython X 实验图形编程
mPython X 实验图形编程2