{
  for (int c0 = 0; c0 <= 36; c0 += 1) {
    for (int c1 = -6; c1 < c0 / 14 - 5; c1 += 1) {
      for (int c2 = -((-2 * c1 + 3) / 5) + 9; c2 <= c1 + 12; c2 += 1)
        S6(c0, c1, c2);
      for (int c2 = c1 + 24; c2 <= -2 * c1 + 24; c2 += 1)
        S2(c0, c1, c2);
      for (int c2 = -2 * c1 + 30; c2 <= c1 + 48; c2 += 1)
        S1(c0, c1, c2);
    }
    for (int c1 = c0 / 14 - 5; c1 < 0; c1 += 1) {
      if (c1 >= -3 && 2 * c0 >= 7 * c1 + 42)
        S7(c0, c1, 6);
      for (int c2 = max(c1 - (6 * c0 + 77) / 77 + 13, -((-2 * c1 + 3) / 5) + 9); c2 <= c1 + 12; c2 += 1)
        S6(c0, c1, c2);
      for (int c2 = c1 - (3 * c0 + 14) / 14 + 49; c2 <= c1 + 48; c2 += 1)
        S1(c0, c1, c2);
    }
    S3(c0, 0, 0);
    S10(c0, 0, 0);
    for (int c2 = 1; c2 <= 5; c2 += 1)
      S3(c0, 0, c2);
    for (int c2 = 6; c2 <= 2 * c0 / 21 + 4; c2 += 1) {
      S3(c0, 0, c2);
      S7(c0, 0, c2);
    }
    for (int c2 = max(6, 2 * c0 / 21 + 5); c2 <= -((6 * c0 + 77) / 77) + 12; c2 += 1)
      S3(c0, 0, c2);
    for (int c2 = -((6 * c0 + 77) / 77) + 13; c2 <= 12; c2 += 1) {
      S3(c0, 0, c2);
      S6(c0, 0, c2);
    }
    for (int c2 = 13; c2 <= 24; c2 += 1)
      S3(c0, 0, c2);
    for (int c2 = -((3 * c0 + 14) / 14) + 49; c2 <= 48; c2 += 1)
      S1(c0, 0, c2);
    for (int c1 = 1; c1 <= 18; c1 += 1) {
      for (int c2 = -8 * c1; c2 <= min(6, -8 * c1 + 24); c2 += 1)
        S3(c0, c1, c2);
      if (c0 <= 34 && c1 == 1) {
        S3(c0, 1, 7);
      } else if (c1 == 2) {
        S3(c0, 2, 7);
      } else if (c0 >= 35 && c1 == 1) {
        S3(c0, 1, 7);
        S7(c0, 1, 7);
      }
      for (int c2 = 8; c2 <= min(-8 * c1 + 24, c1 - (6 * c0 + 77) / 77 + 12); c2 += 1)
        S3(c0, c1, c2);
      if (c1 == 1) {
        for (int c2 = -((6 * c0 + 77) / 77) + 14; c2 <= 13; c2 += 1) {
          S3(c0, 1, c2);
          S6(c0, 1, c2);
        }
        for (int c2 = 14; c2 <= 16; c2 += 1)
          S3(c0, 1, c2);
      }
      for (int c2 = max(-8 * c1 + 25, c1 - (6 * c0 + 77) / 77 + 13); c2 <= c1 + 12; c2 += 1)
        S6(c0, c1, c2);
      for (int c2 = c1 - (3 * c0 + 14) / 14 + 49; c2 <= c1 + 48; c2 += 1)
        S1(c0, c1, c2);
    }
    for (int c1 = 19; c1 <= 24; c1 += 1) {
      for (int c2 = -8 * c1; c2 <= -8 * c1 + 24; c2 += 1)
        S3(c0, c1, c2);
      for (int c2 = c1 - (6 * c0 + 77) / 77 + 13; c2 <= 30; c2 += 1)
        S6(c0, c1, c2);
    }
  }
  for (int c0 = 37; c0 <= 218; c0 += 1) {
    for (int c1 = (c0 + 5) / 14 - 8; c1 < min(0, c0 / 14 - 5); c1 += 1) {
      if (c0 <= 46 && c1 == -3)
        S7(c0, -3, 6);
      if (-77 * ((-3 * c1 + 1) / 5) + 447 >= 6 * c0)
        S6(c0, c1, -((-2 * c1 + 3) / 5) + 9);
      for (int c2 = c1 + 24; c2 <= -2 * c1 + 24; c2 += 1)
        S2(c0, c1, c2);
      for (int c2 = -2 * c1 + 30; c2 <= c1 - (3 * c0 + 17) / 14 + 56; c2 += 1)
        S1(c0, c1, c2);
    }
    if (c0 <= 148)
      for (int c1 = max(0, (c0 + 5) / 14 - 8); c1 < c0 / 14 - 5; c1 += 1) {
        if (c1 == 0)
          S2(c0, 0, 24);
        for (int c2 = max(c1 + 24, -2 * c1 + 30); c2 <= c1 - (3 * c0 + 17) / 14 + 56; c2 += 1)
          S1(c0, c1, c2);
      }
    if (c0 >= 70 && c0 % 14 >= 9)
      for (int c2 = max(c0 / 14 + 19, -((3 * c0 + 14) / 14) + c0 / 14 + 44); c2 <= -((3 * c0 + 17) / 14) + c0 / 14 + 51; c2 += 1)
        S1(c0, c0 / 14 - 5, c2);
    for (int c1 = c0 / 14 - 5; c1 < 0; c1 += 1) {
      if (7 * c1 + 114 >= 2 * c0)
        S7(c0, c1, 6);
      for (int c2 = max(8, c1 - (6 * c0 + 77) / 77 + 13); c2 <= c1 - (6 * c0 + 91) / 77 + 15; c2 += 1)
        S6(c0, c1, c2);
      for (int c2 = c1 - (3 * c0 + 14) / 14 + 49; c2 <= c1 - (3 * c0 + 17) / 14 + 56; c2 += 1)
        S1(c0, c1, c2);
    }
    for (int c1 = max(0, (c0 + 5) / 14 - 5); c1 < c0 / 14 - 2; c1 += 1) {
      for (int c2 = max(c1, -2 * c1 + 6); c2 <= min(c1 + 5, -2 * c1 + 24); c2 += 1)
        S9(c0, c1, c2);
      for (int c2 = c1 + 6; c2 <= min((2 * c1 + 1) / 5 + 7, (2 * c0 - 7 * c1 - 10) / 21 + 1); c2 += 1)
        S9(c0, c1, c2);
      for (int c2 = max(c1 + 6, (2 * c0 - 7 * c1 - 10) / 21 + 2); c2 <= (2 * c1 + 1) / 5 + 7; c2 += 1) {
        S7(c0, c1, c2);
        S9(c0, c1, c2);
      }
      if (c1 <= 3)
        S9(c0, c1, (2 * c1 + 1) / 5 + 8);
      for (int c2 = (2 * c1 + 1) / 5 + 9; c2 <= c1 - (6 * c0 + 91) / 77 + 15; c2 += 1) {
        S6(c0, c1, c2);
        S9(c0, c1, c2);
      }
      for (int c2 = max(max(c1 + 6, c1 - (6 * c0 + 91) / 77 + 16), (2 * c1 + 1) / 5 + 9); c2 <= -2 * c1 + 24; c2 += 1)
        S9(c0, c1, c2);
      for (int c2 = max(c1, -2 * c1 + 30); c2 <= min(c1 + 24, c1 - (3 * c0 + 17) / 14 + 47); c2 += 1)
        S8(c0, c1, c2);
      for (int c2 = max(c1 + 24, c1 - (3 * c0 + 14) / 14 + 49); c2 <= c1 - (3 * c0 + 17) / 14 + 56; c2 += 1)
        S1(c0, c1, c2);
    }
    for (int c1 = c0 / 14 - 2; c1 <= 18; c1 += 1) {
      for (int c2 = max(6, (c0 + 5) / 14 + 1); c2 <= min(min(c1, c0 / 14 + 3), -c1 + c1 / 2 + 18); c2 += 1)
        S5(c0, c1, c2);
      for (int c2 = c1 + 6; c2 <= min((2 * c1 + 1) / 5 + 7, (2 * c0 - 7 * c1 + 63) / 21 + 1); c2 += 1)
        S7(c0, c1, c2);
      for (int c2 = max(max(c1 + 6, c1 - (6 * c0 + 77) / 77 + 13), (2 * c1 + 1) / 5 + 9); c2 <= c1 - (6 * c0 + 91) / 77 + 15; c2 += 1)
        S6(c0, c1, c2);
      for (int c2 = max(c1 + (3 * c0 + 3) / 14 - 40, -c1 + (c1 + 1) / 2 + 21); c2 <= min(c1, c1 + 3 * c0 / 14 - 33); c2 += 1)
        S4(c0, c1, c2);
      for (int c2 = max(c1, c1 - (3 * c0 + 14) / 14 + 40); c2 <= min(c1 + 24, c1 - (3 * c0 + 17) / 14 + 47); c2 += 1)
        S8(c0, c1, c2);
      for (int c2 = max(c1 + 24, c1 - (3 * c0 + 14) / 14 + 49); c2 <= c1 - (3 * c0 + 17) / 14 + 56; c2 += 1)
        S1(c0, c1, c2);
    }
    for (int c1 = 19; c1 <= 24; c1 += 1) {
      for (int c2 = max(c1 - 12, (c0 + 5) / 14 + 1); c2 <= min(c0 / 14 + 3, -c1 + c1 / 2 + 18); c2 += 1)
        S5(c0, c1, c2);
      for (int c2 = max(max(c1 - 12, c1 + (3 * c0 + 3) / 14 - 40), -c1 + (c1 + 1) / 2 + 21); c2 <= min(c1, c1 + 3 * c0 / 14 - 33); c2 += 1)
        S4(c0, c1, c2);
      for (int c2 = max(c1 + 6, c1 - (6 * c0 + 77) / 77 + 13); c2 <= min(30, c1 - (6 * c0 + 91) / 77 + 15); c2 += 1)
        S6(c0, c1, c2);
      for (int c2 = max(c1, c1 - (3 * c0 + 14) / 14 + 40); c2 <= min(c1 + 24, c1 - (3 * c0 + 17) / 14 + 47); c2 += 1)
        S8(c0, c1, c2);
    }
    for (int c1 = 25; c1 <= min(42, -((3 * c0 + 17) / 14) + 71); c1 += 1)
      for (int c2 = max(c1 - 12, c1 + (3 * c0 + 3) / 14 - 40); c2 <= min(min(30, c1), c1 + 3 * c0 / 14 - 33); c2 += 1)
        S4(c0, c1, c2);
  }
}
