<commit_before>//Sign B basic functions

#include "FastLED.h"

#define CHIPSET           WS2812B
#define COLOR_ORDER       GRB

#define BRIGHTNESS        64

//The number of pixels in each section:
#define N_LEDS_WING_LEFT  266
#define N_LEDS_HEAD       45
#define N_LEDS_WING_RIGHT 266
#define N_LEDS_BODY_UPPER 275
#define N_LEDS_BODY_LOWER 145
#define N_LEDS_TAIL       30

#define MAX_STRIP_LENGTH  275
#define N_STRIPS          6

//The data pins
#define PIN_WING_LEFT     1
#define PIN_HEAD          2
#define PIN_WING_RIGHT    3
#define PIN_BODY_UPPER    4
#define PIN_BODY_LOWER    5
#define PIN_TAIL          6

//The order in which the strips are wired
#define INDEX_WING_LEFT   0
#define INDEX_HEAD        1
#define INDEX_WING_RIGHT  2
#define INDEX_BODY_UPPER  3
#define INDEX_BODY_LOWER  4
#define INDEX_TAIL        5

//The dimensions of the virtual pixelMap to be rendered
#define MAP_WIDTH         111
#define MAP_HEIGHT        25

/*
**  SERIAL STRATEGY:
*/

/*
CRGB signWingLeft[N_LEDS_WING_LEFT];
CRGB signHead[N_LEDS_HEAD];
CRGB signWingRight[N_LEDS_WING_RIGHT];
CRGB signBodyUpper[N_LEDS_BODY_UPPER];
CRGB signBodyLower[N_LEDS_BODY_LOWER];
CRGB signTail[N_LEDS_TAIL];
*/

int16_t pixelMap[MAP_HEIGHT][MAP_WIDTH][2] = {
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {1, 44}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {1, 43}, {1, 42}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{0, 265}, {0, 264}, {0, 263}, {0, 262}, {0, 261}, {0, 260}, {0, 259}, {0, 258}, {0, 257}, {0, 256}, {0, 255}, {0, 254}, {0, 253}, {0, 252}, {0, 251}, {0, 250}, {0, 249}, {0, 248}, {0, 247}, {0, 246}, {0, 245}, {0, 244}, {0, 243}, {0, 242}, {0, 241}, {0, 240}, {0, 239}, {0, 238}, {0, 237}, {0, 236}, {0, 235}, {0, 234}, {0, 233}, {0, 232}, {0, 231}, {0, 230}, {0, 229}, {0, 228}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {1, 39}, {1, 40}, {1, 41}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {2, 228}, {2, 229}, {2, 230}, {2, 231}, {2, 232}, {2, 233}, {2, 234}, {2, 235}, {2, 236}, {2, 237}, {2, 238}, {2, 239}, {2, 240}, {2, 241}, {2, 242}, {2, 243}, {2, 244}, {2, 245}, {2, 246}, {2, 247}, {2, 248}, {2, 249}, {2, 250}, {2, 251}, {2, 252}, {2, 253}, {2, 254}, {2, 255}, {2, 256}, {2, 257}, {2, 258}, {2, 259}, {2, 260}, {2, 261}, {2, 262}, {2, 263}, {2, 264}, {2, 265},  },
  {{-1,-1}, {-1,-1}, {0, 190}, {0, 191}, {0, 192}, {0, 193}, {0, 194}, {0, 195}, {0, 196}, {0, 197}, {0, 198}, {0, 199}, {0, 200}, {0, 201}, {0, 202}, {0, 203}, {0, 204}, {0, 205}, {0, 206}, {0, 207}, {0, 208}, {0, 209}, {0, 210}, {0, 211}, {0, 212}, {0, 213}, {0, 214}, {0, 215}, {0, 216}, {0, 217}, {0, 218}, {0, 219}, {0, 220}, {0, 221}, {0, 222}, {0, 223}, {0, 224}, {0, 225}, {0, 226}, {0, 227}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {1, 38}, {1, 37}, {1, 36}, {1, 35}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {2, 227}, {2, 226}, {2, 225}, {2, 224}, {2, 223}, {2, 222}, {2, 221}, {2, 220}, {2, 219}, {2, 218}, {2, 217}, {2, 216}, {2, 215}, {2, 214}, {2, 213}, {2, 212}, {2, 211}, {2, 210}, {2, 209}, {2, 208}, {2, 207}, {2, 206}, {2, 205}, {2, 204}, {2, 203}, {2, 202}, {2, 201}, {2, 200}, {2, 199}, {2, 198}, {2, 197}, {2, 196}, {2, 195}, {2, 194}, {2, 193}, {2, 192}, {2, 191}, {2, 190}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {0, 189}, {0, 188}, {0, 187}, {0, 186}, {0, 185}, {0, 184}, {0, 183}, {0, 182}, {0, 181}, {0, 180}, {0, 179}, {0, 178}, {0, 177}, {0, 176}, {0, 175}, {0, 174}, {0, 173}, {0, 172}, {0, 171}, {0, 170}, {0, 169}, {0, 168}, {0, 167}, {0, 166}, {0, 165}, {0, 164}, {0, 163}, {0, 162}, {0, 161}, {0, 160}, {0, 159}, {0, 158}, {0, 157}, {0, 156}, {0, 155}, {0, 154}, {0, 153}, {0, 152}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {1, 30}, {1, 31}, {1, 32}, {1, 33}, {1, 34}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {2, 152}, {2, 153}, {2, 154}, {2, 155}, {2, 156}, {2, 157}, {2, 158}, {2, 159}, {2, 160}, {2, 161}, {2, 162}, {2, 163}, {2, 164}, {2, 165}, {2, 166}, {2, 167}, {2, 168}, {2, 169}, {2, 170}, {2, 171}, {2, 172}, {2, 173}, {2, 174}, {2, 175}, {2, 176}, {2, 177}, {2, 178}, {2, 179}, {2, 180}, {2, 181}, {2, 182}, {2, 183}, {2, 184}, {2, 185}, {2, 186}, {2, 187}, {2, 188}, {2, 189}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {0, 114}, {0, 115}, {0, 116}, {0, 117}, {0, 118}, {0, 119}, {0, 120}, {0, 121}, {0, 122}, {0, 123}, {0, 124}, {0, 125}, {0, 126}, {0, 127}, {0, 128}, {0, 129}, {0, 130}, {0, 131}, {0, 132}, {0, 133}, {0, 134}, {0, 135}, {0, 136}, {0, 137}, {0, 138}, {0, 139}, {0, 140}, {0, 141}, {0, 142}, {0, 143}, {0, 144}, {0, 145}, {0, 146}, {0, 147}, {0, 148}, {0, 149}, {0, 150}, {0, 151}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {1, 29}, {1, 28}, {1, 27}, {1, 26}, {1, 25}, {1, 24}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {2, 151}, {2, 150}, {2, 149}, {2, 148}, {2, 147}, {2, 146}, {2, 145}, {2, 144}, {2, 143}, {2, 142}, {2, 141}, {2, 140}, {2, 139}, {2, 138}, {2, 137}, {2, 136}, {2, 135}, {2, 134}, {2, 133}, {2, 132}, {2, 131}, {2, 130}, {2, 129}, {2, 128}, {2, 127}, {2, 126}, {2, 125}, {2, 124}, {2, 123}, {2, 122}, {2, 121}, {2, 120}, {2, 119}, {2, 118}, {2, 117}, {2, 116}, {2, 115}, {2, 114}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {0, 113}, {0, 112}, {0, 111}, {0, 110}, {0, 109}, {0, 108}, {0, 107}, {0, 106}, {0, 105}, {0, 104}, {0, 103}, {0, 102}, {0, 101}, {0, 100}, {0, 99}, {0, 98}, {0, 97}, {0, 96}, {0, 95}, {0, 94}, {0, 93}, {0, 92}, {0, 91}, {0, 90}, {0, 89}, {0, 88}, {0, 87}, {0, 86}, {0, 85}, {0, 84}, {0, 83}, {0, 82}, {0, 81}, {0, 80}, {0, 79}, {0, 78}, {0, 77}, {0, 76}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {1, 17}, {1, 18}, {1, 19}, {1, 20}, {1, 21}, {1, 22}, {1, 23}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {2, 76}, {2, 77}, {2, 78}, {2, 79}, {2, 80}, {2, 81}, {2, 82}, {2, 83}, {2, 84}, {2, 85}, {2, 86}, {2, 87}, {2, 88}, {2, 89}, {2, 90}, {2, 91}, {2, 92}, {2, 93}, {2, 94}, {2, 95}, {2, 96}, {2, 97}, {2, 98}, {2, 99}, {2, 100}, {2, 101}, {2, 102}, {2, 103}, {2, 104}, {2, 105}, {2, 106}, {2, 107}, {2, 108}, {2, 109}, {2, 110}, {2, 111}, {2, 112}, {2, 113}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {0, 38}, {0, 39}, {0, 40}, {0, 41}, {0, 42}, {0, 43}, {0, 44}, {0, 45}, {0, 46}, {0, 47}, {0, 48}, {0, 49}, {0, 50}, {0, 51}, {0, 52}, {0, 53}, {0, 54}, {0, 55}, {0, 56}, {0, 57}, {0, 58}, {0, 59}, {0, 60}, {0, 61}, {0, 62}, {0, 63}, {0, 64}, {0, 65}, {0, 66}, {0, 67}, {0, 68}, {0, 69}, {0, 70}, {0, 71}, {0, 72}, {0, 73}, {0, 74}, {0, 75}, {-1,-1}, {-1,-1}, {-1,-1}, {1, 16}, {1, 15}, {1, 14}, {1, 13}, {1, 12}, {1, 11}, {1, 10}, {1, 9}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {2, 75}, {2, 74}, {2, 73}, {2, 72}, {2, 71}, {2, 70}, {2, 69}, {2, 68}, {2, 67}, {2, 66}, {2, 65}, {2, 64}, {2, 63}, {2, 62}, {2, 61}, {2, 60}, {2, 59}, {2, 58}, {2, 57}, {2, 56}, {2, 55}, {2, 54}, {2, 53}, {2, 52}, {2, 51}, {2, 50}, {2, 49}, {2, 48}, {2, 47}, {2, 46}, {2, 45}, {2, 44}, {2, 43}, {2, 42}, {2, 41}, {2, 40}, {2, 39}, {2, 38}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {0, 37}, {0, 36}, {0, 35}, {0, 34}, {0, 33}, {0, 32}, {0, 31}, {0, 30}, {0, 29}, {0, 28}, {0, 27}, {0, 26}, {0, 25}, {0, 24}, {0, 23}, {0, 22}, {0, 21}, {0, 20}, {0, 19}, {0, 18}, {0, 17}, {0, 16}, {0, 15}, {0, 14}, {0, 13}, {0, 12}, {0, 11}, {0, 10}, {0, 9}, {0, 8}, {0, 7}, {0, 6}, {0, 5}, {0, 4}, {0, 3}, {0, 2}, {0, 1}, {0, 0}, {-1,-1}, {1, 0}, {1, 1}, {1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 6}, {1, 7}, {1, 8}, {-1,-1}, {2, 0}, {2, 1}, {2, 2}, {2, 3}, {2, 4}, {2, 5}, {2, 6}, {2, 7}, {2, 8}, {2, 9}, {2, 10}, {2, 11}, {2, 12}, {2, 13}, {2, 14}, {2, 15}, {2, 16}, {2, 17}, {2, 18}, {2, 19}, {2, 20}, {2, 21}, {2, 22}, {2, 23}, {2, 24}, {2, 25}, {2, 26}, {2, 27}, {2, 28}, {2, 29}, {2, 30}, {2, 31}, {2, 32}, {2, 33}, {2, 34}, {2, 35}, {2, 36}, {2, 37}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {3, 62}, {3, 61}, {3, 60}, {3, 59}, {3, 58}, {3, 57}, {3, 56}, {3, 55}, {3, 54}, {3, 53}, {3, 52}, {3, 51}, {3, 50}, {3, 49}, {3, 48}, {3, 47}, {3, 46}, {3, 45}, {3, 44}, {3, 43}, {3, 42}, {3, 41}, {3, 40}, {3, 39}, {3, 38}, {3, 37}, {3, 36}, {3, 35}, {3, 34}, {3, 33}, {3, 32}, {3, 31}, {3, 30}, {3, 29}, {3, 28}, {3, 27}, {3, 26}, {3, 25}, {3, 24}, {3, 23}, {3, 22}, {3, 21}, {3, 20}, {3, 19}, {3, 18}, {3, 17}, {3, 16}, {3, 15}, {3, 14}, {3, 13}, {3, 12}, {3, 11}, {3, 10}, {3, 9}, {3, 8}, {3, 7}, {3, 6}, {3, 5}, {3, 4}, {3, 3}, {3, 2}, {3, 1}, {3, 0}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {3, 63}, {3, 64}, {3, 65}, {3, 66}, {3, 67}, {3, 68}, {3, 69}, {3, 70}, {3, 71}, {3, 72}, {3, 73}, {3, 74}, {3, 75}, {3, 76}, {3, 77}, {3, 78}, {3, 79}, {3, 80}, {3, 81}, {3, 82}, {3, 83}, {3, 84}, {3, 85}, {3, 86}, {3, 87}, {3, 88}, {3, 89}, {3, 90}, {3, 91}, {3, 92}, {3, 93}, {3, 94}, {3, 95}, {3, 96}, {3, 97}, {3, 98}, {3, 99}, {3, 100}, {3, 101}, {3, 102}, {3, 103}, {3, 104}, {3, 105}, {3, 106}, {3, 107}, {3, 108}, {3, 109}, {3, 110}, {3, 111}, {3, 112}, {3, 113}, {3, 114}, {3, 115}, {3, 116}, {3, 117}, {3, 118}, {3, 119}, {3, 120}, {3, 121}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {3, 176}, {3, 175}, {3, 174}, {3, 173}, {3, 172}, {3, 171}, {3, 170}, {3, 169}, {3, 168}, {3, 167}, {3, 166}, {3, 165}, {3, 164}, {3, 163}, {3, 162}, {3, 161}, {3, 160}, {3, 159}, {3, 158}, {3, 157}, {3, 156}, {3, 155}, {3, 154}, {3, 153}, {3, 152}, {3, 151}, {3, 150}, {3, 149}, {3, 148}, {3, 147}, {3, 146}, {3, 145}, {3, 144}, {3, 143}, {3, 142}, {3, 141}, {3, 140}, {3, 139}, {3, 138}, {3, 137}, {3, 136}, {3, 135}, {3, 134}, {3, 133}, {3, 132}, {3, 131}, {3, 130}, {3, 129}, {3, 128}, {3, 127}, {3, 126}, {3, 125}, {3, 124}, {3, 123}, {3, 122}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {3, 177}, {3, 178}, {3, 179}, {3, 180}, {3, 181}, {3, 182}, {3, 183}, {3, 184}, {3, 185}, {3, 186}, {3, 187}, {3, 188}, {3, 189}, {3, 190}, {3, 191}, {3, 192}, {3, 193}, {3, 194}, {3, 195}, {3, 196}, {3, 197}, {3, 198}, {3, 199}, {3, 200}, {3, 201}, {3, 202}, {3, 203}, {3, 204}, {3, 205}, {3, 206}, {3, 207}, {3, 208}, {3, 209}, {3, 210}, {3, 211}, {3, 212}, {3, 213}, {3, 214}, {3, 215}, {3, 216}, {3, 217}, {3, 218}, {3, 219}, {3, 220}, {3, 221}, {3, 222}, {3, 223}, {3, 224}, {3, 225}, {3, 226}, {3, 227}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {3, 228}, {3, 229}, {3, 230}, {3, 231}, {3, 232}, {3, 233}, {3, 234}, {3, 235}, {3, 236}, {3, 237}, {3, 238}, {3, 239}, {3, 240}, {3, 241}, {3, 242}, {3, 243}, {3, 244}, {3, 245}, {3, 246}, {3, 247}, {3, 248}, {3, 249}, {3, 250}, {3, 251}, {3, 252}, {3, 253}, {3, 254}, {3, 255}, {3, 256}, {3, 257}, {3, 258}, {3, 259}, {3, 260}, {3, 261}, {3, 262}, {3, 263}, {3, 264}, {3, 265}, {3, 266}, {3, 267}, {3, 268}, {3, 269}, {3, 270}, {3, 271}, {3, 272}, {3, 273}, {3, 274}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {4, 0}, {4, 1}, {4, 2}, {4, 3}, {4, 4}, {4, 5}, {4, 6}, {4, 7}, {4, 8}, {4, 9}, {4, 10}, {4, 11}, {4, 12}, {4, 13}, {4, 14}, {4, 15}, {4, 16}, {4, 17}, {4, 18}, {4, 19}, {4, 20}, {4, 21}, {4, 22}, {4, 23}, {4, 24}, {4, 25}, {4, 26}, {4, 27}, {4, 28}, {4, 29}, {4, 30}, {4, 31}, {4, 32}, {4, 33}, {4, 34}, {4, 35}, {4, 36}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {4, 69}, {4, 68}, {4, 67}, {4, 66}, {4, 65}, {4, 64}, {4, 63}, {4, 62}, {4, 61}, {4, 60}, {4, 59}, {4, 58}, {4, 57}, {4, 56}, {4, 55}, {4, 54}, {4, 53}, {4, 52}, {4, 51}, {4, 50}, {4, 49}, {4, 48}, {4, 47}, {4, 46}, {4, 45}, {4, 44}, {4, 43}, {4, 42}, {4, 41}, {4, 40}, {4, 39}, {4, 38}, {4, 37}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {4, 70}, {4, 71}, {4, 72}, {4, 73}, {4, 74}, {4, 75}, {4, 76}, {4, 77}, {4, 78}, {4, 79}, {4, 80}, {4, 81}, {4, 82}, {4, 83}, {4, 84}, {4, 85}, {4, 86}, {4, 87}, {4, 88}, {4, 89}, {4, 90}, {4, 91}, {4, 92}, {4, 93}, {4, 94}, {4, 95}, {4, 96}, {4, 97}, {4, 98}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {4, 123}, {4, 122}, {4, 121}, {4, 120}, {4, 119}, {4, 118}, {4, 117}, {4, 116}, {4, 115}, {4, 114}, {4, 113}, {4, 112}, {4, 111}, {4, 110}, {4, 109}, {4, 108}, {4, 107}, {4, 106}, {4, 105}, {4, 104}, {4, 103}, {4, 102}, {4, 101}, {4, 100}, {4, 99}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {4, 124}, {4, 125}, {4, 126}, {4, 127}, {4, 128}, {4, 129}, {4, 130}, {4, 131}, {4, 132}, {4, 133}, {4, 134}, {4, 135}, {4, 136}, {4, 137}, {4, 138}, {4, 139}, {4, 140}, {4, 141}, {4, 142}, {4, 143}, {4, 144}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {5, 13}, {5, 12}, {5, 11}, {5, 10}, {5, 9}, {5, 8}, {5, 7}, {5, 6}, {5, 5}, {5, 4}, {5, 3}, {5, 2}, {5, 1}, {5, 0}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {5, 14}, {5, 15}, {5, 16}, {5, 17}, {5, 18}, {5, 19}, {5, 20}, {5, 21}, {5, 22}, {5, 23}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {5, 29}, {5, 28}, {5, 27}, {5, 26}, {5, 25}, {5, 24}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
};

CRGB leds[N_STRIPS][MAX_STRIP_LENGTH];

uint16_t offsetWingLeft  = N_LEDS_WING_LEFT;
uint16_t offsetHead      = offsetWingLeft + N_LEDS_HEAD;
uint16_t offsetWingRight = offsetHead + N_LEDS_WING_RIGHT;
uint16_t offsetBodyUpper = offsetWingRight + N_LEDS_BODY_UPPER;
uint16_t offsetBodyLower = offsetBodyUpper + N_LEDS_BODY_LOWER;


void setup() {

  FastLED.addLeds<CHIPSET, PIN_WING_LEFT,   COLOR_ORDER>(leds[INDEX_WING_LEFT],  N_LEDS_WING_LEFT);
  FastLED.addLeds<CHIPSET, PIN_HEAD,        COLOR_ORDER>(leds[INDEX_HEAD],       N_LEDS_HEAD);
  FastLED.addLeds<CHIPSET, PIN_WING_RIGHT,  COLOR_ORDER>(leds[INDEX_WING_RIGHT], N_LEDS_WING_RIGHT);
  FastLED.addLeds<CHIPSET, PIN_BODY_UPPER,  COLOR_ORDER>(leds[INDEX_BODY_UPPER], N_LEDS_BODY_UPPER);
  FastLED.addLeds<CHIPSET, PIN_BODY_LOWER,  COLOR_ORDER>(leds[INDEX_BODY_LOWER], N_LEDS_BODY_LOWER);
  FastLED.addLeds<CHIPSET, PIN_TAIL,        COLOR_ORDER>(leds[INDEX_TAIL],       N_LEDS_TAIL);

  /*
  **  SERIAL STRATEGY:
  */

  /*
  FastLED.addLeds<CHIPSET, PIN_WING_LEFT,   COLOR_ORDER>(signWingLeft,  N_LEDS_WING_LEFT);
  FastLED.addLeds<CHIPSET, PIN_HEAD,        COLOR_ORDER>(signHead,      N_LEDS_HEAD);
  FastLED.addLeds<CHIPSET, PIN_WING_RIGHT,  COLOR_ORDER>(signWingRight, N_LEDS_WING_RIGHT);
  FastLED.addLeds<CHIPSET, PIN_BODY_UPPER,  COLOR_ORDER>(signBodyUpper, N_LEDS_BODY_UPPER);
  FastLED.addLeds<CHIPSET, PIN_BODY_LOWER,  COLOR_ORDER>(signBodyLower, N_LEDS_BODY_LOWER);
  FastLED.addLeds<CHIPSET, PIN_TAIL,        COLOR_ORDER>(signTail,      N_LEDS_TAIL);
  */
}

void loop() {

  /*
  **  Example pixel update:
  */

  /*
  int8_t x;
  int8_t y;
  int16_t p[] = pixelMap[x][y];
  leds[p[0]][p[1]] = CHSV(255, 255, 255);
  */

  /*
  for (int y = 0; y < MAP_HEIGHT; y++) {
    for (int x = 0; x < MAP_WIDTH; y++) {
      int16_t s = pixelMap[x][y][0];
      int16_t p = pixelMap[x][y][1];
      //int16_t p[2] = pixelMap[x][y];
      leds[s][p] = CHSV(125, 255, 255);
      FastLED.show();      
      delay(20);
    }    
  }
  */
  ClearAll();
  testHorizontalLineDown();
}

void ClearAll() {
  for (int j = 0; j < 6; j++) {
    for(int i = 0; i < 275; i++) {
      leds[j][i] = 0;
      FastLED.show();
      delay(50);
    }
  }
}

void testHorizontalLineDown() {
  for (uint8_t y = 0; y < MAP_HEIGHT; y++) {
    for (uint8_t x = 0; x < MAP_WIDTH; x++) {
      uint8_t pin = pixelMap[y][x][0];
      uint16_t pixel = pixelMap[y][x][1];
      leds[pin][pixel] = segmentColor(pin);
      uint8_t pinPrevious = pixelMap[y-1][x][0];
      uint16_t pixelPrevious = pixelMap[y-1][x][1];
      leds[pinPrevious][pixelPrevious] = 0;
    }
    FastLED.show();
    delay(1000);
  }
}

CRGB segmentColor(uint8_t pin){
  switch(pin) {
    case 0 :
      return CRGB::Red;
    case 1 :
      return CRGB::Orange;
    case 2 :
      return CRGB::Yellow;  
    case 3 :
      return CRGB::Green;
    case 4 :
      return CRGB::Blue;
    case 5 :
      return CRGB::Purple;
  }
  return CRGB::Black;
}

/*
**  SERIAL STRATEGY:
**  Use the following two functions together to get strip index and pixel index
**  E.G. leds[getStripFromPixelIndex(i)][getPixelIndexInStrip(i)]
*/

/*
uint8_t getStripFromPixelIndex(uint16_t i) {
  if(i >= 0 && i < offsetWingLeft) {
    return INDEX_WING_LEFT;
  } else if(i >= offsetWingLeft && i < offsetHead) {
    return INDEX_HEAD;
  } else if(i >= offsethead && i < offsetWingRight) {
    return INDEX_WING_RIGHT;
  } else if(i >= offsetHead && i < offsetBodyUpper) {
    return INDEX_BODY_UPPER;
  } else if(i >= offsetBodyUpper && i < offsetBodyLower) {
    return INDEX_BODY_LOWER;
  } else if(i >= offsetBodyLower && i < offsetTail) {
    return INDEX_TAIL;
  } else {
    return INDEX_TAIL + 1;
  }
}

uint16_t getPixelIndexInStrip(uint16_t i) {
  if(i >= 0 && i < offsetWingLeft) {
    return i;
  } else if(i >= offsetWingLeft && i < offsetHead) {
    return i - offsetWingLeft;
  } else if(i >= offsetHead && i < offsetWingRight) {
    return i - offsetHead;
  } else if(i >= offsetHead && i < offsetBodyUpper) {
    return i - offsetHead;
  } else if(i >= offsetBodyUpper && i < offsetBodyLower) {
    return i - offsetBodyUpper;
  } else if(i >= offsetBodyLower && i < offsetTail) {
    return i - offsetBodyLower;
  } else {
    return offsetTail;
  }
}
*/

<commit_msg>add more test functions<commit_after>//Sign B basic functions

#include "FastLED.h"

#define CHIPSET           WS2812B
#define COLOR_ORDER       GRB

#define BRIGHTNESS        64

//The number of pixels in each section:
#define N_LEDS_WING_LEFT  266
#define N_LEDS_HEAD       45
#define N_LEDS_WING_RIGHT 266
#define N_LEDS_BODY_UPPER 275
#define N_LEDS_BODY_LOWER 145
#define N_LEDS_TAIL       30

#define MAX_STRIP_LENGTH  275
#define N_STRIPS          6

//The data pins
#define PIN_WING_LEFT     1
#define PIN_HEAD          2
#define PIN_WING_RIGHT    3
#define PIN_BODY_UPPER    4
#define PIN_BODY_LOWER    5
#define PIN_TAIL          6

//The order in which the strips are wired
#define INDEX_WING_LEFT   0
#define INDEX_HEAD        1
#define INDEX_WING_RIGHT  2
#define INDEX_BODY_UPPER  3
#define INDEX_BODY_LOWER  4
#define INDEX_TAIL        5

//The dimensions of the virtual pixelMap to be rendered
#define MAP_WIDTH         111
#define MAP_HEIGHT        25

/*
**  SERIAL STRATEGY:
*/

/*
CRGB signWingLeft[N_LEDS_WING_LEFT];
CRGB signHead[N_LEDS_HEAD];
CRGB signWingRight[N_LEDS_WING_RIGHT];
CRGB signBodyUpper[N_LEDS_BODY_UPPER];
CRGB signBodyLower[N_LEDS_BODY_LOWER];
CRGB signTail[N_LEDS_TAIL];
*/

int16_t pixelMap[MAP_HEIGHT][MAP_WIDTH][2] = {
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {1, 44}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {1, 43}, {1, 42}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{0, 265}, {0, 264}, {0, 263}, {0, 262}, {0, 261}, {0, 260}, {0, 259}, {0, 258}, {0, 257}, {0, 256}, {0, 255}, {0, 254}, {0, 253}, {0, 252}, {0, 251}, {0, 250}, {0, 249}, {0, 248}, {0, 247}, {0, 246}, {0, 245}, {0, 244}, {0, 243}, {0, 242}, {0, 241}, {0, 240}, {0, 239}, {0, 238}, {0, 237}, {0, 236}, {0, 235}, {0, 234}, {0, 233}, {0, 232}, {0, 231}, {0, 230}, {0, 229}, {0, 228}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {1, 39}, {1, 40}, {1, 41}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {2, 228}, {2, 229}, {2, 230}, {2, 231}, {2, 232}, {2, 233}, {2, 234}, {2, 235}, {2, 236}, {2, 237}, {2, 238}, {2, 239}, {2, 240}, {2, 241}, {2, 242}, {2, 243}, {2, 244}, {2, 245}, {2, 246}, {2, 247}, {2, 248}, {2, 249}, {2, 250}, {2, 251}, {2, 252}, {2, 253}, {2, 254}, {2, 255}, {2, 256}, {2, 257}, {2, 258}, {2, 259}, {2, 260}, {2, 261}, {2, 262}, {2, 263}, {2, 264}, {2, 265},  },
  {{-1,-1}, {-1,-1}, {0, 190}, {0, 191}, {0, 192}, {0, 193}, {0, 194}, {0, 195}, {0, 196}, {0, 197}, {0, 198}, {0, 199}, {0, 200}, {0, 201}, {0, 202}, {0, 203}, {0, 204}, {0, 205}, {0, 206}, {0, 207}, {0, 208}, {0, 209}, {0, 210}, {0, 211}, {0, 212}, {0, 213}, {0, 214}, {0, 215}, {0, 216}, {0, 217}, {0, 218}, {0, 219}, {0, 220}, {0, 221}, {0, 222}, {0, 223}, {0, 224}, {0, 225}, {0, 226}, {0, 227}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {1, 38}, {1, 37}, {1, 36}, {1, 35}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {2, 227}, {2, 226}, {2, 225}, {2, 224}, {2, 223}, {2, 222}, {2, 221}, {2, 220}, {2, 219}, {2, 218}, {2, 217}, {2, 216}, {2, 215}, {2, 214}, {2, 213}, {2, 212}, {2, 211}, {2, 210}, {2, 209}, {2, 208}, {2, 207}, {2, 206}, {2, 205}, {2, 204}, {2, 203}, {2, 202}, {2, 201}, {2, 200}, {2, 199}, {2, 198}, {2, 197}, {2, 196}, {2, 195}, {2, 194}, {2, 193}, {2, 192}, {2, 191}, {2, 190}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {0, 189}, {0, 188}, {0, 187}, {0, 186}, {0, 185}, {0, 184}, {0, 183}, {0, 182}, {0, 181}, {0, 180}, {0, 179}, {0, 178}, {0, 177}, {0, 176}, {0, 175}, {0, 174}, {0, 173}, {0, 172}, {0, 171}, {0, 170}, {0, 169}, {0, 168}, {0, 167}, {0, 166}, {0, 165}, {0, 164}, {0, 163}, {0, 162}, {0, 161}, {0, 160}, {0, 159}, {0, 158}, {0, 157}, {0, 156}, {0, 155}, {0, 154}, {0, 153}, {0, 152}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {1, 30}, {1, 31}, {1, 32}, {1, 33}, {1, 34}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {2, 152}, {2, 153}, {2, 154}, {2, 155}, {2, 156}, {2, 157}, {2, 158}, {2, 159}, {2, 160}, {2, 161}, {2, 162}, {2, 163}, {2, 164}, {2, 165}, {2, 166}, {2, 167}, {2, 168}, {2, 169}, {2, 170}, {2, 171}, {2, 172}, {2, 173}, {2, 174}, {2, 175}, {2, 176}, {2, 177}, {2, 178}, {2, 179}, {2, 180}, {2, 181}, {2, 182}, {2, 183}, {2, 184}, {2, 185}, {2, 186}, {2, 187}, {2, 188}, {2, 189}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {0, 114}, {0, 115}, {0, 116}, {0, 117}, {0, 118}, {0, 119}, {0, 120}, {0, 121}, {0, 122}, {0, 123}, {0, 124}, {0, 125}, {0, 126}, {0, 127}, {0, 128}, {0, 129}, {0, 130}, {0, 131}, {0, 132}, {0, 133}, {0, 134}, {0, 135}, {0, 136}, {0, 137}, {0, 138}, {0, 139}, {0, 140}, {0, 141}, {0, 142}, {0, 143}, {0, 144}, {0, 145}, {0, 146}, {0, 147}, {0, 148}, {0, 149}, {0, 150}, {0, 151}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {1, 29}, {1, 28}, {1, 27}, {1, 26}, {1, 25}, {1, 24}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {2, 151}, {2, 150}, {2, 149}, {2, 148}, {2, 147}, {2, 146}, {2, 145}, {2, 144}, {2, 143}, {2, 142}, {2, 141}, {2, 140}, {2, 139}, {2, 138}, {2, 137}, {2, 136}, {2, 135}, {2, 134}, {2, 133}, {2, 132}, {2, 131}, {2, 130}, {2, 129}, {2, 128}, {2, 127}, {2, 126}, {2, 125}, {2, 124}, {2, 123}, {2, 122}, {2, 121}, {2, 120}, {2, 119}, {2, 118}, {2, 117}, {2, 116}, {2, 115}, {2, 114}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {0, 113}, {0, 112}, {0, 111}, {0, 110}, {0, 109}, {0, 108}, {0, 107}, {0, 106}, {0, 105}, {0, 104}, {0, 103}, {0, 102}, {0, 101}, {0, 100}, {0, 99}, {0, 98}, {0, 97}, {0, 96}, {0, 95}, {0, 94}, {0, 93}, {0, 92}, {0, 91}, {0, 90}, {0, 89}, {0, 88}, {0, 87}, {0, 86}, {0, 85}, {0, 84}, {0, 83}, {0, 82}, {0, 81}, {0, 80}, {0, 79}, {0, 78}, {0, 77}, {0, 76}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {1, 17}, {1, 18}, {1, 19}, {1, 20}, {1, 21}, {1, 22}, {1, 23}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {2, 76}, {2, 77}, {2, 78}, {2, 79}, {2, 80}, {2, 81}, {2, 82}, {2, 83}, {2, 84}, {2, 85}, {2, 86}, {2, 87}, {2, 88}, {2, 89}, {2, 90}, {2, 91}, {2, 92}, {2, 93}, {2, 94}, {2, 95}, {2, 96}, {2, 97}, {2, 98}, {2, 99}, {2, 100}, {2, 101}, {2, 102}, {2, 103}, {2, 104}, {2, 105}, {2, 106}, {2, 107}, {2, 108}, {2, 109}, {2, 110}, {2, 111}, {2, 112}, {2, 113}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {0, 38}, {0, 39}, {0, 40}, {0, 41}, {0, 42}, {0, 43}, {0, 44}, {0, 45}, {0, 46}, {0, 47}, {0, 48}, {0, 49}, {0, 50}, {0, 51}, {0, 52}, {0, 53}, {0, 54}, {0, 55}, {0, 56}, {0, 57}, {0, 58}, {0, 59}, {0, 60}, {0, 61}, {0, 62}, {0, 63}, {0, 64}, {0, 65}, {0, 66}, {0, 67}, {0, 68}, {0, 69}, {0, 70}, {0, 71}, {0, 72}, {0, 73}, {0, 74}, {0, 75}, {-1,-1}, {-1,-1}, {-1,-1}, {1, 16}, {1, 15}, {1, 14}, {1, 13}, {1, 12}, {1, 11}, {1, 10}, {1, 9}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {2, 75}, {2, 74}, {2, 73}, {2, 72}, {2, 71}, {2, 70}, {2, 69}, {2, 68}, {2, 67}, {2, 66}, {2, 65}, {2, 64}, {2, 63}, {2, 62}, {2, 61}, {2, 60}, {2, 59}, {2, 58}, {2, 57}, {2, 56}, {2, 55}, {2, 54}, {2, 53}, {2, 52}, {2, 51}, {2, 50}, {2, 49}, {2, 48}, {2, 47}, {2, 46}, {2, 45}, {2, 44}, {2, 43}, {2, 42}, {2, 41}, {2, 40}, {2, 39}, {2, 38}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {0, 37}, {0, 36}, {0, 35}, {0, 34}, {0, 33}, {0, 32}, {0, 31}, {0, 30}, {0, 29}, {0, 28}, {0, 27}, {0, 26}, {0, 25}, {0, 24}, {0, 23}, {0, 22}, {0, 21}, {0, 20}, {0, 19}, {0, 18}, {0, 17}, {0, 16}, {0, 15}, {0, 14}, {0, 13}, {0, 12}, {0, 11}, {0, 10}, {0, 9}, {0, 8}, {0, 7}, {0, 6}, {0, 5}, {0, 4}, {0, 3}, {0, 2}, {0, 1}, {0, 0}, {-1,-1}, {1, 0}, {1, 1}, {1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 6}, {1, 7}, {1, 8}, {-1,-1}, {2, 0}, {2, 1}, {2, 2}, {2, 3}, {2, 4}, {2, 5}, {2, 6}, {2, 7}, {2, 8}, {2, 9}, {2, 10}, {2, 11}, {2, 12}, {2, 13}, {2, 14}, {2, 15}, {2, 16}, {2, 17}, {2, 18}, {2, 19}, {2, 20}, {2, 21}, {2, 22}, {2, 23}, {2, 24}, {2, 25}, {2, 26}, {2, 27}, {2, 28}, {2, 29}, {2, 30}, {2, 31}, {2, 32}, {2, 33}, {2, 34}, {2, 35}, {2, 36}, {2, 37}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {3, 62}, {3, 61}, {3, 60}, {3, 59}, {3, 58}, {3, 57}, {3, 56}, {3, 55}, {3, 54}, {3, 53}, {3, 52}, {3, 51}, {3, 50}, {3, 49}, {3, 48}, {3, 47}, {3, 46}, {3, 45}, {3, 44}, {3, 43}, {3, 42}, {3, 41}, {3, 40}, {3, 39}, {3, 38}, {3, 37}, {3, 36}, {3, 35}, {3, 34}, {3, 33}, {3, 32}, {3, 31}, {3, 30}, {3, 29}, {3, 28}, {3, 27}, {3, 26}, {3, 25}, {3, 24}, {3, 23}, {3, 22}, {3, 21}, {3, 20}, {3, 19}, {3, 18}, {3, 17}, {3, 16}, {3, 15}, {3, 14}, {3, 13}, {3, 12}, {3, 11}, {3, 10}, {3, 9}, {3, 8}, {3, 7}, {3, 6}, {3, 5}, {3, 4}, {3, 3}, {3, 2}, {3, 1}, {3, 0}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {3, 63}, {3, 64}, {3, 65}, {3, 66}, {3, 67}, {3, 68}, {3, 69}, {3, 70}, {3, 71}, {3, 72}, {3, 73}, {3, 74}, {3, 75}, {3, 76}, {3, 77}, {3, 78}, {3, 79}, {3, 80}, {3, 81}, {3, 82}, {3, 83}, {3, 84}, {3, 85}, {3, 86}, {3, 87}, {3, 88}, {3, 89}, {3, 90}, {3, 91}, {3, 92}, {3, 93}, {3, 94}, {3, 95}, {3, 96}, {3, 97}, {3, 98}, {3, 99}, {3, 100}, {3, 101}, {3, 102}, {3, 103}, {3, 104}, {3, 105}, {3, 106}, {3, 107}, {3, 108}, {3, 109}, {3, 110}, {3, 111}, {3, 112}, {3, 113}, {3, 114}, {3, 115}, {3, 116}, {3, 117}, {3, 118}, {3, 119}, {3, 120}, {3, 121}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {3, 176}, {3, 175}, {3, 174}, {3, 173}, {3, 172}, {3, 171}, {3, 170}, {3, 169}, {3, 168}, {3, 167}, {3, 166}, {3, 165}, {3, 164}, {3, 163}, {3, 162}, {3, 161}, {3, 160}, {3, 159}, {3, 158}, {3, 157}, {3, 156}, {3, 155}, {3, 154}, {3, 153}, {3, 152}, {3, 151}, {3, 150}, {3, 149}, {3, 148}, {3, 147}, {3, 146}, {3, 145}, {3, 144}, {3, 143}, {3, 142}, {3, 141}, {3, 140}, {3, 139}, {3, 138}, {3, 137}, {3, 136}, {3, 135}, {3, 134}, {3, 133}, {3, 132}, {3, 131}, {3, 130}, {3, 129}, {3, 128}, {3, 127}, {3, 126}, {3, 125}, {3, 124}, {3, 123}, {3, 122}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {3, 177}, {3, 178}, {3, 179}, {3, 180}, {3, 181}, {3, 182}, {3, 183}, {3, 184}, {3, 185}, {3, 186}, {3, 187}, {3, 188}, {3, 189}, {3, 190}, {3, 191}, {3, 192}, {3, 193}, {3, 194}, {3, 195}, {3, 196}, {3, 197}, {3, 198}, {3, 199}, {3, 200}, {3, 201}, {3, 202}, {3, 203}, {3, 204}, {3, 205}, {3, 206}, {3, 207}, {3, 208}, {3, 209}, {3, 210}, {3, 211}, {3, 212}, {3, 213}, {3, 214}, {3, 215}, {3, 216}, {3, 217}, {3, 218}, {3, 219}, {3, 220}, {3, 221}, {3, 222}, {3, 223}, {3, 224}, {3, 225}, {3, 226}, {3, 227}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {3, 228}, {3, 229}, {3, 230}, {3, 231}, {3, 232}, {3, 233}, {3, 234}, {3, 235}, {3, 236}, {3, 237}, {3, 238}, {3, 239}, {3, 240}, {3, 241}, {3, 242}, {3, 243}, {3, 244}, {3, 245}, {3, 246}, {3, 247}, {3, 248}, {3, 249}, {3, 250}, {3, 251}, {3, 252}, {3, 253}, {3, 254}, {3, 255}, {3, 256}, {3, 257}, {3, 258}, {3, 259}, {3, 260}, {3, 261}, {3, 262}, {3, 263}, {3, 264}, {3, 265}, {3, 266}, {3, 267}, {3, 268}, {3, 269}, {3, 270}, {3, 271}, {3, 272}, {3, 273}, {3, 274}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {4, 0}, {4, 1}, {4, 2}, {4, 3}, {4, 4}, {4, 5}, {4, 6}, {4, 7}, {4, 8}, {4, 9}, {4, 10}, {4, 11}, {4, 12}, {4, 13}, {4, 14}, {4, 15}, {4, 16}, {4, 17}, {4, 18}, {4, 19}, {4, 20}, {4, 21}, {4, 22}, {4, 23}, {4, 24}, {4, 25}, {4, 26}, {4, 27}, {4, 28}, {4, 29}, {4, 30}, {4, 31}, {4, 32}, {4, 33}, {4, 34}, {4, 35}, {4, 36}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {4, 69}, {4, 68}, {4, 67}, {4, 66}, {4, 65}, {4, 64}, {4, 63}, {4, 62}, {4, 61}, {4, 60}, {4, 59}, {4, 58}, {4, 57}, {4, 56}, {4, 55}, {4, 54}, {4, 53}, {4, 52}, {4, 51}, {4, 50}, {4, 49}, {4, 48}, {4, 47}, {4, 46}, {4, 45}, {4, 44}, {4, 43}, {4, 42}, {4, 41}, {4, 40}, {4, 39}, {4, 38}, {4, 37}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {4, 70}, {4, 71}, {4, 72}, {4, 73}, {4, 74}, {4, 75}, {4, 76}, {4, 77}, {4, 78}, {4, 79}, {4, 80}, {4, 81}, {4, 82}, {4, 83}, {4, 84}, {4, 85}, {4, 86}, {4, 87}, {4, 88}, {4, 89}, {4, 90}, {4, 91}, {4, 92}, {4, 93}, {4, 94}, {4, 95}, {4, 96}, {4, 97}, {4, 98}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {4, 123}, {4, 122}, {4, 121}, {4, 120}, {4, 119}, {4, 118}, {4, 117}, {4, 116}, {4, 115}, {4, 114}, {4, 113}, {4, 112}, {4, 111}, {4, 110}, {4, 109}, {4, 108}, {4, 107}, {4, 106}, {4, 105}, {4, 104}, {4, 103}, {4, 102}, {4, 101}, {4, 100}, {4, 99}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {4, 124}, {4, 125}, {4, 126}, {4, 127}, {4, 128}, {4, 129}, {4, 130}, {4, 131}, {4, 132}, {4, 133}, {4, 134}, {4, 135}, {4, 136}, {4, 137}, {4, 138}, {4, 139}, {4, 140}, {4, 141}, {4, 142}, {4, 143}, {4, 144}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {5, 13}, {5, 12}, {5, 11}, {5, 10}, {5, 9}, {5, 8}, {5, 7}, {5, 6}, {5, 5}, {5, 4}, {5, 3}, {5, 2}, {5, 1}, {5, 0}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {5, 14}, {5, 15}, {5, 16}, {5, 17}, {5, 18}, {5, 19}, {5, 20}, {5, 21}, {5, 22}, {5, 23}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
  {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {5, 29}, {5, 28}, {5, 27}, {5, 26}, {5, 25}, {5, 24}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1},  },
};

CRGB leds[N_STRIPS][MAX_STRIP_LENGTH];

uint16_t offsetWingLeft  = N_LEDS_WING_LEFT;
uint16_t offsetHead      = offsetWingLeft + N_LEDS_HEAD;
uint16_t offsetWingRight = offsetHead + N_LEDS_WING_RIGHT;
uint16_t offsetBodyUpper = offsetWingRight + N_LEDS_BODY_UPPER;
uint16_t offsetBodyLower = offsetBodyUpper + N_LEDS_BODY_LOWER;


void setup() {

  FastLED.addLeds<CHIPSET, PIN_WING_LEFT,   COLOR_ORDER>(leds[INDEX_WING_LEFT],  N_LEDS_WING_LEFT);
  FastLED.addLeds<CHIPSET, PIN_HEAD,        COLOR_ORDER>(leds[INDEX_HEAD],       N_LEDS_HEAD);
  FastLED.addLeds<CHIPSET, PIN_WING_RIGHT,  COLOR_ORDER>(leds[INDEX_WING_RIGHT], N_LEDS_WING_RIGHT);
  FastLED.addLeds<CHIPSET, PIN_BODY_UPPER,  COLOR_ORDER>(leds[INDEX_BODY_UPPER], N_LEDS_BODY_UPPER);
  FastLED.addLeds<CHIPSET, PIN_BODY_LOWER,  COLOR_ORDER>(leds[INDEX_BODY_LOWER], N_LEDS_BODY_LOWER);
  FastLED.addLeds<CHIPSET, PIN_TAIL,        COLOR_ORDER>(leds[INDEX_TAIL],       N_LEDS_TAIL);

  /*
  **  SERIAL STRATEGY:
  */

  /*
  FastLED.addLeds<CHIPSET, PIN_WING_LEFT,   COLOR_ORDER>(signWingLeft,  N_LEDS_WING_LEFT);
  FastLED.addLeds<CHIPSET, PIN_HEAD,        COLOR_ORDER>(signHead,      N_LEDS_HEAD);
  FastLED.addLeds<CHIPSET, PIN_WING_RIGHT,  COLOR_ORDER>(signWingRight, N_LEDS_WING_RIGHT);
  FastLED.addLeds<CHIPSET, PIN_BODY_UPPER,  COLOR_ORDER>(signBodyUpper, N_LEDS_BODY_UPPER);
  FastLED.addLeds<CHIPSET, PIN_BODY_LOWER,  COLOR_ORDER>(signBodyLower, N_LEDS_BODY_LOWER);
  FastLED.addLeds<CHIPSET, PIN_TAIL,        COLOR_ORDER>(signTail,      N_LEDS_TAIL);
  */
}

void loop() {

  /*
  **  Example pixel update:
  */

  /*
  int8_t x;
  int8_t y;
  int16_t p[] = pixelMap[x][y];
  leds[p[0]][p[1]] = CHSV(255, 255, 255);
  */

  /*
  for (int y = 0; y < MAP_HEIGHT; y++) {
    for (int x = 0; x < MAP_WIDTH; y++) {
      int16_t s = pixelMap[x][y][0];
      int16_t p = pixelMap[x][y][1];
      //int16_t p[2] = pixelMap[x][y];
      leds[s][p] = CHSV(125, 255, 255);
      FastLED.show();
      delay(20);
    }
  }
  */
  ClearAll();
  testHorizontalLineDown();
}

void ClearAll() {
  for (int j = 0; j < 6; j++) {
    for(int i = 0; i < 275; i++) {
      leds[j][i] = 0;
      FastLED.show();
      delay(50);
    }
  }
}

void testHorizontalLineDown() {
  uint8_t pin;
  uint16_t pixel;
  uint8_t pinPrevious;
  uint16_t pixelPrevious;
  for (uint8_t y = 0; y < MAP_HEIGHT; y++) {
    for (uint8_t x = 0; x < MAP_WIDTH; x++) {
      if (x >= 2*y - 4 && x <= 114 - 2*y) {
        pin = pixelMap[y][x][0];
        pixel = pixelMap[y][x][1];
        leds[pin][pixel] = segmentColor(pin);
        pinPrevious = pixelMap[y-1][x][0];
        pixelPrevious = pixelMap[y-1][x][1];
        leds[pinPrevious][pixelPrevious] = 0;
      }
    }
    FastLED.show();
    delay(1000);
  }
}

CRGB segmentColor(uint8_t pin){
  switch(pin) {
    case 0 :
      return CRGB::Red;
    case 1 :
      return CRGB::Orange;
    case 2 :
      return CRGB::Yellow;
    case 3 :
      return CRGB::Green;
    case 4 :
      return CRGB::Blue;
    case 5 :
      return CRGB::Purple;
  }
  return CRGB::Black;
}

/*
**  SERIAL STRATEGY:
**  Use the following two functions together to get strip index and pixel index
**  E.G. leds[getStripFromPixelIndex(i)][getPixelIndexInStrip(i)]
*/

/*
uint8_t getStripFromPixelIndex(uint16_t i) {
  if(i >= 0 && i < offsetWingLeft) {
    return INDEX_WING_LEFT;
  } else if(i >= offsetWingLeft && i < offsetHead) {
    return INDEX_HEAD;
  } else if(i >= offsethead && i < offsetWingRight) {
    return INDEX_WING_RIGHT;
  } else if(i >= offsetHead && i < offsetBodyUpper) {
    return INDEX_BODY_UPPER;
  } else if(i >= offsetBodyUpper && i < offsetBodyLower) {
    return INDEX_BODY_LOWER;
  } else if(i >= offsetBodyLower && i < offsetTail) {
    return INDEX_TAIL;
  } else {
    return INDEX_TAIL + 1;
  }
}

uint16_t getPixelIndexInStrip(uint16_t i) {
  if(i >= 0 && i < offsetWingLeft) {
    return i;
  } else if(i >= offsetWingLeft && i < offsetHead) {
    return i - offsetWingLeft;
  } else if(i >= offsetHead && i < offsetWingRight) {
    return i - offsetHead;
  } else if(i >= offsetHead && i < offsetBodyUpper) {
    return i - offsetHead;
  } else if(i >= offsetBodyUpper && i < offsetBodyLower) {
    return i - offsetBodyUpper;
  } else if(i >= offsetBodyLower && i < offsetTail) {
    return i - offsetBodyLower;
  } else {
    return offsetTail;
  }
}
*/

{'fraction_non_alphanumeric': 0.49155993010692356, 'fraction_numerical': 0.23109600679694137, 'mean_word_length': 2.6056875325125715, 'pattern_counts': {'":': 0, '<': 64, '<?xml version=': 0, '>': 52, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 70, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3671563', 'n_tokens_mistral': 41288, 'n_tokens_neox': 32473, 'n_words': 8502}