Skip to content

Instantly share code, notes, and snippets.

@andyshinn
Created November 3, 2022 17:30
Show Gist options
  • Save andyshinn/55b5c800260d50b86d04949e38a4c5db to your computer and use it in GitHub Desktop.
Save andyshinn/55b5c800260d50b86d04949e38a4c5db to your computer and use it in GitHub Desktop.
CircuitPython NeoPixel Matrix 16x16 Pumpkin
from time import sleep
import board
import neopixel
from adafruit_pixel_framebuf import PixelFramebuffer
from pumpkin import pumpkins_tileset_data, pumpkin_palette
pixel_pin = board.D10
pixel_width = 16
pixel_height = 16
pixels = neopixel.NeoPixel(
pixel_pin,
pixel_width * pixel_height,
brightness=0.02,
auto_write=False,
)
pixel_framebuf = PixelFramebuffer(
pixels,
pixel_width,
pixel_height,
reverse_x=False,
rotation=1,
)
def draw_image_pixel(sprite=0, tile_width=16, tile_height=16):
offset = sprite * tile_width
pixel = 0
for x in range(tile_width):
for y in range(tile_height):
try:
pixel_framebuf.pixel(x, y, pumpkin_palette[pumpkins_tileset_data[sprite][pixel]])
pixel += 1
except IndexError as e:
print(x, y, offset, e)
while True:
for sprite in range(20):
draw_image_pixel(sprite=sprite)
pixel_framebuf.display()
sleep(0.04)
print("Drawing sprite {}".format(sprite))
from displayio import Palette
pumpkin_palette = Palette(7)
pumpkin_palette[0] = 0
pumpkin_palette[1] = 2452018 # Stem 1
pumpkin_palette[2] = 3645001 # Stem 2
pumpkin_palette[3] = 16768791 # Yellow
pumpkin_palette[4] = 15480072 # Orange 1
pumpkin_palette[5] = 459620 # Eyes
pumpkin_palette[6] = 16752147 # Orange 2
pumpkins_tileset_data = {
0: [
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
0,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
3,
3,
1,
2,
1,
6,
4,
3,
4,
0,
0,
0,
0,
4,
6,
3,
3,
3,
3,
6,
4,
3,
3,
4,
3,
6,
0,
0,
0,
6,
6,
4,
3,
3,
3,
3,
4,
3,
3,
6,
3,
3,
4,
0,
4,
6,
6,
5,
5,
5,
3,
3,
3,
5,
5,
5,
4,
3,
6,
0,
6,
3,
4,
5,
5,
5,
6,
6,
6,
5,
5,
5,
6,
3,
6,
4,
6,
6,
4,
3,
3,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
6,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
4,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
0,
4,
6,
4,
6,
5,
6,
6,
6,
6,
4,
5,
6,
6,
6,
6,
0,
0,
4,
6,
6,
6,
5,
5,
5,
5,
5,
6,
6,
4,
6,
0,
0,
0,
0,
4,
4,
6,
6,
6,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
0,
4,
4,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
],
1: [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
3,
3,
1,
2,
1,
6,
4,
3,
4,
0,
0,
0,
0,
4,
6,
3,
3,
3,
3,
6,
4,
3,
3,
4,
3,
6,
0,
0,
0,
6,
6,
4,
3,
3,
3,
3,
4,
3,
3,
6,
3,
3,
4,
0,
4,
6,
6,
5,
5,
5,
3,
3,
3,
5,
5,
5,
4,
3,
6,
0,
6,
3,
4,
5,
5,
5,
6,
6,
6,
5,
5,
5,
6,
3,
6,
4,
6,
6,
4,
3,
3,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
6,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
4,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
0,
4,
6,
4,
6,
5,
6,
5,
5,
5,
4,
5,
6,
6,
6,
6,
0,
0,
4,
6,
6,
6,
5,
5,
5,
5,
5,
6,
6,
4,
6,
0,
0,
0,
0,
4,
4,
6,
6,
6,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
0,
4,
4,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
],
2: [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
3,
3,
1,
2,
1,
6,
4,
3,
4,
0,
0,
0,
0,
4,
6,
3,
3,
3,
3,
6,
4,
3,
3,
4,
3,
6,
0,
0,
0,
6,
6,
4,
3,
3,
3,
3,
4,
3,
3,
6,
3,
3,
4,
0,
4,
6,
6,
5,
5,
5,
3,
3,
3,
5,
5,
5,
4,
3,
6,
0,
6,
3,
4,
5,
5,
5,
6,
6,
6,
5,
5,
5,
6,
3,
6,
4,
6,
6,
4,
3,
3,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
6,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
4,
6,
4,
6,
6,
5,
5,
5,
5,
5,
6,
6,
6,
6,
6,
0,
4,
6,
4,
5,
5,
5,
5,
5,
5,
5,
5,
5,
6,
6,
6,
0,
0,
4,
6,
6,
6,
5,
5,
5,
5,
5,
6,
6,
4,
6,
0,
0,
0,
0,
4,
4,
6,
6,
6,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
0,
4,
4,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
],
3: [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
3,
3,
1,
2,
1,
6,
4,
3,
4,
0,
0,
0,
0,
4,
6,
3,
3,
3,
3,
6,
4,
3,
3,
4,
3,
6,
0,
0,
0,
6,
6,
4,
3,
3,
3,
3,
4,
3,
3,
6,
3,
3,
4,
0,
4,
6,
6,
5,
5,
5,
3,
3,
3,
5,
5,
5,
4,
3,
6,
0,
6,
3,
4,
5,
5,
5,
6,
6,
6,
5,
5,
5,
6,
3,
6,
4,
6,
6,
4,
3,
3,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
6,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
4,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
0,
4,
6,
4,
5,
5,
5,
5,
5,
5,
5,
5,
5,
6,
6,
6,
0,
0,
4,
6,
6,
6,
5,
5,
5,
5,
5,
6,
6,
4,
6,
0,
0,
0,
0,
4,
4,
6,
6,
6,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
0,
4,
4,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
],
4: [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
3,
3,
1,
2,
1,
6,
4,
3,
4,
0,
0,
0,
0,
4,
6,
3,
3,
3,
3,
6,
4,
3,
3,
4,
3,
6,
0,
0,
0,
6,
6,
4,
3,
3,
3,
3,
4,
3,
3,
6,
3,
3,
4,
0,
4,
6,
6,
5,
5,
5,
3,
3,
3,
5,
5,
5,
4,
3,
6,
0,
6,
3,
4,
5,
5,
5,
6,
6,
6,
5,
5,
5,
6,
3,
6,
4,
6,
6,
4,
3,
3,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
6,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
4,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
0,
4,
6,
4,
6,
5,
6,
5,
5,
5,
4,
5,
6,
6,
6,
6,
0,
0,
4,
6,
6,
6,
5,
5,
5,
5,
5,
6,
6,
4,
6,
0,
0,
0,
0,
4,
4,
6,
6,
6,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
0,
4,
4,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
],
5: [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
3,
3,
1,
2,
1,
6,
4,
3,
4,
0,
0,
0,
0,
4,
6,
3,
3,
3,
3,
6,
4,
3,
3,
4,
3,
6,
0,
0,
0,
6,
6,
4,
3,
3,
3,
3,
4,
3,
3,
6,
3,
3,
4,
0,
4,
6,
6,
5,
5,
5,
3,
3,
3,
5,
5,
5,
4,
3,
6,
0,
6,
3,
4,
5,
5,
5,
6,
6,
6,
5,
5,
5,
6,
3,
6,
4,
6,
6,
4,
3,
3,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
6,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
4,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
0,
4,
6,
4,
6,
5,
6,
6,
6,
6,
4,
5,
6,
6,
6,
6,
0,
0,
4,
6,
6,
6,
5,
5,
5,
5,
5,
6,
6,
4,
6,
0,
0,
0,
0,
4,
4,
6,
6,
6,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
0,
4,
4,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
],
6: [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
3,
3,
1,
2,
1,
6,
4,
3,
4,
0,
0,
0,
0,
4,
6,
3,
3,
3,
3,
6,
4,
3,
3,
4,
3,
6,
0,
0,
0,
6,
6,
4,
3,
3,
3,
3,
4,
3,
3,
6,
3,
3,
4,
0,
4,
6,
6,
5,
5,
5,
3,
3,
3,
5,
5,
5,
4,
3,
6,
0,
6,
3,
4,
5,
5,
5,
6,
6,
6,
5,
5,
5,
6,
3,
6,
4,
6,
6,
4,
3,
3,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
6,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
4,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
0,
4,
6,
4,
6,
5,
6,
6,
6,
6,
4,
5,
6,
6,
6,
6,
0,
0,
4,
6,
6,
6,
5,
5,
5,
5,
5,
6,
6,
4,
6,
0,
0,
0,
0,
4,
4,
6,
6,
6,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
0,
4,
4,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
],
7: [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
3,
3,
1,
2,
1,
6,
4,
3,
4,
0,
0,
0,
0,
4,
6,
3,
3,
3,
3,
6,
4,
3,
3,
4,
3,
6,
0,
0,
0,
6,
6,
4,
3,
3,
3,
3,
4,
3,
3,
6,
3,
3,
4,
0,
4,
6,
6,
5,
5,
5,
3,
3,
3,
5,
5,
5,
4,
3,
6,
0,
6,
3,
4,
5,
5,
5,
6,
6,
6,
5,
5,
5,
6,
3,
6,
4,
6,
6,
4,
3,
3,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
6,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
4,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
0,
4,
6,
4,
6,
5,
6,
6,
6,
6,
4,
5,
6,
6,
6,
6,
0,
0,
4,
6,
6,
6,
5,
5,
5,
5,
5,
6,
6,
4,
6,
0,
0,
0,
0,
4,
4,
6,
6,
6,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
0,
4,
4,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
],
8: [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
3,
3,
1,
2,
1,
6,
4,
3,
4,
0,
0,
0,
0,
4,
6,
3,
3,
3,
3,
6,
4,
3,
3,
4,
3,
6,
0,
0,
0,
6,
6,
4,
3,
3,
3,
3,
4,
3,
3,
6,
3,
3,
4,
0,
4,
6,
6,
5,
5,
5,
3,
3,
3,
5,
5,
5,
4,
3,
6,
0,
6,
3,
4,
6,
5,
6,
6,
6,
6,
4,
5,
3,
6,
3,
6,
4,
6,
6,
4,
3,
3,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
6,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
4,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
0,
4,
6,
4,
6,
5,
6,
6,
6,
6,
4,
5,
6,
6,
6,
6,
0,
0,
4,
6,
6,
6,
5,
5,
5,
5,
5,
6,
6,
4,
6,
0,
0,
0,
0,
4,
4,
6,
6,
6,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
0,
4,
4,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
],
9: [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
3,
3,
1,
2,
1,
6,
4,
3,
4,
0,
0,
0,
0,
4,
6,
3,
3,
3,
3,
6,
4,
3,
3,
4,
3,
6,
0,
0,
0,
6,
6,
4,
3,
3,
3,
3,
4,
3,
3,
6,
3,
3,
4,
0,
4,
6,
6,
5,
5,
5,
3,
3,
3,
5,
5,
5,
4,
3,
6,
0,
6,
3,
4,
6,
6,
6,
6,
6,
6,
4,
3,
3,
6,
3,
6,
4,
6,
6,
4,
3,
3,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
6,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
4,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
0,
4,
6,
4,
6,
5,
6,
6,
6,
6,
4,
5,
6,
6,
6,
6,
0,
0,
4,
6,
6,
6,
5,
5,
5,
5,
5,
6,
6,
4,
6,
0,
0,
0,
0,
4,
4,
6,
6,
6,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
0,
4,
4,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
],
10: [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
3,
3,
1,
2,
1,
6,
4,
3,
4,
0,
0,
0,
0,
4,
6,
3,
3,
3,
3,
6,
4,
3,
3,
4,
3,
6,
0,
0,
0,
6,
6,
4,
3,
3,
3,
3,
4,
3,
3,
6,
3,
3,
4,
0,
4,
6,
6,
5,
5,
5,
3,
3,
3,
5,
5,
5,
4,
3,
6,
0,
6,
3,
4,
6,
6,
6,
6,
6,
6,
4,
3,
3,
6,
3,
6,
4,
6,
6,
4,
3,
3,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
6,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
4,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
0,
4,
6,
4,
6,
5,
6,
6,
6,
6,
4,
5,
6,
6,
6,
6,
0,
0,
4,
6,
6,
6,
5,
5,
5,
5,
5,
6,
6,
4,
6,
0,
0,
0,
0,
4,
4,
6,
6,
6,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
0,
4,
4,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
],
11: [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
3,
3,
1,
2,
1,
6,
4,
3,
4,
0,
0,
0,
0,
4,
6,
3,
3,
3,
3,
6,
4,
3,
3,
4,
3,
6,
0,
0,
0,
6,
6,
4,
3,
3,
3,
3,
4,
3,
3,
6,
3,
3,
4,
0,
4,
6,
6,
5,
5,
5,
3,
3,
3,
5,
5,
5,
4,
3,
6,
0,
6,
3,
4,
6,
5,
6,
6,
6,
6,
4,
5,
3,
6,
3,
6,
4,
6,
6,
4,
3,
3,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
6,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
4,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
0,
4,
6,
4,
6,
5,
6,
6,
6,
6,
4,
5,
6,
6,
6,
6,
0,
0,
4,
6,
6,
6,
5,
5,
5,
5,
5,
6,
6,
4,
6,
0,
0,
0,
0,
4,
4,
6,
6,
6,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
0,
4,
4,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
],
12: [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
3,
3,
1,
2,
1,
6,
4,
3,
4,
0,
0,
0,
0,
4,
6,
3,
3,
3,
3,
6,
4,
3,
3,
4,
3,
6,
0,
0,
0,
6,
6,
4,
3,
3,
3,
3,
4,
3,
3,
6,
3,
3,
4,
0,
4,
6,
6,
5,
5,
5,
3,
3,
3,
5,
5,
5,
4,
3,
6,
0,
6,
3,
4,
5,
5,
5,
6,
6,
6,
5,
5,
5,
6,
3,
6,
4,
6,
6,
4,
3,
3,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
6,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
4,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
0,
4,
6,
4,
6,
5,
6,
6,
6,
6,
4,
5,
6,
6,
6,
6,
0,
0,
4,
6,
6,
6,
5,
5,
5,
5,
5,
6,
6,
4,
6,
0,
0,
0,
0,
4,
4,
6,
6,
6,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
0,
4,
4,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
],
13: [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
3,
3,
1,
2,
1,
6,
4,
3,
4,
0,
0,
0,
0,
4,
6,
3,
3,
3,
3,
6,
4,
3,
3,
4,
3,
6,
0,
0,
0,
6,
6,
4,
3,
3,
3,
3,
4,
3,
3,
6,
3,
3,
4,
0,
4,
6,
6,
5,
5,
5,
3,
3,
3,
5,
5,
5,
4,
3,
6,
0,
6,
3,
4,
6,
5,
6,
6,
6,
6,
4,
5,
3,
6,
3,
6,
4,
6,
6,
4,
3,
3,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
6,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
4,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
0,
4,
6,
4,
6,
5,
6,
6,
6,
6,
4,
5,
6,
6,
6,
6,
0,
0,
4,
6,
6,
6,
5,
5,
5,
5,
5,
6,
6,
4,
6,
0,
0,
0,
0,
4,
4,
6,
6,
6,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
0,
4,
4,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
],
14: [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
3,
3,
1,
2,
1,
6,
4,
3,
4,
0,
0,
0,
0,
4,
6,
3,
3,
3,
3,
6,
4,
3,
3,
4,
3,
6,
0,
0,
0,
6,
6,
4,
3,
3,
3,
3,
4,
3,
3,
6,
3,
3,
4,
0,
4,
6,
6,
5,
5,
5,
3,
3,
3,
5,
5,
5,
4,
3,
6,
0,
6,
3,
4,
6,
6,
6,
6,
6,
6,
4,
3,
3,
6,
3,
6,
4,
6,
6,
4,
3,
3,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
6,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
4,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
0,
4,
6,
4,
6,
5,
6,
6,
6,
6,
4,
5,
6,
6,
6,
6,
0,
0,
4,
6,
6,
6,
5,
5,
5,
5,
5,
6,
6,
4,
6,
0,
0,
0,
0,
4,
4,
6,
6,
6,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
0,
4,
4,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
],
15: [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
3,
3,
1,
2,
1,
6,
4,
3,
4,
0,
0,
0,
0,
4,
6,
3,
3,
3,
3,
6,
4,
3,
3,
4,
3,
6,
0,
0,
0,
6,
6,
4,
3,
3,
3,
3,
4,
3,
3,
6,
3,
3,
4,
0,
4,
6,
6,
5,
5,
5,
3,
3,
3,
5,
5,
5,
4,
3,
6,
0,
6,
3,
4,
6,
6,
6,
6,
6,
6,
4,
3,
3,
6,
3,
6,
4,
6,
6,
4,
3,
3,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
6,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
4,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
0,
4,
6,
4,
6,
5,
6,
6,
6,
6,
4,
5,
6,
6,
6,
6,
0,
0,
4,
6,
6,
6,
5,
5,
5,
5,
5,
6,
6,
4,
6,
0,
0,
0,
0,
4,
4,
6,
6,
6,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
0,
4,
4,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
],
16: [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
3,
3,
1,
2,
1,
6,
4,
3,
4,
0,
0,
0,
0,
4,
6,
3,
3,
3,
3,
6,
4,
3,
3,
4,
3,
6,
0,
0,
0,
6,
6,
4,
3,
3,
3,
3,
4,
3,
3,
6,
3,
3,
4,
0,
4,
6,
6,
5,
5,
5,
3,
3,
3,
5,
5,
5,
4,
3,
6,
0,
6,
3,
4,
6,
5,
6,
6,
6,
6,
4,
5,
3,
6,
3,
6,
4,
6,
6,
4,
3,
3,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
6,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
4,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
0,
4,
6,
4,
6,
5,
6,
6,
6,
6,
4,
5,
6,
6,
6,
6,
0,
0,
4,
6,
6,
6,
5,
5,
5,
5,
5,
6,
6,
4,
6,
0,
0,
0,
0,
4,
4,
6,
6,
6,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
0,
4,
4,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
],
17: [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
3,
3,
1,
2,
1,
6,
4,
3,
4,
0,
0,
0,
0,
4,
6,
3,
3,
3,
3,
6,
4,
3,
3,
4,
3,
6,
0,
0,
0,
6,
6,
4,
3,
3,
3,
3,
4,
3,
3,
6,
3,
3,
4,
0,
4,
6,
6,
5,
5,
5,
3,
3,
3,
5,
5,
5,
4,
3,
6,
0,
6,
3,
4,
5,
5,
5,
6,
6,
6,
5,
5,
5,
6,
3,
6,
4,
6,
6,
4,
3,
3,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
6,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
4,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
0,
4,
6,
4,
6,
5,
6,
6,
6,
6,
4,
5,
6,
6,
6,
6,
0,
0,
4,
6,
6,
6,
5,
5,
5,
5,
5,
6,
6,
4,
6,
0,
0,
0,
0,
4,
4,
6,
6,
6,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
0,
4,
4,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
],
18: [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
3,
3,
1,
2,
1,
6,
4,
3,
4,
0,
0,
0,
0,
4,
6,
3,
3,
3,
3,
6,
4,
3,
3,
4,
3,
6,
0,
0,
0,
6,
6,
4,
3,
3,
3,
3,
4,
3,
3,
6,
3,
3,
4,
0,
4,
6,
6,
5,
5,
5,
3,
3,
3,
5,
5,
5,
4,
3,
6,
0,
6,
3,
4,
5,
5,
5,
6,
6,
6,
5,
5,
5,
6,
3,
6,
4,
6,
6,
4,
3,
3,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
6,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
4,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
0,
4,
6,
4,
6,
5,
6,
6,
6,
6,
4,
5,
6,
6,
6,
6,
0,
0,
4,
6,
6,
6,
5,
5,
5,
5,
5,
6,
6,
4,
6,
0,
0,
0,
0,
4,
4,
6,
6,
6,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
0,
4,
4,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
],
19: [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
3,
3,
1,
2,
1,
6,
4,
3,
4,
0,
0,
0,
0,
4,
6,
3,
3,
3,
3,
6,
4,
3,
3,
4,
3,
6,
0,
0,
0,
6,
6,
4,
3,
3,
3,
3,
4,
3,
3,
6,
3,
3,
4,
0,
4,
6,
6,
5,
5,
5,
3,
3,
3,
5,
5,
5,
4,
3,
6,
0,
6,
3,
4,
5,
5,
5,
6,
6,
6,
5,
5,
5,
6,
3,
6,
4,
6,
6,
4,
3,
3,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
6,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
4,
4,
6,
4,
6,
6,
6,
6,
6,
6,
4,
6,
6,
6,
6,
6,
0,
4,
6,
4,
6,
5,
6,
6,
6,
6,
4,
5,
6,
6,
6,
6,
0,
0,
4,
6,
6,
6,
5,
5,
5,
5,
5,
6,
6,
4,
6,
0,
0,
0,
0,
4,
4,
6,
6,
6,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
0,
4,
4,
6,
4,
6,
6,
6,
6,
4,
0,
0,
0,
0,
],
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment