static const int fgy[1024] = {
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  12,  24,  36,  48,  32,
  16,  0,  0,  0,  8,  20,  28,  40,  52,  32,  16,  0,  0,  0,  12,  24,
  36,  48,  32,  16,  0,  0,  0,  12,  28,  44,  60,  40,  20,  0,  0,  8,
  20,  28,  40,  52,  36,  24,  12,  0,  0,  0,  12,  28,  44,  60,  40,  20,
  0,  0,  0,  8,  16,  28,  36,  48,  32,  16,  0,  0,  12,  28,  44,  60,
  44,  28,  12,  0,  0,  0,  16,  32,  52,  40,  28,  20,  8,  0,  0,  0,
  12,  28,  44,  60,  40,  20,  0,  0,  0,  12,  24,  36,  52,  32,  16,  0,
  0,  8,  20,  28,  40,  52,  40,  28,  20,  8,  0,  0,  12,  24,  36,  48,
  36,  28,  16,  8,  0,  0,  0,  12,  24,  36,  48,  60,  40,  20,  0,  0,
  0,  8,  20,  32,  44,  32,  24,  16,  8,  0,  0,  0,  12,  24,  36,  48,
  36,  28,  16,  8,  0,  0,  0,  12,  24,  36,  48,  60,  48,  36,  24,  12,
  0,  0,  8,  16,  28,  36,  48,  32,  16,  0,  0,  20,  40,  60,  40,  20,
  0,  0,  8,  20,  28,  40,  52,  40,  28,  20,  8,  0,  0,  8,  16,  28,
  36,  48,  32,  16,  0,  0,  16,  36,  56,  36,  16,  0,  0,  0,  8,  16,
  24,  32,  44,  28,  12,  0,  0,  16,  32,  52,  36,  24,  12,  0,  0,  12,
  28,  44,  60,  40,  20,  0,  0,  0,  8,  20,  28,  40,  52,  32,  16,  0,
  0,  0,  12,  28,  44,  28,  12,  0,  0,  0,  8,  20,  32,  44,  56,  44,
  32,  20,  8,  0,  0,  0,  8,  20,  28,  40,  52,  36,  24,  12,  0,  0,
  0,  20,  40,  60,  44,  28,  12,  0,  0,  20,  40,  60,  48,  36,  24,  12,
  0,  0,  0,  8,  20,  32,  44,  28,  12,  0,  0,  0,  8,  20,  32,  44,
  32,  20,  8,  0,  0,  20,  40,  60,  48,  36,  24,  12,  0,  0,  12,  28,
  44,  28,  12,  0,  0,  12,  28,  44,  32,  24,  16,  8,  0,  0,  0,  8,
  20,  28,  40,  52,  32,  16,  0,  0,  12,  28,  40,  56,  40,  28,  12,  0,
  0,  20,  40,  60,  48,  36,  24,  12,  0,  0,  0,  12,  24,  36,  48,  36,
  28,  16,  8,  0,  0,  20,  40,  60,  40,  20,  0,  0,  0,  12,  28,  44,
  32,  24,  16,  8,  0,  0,  16,  36,  56,  40,  28,  12,  0,  0,  0,  16,
  32,  52,  40,  28,  20,  8,  0,  0,  16,  32,  52,  32,  16,  0,  0,  0,
  16,  36,  56,  40,  28,  12,  0,  0,  12,  28,  44,  60,  48,  36,  24,  12,
  0,  0,  12,  24,  36,  48,  60,  44,  28,  12,  0,  0,  8,  16,  24,  32,
  44,  28,  12,  0,  0,  0,  12,  24,  36,  52,  32,  16,  0,  0,  0,  12,
  28,  40,  56,  44,  32,  20,  8,  0,  0,  8,  20,  32,  44,  56,  40,  28,
  12,  0,  0,  12,  24,  36,  48,  60,  40,  20,  0,  0,  20,  40,  60,  44,
  28,  12,  0,  0,  12,  24,  36,  48,  60,  48,  36,  24,  12,  0,  0,  0,
  8,  20,  32,  44,  28,  12,  0,  0,  0,  12,  28,  44,  32,  24,  16,  8,
  0,  0,  8,  20,  32,  44,  56,  44,  32,  20,  8,  0,  0,  0,  16,  32,
  52,  32,  16,  0,  0,  12,  28,  40,  56,  44,  32,  20,  8,  0,  0,  8,
  16,  24,  32,  44,  28,  12,  0,  0,  12,  24,  36,  48,  60,  40,  20,  0,
  0,  0,  12,  24,  36,  52,  40,  28,  20,  8,  0,  0,  8,  20,  28,  40,
  52,  36,  24,  12,  0,  0,  8,  20,  28,  40,  52,  40,  28,  20,  8,  0,
  0,  16,  32,  48,  36,  24,  12,  0,  0,  0,  20,  40,  60,  48,  36,  24,
  12,  0,  0,  0,  8,  20,  28,  40,  52,  36,  24,  12,  0,  0,  12,  28,
  40,  56,  40,  28,  12,  0,  0,  0,  8,  20,  32,  44,  56,  40,  28,  12,
  0,  0,  12,  24,  36,  48,  60,  44,  28,  12,  0,  0,  0,  12,  24,  36,
  48,  60,  48,  36,  24,  12,  0,  0,  16,  36,  56,  40,  28,  12,  0,  0,
  16,  32,  52,  32,  16,  0,  0,  8,  16,  28,  36,  48,  32,  16,  0,  0,
  0,  8,  20,  32,  44,  56,  36,  16,  0,  0,  16,  32,  52,  32,  16,  0,
  0,  0,  8,  16,  24,  32,  44,  28,  12,  0,  0,  0,  8,  16,  24,  32,
  44,  28,  12,  0,  0,  12,  24,  36,  48,  60,  48,  36,  24,  12,  0,  0,
  8,  16,  28,  36,  48,  36,  28,  16,  8,  0,  0,  12,  24,  36,  52,  32,
  16,  0,  0,  0,  16,  32,  52,  40,  28,  20,  8,  0,  0,  20,  40,  60,
  48,  36,  24,  12,  0,  0,  12,  24,  36,  48,  36,  24,  12,  0,  0,  0,
  16,  32,  48,  36,  28,  16,  8,  0,  0,  0,  12,  24,  36,  48,  60,  40,
  20,  0,  0,  0,  8,  16,  28,  36,  48,  36,  24,  12,  0,  0,  0,  16,
  32,  52,  32,  16,  0,  0,  0,  8,  20,  32,  44,  32,  24,  16,  8,  0,
  0,  20,  40,  60,  40,  20,  0,  0,  0,  8,  16,  24,  32,  44,  32,  24,
  16,  8,  0,  0,  16,  32,  52,  40,  28,  20,  8,  0,  0,  16,  32,  52,
  36,  24,  12,  0,  0,  0,  12,  24,  36,  52,  40,  28,  20,  8,  0,  0,
  0,  16,  32,  52,  36,  24,  12,  0,  0,  0,  12,  28,  44,  28,  12,  0,
  0,  0,  12,  24,  36,  48,  60,  44,  28,  12,  0,  0,  12,  24,  36,  48,
  36,  24,  12,  0,  0,  16,  32,  48,  32,  16,  0,  0,  12,  28,  40,  56,
  36,  16,  0,  0,  0,  12,  28,  44,  32,  20,  8,  0,  0,  12,  28,  40,
  56,  36,  16,  0,  0,  12,  28,  44,  32,  20,  8,  0,  0,  12,  24,  36,
  52,  40,  28,  20,  8,  0,  0,  8,  20,  28,  40,  52,  32,  16,  0,  0,
  8,  20,  32,  44,  32,  24,  16,  8,  0,  0,  0,  0,  0,  0,  0,  0,
};
static const unsigned char bgy[1024] = {
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  8,
  16,  28,  36,  48,  36,  28,  16,  8,  0,  0,  0,  12,  24,  40,  24,  12,
  0,  0,  0,  8,  20,  32,  44,  28,  12,  0,  0,  8,  20,  32,  44,  32,
  24,  16,  8,  0,  0,  8,  20,  28,  40,  28,  20,  8,  0,  0,  0,  0,
  12,  24,  36,  24,  12,  0,  0,  0,  8,  16,  28,  36,  48,  32,  16,  0,
  8,  20,  28,  40,  52,  40,  28,  20,  8,  0,  8,  16,  24,  32,  44,  28,
  12,  0,  0,  0,  0,  12,  24,  40,  24,  12,  0,  0,  0,  0,  16,  32,
  48,  32,  16,  0,  0,  0,  0,  0,  0,  0,  12,  28,  44,  32,  20,  8,
  0,  0,  8,  20,  28,  40,  24,  12,  0,  0,  0,  0,  0,  12,  24,  36,
  52,  40,  28,  20,  8,  0,  0,  0,  16,  32,  52,  40,  28,  20,  8,  0,
  0,  0,  0,  12,  28,  44,  32,  24,  16,  8,  0,  0,  0,  0,  12,  24,
  36,  52,  32,  16,  0,  0,  0,  0,  0,  16,  32,  48,  36,  28,  16,  0,
  12,  24,  36,  28,  20,  12,  4,  0,  0,  0,  8,  20,  28,  40,  28,  20,
  8,  0,  0,  0,  12,  24,  40,  28,  0,  8,  16,  24,  36,  24,  12,  0,
  0,  0,  0,  0,  16,  32,  48,  36,  28,  16,  0,  8,  16,  24,  32,  44,
  28,  12,  0,  0,  8,  20,  28,  40,  28,  20,  8,  0,  0,  0,  12,  24,
  36,  52,  36,  0,  8,  16,  28,  36,  48,  36,  24,  12,  0,  0,  0,  0,
  4,  12,  20,  28,  36,  24,  12,  0,  0,  0,  0,  0,  8,  20,  28,  40,
  52,  32,  16,  0,  0,  0,  12,  24,  36,  48,  36,  24,  0,  8,  16,  28,
  36,  48,  36,  24,  12,  0,  0,  0,  8,  20,  32,  44,  32,  20,  8,  0,
  0,  0,  8,  20,  32,  44,  32,  24,  16,  0,  12,  24,  36,  52,  36,  24,
  0,  8,  20,  28,  40,  52,  36,  24,  12,  0,  8,  16,  24,  36,  24,  16,
  8,  0,  0,  0,  8,  16,  28,  36,  48,  32,  16,  0,  0,  0,  0,  12,
  24,  36,  28,  20,  12,  4,  0,  12,  28,  44,  32,  24,  16,  8,  0,  0,
  0,  0,  0,  12,  24,  36,  24,  16,  0,  8,  16,  24,  36,  28,  20,  12,
  0,  8,  20,  28,  40,  52,  36,  24,  12,  0,  0,  8,  16,  24,  36,  24,
  12,  0,  0,  0,  0,  0,  12,  28,  44,  32,  24,  16,  8,  0,  64,  0,
  0,  0,  0,  0,  0,  12,  24,  36,  24,  16,  8,  0,  0,  0,  0,  0,
  12,  24,  40,  32,  24,  16,  8,  0,  0,  0,  12,  24,  40,  32,  24,  16,
  8,  0,  12,  28,  44,  32,  24,  16,  8,  0,  0,  16,  32,  52,  36,  24,
  12,  0,  0,  0,  0,  12,  24,  36,  52,  40,  28,  20,  8,  0,  8,  16,
  24,  32,  40,  32,  24,  16,  8,  0,  12,  24,  36,  52,  36,  24,  0,  8,
  16,  28,  36,  48,  36,  28,  16,  8,  0,  0,  0,  0,  12,  24,  36,  52,
  32,  16,  0,  0,  8,  20,  28,  40,  52,  40,  28,  20,  8,  0,  0,  16,
  32,  48,  32,  16,  0,  0,  0,  0,  0,  0,  16,  32,  48,  36,  24,  12,
  0,  0,  16,  32,  48,  36,  28,  16,  8,  0,  4,  12,  20,  28,  36,  24,
  16,  8,  0,  4,  12,  20,  28,  36,  28,  20,  12,  4,  0,  0,  12,  24,
  40,  24,  12,  0,  0,  0,  0,  0,  0,  8,  20,  32,  44,  32,  20,  8,
  0,  0,  8,  16,  24,  32,  40,  24,  12,  0,  0,  0,  0,  0,  0,  16,
  32,  48,  36,  24,  12,  0,  16,  32,  52,  32,  16,  0,  0,  0,  0,  0,
  0,  16,  32,  52,  36,  24,  12,  0,  0,  0,  0,  16,  32,  48,  32,  16,
  0,  0,  4,  12,  20,  28,  36,  24,  12,  0,  0,  0,  0,  0,  0,  16,
  32,  48,  32,  16,  0,  0,  0,  0,  0,  16,  32,  48,  36,  28,  16,  8,
  0,  0,  0,  0,  0,  0,  12,  24,  40,  24,  12,  0,  0,  0,  16,  32,
  48,  32,  0,  8,  16,  28,  36,  48,  36,  24,  12,  0,  4,  12,  20,  28,
  36,  24,  12,  0,  0,  0,  8,  16,  24,  36,  24,  16,  0,  8,  16,  24,
  32,  40,  24,  12,  0,  0,  0,  8,  20,  32,  44,  32,  24,  16,  8,  0,
  0,  8,  20,  32,  44,  32,  20,  8,  0,  0,  0,  0,  12,  24,  36,  48,
  36,  24,  12,  0,  0,  0,  8,  16,  24,  32,  44,  32,  20,  0,  8,  16,
  24,  32,  44,  28,  12,  0,  0,  0,  0,  0,  16,  32,  48,  32,  16,  0,
  0,  0,  0,  0,  12,  24,  36,  24,  12,  0,  0,  0,  12,  24,  36,  48,
  36,  28,  16,  8,  0,  0,  8,  16,  24,  36,  24,  16,  8,  0,  8,  16,
  24,  32,  44,  28,  12,  0,  0,  0,  0,  0,  0,  8,  16,  24,  36,  24,
  0,  8,  16,  24,  32,  44,  28,  12,  0,  0,  0,  0,  0,  12,  24,  36,
  52,  36,  24,  12,  0,  12,  24,  36,  52,  32,  16,  0,  0,  0,  0,  0,
  0,  8,  20,  32,  44,  32,  20,  8,  0,  0,  140,  24,  36,  52,  36,  24,
  12,  0,  12,  28,  44,  32,  24,  16,  8,  0,  0,  0,  0,  0,  16,  32,
  48,  32,  16,  0,  0,  0,  8,  20,  28,  40,  24,  12,  0,  4,  12,  20,
  28,  36,  24,  12,  0,  0,  128,  0,  0,  0,  12,  24,  36,  24,  16,  0,
  8,  16,  24,  32,  40,  28,  0,  4,  12,  20,  28,  36,  28,  20,  12,  4,
  0,  8,  20,  28,  168,  28,  20,  8,  0,  0,  0,  16,  32,  48,  164,  28,
  0,  12,  24,  36,  48,  36,  28,  0,  136,  16,  24,  32,  40,  28,  20,  8,
  0,  0,  0,  0,  16,  32,  52,  32,  16,  0,  0,  0,  8,  20,  28,  40,
  32,  24,  16,  8,  0,  0,  0,  12,  24,  36,  52,  36,  24,  0,  0,  0,
};
static const unsigned char fromx[1024] = {
  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
  0,  0,  0,  0,  0,  0,  128,  128,  128,  128,  9,  0,  0,  0,  0,  128,
  128,  128,  128,  5,  0,  0,  0,  0,  128,  128,  128,  128,  0,  0,  0,  0,
  0,  128,  128,  128,  128,  11,  0,  0,  0,  0,  0,  128,  128,  128,  128,  10,
  0,  0,  0,  0,  128,  128,  128,  128,  128,  0,  0,  0,  0,  0,  128,  128,
  128,  5,  0,  0,  0,  0,  0,  128,  128,  128,  128,  3,  0,  0,  0,  0,
  128,  128,  128,  128,  128,  4,  0,  0,  0,  128,  128,  128,  128,  128,  0,  0,
  0,  0,  128,  128,  128,  128,  128,  128,  128,  6,  0,  0,  0,  0,  128,  128,
  128,  128,  6,  0,  0,  0,  0,  128,  128,  128,  128,  128,  128,  4,  0,  0,
  0,  0,  0,  128,  128,  128,  128,  11,  0,  0,  0,  0,  0,  128,  128,  128,
  128,  128,  13,  0,  0,  0,  0,  0,  128,  128,  128,  128,  128,  128,  8,  0,
  0,  0,  0,  128,  128,  128,  128,  128,  8,  0,  0,  0,  128,  128,  128,  10,
  0,  0,  0,  0,  128,  128,  128,  128,  128,  128,  0,  0,  0,  0,  0,  128,
  128,  128,  128,  9,  0,  0,  0,  128,  128,  128,  0,  0,  0,  0,  0,  128,
  128,  128,  128,  14,  0,  0,  0,  0,  128,  128,  128,  13,  0,  0,  0,  0,
  128,  128,  128,  128,  6,  0,  0,  0,  0,  128,  128,  128,  128,  128,  2,  0,
  0,  0,  0,  128,  128,  7,  0,  0,  0,  0,  0,  128,  128,  128,  128,  128,
  128,  6,  0,  0,  0,  0,  0,  128,  128,  128,  128,  128,  11,  0,  0,  0,
  0,  0,  128,  128,  128,  128,  0,  0,  0,  0,  128,  128,  128,  128,  5,  0,
  0,  0,  0,  0,  128,  128,  128,  128,  3,  0,  0,  0,  0,  128,  128,  128,
  128,  128,  0,  0,  0,  0,  128,  128,  128,  128,  8,  0,  0,  0,  0,  128,
  128,  11,  0,  0,  0,  0,  0,  128,  128,  128,  8,  0,  0,  0,  0,  0,
  128,  128,  128,  128,  128,  0,  0,  0,  0,  0,  128,  128,  128,  128,  8,  0,
  0,  0,  128,  128,  128,  128,  128,  0,  0,  0,  0,  0,  128,  128,  128,  128,
  128,  128,  6,  0,  0,  0,  128,  128,  128,  7,  0,  0,  0,  0,  128,  128,
  128,  13,  0,  0,  0,  0,  0,  128,  128,  128,  128,  3,  0,  0,  0,  0,
  128,  128,  128,  128,  128,  6,  0,  0,  0,  128,  128,  128,  128,  0,  0,  128,
  128,  128,  128,  128,  128,  0,  0,  0,  0,  128,  128,  128,  128,  128,  128,  8,
  0,  0,  0,  0,  128,  128,  128,  128,  128,  8,  0,  0,  0,  0,  128,  128,
  128,  128,  0,  0,  0,  0,  0,  128,  128,  128,  128,  0,  0,  0,  0,  0,
  128,  128,  128,  128,  128,  5,  0,  0,  0,  0,  0,  128,  128,  128,  128,  8,
  0,  0,  0,  0,  128,  128,  128,  128,  14,  0,  0,  0,  0,  128,  128,  128,
  7,  0,  0,  0,  0,  0,  128,  128,  128,  128,  128,  128,  0,  0,  0,  0,
  0,  128,  128,  128,  11,  0,  0,  0,  0,  0,  128,  128,  128,  128,  11,  0,
  0,  0,  0,  128,  128,  128,  128,  128,  128,  11,  0,  0,  0,  0,  0,  128,
  128,  128,  0,  0,  0,  0,  128,  128,  128,  128,  128,  6,  0,  0,  0,  0,
  128,  128,  128,  128,  11,  0,  0,  0,  0,  128,  128,  128,  128,  128,  4,  0,
  0,  0,  128,  128,  128,  128,  128,  128,  128,  0,  0,  0,  0,  0,  128,  128,
  128,  128,  13,  0,  0,  0,  0,  0,  128,  128,  128,  128,  128,  128,  5,  0,
  0,  0,  0,  128,  128,  14,  0,  0,  0,  0,  128,  128,  128,  128,  128,  128,
  7,  0,  0,  0,  0,  0,  128,  128,  128,  128,  14,  0,  0,  0,  0,  128,
  128,  128,  128,  11,  0,  0,  0,  0,  0,  128,  128,  128,  128,  128,  14,  0,
  0,  0,  0,  128,  128,  128,  128,  128,  14,  0,  0,  0,  0,  0,  128,  128,
  128,  128,  128,  128,  128,  8,  0,  0,  0,  128,  128,  128,  128,  7,  0,  0,
  0,  128,  128,  128,  0,  0,  0,  0,  0,  128,  128,  128,  128,  3,  0,  0,
  0,  0,  128,  128,  128,  128,  128,  0,  0,  0,  0,  128,  128,  128,  0,  0,
  0,  0,  0,  128,  128,  128,  128,  11,  0,  0,  0,  0,  0,  128,  128,  128,
  128,  11,  0,  0,  0,  0,  128,  128,  128,  128,  128,  128,  8,  0,  0,  0,
  0,  0,  128,  128,  128,  128,  128,  0,  0,  0,  0,  0,  128,  128,  128,  11,
  0,  0,  0,  0,  128,  128,  128,  128,  128,  11,  0,  0,  0,  0,  128,  128,
  128,  128,  128,  8,  0,  0,  0,  128,  128,  128,  128,  128,  0,  0,  0,  0,
  0,  128,  128,  128,  128,  128,  0,  0,  0,  0,  0,  128,  128,  128,  128,  14,
  0,  0,  0,  0,  0,  128,  128,  128,  128,  128,  128,  3,  0,  0,  0,  0,
  128,  128,  11,  0,  0,  0,  0,  0,  128,  128,  128,  128,  128,  3,  0,  0,
  0,  0,  128,  128,  128,  4,  0,  0,  0,  0,  128,  128,  128,  128,  128,  128,
  128,  0,  0,  0,  0,  128,  128,  128,  128,  13,  0,  0,  0,  0,  0,  128,
  128,  128,  0,  0,  0,  0,  0,  128,  128,  128,  128,  128,  128,  5,  0,  0,
  0,  0,  128,  128,  128,  128,  3,  0,  0,  0,  0,  128,  128,  128,  0,  0,
  0,  0,  0,  128,  128,  128,  128,  128,  128,  8,  0,  0,  0,  128,  128,  128,
  128,  6,  0,  0,  0,  0,  128,  128,  13,  0,  0,  0,  0,  128,  128,  128,
  128,  5,  0,  0,  0,  0,  128,  128,  128,  128,  5,  0,  0,  0,  0,  128,
  128,  12,  0,  0,  0,  0,  128,  128,  128,  3,  0,  0,  0,  0,  128,  128,
  128,  128,  128,  11,  0,  0,  0,  0,  128,  128,  128,  128,  14,  0,  0,  0,
  0,  0,  128,  128,  128,  128,  13,  0,  0,  0,  0,  0,  0,  128,  128,  128,
};
static const unsigned char fromy[1024] = {
  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  136,
  16,  28,  36,  48,  36,  28,  144,  136,  128,  128,  7,  12,  24,  40,  24,  140,
  128,  128,  128,  11,  20,  32,  44,  28,  140,  128,  128,  136,  20,  32,  44,  32,
  24,  144,  136,  128,  128,  16,  20,  28,  40,  28,  20,  136,  128,  128,  128,  8,
  12,  24,  36,  24,  140,  128,  128,  128,  136,  16,  28,  36,  48,  32,  144,  128,
  136,  23,  28,  40,  52,  40,  28,  148,  136,  128,  136,  18,  24,  32,  44,  28,
  140,  128,  128,  128,  128,  15,  24,  40,  24,  140,  128,  128,  128,  128,  16,  32,
  48,  32,  144,  128,  128,  128,  128,  128,  128,  5,  12,  28,  44,  32,  148,  136,
  128,  128,  13,  20,  28,  40,  24,  140,  128,  128,  128,  128,  128,  15,  24,  36,
  52,  40,  28,  148,  136,  128,  128,  11,  16,  32,  52,  40,  28,  148,  136,  128,
  128,  128,  10,  12,  28,  44,  32,  24,  144,  136,  128,  128,  128,  128,  18,  24,
  36,  52,  32,  144,  128,  128,  128,  128,  8,  16,  32,  48,  164,  156,  144,  8,
  12,  24,  36,  28,  148,  140,  132,  128,  128,  128,  8,  20,  28,  40,  28,  148,
  136,  128,  128,  7,  12,  24,  40,  156,  128,  136,  16,  24,  36,  24,  12,  128,
  128,  128,  128,  14,  16,  32,  48,  36,  156,  144,  128,  14,  16,  24,  32,  44,
  156,  140,  128,  128,  13,  20,  28,  40,  28,  148,  136,  128,  128,  128,  14,  24,
  36,  52,  36,  128,  136,  21,  28,  36,  48,  36,  24,  140,  128,  128,  128,  128,
  132,  15,  20,  28,  36,  24,  12,  128,  128,  128,  128,  128,  16,  20,  28,  40,
  52,  32,  144,  128,  128,  128,  12,  24,  36,  48,  164,  152,  128,  136,  20,  28,
  36,  48,  36,  24,  140,  128,  128,  128,  10,  20,  32,  44,  32,  148,  136,  128,
  128,  128,  8,  20,  32,  44,  160,  152,  144,  128,  18,  24,  36,  52,  36,  152,
  128,  17,  20,  28,  40,  52,  36,  152,  140,  128,  12,  16,  24,  36,  24,  16,
  136,  128,  128,  128,  136,  16,  28,  36,  48,  32,  144,  128,  128,  128,  6,  12,
  24,  36,  156,  148,  140,  132,  128,  12,  28,  44,  32,  24,  144,  136,  128,  128,
  128,  128,  5,  12,  24,  36,  152,  144,  128,  11,  16,  24,  36,  28,  148,  140,
  128,  18,  20,  28,  40,  52,  36,  152,  140,  128,  128,  10,  16,  24,  36,  24,
  140,  128,  128,  128,  128,  5,  12,  28,  44,  160,  152,  144,  136,  0,  64,  128,
  128,  128,  128,  128,  128,  12,  24,  36,  24,  144,  136,  128,  128,  128,  128,  6,
  12,  24,  40,  32,  152,  144,  136,  128,  128,  6,  12,  24,  40,  32,  152,  144,
  136,  128,  12,  28,  44,  32,  24,  144,  136,  128,  128,  16,  32,  52,  36,  24,
  140,  128,  128,  128,  128,  16,  24,  36,  52,  40,  28,  148,  136,  128,  136,  20,
  24,  32,  40,  32,  152,  144,  136,  128,  23,  24,  36,  52,  36,  152,  128,  136,
  21,  28,  36,  48,  36,  28,  144,  136,  128,  128,  128,  128,  12,  24,  36,  52,
  32,  144,  128,  128,  17,  20,  28,  40,  52,  40,  156,  148,  136,  128,  11,  16,
  32,  48,  32,  144,  128,  128,  128,  128,  128,  11,  16,  32,  48,  36,  24,  140,
  128,  128,  16,  32,  48,  36,  156,  144,  136,  128,  132,  15,  20,  28,  36,  24,
  144,  136,  128,  132,  17,  20,  28,  36,  28,  148,  140,  132,  128,  128,  15,  24,
  40,  24,  140,  128,  128,  128,  128,  128,  128,  8,  20,  32,  44,  32,  148,  136,
  128,  128,  14,  16,  24,  32,  40,  24,  140,  128,  128,  128,  128,  128,  5,  16,
  32,  48,  36,  152,  140,  14,  16,  32,  52,  32,  144,  128,  128,  128,  128,  128,
  7,  16,  32,  52,  36,  24,  140,  128,  128,  128,  14,  16,  32,  48,  32,  144,
  128,  128,  132,  17,  20,  28,  36,  24,  12,  128,  128,  128,  128,  128,  14,  16,
  32,  48,  32,  144,  128,  128,  128,  128,  14,  16,  32,  48,  36,  28,  144,  136,
  128,  128,  128,  128,  128,  6,  12,  24,  40,  152,  140,  128,  128,  7,  16,  32,
  48,  160,  128,  136,  16,  28,  36,  48,  36,  152,  140,  128,  132,  13,  20,  28,
  36,  24,  140,  128,  128,  128,  136,  16,  24,  36,  24,  144,  128,  136,  16,  24,
  32,  40,  24,  140,  128,  128,  128,  17,  20,  32,  44,  32,  24,  144,  136,  128,
  128,  17,  20,  32,  44,  32,  148,  136,  128,  128,  128,  128,  18,  24,  36,  48,
  36,  24,  140,  128,  128,  128,  136,  16,  24,  32,  44,  32,  148,  128,  136,  21,
  24,  32,  44,  28,  140,  128,  128,  128,  128,  11,  16,  32,  48,  32,  144,  128,
  128,  128,  128,  6,  12,  24,  36,  152,  140,  128,  128,  128,  12,  24,  36,  48,
  36,  156,  144,  136,  128,  128,  8,  16,  24,  36,  24,  144,  136,  128,  136,  23,
  24,  32,  44,  28,  12,  128,  128,  128,  128,  128,  128,  10,  16,  24,  36,  24,
  128,  136,  21,  24,  32,  44,  28,  12,  128,  128,  128,  128,  128,  14,  24,  36,
  52,  36,  152,  140,  128,  15,  24,  36,  52,  32,  144,  128,  128,  128,  128,  128,
  128,  8,  20,  32,  44,  160,  148,  136,  128,  10,  12,  24,  36,  52,  36,  152,
  140,  128,  12,  28,  44,  32,  24,  144,  136,  128,  128,  128,  128,  5,  16,  32,
  48,  32,  144,  128,  128,  128,  10,  20,  28,  40,  24,  140,  128,  132,  12,  20,
  28,  36,  24,  140,  128,  128,  128,  128,  128,  6,  12,  24,  36,  152,  144,  128,
  136,  19,  24,  32,  40,  28,  128,  132,  19,  20,  28,  36,  28,  148,  140,  132,
  128,  11,  20,  28,  40,  28,  148,  136,  128,  128,  5,  16,  32,  48,  36,  156,
  128,  21,  24,  36,  48,  36,  156,  128,  136,  18,  24,  32,  40,  28,  148,  136,
  128,  128,  128,  11,  16,  32,  52,  32,  144,  128,  128,  128,  18,  20,  28,  40,
  32,  24,  144,  136,  128,  128,  10,  12,  24,  36,  52,  36,  24,  128,  128,  128,
};
static const unsigned char tox[1024] = {
  144,  144,  144,  144,  144,  144,  144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
  16,  16,  16,  16,  16,  6,  144,  144,  144,  144,  16,  16,  16,  16,  8,  144,
  144,  144,  144,  16,  16,  16,  16,  8,  144,  144,  144,  144,  16,  16,  16,  16,
  4,  144,  144,  144,  144,  16,  16,  16,  16,  16,  5,  144,  144,  144,  144,  16,
  16,  16,  16,  13,  144,  144,  144,  144,  144,  16,  16,  16,  16,  2,  144,  144,
  144,  16,  16,  16,  16,  16,  8,  144,  144,  144,  144,  16,  16,  16,  16,  16,
  144,  144,  144,  144,  144,  16,  16,  16,  16,  144,  144,  144,  144,  144,  16,  16,
  16,  14,  144,  144,  144,  144,  144,  144,  144,  16,  16,  16,  16,  5,  144,  144,
  144,  144,  16,  16,  16,  16,  16,  144,  144,  144,  144,  144,  144,  16,  16,  16,
  16,  16,  6,  144,  144,  144,  144,  16,  16,  16,  16,  16,  13,  144,  144,  144,
  144,  144,  16,  16,  16,  16,  16,  10,  144,  144,  144,  144,  144,  144,  16,  16,
  16,  16,  16,  144,  144,  144,  144,  144,  16,  16,  16,  14,  144,  144,  144,  16,
  16,  16,  16,  8,  144,  144,  144,  144,  144,  144,  16,  16,  16,  16,  10,  144,
  144,  144,  144,  16,  16,  16,  12,  144,  144,  144,  16,  16,  16,  16,  3,  144,
  144,  144,  144,  16,  16,  16,  16,  13,  144,  144,  144,  16,  16,  16,  16,  16,
  144,  144,  144,  144,  16,  16,  16,  16,  16,  144,  144,  144,  144,  144,  16,  16,
  16,  16,  7,  144,  144,  16,  16,  16,  16,  16,  11,  144,  144,  144,  144,  144,
  144,  16,  16,  16,  16,  16,  3,  144,  144,  144,  144,  144,  16,  16,  16,  16,
  16,  5,  144,  144,  144,  144,  16,  16,  16,  14,  144,  144,  144,  144,  16,  16,
  16,  16,  16,  11,  144,  144,  144,  144,  16,  16,  16,  16,  16,  144,  144,  144,
  144,  144,  16,  16,  16,  12,  144,  144,  144,  144,  16,  16,  16,  16,  14,  144,
  144,  16,  16,  16,  16,  16,  5,  144,  144,  144,  16,  16,  16,  16,  16,  6,
  144,  144,  144,  144,  144,  16,  16,  16,  16,  2,  144,  144,  144,  144,  16,  16,
  16,  9,  144,  144,  144,  144,  144,  16,  16,  16,  16,  10,  144,  144,  144,  144,
  144,  144,  16,  16,  16,  8,  144,  144,  144,  16,  16,  16,  16,  11,  144,  144,
  144,  16,  16,  16,  16,  16,  10,  144,  144,  144,  144,  16,  16,  16,  16,  5,
  144,  144,  144,  144,  144,  16,  16,  16,  16,  144,  144,  144,  144,  16,  16,  144,
  144,  144,  144,  144,  144,  16,  16,  16,  8,  144,  144,  144,  144,  144,  144,  16,
  16,  16,  16,  6,  144,  144,  144,  144,  144,  16,  16,  16,  16,  16,  144,  144,
  144,  144,  16,  16,  16,  16,  10,  144,  144,  144,  144,  16,  16,  16,  16,  7,
  144,  144,  144,  144,  144,  16,  16,  16,  16,  16,  6,  144,  144,  144,  144,  16,
  16,  16,  16,  16,  144,  144,  144,  144,  16,  16,  16,  16,  8,  144,  144,  144,
  16,  16,  16,  16,  16,  3,  144,  144,  144,  144,  144,  144,  16,  16,  16,  16,
  14,  144,  144,  144,  16,  16,  16,  16,  16,  16,  144,  144,  144,  144,  16,  16,
  16,  16,  14,  144,  144,  144,  144,  144,  144,  16,  16,  16,  16,  16,  5,  144,
  144,  144,  16,  16,  16,  16,  144,  144,  144,  144,  144,  16,  16,  16,  16,  16,
  144,  144,  144,  144,  16,  16,  16,  16,  13,  144,  144,  144,  144,  144,  16,  16,
  16,  16,  144,  144,  144,  144,  144,  144,  144,  16,  16,  16,  16,  10,  144,  144,
  144,  144,  16,  16,  16,  16,  16,  3,  144,  144,  144,  144,  144,  144,  16,  16,
  16,  16,  2,  144,  144,  16,  16,  16,  16,  14,  144,  144,  144,  144,  144,  144,
  16,  16,  16,  16,  16,  3,  144,  144,  144,  144,  16,  16,  16,  16,  10,  144,
  144,  144,  144,  16,  16,  16,  16,  16,  3,  144,  144,  144,  144,  144,  16,  16,
  16,  16,  11,  144,  144,  144,  144,  144,  16,  16,  16,  16,  16,  11,  144,  144,
  144,  144,  144,  144,  144,  16,  16,  16,  11,  144,  144,  144,  144,  16,  16,  16,
  16,  144,  144,  144,  16,  16,  16,  16,  13,  144,  144,  144,  144,  16,  16,  16,
  16,  11,  144,  144,  144,  144,  144,  16,  16,  16,  5,  144,  144,  144,  16,  16,
  16,  16,  13,  144,  144,  144,  144,  16,  16,  16,  16,  16,  16,  144,  144,  144,
  144,  16,  16,  16,  16,  13,  144,  144,  144,  144,  144,  144,  16,  16,  16,  16,
  16,  5,  144,  144,  144,  144,  144,  16,  16,  16,  16,  13,  144,  144,  144,  16,
  16,  16,  16,  14,  144,  144,  144,  144,  144,  16,  16,  16,  16,  5,  144,  144,
  144,  144,  144,  16,  16,  16,  16,  144,  144,  144,  144,  144,  16,  16,  16,  16,
  13,  144,  144,  144,  144,  144,  16,  16,  16,  16,  10,  144,  144,  144,  144,  16,
  16,  16,  16,  16,  3,  144,  144,  144,  144,  144,  144,  16,  16,  16,  16,  3,
  144,  144,  16,  16,  16,  16,  16,  3,  144,  144,  144,  144,  144,  16,  16,  16,
  16,  8,  144,  144,  144,  16,  16,  16,  16,  16,  144,  144,  144,  144,  144,  144,
  144,  16,  16,  16,  16,  144,  144,  144,  144,  16,  16,  16,  16,  16,  2,  144,
  144,  144,  16,  16,  16,  16,  10,  144,  144,  144,  144,  144,  144,  16,  16,  16,
  16,  8,  144,  144,  144,  144,  16,  16,  16,  16,  7,  144,  144,  144,  16,  16,
  16,  16,  8,  144,  144,  144,  144,  144,  144,  16,  16,  16,  16,  144,  144,  144,
  144,  16,  16,  16,  16,  4,  144,  144,  16,  16,  16,  16,  11,  144,  144,  144,
  144,  16,  16,  16,  16,  11,  144,  144,  144,  144,  16,  16,  16,  16,  6,  144,
  144,  16,  16,  16,  16,  16,  144,  144,  144,  16,  16,  16,  16,  13,  144,  144,
  144,  144,  144,  16,  16,  16,  16,  14,  144,  144,  144,  144,  16,  16,  16,  16,
  16,  3,  144,  144,  144,  144,  16,  16,  16,  16,  16,  16,  16,  144,  144,  144,
};
static const unsigned char toy[1024] = {
  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  136,  144,
  28,  36,  48,  36,  28,  23,  136,  128,  128,  128,  12,  24,  40,  24,  18,  128,
  128,  128,  136,  20,  32,  44,  28,  20,  128,  128,  136,  148,  32,  44,  32,  24,
  22,  136,  128,  128,  136,  20,  28,  40,  28,  20,  17,  128,  128,  128,  128,  12,
  24,  36,  24,  14,  128,  128,  128,  136,  144,  28,  36,  48,  32,  30,  128,  136,
  148,  28,  40,  52,  40,  28,  24,  136,  128,  136,  144,  24,  32,  44,  28,  12,
  128,  128,  128,  128,  140,  24,  40,  24,  12,  128,  128,  128,  128,  144,  32,  48,
  32,  18,  128,  128,  128,  128,  128,  128,  128,  12,  28,  44,  32,  28,  136,  128,
  128,  136,  20,  28,  40,  24,  12,  128,  128,  128,  128,  128,  140,  24,  36,  52,
  40,  28,  25,  136,  128,  128,  128,  16,  32,  52,  40,  28,  22,  136,  128,  128,
  128,  128,  12,  28,  44,  32,  24,  19,  136,  128,  128,  128,  128,  140,  24,  36,
  52,  32,  16,  128,  128,  128,  128,  128,  16,  32,  48,  38,  156,  144,  128,  12,
  24,  36,  28,  24,  140,  132,  128,  128,  128,  136,  20,  28,  40,  28,  23,  136,
  128,  128,  128,  12,  24,  40,  31,  128,  136,  144,  24,  36,  24,  12,  10,  128,
  128,  128,  128,  16,  32,  48,  36,  29,  144,  128,  136,  16,  24,  32,  44,  28,
  140,  128,  128,  136,  20,  28,  40,  28,  20,  136,  128,  128,  128,  140,  24,  36,
  52,  36,  19,  136,  144,  28,  36,  48,  36,  24,  16,  128,  128,  128,  128,  132,
  140,  20,  28,  36,  24,  12,  10,  128,  128,  128,  128,  136,  20,  28,  40,  52,
  32,  27,  128,  128,  128,  140,  24,  36,  48,  38,  152,  128,  136,  144,  28,  36,
  48,  36,  24,  16,  128,  128,  128,  136,  20,  32,  44,  32,  20,  136,  128,  128,
  128,  136,  20,  32,  44,  35,  152,  144,  128,  140,  24,  36,  52,  36,  26,  128,
  136,  20,  28,  40,  52,  36,  33,  140,  128,  136,  16,  24,  36,  24,  16,  13,
  128,  128,  128,  136,  144,  28,  36,  48,  32,  30,  128,  128,  128,  128,  12,  24,
  36,  31,  148,  140,  132,  128,  140,  28,  44,  32,  24,  19,  136,  128,  128,  128,
  128,  128,  12,  24,  36,  30,  144,  128,  136,  16,  24,  36,  28,  23,  140,  128,
  136,  20,  28,  40,  52,  36,  29,  140,  128,  128,  136,  16,  24,  36,  24,  21,
  128,  128,  128,  128,  128,  12,  28,  44,  32,  152,  144,  136,  128,  64,  0,  128,
  128,  128,  128,  128,  140,  24,  36,  24,  20,  136,  128,  128,  128,  128,  128,  12,
  24,  40,  32,  29,  144,  136,  128,  128,  128,  12,  24,  40,  32,  24,  144,  136,
  128,  140,  28,  44,  32,  24,  19,  136,  128,  128,  144,  32,  52,  36,  24,  19,
  128,  128,  128,  128,  140,  24,  36,  52,  40,  28,  25,  136,  128,  136,  144,  24,
  32,  40,  32,  24,  144,  136,  128,  140,  24,  36,  52,  36,  30,  128,  136,  144,
  28,  36,  48,  36,  28,  26,  136,  128,  128,  128,  128,  140,  24,  36,  52,  32,
  18,  128,  128,  136,  20,  28,  40,  52,  40,  28,  148,  136,  128,  128,  16,  32,
  48,  32,  18,  128,  128,  128,  128,  128,  128,  16,  32,  48,  36,  24,  21,  128,
  128,  144,  32,  48,  36,  28,  144,  136,  128,  132,  140,  20,  28,  36,  24,  16,
  136,  128,  132,  140,  20,  28,  36,  28,  22,  140,  132,  128,  128,  140,  24,  40,
  24,  12,  128,  128,  128,  128,  128,  128,  136,  20,  32,  44,  32,  25,  136,  128,
  128,  136,  16,  24,  32,  40,  24,  22,  128,  128,  128,  128,  128,  128,  16,  32,
  48,  36,  34,  140,  128,  16,  32,  52,  32,  18,  128,  128,  128,  128,  128,  128,
  16,  32,  52,  36,  24,  22,  128,  128,  128,  128,  16,  32,  48,  32,  22,  128,
  128,  132,  140,  20,  28,  36,  24,  12,  10,  128,  128,  128,  128,  128,  16,  32,
  48,  32,  21,  128,  128,  128,  128,  128,  16,  32,  48,  36,  28,  20,  136,  128,
  128,  128,  128,  128,  128,  12,  24,  40,  29,  140,  128,  128,  128,  16,  32,  48,
  32,  128,  136,  144,  28,  36,  48,  36,  26,  140,  128,  132,  140,  20,  28,  36,
  24,  16,  128,  128,  128,  136,  144,  24,  36,  24,  21,  128,  136,  144,  24,  32,
  40,  24,  14,  128,  128,  128,  136,  20,  32,  44,  32,  24,  16,  136,  128,  128,
  136,  20,  32,  44,  32,  22,  136,  128,  128,  128,  128,  140,  24,  36,  48,  36,
  24,  20,  128,  128,  128,  136,  144,  24,  32,  44,  32,  22,  128,  136,  144,  24,
  32,  44,  28,  14,  128,  128,  128,  128,  128,  16,  32,  48,  32,  27,  128,  128,
  128,  128,  128,  12,  24,  36,  24,  140,  128,  128,  128,  140,  24,  36,  48,  36,
  29,  144,  136,  128,  128,  136,  16,  24,  36,  24,  19,  136,  128,  136,  144,  24,
  32,  44,  28,  12,  10,  128,  128,  128,  128,  128,  136,  16,  24,  36,  24,  19,
  136,  144,  24,  32,  44,  28,  12,  10,  128,  128,  128,  128,  140,  24,  36,  52,
  36,  30,  140,  128,  140,  24,  36,  52,  32,  16,  128,  128,  128,  128,  128,  128,
  136,  20,  32,  44,  32,  148,  136,  128,  128,  12,  24,  36,  52,  36,  35,  140,
  128,  140,  28,  44,  32,  24,  19,  136,  128,  128,  128,  128,  128,  16,  32,  48,
  32,  24,  128,  128,  128,  136,  20,  28,  40,  24,  19,  128,  132,  140,  20,  28,
  36,  24,  18,  128,  128,  128,  128,  128,  128,  12,  24,  36,  24,  144,  128,  136,
  144,  24,  32,  40,  28,  20,  132,  140,  20,  28,  36,  28,  23,  140,  132,  128,
  136,  20,  28,  40,  28,  23,  136,  128,  128,  128,  16,  32,  48,  36,  33,  128,
  140,  24,  36,  48,  36,  28,  128,  136,  144,  24,  32,  40,  28,  22,  136,  128,
  128,  128,  128,  16,  32,  52,  32,  18,  128,  128,  128,  136,  20,  28,  40,  32,
  24,  22,  136,  128,  128,  128,  12,  24,  36,  52,  36,  24,  0,  128,  128,  128,
};
