int main() {
  char ascii1[100];
  char ascii2[100], arr[100];
  char str[100][100];
  long long int i, j, k1, k2, l, l_num, r_num, r, ls, rs, n, ccase = 0;
  scanf("%lld", &n);
  getchar();
  while (n--) {
    char g1[8][20] = {"........||.../\\...",  "........||../..\\..",
                      ".../\\...||./....\\.", "../..\\..||/......\\",
                      "./....\\.||\\______/", "/......\\||........",
                      "\\______/||........"};
    char g2[8][20] = {".../\\...||........",  "../..\\..||........",
                      "./....\\.||.../\\...", "/......\\||../..\\..",
                      "\\______/||./....\\.", "........||/......\\",
                      "........||\\______/"};
    char g3[8][20] = {"........||........",   ".../\\...||.../\\...",
                      "../..\\..||../..\\..", "./....\\.||./....\\.",
                      "/......\\||/......\\", "\\______/||\\______/",
                      "........||........"};
    ccase++;
    i = 0;
    while (i < 8) {
      gets(arr);
      int len = strlen(arr);
      if (arr[0] == '-')
        break;
      for (j = 0; j < len; j++) {
        str[i][j] = arr[j];
      }
      arr[j] = '\0';
      str[i][j] = '\0';
      i++;
    }
    ls = 0;
    rs = 0;
    l = 0;
    r = 0;
    k1 = 0;
    k2 = 0;
    for (i = 0; i < 7; i++) {
      for (j = 0; j < 18; j++) {
        if (j < 9) {
          if (str[i][j] >= 'A' && str[i][j] <= 'Z') {
            ascii1[k1] = str[i][j];
            k1++;
          }
          if (ls == 0) {
            if (str[i][j] == '/') {
              l = i;
              ls = 1;
            }
          }
        } else if (j > 8) {
          if (str[i][j] >= 'A' && str[i][j] <= 'Z') {
            ascii2[k2++] = str[i][j];
          }
          if (rs == 0) {
            if (str[i][j] == '/') {
              r = i;
              rs = 1;
            }
          }
        }
      }
    }
    str[i][j] = '\0';
    ascii1[k1] = '\0';
    ascii2[k2] = '\0';
    l_num = dtb(ascii1);
    r_num = dtb(ascii2);
    if (l > r && l_num > r_num) {
      printf("Case %lld:\n", ccase);
      printf("The figure is correct.\n");
    } else if (l < r && l_num < r_num) {
      printf("Case %lld:\n", ccase);
      printf("The figure is correct.\n");
    } else if (l == r && l_num == r_num) {
      printf("Case %lld:\n", ccase);
      printf("The figure is correct.\n");
    } else {
      if (l_num == r_num) {
        printf("Case %lld:\n", ccase);
        for (i = 0; i < 7; i++) {
          for (j = 0; j < 18; j++) {
            if (str[i][j] >= 'A' && str[i][j] <= 'Z' && j < 9)
              g3[i + r - 1][j] = str[i][j];
            if (str[i][j] >= 'A' && str[i][j] <= 'Z' && j > 8) {
              g3[i + l - 1][j] = str[i][j];
            }
          }
        }
        str[i][j] = '\0';
        for (i = 0; i < 7; i++) {
          for (j = 0; j < 18; j++) {
            printf("%c", g3[i][j]);
          }
          printf("\n");
        }
        g3[i][j] = '\0';
      } else if (l_num > r_num) {
        printf("Case %lld:\n", ccase);
        for (i = 0; i < 7; i++) {
          for (j = 0; j < 18; j++) {
            if (str[i][j] >= 'A' && str[i][j] <= 'Z' && j < 9)
              g1[i + r][j] = str[i][j];
            if (str[i][j] >= 'A' && str[i][j] <= 'Z' && j > 8) {
              g1[i - r][j] = str[i][j];
            }
          }
        }
        str[i][j] = '\0';
        for (i = 0; i < 7; i++) {
          for (j = 0; j < 18; j++) {
            printf("%c", g1[i][j]);
          }
          printf("\n");
        }
        g1[i][j] = '\0';
      } else if (l_num < r_num) {
        printf("Case %lld:\n", ccase);
        for (i = 0; i < 7; i++) {
          for (j = 0; j < 18; j++) {
            if (str[i][j] >= 'A' && str[i][j] <= 'Z' && j < 9)
              g2[i - l][j] = str[i][j];
            if (str[i][j] >= 'A' && str[i][j] <= 'Z' && j > 8) {
              g2[i + l][j] = str[i][j];
            }
          }
        }
        str[i][j] = '\0';
        for (i = 0; i < 7; i++) {
          for (j = 0; j < 18; j++) {
            printf("%c", g2[i][j]);
          }
          printf("\n");
        }
        g2[i][j] = '\0';
      }
    }
    l_num = 0, r_num = 0;
    memset(str, '\0', sizeof(str));
    memset(arr, '\0', sizeof(arr));
    memset(ascii1, '\0', sizeof(ascii1));
    memset(ascii2, '\0', sizeof(ascii2));
  }
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x2ab0,%rsp
movl   $0x0,-0x4(%rbp)
movq   $0x0,-0x28c0(%rbp)
lea    0xe5c(%rip),%rdi
lea    -0x28b8(%rbp),%rsi
mov    $0x0,%al
call   10a0 <scanf@plt>
mov    $0x0,%al
call   1070 <getchar@plt>
mov    -0x28b8(%rbp),%rax
mov    %rax,%rcx
add    $0xffffffffffffffff,%rcx
mov    %rcx,-0x28b8(%rbp)
cmp    $0x0,%rax
je     1f66 <main+0xde6>
lea    -0x2960(%rbp),%rdi
lea    0xe4a(%rip),%rsi
mov    $0xa0,%edx
call   1080 <memcpy@plt>
lea    -0x2a00(%rbp),%rdi
lea    0xed2(%rip),%rsi
mov    $0xa0,%edx
call   1080 <memcpy@plt>
lea    -0x2aa0(%rbp),%rdi
lea    0xf5a(%rip),%rsi
mov    $0xa0,%edx
call   1080 <memcpy@plt>
mov    -0x28c0(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x28c0(%rbp)
movq   $0x0,-0x2868(%rbp)
cmpq   $0x8,-0x2868(%rbp)
08
jge    1326 <main+0x1a6>
lea    -0x150(%rbp),%rdi
mov    $0x0,%al
call   1090 <gets@plt>
lea    -0x150(%rbp),%rdi
call   1040 <strlen@plt>
mov    %eax,-0x2aa4(%rbp)
movsbl -0x150(%rbp),%eax
cmp    $0x2d,%eax
jne    1280 <main+0x100>
jmp    1326 <main+0x1a6>
movq   $0x0,-0x2870(%rbp)
mov    -0x2870(%rbp),%rax
movslq -0x2aa4(%rbp),%rcx
cmp    %rcx,%rax
jge    12e3 <main+0x163>
mov    -0x2870(%rbp),%rax
mov    -0x150(%rbp,%rax,1),%dl
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0x2870(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x2870(%rbp)
jmp    128b <main+0x10b>
mov    -0x2870(%rbp),%rax
movb   $0x0,-0x150(%rbp,%rax,1)
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movb   $0x0,(%rax,%rcx,1)
mov    -0x2868(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x2868(%rbp)
jmp    123d <main+0xbd>
movq   $0x0,-0x28a8(%rbp)
movq   $0x0,-0x28b0(%rbp)
movq   $0x0,-0x2888(%rbp)
movq   $0x0,-0x28a0(%rbp)
movq   $0x0,-0x2878(%rbp)
movq   $0x0,-0x2880(%rbp)
movq   $0x0,-0x2868(%rbp)
cmpq   $0x7,-0x2868(%rbp)
07
jge    15aa <main+0x42a>
movq   $0x0,-0x2870(%rbp)
cmpq   $0x12,-0x2870(%rbp)
12
jge    158e <main+0x40e>
cmpq   $0x9,-0x2870(%rbp)
09
jge    1484 <main+0x304>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x41,%eax
jl     142d <main+0x2ad>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x5a,%eax
jg     142d <main+0x2ad>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
mov    (%rax,%rcx,1),%cl
mov    -0x2878(%rbp),%rax
mov    %cl,-0x70(%rbp,%rax,1)
mov    -0x2878(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x2878(%rbp)
cmpq   $0x0,-0x28a8(%rbp)
jne    147f <main+0x2ff>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x2f,%eax
jne    147a <main+0x2fa>
mov    -0x2868(%rbp),%rax
mov    %rax,-0x2888(%rbp)
movq   $0x1,-0x28a8(%rbp)
jmp    147f <main+0x2ff>
jmp    1572 <main+0x3f2>
cmpq   $0x8,-0x2870(%rbp)
08
jle    156d <main+0x3ed>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x41,%eax
jl     1516 <main+0x396>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x5a,%eax
jg     1516 <main+0x396>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
mov    (%rax,%rcx,1),%cl
mov    -0x2880(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x2880(%rbp)
mov    %cl,-0xe0(%rbp,%rax,1)
cmpq   $0x0,-0x28b0(%rbp)
jne    1568 <main+0x3e8>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x2f,%eax
jne    1563 <main+0x3e3>
mov    -0x2868(%rbp),%rax
mov    %rax,-0x28a0(%rbp)
movq   $0x1,-0x28b0(%rbp)
jmp    1568 <main+0x3e8>
jmp    156d <main+0x3ed>
jmp    1572 <main+0x3f2>
jmp    1577 <main+0x3f7>
mov    -0x2870(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x2870(%rbp)
jmp    138c <main+0x20c>
jmp    1593 <main+0x413>
mov    -0x2868(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x2868(%rbp)
jmp    1373 <main+0x1f3>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movb   $0x0,(%rax,%rcx,1)
mov    -0x2878(%rbp),%rax
movb   $0x0,-0x70(%rbp,%rax,1)
mov    -0x2880(%rbp),%rax
movb   $0x0,-0xe0(%rbp,%rax,1)
lea    -0x70(%rbp),%rdi
mov    $0x0,%al
call   1030 <dtb@plt>
cltq
mov    %rax,-0x2890(%rbp)
lea    -0xe0(%rbp),%rdi
mov    $0x0,%al
call   1030 <dtb@plt>
cltq
mov    %rax,-0x2898(%rbp)
mov    -0x2888(%rbp),%rax
cmp    -0x28a0(%rbp),%rax
jle    165d <main+0x4dd>
mov    -0x2890(%rbp),%rax
cmp    -0x2898(%rbp),%rax
jle    165d <main+0x4dd>
mov    -0x28c0(%rbp),%rsi
lea    0x9c2(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x9c0(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
jmp    1f02 <main+0xd82>
mov    -0x2888(%rbp),%rax
cmp    -0x28a0(%rbp),%rax
jge    16ad <main+0x52d>
mov    -0x2890(%rbp),%rax
cmp    -0x2898(%rbp),%rax
jge    16ad <main+0x52d>
mov    -0x28c0(%rbp),%rsi
lea    0x972(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x970(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
jmp    1efd <main+0xd7d>
mov    -0x2888(%rbp),%rax
cmp    -0x28a0(%rbp),%rax
jne    16fd <main+0x57d>
mov    -0x2890(%rbp),%rax
cmp    -0x2898(%rbp),%rax
jne    16fd <main+0x57d>
mov    -0x28c0(%rbp),%rsi
lea    0x922(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x920(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
jmp    1ef8 <main+0xd78>
mov    -0x2890(%rbp),%rax
cmp    -0x2898(%rbp),%rax
jne    19a8 <main+0x828>
mov    -0x28c0(%rbp),%rsi
lea    0x8e6(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
movq   $0x0,-0x2868(%rbp)
cmpq   $0x7,-0x2868(%rbp)
07
jge    18d0 <main+0x750>
movq   $0x0,-0x2870(%rbp)
cmpq   $0x12,-0x2870(%rbp)
12
jge    18b4 <main+0x734>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x41,%eax
jl     17f8 <main+0x678>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x5a,%eax
jg     17f8 <main+0x678>
cmpq   $0x9,-0x2870(%rbp)
09
jge    17f8 <main+0x678>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
mov    (%rax,%rcx,1),%dl
mov    -0x2868(%rbp),%rcx
add    -0x28a0(%rbp),%rcx
sub    $0x1,%rcx
lea    -0x2aa0(%rbp),%rax
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
mov    %dl,(%rax,%rcx,1)
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x41,%eax
jl     1898 <main+0x718>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x5a,%eax
jg     1898 <main+0x718>
cmpq   $0x8,-0x2870(%rbp)
08
jle    1898 <main+0x718>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
mov    (%rax,%rcx,1),%dl
mov    -0x2868(%rbp),%rcx
add    -0x2888(%rbp),%rcx
sub    $0x1,%rcx
lea    -0x2aa0(%rbp),%rax
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
mov    %dl,(%rax,%rcx,1)
jmp    189d <main+0x71d>
mov    -0x2870(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x2870(%rbp)
jmp    174a <main+0x5ca>
jmp    18b9 <main+0x739>
mov    -0x2868(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x2868(%rbp)
jmp    1731 <main+0x5b1>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movb   $0x0,(%rax,%rcx,1)
movq   $0x0,-0x2868(%rbp)
cmpq   $0x7,-0x2868(%rbp)
07
jge    1986 <main+0x806>
movq   $0x0,-0x2870(%rbp)
cmpq   $0x12,-0x2870(%rbp)
12
jge    1961 <main+0x7e1>
lea    -0x2aa0(%rbp),%rax
imul   $0x14,-0x2868(%rbp),%rcx
14
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movsbl (%rax,%rcx,1),%esi
lea    0x6e6(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
mov    -0x2870(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x2870(%rbp)
jmp    1911 <main+0x791>
lea    0x6bf(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
mov    -0x2868(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x2868(%rbp)
jmp    18f8 <main+0x778>
lea    -0x2aa0(%rbp),%rax
imul   $0x14,-0x2868(%rbp),%rcx
14
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    1ef3 <main+0xd73>
mov    -0x2890(%rbp),%rax
cmp    -0x2898(%rbp),%rax
jle    1c4b <main+0xacb>
mov    -0x28c0(%rbp),%rsi
lea    0x63b(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
movq   $0x0,-0x2868(%rbp)
cmpq   $0x7,-0x2868(%rbp)
07
jge    1b73 <main+0x9f3>
movq   $0x0,-0x2870(%rbp)
cmpq   $0x12,-0x2870(%rbp)
12
jge    1b57 <main+0x9d7>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x41,%eax
jl     1a9f <main+0x91f>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x5a,%eax
jg     1a9f <main+0x91f>
cmpq   $0x9,-0x2870(%rbp)
09
jge    1a9f <main+0x91f>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
mov    (%rax,%rcx,1),%dl
mov    -0x2868(%rbp),%rcx
add    -0x28a0(%rbp),%rcx
lea    -0x2960(%rbp),%rax
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
mov    %dl,(%rax,%rcx,1)
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x41,%eax
jl     1b3b <main+0x9bb>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x5a,%eax
jg     1b3b <main+0x9bb>
cmpq   $0x8,-0x2870(%rbp)
08
jle    1b3b <main+0x9bb>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
mov    (%rax,%rcx,1),%dl
mov    -0x2868(%rbp),%rcx
sub    -0x28a0(%rbp),%rcx
lea    -0x2960(%rbp),%rax
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
mov    %dl,(%rax,%rcx,1)
jmp    1b40 <main+0x9c0>
mov    -0x2870(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x2870(%rbp)
jmp    19f5 <main+0x875>
jmp    1b5c <main+0x9dc>
mov    -0x2868(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x2868(%rbp)
jmp    19dc <main+0x85c>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movb   $0x0,(%rax,%rcx,1)
movq   $0x0,-0x2868(%rbp)
cmpq   $0x7,-0x2868(%rbp)
07
jge    1c29 <main+0xaa9>
movq   $0x0,-0x2870(%rbp)
cmpq   $0x12,-0x2870(%rbp)
12
jge    1c04 <main+0xa84>
lea    -0x2960(%rbp),%rax
imul   $0x14,-0x2868(%rbp),%rcx
14
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movsbl (%rax,%rcx,1),%esi
lea    0x443(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
mov    -0x2870(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x2870(%rbp)
jmp    1bb4 <main+0xa34>
lea    0x41c(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
mov    -0x2868(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x2868(%rbp)
jmp    1b9b <main+0xa1b>
lea    -0x2960(%rbp),%rax
imul   $0x14,-0x2868(%rbp),%rcx
14
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    1eee <main+0xd6e>
mov    -0x2890(%rbp),%rax
cmp    -0x2898(%rbp),%rax
jge    1ee9 <main+0xd69>
mov    -0x28c0(%rbp),%rsi
lea    0x398(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
movq   $0x0,-0x2868(%rbp)
cmpq   $0x7,-0x2868(%rbp)
07
jge    1e16 <main+0xc96>
movq   $0x0,-0x2870(%rbp)
cmpq   $0x12,-0x2870(%rbp)
12
jge    1dfa <main+0xc7a>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x41,%eax
jl     1d42 <main+0xbc2>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x5a,%eax
jg     1d42 <main+0xbc2>
cmpq   $0x9,-0x2870(%rbp)
09
jge    1d42 <main+0xbc2>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
mov    (%rax,%rcx,1),%dl
mov    -0x2868(%rbp),%rcx
sub    -0x2888(%rbp),%rcx
lea    -0x2a00(%rbp),%rax
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
mov    %dl,(%rax,%rcx,1)
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x41,%eax
jl     1dde <main+0xc5e>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x5a,%eax
jg     1dde <main+0xc5e>
cmpq   $0x8,-0x2870(%rbp)
08
jle    1dde <main+0xc5e>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
mov    (%rax,%rcx,1),%dl
mov    -0x2868(%rbp),%rcx
add    -0x2888(%rbp),%rcx
lea    -0x2a00(%rbp),%rax
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
mov    %dl,(%rax,%rcx,1)
jmp    1de3 <main+0xc63>
mov    -0x2870(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x2870(%rbp)
jmp    1c98 <main+0xb18>
jmp    1dff <main+0xc7f>
mov    -0x2868(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x2868(%rbp)
jmp    1c7f <main+0xaff>
lea    -0x2860(%rbp),%rax
imul   $0x64,-0x2868(%rbp),%rcx
64
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movb   $0x0,(%rax,%rcx,1)
movq   $0x0,-0x2868(%rbp)
cmpq   $0x7,-0x2868(%rbp)
07
jge    1ecc <main+0xd4c>
movq   $0x0,-0x2870(%rbp)
cmpq   $0x12,-0x2870(%rbp)
12
jge    1ea7 <main+0xd27>
lea    -0x2a00(%rbp),%rax
imul   $0x14,-0x2868(%rbp),%rcx
14
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movsbl (%rax,%rcx,1),%esi
lea    0x1a0(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
mov    -0x2870(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x2870(%rbp)
jmp    1e57 <main+0xcd7>
lea    0x179(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
mov    -0x2868(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x2868(%rbp)
jmp    1e3e <main+0xcbe>
lea    -0x2a00(%rbp),%rax
imul   $0x14,-0x2868(%rbp),%rcx
14
add    %rcx,%rax
mov    -0x2870(%rbp),%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    1eee <main+0xd6e>
jmp    1ef3 <main+0xd73>
jmp    1ef8 <main+0xd78>
jmp    1efd <main+0xd7d>
jmp    1f02 <main+0xd82>
movq   $0x0,-0x2890(%rbp)
movq   $0x0,-0x2898(%rbp)
lea    -0x2860(%rbp),%rdi
xor    %esi,%esi
mov    $0x2710,%edx
call   1060 <memset@plt>
lea    -0x150(%rbp),%rdi
xor    %esi,%esi
mov    $0x64,%edx
call   1060 <memset@plt>
lea    -0x70(%rbp),%rdi
xor    %esi,%esi
mov    $0x64,%edx
call   1060 <memset@plt>
lea    -0xe0(%rbp),%rdi
xor    %esi,%esi
mov    $0x64,%edx
call   1060 <memset@plt>
jmp    11b9 <main+0x39>
xor    %eax,%eax
add    $0x2ab0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x2a58,%rsp
lea    0xe48(%rip),%rdi
lea    0x8(%rsp),%rsi
xor    %eax,%eax
call   10c0 <scanf@plt>
xor    %eax,%eax
call   1090 <getchar@plt>
subq   $0x1,0x8(%rsp)
jae    11e7 <main+0x47>
xor    %eax,%eax
add    $0x2a58,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
lea    0x1f0(%rsp),%r14
mov    $0x1,%r12d
xor    %ebp,%ebp
jmp    12f5 <main+0x155>
nopl   0x0(%rax)
lea    0xdfe(%rip),%rdi
mov    (%rsp),%rbp
mov    %rbp,%rsi
xor    %eax,%eax
call   1070 <printf@plt>
lea    0xdf5(%rip),%rdi
call   1050 <puts@plt>
mov    $0x2710,%edx
lea    0x340(%rsp),%rdi
xor    %esi,%esi
call   1080 <memset@plt>
xorps  %xmm0,%xmm0
movaps %xmm0,0x1f0(%rsp)
movaps %xmm0,0x200(%rsp)
movaps %xmm0,0x210(%rsp)
movaps %xmm0,0x220(%rsp)
movaps %xmm0,0x230(%rsp)
movaps %xmm0,0x240(%rsp)
movl   $0x0,0x250(%rsp)
movaps %xmm0,0x2d0(%rsp)
movaps %xmm0,0x2e0(%rsp)
movaps %xmm0,0x2f0(%rsp)
movaps %xmm0,0x300(%rsp)
movaps %xmm0,0x310(%rsp)
movaps %xmm0,0x320(%rsp)
movl   $0x0,0x330(%rsp)
movaps %xmm0,0x260(%rsp)
movaps %xmm0,0x270(%rsp)
movaps %xmm0,0x280(%rsp)
movaps %xmm0,0x290(%rsp)
movaps %xmm0,0x2a0(%rsp)
movaps %xmm0,0x2b0(%rsp)
movl   $0x0,0x2c0(%rsp)
subq   $0x1,0x8(%rsp)
jb     11d3 <main+0x33>
mov    $0xa0,%edx
lea    0x150(%rsp),%rdi
lea    0xd27(%rip),%rsi
call   10a0 <memcpy@plt>
mov    $0xa0,%edx
lea    0xb0(%rsp),%rdi
lea    0xdae(%rip),%rsi
call   10a0 <memcpy@plt>
mov    $0xa0,%edx
lea    0x10(%rsp),%rdi
lea    0xe38(%rip),%rsi
call   10a0 <memcpy@plt>
add    $0x1,%rbp
mov    %rbp,(%rsp)
xor    %ebx,%ebx
jmp    1375 <main+0x1d5>
nopl   0x0(%rax)
xor    %ebp,%ebp
movb   $0x0,0x1f0(%rsp,%rbp,1)
lea    (%rsp,%rbp,1),%rax
add    $0x340,%rax
movb   $0x0,(%rbx,%rax,1)
add    $0x64,%rbx
cmp    $0x320,%rbx
je     13c0 <main+0x220>
mov    %r14,%rdi
xor    %eax,%eax
call   10b0 <gets@plt>
cmpb   $0x2d,0x1f0(%rsp)
2d
je     13c0 <main+0x220>
mov    %r14,%rdi
call   1060 <strlen@plt>
test   %eax,%eax
jle    1350 <main+0x1b0>
lea    (%rsp,%rbx,1),%rdi
add    $0x340,%rdi
mov    %eax,%ebp
cmp    $0x2,%rbp
cmovl  %r12,%rbp
mov    %r14,%rsi
mov    %rbp,%rdx
call   10a0 <memcpy@plt>
jmp    1352 <main+0x1b2>
nopw   0x0(%rax,%rax,1)
lea    0x340(%rsp),%rax
xor    %ebp,%ebp
xor    %edi,%edi
xor    %r15d,%r15d
xor    %r13d,%r13d
xor    %r9d,%r9d
xor    %edx,%edx
xor    %r8d,%r8d
jmp    13f2 <main+0x252>
nopl   0x0(%rax)
add    $0x1,%r8
add    $0x64,%rax
cmp    $0x7,%r8
je     1480 <main+0x2e0>
xor    %ebx,%ebx
jmp    141a <main+0x27a>
xor    %ebp,%ebp
cmp    $0x2f,%sil
sete   %bpl
cmove  %r8,%r15
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
add    $0x1,%rbx
cmp    $0x12,%rbx
je     13e0 <main+0x240>
movzbl (%rax,%rbx,1),%esi
lea    -0x41(%rsi),%ecx
cmp    $0x8,%rbx
ja     1450 <main+0x2b0>
cmp    $0x19,%cl
ja     1438 <main+0x298>
mov    %sil,0x2d0(%rsp,%rdx,1)
add    $0x1,%rdx
test   %rdi,%rdi
je     146d <main+0x2cd>
mov    $0x1,%edi
jmp    1410 <main+0x270>
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
cmp    $0x19,%cl
ja     1461 <main+0x2c1>
mov    %sil,0x260(%rsp,%r9,1)
add    $0x1,%r9
test   %rbp,%rbp
je     13f6 <main+0x256>
mov    $0x1,%ebp
jmp    1410 <main+0x270>
xor    %edi,%edi
cmp    $0x2f,%sil
sete   %dil
cmove  %r8,%r13
jmp    1410 <main+0x270>
nopl   (%rax)
movb   $0x0,0x60e(%rsp)
movb   $0x0,0x2d0(%rsp,%rdx,1)
movb   $0x0,0x260(%rsp,%r9,1)
lea    0x2d0(%rsp),%rdi
xor    %eax,%eax
call   1040 <dtb@plt>
mov    %eax,%ebp
lea    0x260(%rsp),%rdi
xor    %eax,%eax
call   1040 <dtb@plt>
cmp    %r15,%r13
jle    14c6 <main+0x326>
cmp    %eax,%ebp
jg     1200 <main+0x60>
cmp    %r15,%r13
jge    14d3 <main+0x333>
cmp    %eax,%ebp
jl     1200 <main+0x60>
cmp    %r15,%r13
jne    14e0 <main+0x340>
cmp    %eax,%ebp
je     1200 <main+0x60>
cmp    %eax,%ebp
jne    156c <main+0x3cc>
lea    0xb16(%rip),%rdi
mov    (%rsp),%rbp
mov    %rbp,%rsi
xor    %eax,%eax
call   1070 <printf@plt>
lea    0x340(%rsp),%rax
lea    -0x4(%rsp),%rcx
xor    %edx,%edx
jmp    1526 <main+0x386>
xchg   %ax,%ax
add    $0x1,%rdx
add    $0x14,%rcx
add    $0x64,%rax
cmp    $0x7,%rdx
je     1603 <main+0x463>
xor    %esi,%esi
jmp    1545 <main+0x3a5>
nopw   0x0(%rax,%rax,1)
lea    (%rdi,%rdi,4),%rdi
lea    (%rcx,%rdi,4),%rdi
mov    %bl,(%rsi,%rdi,1)
add    $0x1,%rsi
cmp    $0x12,%rsi
je     1510 <main+0x370>
movzbl (%rax,%rsi,1),%ebx
cmp    $0x41,%bl
jl     153b <main+0x39b>
cmp    $0x5a,%bl
ja     155c <main+0x3bc>
mov    %r15,%rdi
cmp    $0x9,%rsi
jb     1530 <main+0x390>
cmp    $0x5a,%bl
ja     153b <main+0x39b>
mov    %r13,%rdi
cmp    $0x9,%rsi
jae    1530 <main+0x390>
jmp    153b <main+0x39b>
mov    (%rsp),%rbp
jle    16e3 <main+0x543>
lea    0xa88(%rip),%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   1070 <printf@plt>
lea    0x340(%rsp),%rax
xor    %ecx,%ecx
jmp    15b2 <main+0x412>
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
add    $0x1,%rcx
add    $0x64,%rax
cmp    $0x7,%rcx
je     1783 <main+0x5e3>
mov    %rcx,%rdx
sub    %r15,%rdx
lea    (%rcx,%r15,1),%rbp
xor    %edi,%edi
jmp    15dc <main+0x43c>
lea    (%rsi,%rsi,4),%rsi
lea    (%rsp,%rsi,4),%rsi
add    $0x150,%rsi
mov    %bl,(%rdi,%rsi,1)
add    $0x1,%rdi
cmp    $0x12,%rdi
je     15a0 <main+0x400>
movzbl (%rax,%rdi,1),%ebx
cmp    $0x41,%bl
jl     15d2 <main+0x432>
cmp    $0x5a,%bl
ja     15f3 <main+0x453>
mov    %rbp,%rsi
cmp    $0x9,%rdi
jb     15c0 <main+0x420>
cmp    $0x5a,%bl
ja     15d2 <main+0x432>
mov    %rdx,%rsi
cmp    $0x9,%rdi
jae    15c0 <main+0x420>
jmp    15d2 <main+0x432>
movb   $0x0,0x60e(%rsp)
mov    $0x11,%ebx
movsbl -0x1(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl (%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x1(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x2(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x3(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x4(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x5(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x6(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x7(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x8(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x9(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0xa(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0xb(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0xc(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0xd(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0xe(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0xf(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x10(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
add    $0x14,%rbx
cmp    $0x9d,%rbx
jne    1610 <main+0x470>
jmp    1221 <main+0x81>
jge    1221 <main+0x81>
lea    0x915(%rip),%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   1070 <printf@plt>
lea    0x340(%rsp),%rax
xor    %ebp,%ebp
jmp    1722 <main+0x582>
cs nopw 0x0(%rax,%rax,1)
add    $0x1,%rbp
add    $0x64,%rax
cmp    $0x7,%rbp
je     18aa <main+0x70a>
mov    %rbp,%rdx
add    %r13,%rdx
mov    %rbp,%rcx
sub    %r13,%rcx
xor    %edi,%edi
jmp    175c <main+0x5bc>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
lea    (%rsi,%rsi,4),%rsi
lea    (%rsp,%rsi,4),%rsi
add    $0xb0,%rsi
mov    %bl,(%rdi,%rsi,1)
add    $0x1,%rdi
cmp    $0x12,%rdi
je     1710 <main+0x570>
movzbl (%rax,%rdi,1),%ebx
cmp    $0x41,%bl
jl     1752 <main+0x5b2>
cmp    $0x5a,%bl
ja     1773 <main+0x5d3>
mov    %rcx,%rsi
cmp    $0x9,%rdi
jb     1740 <main+0x5a0>
cmp    $0x5a,%bl
ja     1752 <main+0x5b2>
mov    %rdx,%rsi
cmp    $0x9,%rdi
jae    1740 <main+0x5a0>
jmp    1752 <main+0x5b2>
movb   $0x0,0x60e(%rsp)
mov    $0x11,%ebx
mov    (%rsp),%rbp
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
movsbl 0x13f(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x140(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x141(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x142(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x143(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x144(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x145(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x146(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x147(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x148(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x149(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x14a(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x14b(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x14c(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x14d(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x14e(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x14f(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0x150(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
add    $0x14,%rbx
cmp    $0x9d,%rbx
jne    17a0 <main+0x600>
jmp    1221 <main+0x81>
movb   $0x0,0x60e(%rsp)
mov    $0x11,%ebx
mov    (%rsp),%rbp
nopl   0x0(%rax,%rax,1)
movsbl 0x9f(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0xa0(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0xa1(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0xa2(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0xa3(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0xa4(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0xa5(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0xa6(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0xa7(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0xa8(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0xa9(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0xaa(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0xab(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0xac(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0xad(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0xae(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0xaf(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
movsbl 0xb0(%rsp,%rbx,1),%edi
call   1030 <putchar@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
add    $0x14,%rbx
cmp    $0x9d,%rbx
jne    18c0 <main+0x720>
jmp    1221 <main+0x81>

LLVM IR (-O0):
@.str = [5 x i8] c"%lld\00"
@__const.main.g1 = [8 x [20 x i8]] [[20 x i8] c"........||.../\\...\00\00", [20 x i8] c"........||../..\\..\00\00", [20 x i8] c".../\\...||./....\\.\00\00", [20 x i8] c"../..\\..||/......\\\00\00", [20 x i8] c"./....\\.||\\______/\00\00", [20 x i8] c"/......\\||........\00\00", [20 x i8] c"\\______/||........\00\00", [20 x i8] zeroinitializer]
@__const.main.g2 = [8 x [20 x i8]] [[20 x i8] c".../\\...||........\00\00", [20 x i8] c"../..\\..||........\00\00", [20 x i8] c"./....\\.||.../\\...\00\00", [20 x i8] c"/......\\||../..\\..\00\00", [20 x i8] c"\\______/||./....\\.\00\00", [20 x i8] c"........||/......\\\00\00", [20 x i8] c"........||\\______/\00\00", [20 x i8] zeroinitializer]
@__const.main.g3 = [8 x [20 x i8]] [[20 x i8] c"........||........\00\00", [20 x i8] c".../\\...||.../\\...\00\00", [20 x i8] c"../..\\..||../..\\..\00\00", [20 x i8] c"./....\\.||./....\\.\00\00", [20 x i8] c"/......\\||/......\\\00\00", [20 x i8] c"\\______/||\\______/\00\00", [20 x i8] c"........||........\00\00", [20 x i8] zeroinitializer]
@.str.1 = [12 x i8] c"Case %lld:\0A\00"
@.str.2 = [24 x i8] c"The figure is correct.\0A\00"
@.str.3 = [3 x i8] c"%c\00"
@.str.4 = [2 x i8] c"\0A\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca [100 x i8]
%3 = alloca [100 x i8]
%4 = alloca [100 x i8]
%5 = alloca [100 x [100 x i8]]
%6 = alloca i64
%7 = alloca i64
%8 = alloca i64
%9 = alloca i64
%10 = alloca i64
%11 = alloca i64
%12 = alloca i64
%13 = alloca i64
%14 = alloca i64
%15 = alloca i64
%16 = alloca i64
%17 = alloca i64
%18 = alloca [8 x [20 x i8]]
%19 = alloca [8 x [20 x i8]]
%20 = alloca [8 x [20 x i8]]
%21 = alloca i32
store i32 0, i32* %1
store i64 0, i64* %17
%22 = call i32 (i8*, ...) @scanf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i64* %16)
%23 = call i32 (...) @getchar()
br label %24
24: ; preds = %586, %0
%25 = load i64, i64* %16
%26 = add nsw i64 %25, -1
store i64 %26, i64* %16
%27 = icmp ne i64 %25, 0
br i1 %27, label %28, label %592
28: ; preds = %24
%29 = bitcast [8 x [20 x i8]]* %18 to i8*
%30 = bitcast [8 x [20 x i8]]* %19 to i8*
%31 = bitcast [8 x [20 x i8]]* %20 to i8*
%32 = load i64, i64* %17
%33 = add nsw i64 %32, 1
store i64 %33, i64* %17
store i64 0, i64* %6
br label %34
34: ; preds = %65, %28
%35 = load i64, i64* %6
%36 = icmp slt i64 %35, 8
br i1 %36, label %37, label %74
37: ; preds = %34
%38 = getelementptr inbounds [100 x i8], [100 x i8]* %4, i64 0, i64 0
%39 = call i32 (i8*, ...) bitcast (i32 (...)* @gets to i32 (i8*, ...)*)(i8* %38)
%40 = getelementptr inbounds [100 x i8], [100 x i8]* %4, i64 0, i64 0
%41 = call i64 @strlen(i8* %40)
%42 = trunc i64 %41 to i32
store i32 %42, i32* %21
%43 = getelementptr inbounds [100 x i8], [100 x i8]* %4, i64 0, i64 0
%44 = load i8, i8* %43
%45 = sext i8 %44 to i32
%46 = icmp eq i32 %45, 45
br i1 %46, label %47, label %48
47: ; preds = %37
br label %74
48: ; preds = %37
store i64 0, i64* %7
br label %49
49: ; preds = %62, %48
%50 = load i64, i64* %7
%51 = load i32, i32* %21
%52 = sext i32 %51 to i64
%53 = icmp slt i64 %50, %52
br i1 %53, label %54, label %65
54: ; preds = %49
%55 = load i64, i64* %7
%56 = getelementptr inbounds [100 x i8], [100 x i8]* %4, i64 0, i64 %55
%57 = load i8, i8* %56
%58 = load i64, i64* %6
%59 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %58
%60 = load i64, i64* %7
%61 = getelementptr inbounds [100 x i8], [100 x i8]* %59, i64 0, i64 %60
store i8 %57, i8* %61
br label %62
62: ; preds = %54
%63 = load i64, i64* %7
%64 = add nsw i64 %63, 1
store i64 %64, i64* %7
br label %49
65: ; preds = %49
%66 = load i64, i64* %7
%67 = getelementptr inbounds [100 x i8], [100 x i8]* %4, i64 0, i64 %66
store i8 0, i8* %67
%68 = load i64, i64* %6
%69 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %68
%70 = load i64, i64* %7
%71 = getelementptr inbounds [100 x i8], [100 x i8]* %69, i64 0, i64 %70
store i8 0, i8* %71
%72 = load i64, i64* %6
%73 = add nsw i64 %72, 1
store i64 %73, i64* %6
br label %34
74: ; preds = %47, %34
store i64 0, i64* %14
store i64 0, i64* %15
store i64 0, i64* %10
store i64 0, i64* %13
store i64 0, i64* %8
store i64 0, i64* %9
store i64 0, i64* %6
br label %75
75: ; preds = %175, %74
%76 = load i64, i64* %6
%77 = icmp slt i64 %76, 7
br i1 %77, label %78, label %178
78: ; preds = %75
store i64 0, i64* %7
br label %79
79: ; preds = %171, %78
%80 = load i64, i64* %7
%81 = icmp slt i64 %80, 18
br i1 %81, label %82, label %174
82: ; preds = %79
%83 = load i64, i64* %7
%84 = icmp slt i64 %83, 9
br i1 %84, label %85, label %126
85: ; preds = %82
%86 = load i64, i64* %6
%87 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %86
%88 = load i64, i64* %7
%89 = getelementptr inbounds [100 x i8], [100 x i8]* %87, i64 0, i64 %88
%90 = load i8, i8* %89
%91 = sext i8 %90 to i32
%92 = icmp sge i32 %91, 65
br i1 %92, label %93, label %111
93: ; preds = %85
%94 = load i64, i64* %6
%95 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %94
%96 = load i64, i64* %7
%97 = getelementptr inbounds [100 x i8], [100 x i8]* %95, i64 0, i64 %96
%98 = load i8, i8* %97
%99 = sext i8 %98 to i32
%100 = icmp sle i32 %99, 90
br i1 %100, label %101, label %111
101: ; preds = %93
%102 = load i64, i64* %6
%103 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %102
%104 = load i64, i64* %7
%105 = getelementptr inbounds [100 x i8], [100 x i8]* %103, i64 0, i64 %104
%106 = load i8, i8* %105
%107 = load i64, i64* %8
%108 = getelementptr inbounds [100 x i8], [100 x i8]* %2, i64 0, i64 %107
store i8 %106, i8* %108
%109 = load i64, i64* %8
%110 = add nsw i64 %109, 1
store i64 %110, i64* %8
br label %111
111: ; preds = %101, %93, %85
%112 = load i64, i64* %14
%113 = icmp eq i64 %112, 0
br i1 %113, label %114, label %125
114: ; preds = %111
%115 = load i64, i64* %6
%116 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %115
%117 = load i64, i64* %7
%118 = getelementptr inbounds [100 x i8], [100 x i8]* %116, i64 0, i64 %117
%119 = load i8, i8* %118
%120 = sext i8 %119 to i32
%121 = icmp eq i32 %120, 47
br i1 %121, label %122, label %124
122: ; preds = %114
%123 = load i64, i64* %6
store i64 %123, i64* %10
store i64 1, i64* %14
br label %124
124: ; preds = %122, %114
br label %125
125: ; preds = %124, %111
br label %170
126: ; preds = %82
%127 = load i64, i64* %7
%128 = icmp sgt i64 %127, 8
br i1 %128, label %129, label %169
129: ; preds = %126
%130 = load i64, i64* %6
%131 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %130
%132 = load i64, i64* %7
%133 = getelementptr inbounds [100 x i8], [100 x i8]* %131, i64 0, i64 %132
%134 = load i8, i8* %133
%135 = sext i8 %134 to i32
%136 = icmp sge i32 %135, 65
br i1 %136, label %137, label %154
137: ; preds = %129
%138 = load i64, i64* %6
%139 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %138
%140 = load i64, i64* %7
%141 = getelementptr inbounds [100 x i8], [100 x i8]* %139, i64 0, i64 %140
%142 = load i8, i8* %141
%143 = sext i8 %142 to i32
%144 = icmp sle i32 %143, 90
br i1 %144, label %145, label %154
145: ; preds = %137
%146 = load i64, i64* %6
%147 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %146
%148 = load i64, i64* %7
%149 = getelementptr inbounds [100 x i8], [100 x i8]* %147, i64 0, i64 %148
%150 = load i8, i8* %149
%151 = load i64, i64* %9
%152 = add nsw i64 %151, 1
store i64 %152, i64* %9
%153 = getelementptr inbounds [100 x i8], [100 x i8]* %3, i64 0, i64 %151
store i8 %150, i8* %153
br label %154
154: ; preds = %145, %137, %129
%155 = load i64, i64* %15
%156 = icmp eq i64 %155, 0
br i1 %156, label %157, label %168
157: ; preds = %154
%158 = load i64, i64* %6
%159 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %158
%160 = load i64, i64* %7
%161 = getelementptr inbounds [100 x i8], [100 x i8]* %159, i64 0, i64 %160
%162 = load i8, i8* %161
%163 = sext i8 %162 to i32
%164 = icmp eq i32 %163, 47
br i1 %164, label %165, label %167
165: ; preds = %157
%166 = load i64, i64* %6
store i64 %166, i64* %13
store i64 1, i64* %15
br label %167
167: ; preds = %165, %157
br label %168
168: ; preds = %167, %154
br label %169
169: ; preds = %168, %126
br label %170
170: ; preds = %169, %125
br label %171
171: ; preds = %170
%172 = load i64, i64* %7
%173 = add nsw i64 %172, 1
store i64 %173, i64* %7
br label %79
174: ; preds = %79
br label %175
175: ; preds = %174
%176 = load i64, i64* %6
%177 = add nsw i64 %176, 1
store i64 %177, i64* %6
br label %75
178: ; preds = %75
%179 = load i64, i64* %6
%180 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %179
%181 = load i64, i64* %7
%182 = getelementptr inbounds [100 x i8], [100 x i8]* %180, i64 0, i64 %181
store i8 0, i8* %182
%183 = load i64, i64* %8
%184 = getelementptr inbounds [100 x i8], [100 x i8]* %2, i64 0, i64 %183
store i8 0, i8* %184
%185 = load i64, i64* %9
%186 = getelementptr inbounds [100 x i8], [100 x i8]* %3, i64 0, i64 %185
store i8 0, i8* %186
%187 = getelementptr inbounds [100 x i8], [100 x i8]* %2, i64 0, i64 0
%188 = call i32 (i8*, ...) bitcast (i32 (...)* @dtb to i32 (i8*, ...)*)(i8* %187)
%189 = sext i32 %188 to i64
store i64 %189, i64* %11
%190 = getelementptr inbounds [100 x i8], [100 x i8]* %3, i64 0, i64 0
%191 = call i32 (i8*, ...) bitcast (i32 (...)* @dtb to i32 (i8*, ...)*)(i8* %190)
%192 = sext i32 %191 to i64
store i64 %192, i64* %12
%193 = load i64, i64* %10
%194 = load i64, i64* %13
%195 = icmp sgt i64 %193, %194
br i1 %195, label %196, label %204
196: ; preds = %178
%197 = load i64, i64* %11
%198 = load i64, i64* %12
%199 = icmp sgt i64 %197, %198
br i1 %199, label %200, label %204
200: ; preds = %196
%201 = load i64, i64* %17
%202 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.1, i64 0, i64 0), i64 %201)
%203 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.2, i64 0, i64 0))
br label %586
204: ; preds = %196, %178
%205 = load i64, i64* %10
%206 = load i64, i64* %13
%207 = icmp slt i64 %205, %206
br i1 %207, label %208, label %216
208: ; preds = %204
%209 = load i64, i64* %11
%210 = load i64, i64* %12
%211 = icmp slt i64 %209, %210
br i1 %211, label %212, label %216
212: ; preds = %208
%213 = load i64, i64* %17
%214 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.1, i64 0, i64 0), i64 %213)
%215 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.2, i64 0, i64 0))
br label %585
216: ; preds = %208, %204
%217 = load i64, i64* %10
%218 = load i64, i64* %13
%219 = icmp eq i64 %217, %218
br i1 %219, label %220, label %228
220: ; preds = %216
%221 = load i64, i64* %11
%222 = load i64, i64* %12
%223 = icmp eq i64 %221, %222
br i1 %223, label %224, label %228
224: ; preds = %220
%225 = load i64, i64* %17
%226 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.1, i64 0, i64 0), i64 %225)
%227 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.2, i64 0, i64 0))
br label %584
228: ; preds = %220, %216
%229 = load i64, i64* %11
%230 = load i64, i64* %12
%231 = icmp eq i64 %229, %230
br i1 %231, label %232, label %347
232: ; preds = %228
%233 = load i64, i64* %17
%234 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.1, i64 0, i64 0), i64 %233)
store i64 0, i64* %6
br label %235
235: ; preds = %311, %232
%236 = load i64, i64* %6
%237 = icmp slt i64 %236, 7
br i1 %237, label %238, label %314
238: ; preds = %235
store i64 0, i64* %7
br label %239
239: ; preds = %307, %238
%240 = load i64, i64* %7
%241 = icmp slt i64 %240, 18
br i1 %241, label %242, label %310
242: ; preds = %239
%243 = load i64, i64* %6
%244 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %243
%245 = load i64, i64* %7
%246 = getelementptr inbounds [100 x i8], [100 x i8]* %244, i64 0, i64 %245
%247 = load i8, i8* %246
%248 = sext i8 %247 to i32
%249 = icmp sge i32 %248, 65
br i1 %249, label %250, label %274
250: ; preds = %242
%251 = load i64, i64* %6
%252 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %251
%253 = load i64, i64* %7
%254 = getelementptr inbounds [100 x i8], [100 x i8]* %252, i64 0, i64 %253
%255 = load i8, i8* %254
%256 = sext i8 %255 to i32
%257 = icmp sle i32 %256, 90
br i1 %257, label %258, label %274
258: ; preds = %250
%259 = load i64, i64* %7
%260 = icmp slt i64 %259, 9
br i1 %260, label %261, label %274
261: ; preds = %258
%262 = load i64, i64* %6
%263 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %262
%264 = load i64, i64* %7
%265 = getelementptr inbounds [100 x i8], [100 x i8]* %263, i64 0, i64 %264
%266 = load i8, i8* %265
%267 = load i64, i64* %6
%268 = load i64, i64* %13
%269 = add nsw i64 %267, %268
%270 = sub nsw i64 %269, 1
%271 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %20, i64 0, i64 %270
%272 = load i64, i64* %7
%273 = getelementptr inbounds [20 x i8], [20 x i8]* %271, i64 0, i64 %272
store i8 %266, i8* %273
br label %274
274: ; preds = %261, %258, %250, %242
%275 = load i64, i64* %6
%276 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %275
%277 = load i64, i64* %7
%278 = getelementptr inbounds [100 x i8], [100 x i8]* %276, i64 0, i64 %277
%279 = load i8, i8* %278
%280 = sext i8 %279 to i32
%281 = icmp sge i32 %280, 65
br i1 %281, label %282, label %306
282: ; preds = %274
%283 = load i64, i64* %6
%284 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %283
%285 = load i64, i64* %7
%286 = getelementptr inbounds [100 x i8], [100 x i8]* %284, i64 0, i64 %285
%287 = load i8, i8* %286
%288 = sext i8 %287 to i32
%289 = icmp sle i32 %288, 90
br i1 %289, label %290, label %306
290: ; preds = %282
%291 = load i64, i64* %7
%292 = icmp sgt i64 %291, 8
br i1 %292, label %293, label %306
293: ; preds = %290
%294 = load i64, i64* %6
%295 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %294
%296 = load i64, i64* %7
%297 = getelementptr inbounds [100 x i8], [100 x i8]* %295, i64 0, i64 %296
%298 = load i8, i8* %297
%299 = load i64, i64* %6
%300 = load i64, i64* %10
%301 = add nsw i64 %299, %300
%302 = sub nsw i64 %301, 1
%303 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %20, i64 0, i64 %302
%304 = load i64, i64* %7
%305 = getelementptr inbounds [20 x i8], [20 x i8]* %303, i64 0, i64 %304
store i8 %298, i8* %305
br label %306
306: ; preds = %293, %290, %282, %274
br label %307
307: ; preds = %306
%308 = load i64, i64* %7
%309 = add nsw i64 %308, 1
store i64 %309, i64* %7
br label %239
310: ; preds = %239
br label %311
311: ; preds = %310
%312 = load i64, i64* %6
%313 = add nsw i64 %312, 1
store i64 %313, i64* %6
br label %235
314: ; preds = %235
%315 = load i64, i64* %6
%316 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %315
%317 = load i64, i64* %7
%318 = getelementptr inbounds [100 x i8], [100 x i8]* %316, i64 0, i64 %317
store i8 0, i8* %318
store i64 0, i64* %6
br label %319
319: ; preds = %339, %314
%320 = load i64, i64* %6
%321 = icmp slt i64 %320, 7
br i1 %321, label %322, label %342
322: ; preds = %319
store i64 0, i64* %7
br label %323
323: ; preds = %334, %322
%324 = load i64, i64* %7
%325 = icmp slt i64 %324, 18
br i1 %325, label %326, label %337
326: ; preds = %323
%327 = load i64, i64* %6
%328 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %20, i64 0, i64 %327
%329 = load i64, i64* %7
%330 = getelementptr inbounds [20 x i8], [20 x i8]* %328, i64 0, i64 %329
%331 = load i8, i8* %330
%332 = sext i8 %331 to i32
%333 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0), i32 %332)
br label %334
334: ; preds = %326
%335 = load i64, i64* %7
%336 = add nsw i64 %335, 1
store i64 %336, i64* %7
br label %323
337: ; preds = %323
%338 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4, i64 0, i64 0))
br label %339
339: ; preds = %337
%340 = load i64, i64* %6
%341 = add nsw i64 %340, 1
store i64 %341, i64* %6
br label %319
342: ; preds = %319
%343 = load i64, i64* %6
%344 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %20, i64 0, i64 %343
%345 = load i64, i64* %7
%346 = getelementptr inbounds [20 x i8], [20 x i8]* %344, i64 0, i64 %345
store i8 0, i8* %346
br label %583
347: ; preds = %228
%348 = load i64, i64* %11
%349 = load i64, i64* %12
%350 = icmp sgt i64 %348, %349
br i1 %350, label %351, label %464
351: ; preds = %347
%352 = load i64, i64* %17
%353 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.1, i64 0, i64 0), i64 %352)
store i64 0, i64* %6
br label %354
354: ; preds = %428, %351
%355 = load i64, i64* %6
%356 = icmp slt i64 %355, 7
br i1 %356, label %357, label %431
357: ; preds = %354
store i64 0, i64* %7
br label %358
358: ; preds = %424, %357
%359 = load i64, i64* %7
%360 = icmp slt i64 %359, 18
br i1 %360, label %361, label %427
361: ; preds = %358
%362 = load i64, i64* %6
%363 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %362
%364 = load i64, i64* %7
%365 = getelementptr inbounds [100 x i8], [100 x i8]* %363, i64 0, i64 %364
%366 = load i8, i8* %365
%367 = sext i8 %366 to i32
%368 = icmp sge i32 %367, 65
br i1 %368, label %369, label %392
369: ; preds = %361
%370 = load i64, i64* %6
%371 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %370
%372 = load i64, i64* %7
%373 = getelementptr inbounds [100 x i8], [100 x i8]* %371, i64 0, i64 %372
%374 = load i8, i8* %373
%375 = sext i8 %374 to i32
%376 = icmp sle i32 %375, 90
br i1 %376, label %377, label %392
377: ; preds = %369
%378 = load i64, i64* %7
%379 = icmp slt i64 %378, 9
br i1 %379, label %380, label %392
380: ; preds = %377
%381 = load i64, i64* %6
%382 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %381
%383 = load i64, i64* %7
%384 = getelementptr inbounds [100 x i8], [100 x i8]* %382, i64 0, i64 %383
%385 = load i8, i8* %384
%386 = load i64, i64* %6
%387 = load i64, i64* %13
%388 = add nsw i64 %386, %387
%389 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %18, i64 0, i64 %388
%390 = load i64, i64* %7
%391 = getelementptr inbounds [20 x i8], [20 x i8]* %389, i64 0, i64 %390
store i8 %385, i8* %391
br label %392
392: ; preds = %380, %377, %369, %361
%393 = load i64, i64* %6
%394 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %393
%395 = load i64, i64* %7
%396 = getelementptr inbounds [100 x i8], [100 x i8]* %394, i64 0, i64 %395
%397 = load i8, i8* %396
%398 = sext i8 %397 to i32
%399 = icmp sge i32 %398, 65
br i1 %399, label %400, label %423
400: ; preds = %392
%401 = load i64, i64* %6
%402 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %401
%403 = load i64, i64* %7
%404 = getelementptr inbounds [100 x i8], [100 x i8]* %402, i64 0, i64 %403
%405 = load i8, i8* %404
%406 = sext i8 %405 to i32
%407 = icmp sle i32 %406, 90
br i1 %407, label %408, label %423
408: ; preds = %400
%409 = load i64, i64* %7
%410 = icmp sgt i64 %409, 8
br i1 %410, label %411, label %423
411: ; preds = %408
%412 = load i64, i64* %6
%413 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %412
%414 = load i64, i64* %7
%415 = getelementptr inbounds [100 x i8], [100 x i8]* %413, i64 0, i64 %414
%416 = load i8, i8* %415
%417 = load i64, i64* %6
%418 = load i64, i64* %13
%419 = sub nsw i64 %417, %418
%420 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %18, i64 0, i64 %419
%421 = load i64, i64* %7
%422 = getelementptr inbounds [20 x i8], [20 x i8]* %420, i64 0, i64 %421
store i8 %416, i8* %422
br label %423
423: ; preds = %411, %408, %400, %392
br label %424
424: ; preds = %423
%425 = load i64, i64* %7
%426 = add nsw i64 %425, 1
store i64 %426, i64* %7
br label %358
427: ; preds = %358
br label %428
428: ; preds = %427
%429 = load i64, i64* %6
%430 = add nsw i64 %429, 1
store i64 %430, i64* %6
br label %354
431: ; preds = %354
%432 = load i64, i64* %6
%433 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %432
%434 = load i64, i64* %7
%435 = getelementptr inbounds [100 x i8], [100 x i8]* %433, i64 0, i64 %434
store i8 0, i8* %435
store i64 0, i64* %6
br label %436
436: ; preds = %456, %431
%437 = load i64, i64* %6
%438 = icmp slt i64 %437, 7
br i1 %438, label %439, label %459
439: ; preds = %436
store i64 0, i64* %7
br label %440
440: ; preds = %451, %439
%441 = load i64, i64* %7
%442 = icmp slt i64 %441, 18
br i1 %442, label %443, label %454
443: ; preds = %440
%444 = load i64, i64* %6
%445 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %18, i64 0, i64 %444
%446 = load i64, i64* %7
%447 = getelementptr inbounds [20 x i8], [20 x i8]* %445, i64 0, i64 %446
%448 = load i8, i8* %447
%449 = sext i8 %448 to i32
%450 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0), i32 %449)
br label %451
451: ; preds = %443
%452 = load i64, i64* %7
%453 = add nsw i64 %452, 1
store i64 %453, i64* %7
br label %440
454: ; preds = %440
%455 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4, i64 0, i64 0))
br label %456
456: ; preds = %454
%457 = load i64, i64* %6
%458 = add nsw i64 %457, 1
store i64 %458, i64* %6
br label %436
459: ; preds = %436
%460 = load i64, i64* %6
%461 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %18, i64 0, i64 %460
%462 = load i64, i64* %7
%463 = getelementptr inbounds [20 x i8], [20 x i8]* %461, i64 0, i64 %462
store i8 0, i8* %463
br label %582
464: ; preds = %347
%465 = load i64, i64* %11
%466 = load i64, i64* %12
%467 = icmp slt i64 %465, %466
br i1 %467, label %468, label %581
468: ; preds = %464
%469 = load i64, i64* %17
%470 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.1, i64 0, i64 0), i64 %469)
store i64 0, i64* %6
br label %471
471: ; preds = %545, %468
%472 = load i64, i64* %6
%473 = icmp slt i64 %472, 7
br i1 %473, label %474, label %548
474: ; preds = %471
store i64 0, i64* %7
br label %475
475: ; preds = %541, %474
%476 = load i64, i64* %7
%477 = icmp slt i64 %476, 18
br i1 %477, label %478, label %544
478: ; preds = %475
%479 = load i64, i64* %6
%480 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %479
%481 = load i64, i64* %7
%482 = getelementptr inbounds [100 x i8], [100 x i8]* %480, i64 0, i64 %481
%483 = load i8, i8* %482
%484 = sext i8 %483 to i32
%485 = icmp sge i32 %484, 65
br i1 %485, label %486, label %509
486: ; preds = %478
%487 = load i64, i64* %6
%488 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %487
%489 = load i64, i64* %7
%490 = getelementptr inbounds [100 x i8], [100 x i8]* %488, i64 0, i64 %489
%491 = load i8, i8* %490
%492 = sext i8 %491 to i32
%493 = icmp sle i32 %492, 90
br i1 %493, label %494, label %509
494: ; preds = %486
%495 = load i64, i64* %7
%496 = icmp slt i64 %495, 9
br i1 %496, label %497, label %509
497: ; preds = %494
%498 = load i64, i64* %6
%499 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %498
%500 = load i64, i64* %7
%501 = getelementptr inbounds [100 x i8], [100 x i8]* %499, i64 0, i64 %500
%502 = load i8, i8* %501
%503 = load i64, i64* %6
%504 = load i64, i64* %10
%505 = sub nsw i64 %503, %504
%506 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %19, i64 0, i64 %505
%507 = load i64, i64* %7
%508 = getelementptr inbounds [20 x i8], [20 x i8]* %506, i64 0, i64 %507
store i8 %502, i8* %508
br label %509
509: ; preds = %497, %494, %486, %478
%510 = load i64, i64* %6
%511 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %510
%512 = load i64, i64* %7
%513 = getelementptr inbounds [100 x i8], [100 x i8]* %511, i64 0, i64 %512
%514 = load i8, i8* %513
%515 = sext i8 %514 to i32
%516 = icmp sge i32 %515, 65
br i1 %516, label %517, label %540
517: ; preds = %509
%518 = load i64, i64* %6
%519 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %518
%520 = load i64, i64* %7
%521 = getelementptr inbounds [100 x i8], [100 x i8]* %519, i64 0, i64 %520
%522 = load i8, i8* %521
%523 = sext i8 %522 to i32
%524 = icmp sle i32 %523, 90
br i1 %524, label %525, label %540
525: ; preds = %517
%526 = load i64, i64* %7
%527 = icmp sgt i64 %526, 8
br i1 %527, label %528, label %540
528: ; preds = %525
%529 = load i64, i64* %6
%530 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %529
%531 = load i64, i64* %7
%532 = getelementptr inbounds [100 x i8], [100 x i8]* %530, i64 0, i64 %531
%533 = load i8, i8* %532
%534 = load i64, i64* %6
%535 = load i64, i64* %10
%536 = add nsw i64 %534, %535
%537 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %19, i64 0, i64 %536
%538 = load i64, i64* %7
%539 = getelementptr inbounds [20 x i8], [20 x i8]* %537, i64 0, i64 %538
store i8 %533, i8* %539
br label %540
540: ; preds = %528, %525, %517, %509
br label %541
541: ; preds = %540
%542 = load i64, i64* %7
%543 = add nsw i64 %542, 1
store i64 %543, i64* %7
br label %475
544: ; preds = %475
br label %545
545: ; preds = %544
%546 = load i64, i64* %6
%547 = add nsw i64 %546, 1
store i64 %547, i64* %6
br label %471
548: ; preds = %471
%549 = load i64, i64* %6
%550 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %549
%551 = load i64, i64* %7
%552 = getelementptr inbounds [100 x i8], [100 x i8]* %550, i64 0, i64 %551
store i8 0, i8* %552
store i64 0, i64* %6
br label %553
553: ; preds = %573, %548
%554 = load i64, i64* %6
%555 = icmp slt i64 %554, 7
br i1 %555, label %556, label %576
556: ; preds = %553
store i64 0, i64* %7
br label %557
557: ; preds = %568, %556
%558 = load i64, i64* %7
%559 = icmp slt i64 %558, 18
br i1 %559, label %560, label %571
560: ; preds = %557
%561 = load i64, i64* %6
%562 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %19, i64 0, i64 %561
%563 = load i64, i64* %7
%564 = getelementptr inbounds [20 x i8], [20 x i8]* %562, i64 0, i64 %563
%565 = load i8, i8* %564
%566 = sext i8 %565 to i32
%567 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0), i32 %566)
br label %568
568: ; preds = %560
%569 = load i64, i64* %7
%570 = add nsw i64 %569, 1
store i64 %570, i64* %7
br label %557
571: ; preds = %557
%572 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4, i64 0, i64 0))
br label %573
573: ; preds = %571
%574 = load i64, i64* %6
%575 = add nsw i64 %574, 1
store i64 %575, i64* %6
br label %553
576: ; preds = %553
%577 = load i64, i64* %6
%578 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %19, i64 0, i64 %577
%579 = load i64, i64* %7
%580 = getelementptr inbounds [20 x i8], [20 x i8]* %578, i64 0, i64 %579
store i8 0, i8* %580
br label %581
581: ; preds = %576, %464
br label %582
582: ; preds = %581, %459
br label %583
583: ; preds = %582, %342
br label %584
584: ; preds = %583, %224
br label %585
585: ; preds = %584, %212
br label %586
586: ; preds = %585, %200
store i64 0, i64* %11
store i64 0, i64* %12
%587 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 0
%588 = bitcast [100 x i8]* %587 to i8*
%589 = getelementptr inbounds [100 x i8], [100 x i8]* %4, i64 0, i64 0
%590 = getelementptr inbounds [100 x i8], [100 x i8]* %2, i64 0, i64 0
%591 = getelementptr inbounds [100 x i8], [100 x i8]* %3, i64 0, i64 0
br label %24
592: ; preds = %24
ret i32 0
}

LLVM IR (-O2):
@.str = [5 x i8] c"%lld\00"
@__const.main.g1 = [8 x [20 x i8]] [[20 x i8] c"........||.../\\...\00\00", [20 x i8] c"........||../..\\..\00\00", [20 x i8] c".../\\...||./....\\.\00\00", [20 x i8] c"../..\\..||/......\\\00\00", [20 x i8] c"./....\\.||\\______/\00\00", [20 x i8] c"/......\\||........\00\00", [20 x i8] c"\\______/||........\00\00", [20 x i8] zeroinitializer]
@__const.main.g2 = [8 x [20 x i8]] [[20 x i8] c".../\\...||........\00\00", [20 x i8] c"../..\\..||........\00\00", [20 x i8] c"./....\\.||.../\\...\00\00", [20 x i8] c"/......\\||../..\\..\00\00", [20 x i8] c"\\______/||./....\\.\00\00", [20 x i8] c"........||/......\\\00\00", [20 x i8] c"........||\\______/\00\00", [20 x i8] zeroinitializer]
@__const.main.g3 = [8 x [20 x i8]] [[20 x i8] c"........||........\00\00", [20 x i8] c".../\\...||.../\\...\00\00", [20 x i8] c"../..\\..||../..\\..\00\00", [20 x i8] c"./....\\.||./....\\.\00\00", [20 x i8] c"/......\\||/......\\\00\00", [20 x i8] c"\\______/||\\______/\00\00", [20 x i8] c"........||........\00\00", [20 x i8] zeroinitializer]
@.str.1 = [12 x i8] c"Case %lld:\0A\00"
@str.6 = [23 x i8] c"The figure is correct.\00"
define i32 @main() {
%1 = alloca [100 x i8]
%2 = alloca [100 x i8]
%3 = alloca [100 x i8]
%4 = getelementptr inbounds [100 x i8], [100 x i8]* %3, i64 0, i64 0
%5 = alloca [100 x [100 x i8]]
%6 = alloca i64
%7 = alloca [8 x [20 x i8]]
%8 = alloca [8 x [20 x i8]]
%9 = alloca [8 x [20 x i8]]
%10 = getelementptr inbounds [100 x i8], [100 x i8]* %1, i64 0, i64 0
%11 = getelementptr inbounds [100 x i8], [100 x i8]* %2, i64 0, i64 0
%12 = getelementptr inbounds [100 x i8], [100 x i8]* %3, i64 0, i64 0
%13 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 0, i64 0
%14 = bitcast i64* %6 to i8*
%15 = call i32 (i8*, ...) @scanf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i64* %6)
%16 = call i32 (...) @getchar()
%17 = load i64, i64* %6
%18 = add nsw i64 %17, -1
store i64 %18, i64* %6
%19 = icmp eq i64 %17, 0
br i1 %19, label %445, label %20
20: ; preds = %0
%21 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %7, i64 0, i64 0, i64 0
%22 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %8, i64 0, i64 0, i64 0
%23 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %9, i64 0, i64 0, i64 0
%24 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 7, i64 18
br label %25
25: ; preds = %20, %441
%26 = phi i64 [ 0, %20 ], [ %27, %441 ]
%27 = add nuw nsw i64 %26, 1
br label %28
28: ; preds = %25, %41
%29 = phi i64 [ 0, %25 ], [ %45, %41 ]
%30 = getelementptr [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %29, i64 0
%31 = call i32 (i8*, ...) bitcast (i32 (...)* @gets to i32 (i8*, ...)*)(i8* %12)
%32 = load i8, i8* %12
%33 = icmp eq i8 %32, 45
br i1 %33, label %47, label %34
34: ; preds = %28
%35 = call i64 @strlen(i8* %12)
%36 = trunc i64 %35 to i32
%37 = icmp sgt i32 %36, 0
br i1 %37, label %38, label %41
38: ; preds = %34
%39 = and i64 %35, 4294967295
%40 = call i64 @llvm.smax.i64(i64 %39, i64 1)
br label %41
41: ; preds = %38, %34
%42 = phi i64 [ 0, %34 ], [ %40, %38 ]
%43 = getelementptr inbounds [100 x i8], [100 x i8]* %3, i64 0, i64 %42
store i8 0, i8* %43
%44 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %29, i64 %42
store i8 0, i8* %44
%45 = add nuw nsw i64 %29, 1
%46 = icmp eq i64 %45, 8
br i1 %46, label %47, label %28
47: ; preds = %28, %41
br label %48
48: ; preds = %47, %100
%49 = phi i64 [ %97, %100 ], [ 0, %47 ]
%50 = phi i64 [ %96, %100 ], [ 0, %47 ]
%51 = phi i64 [ %95, %100 ], [ 0, %47 ]
%52 = phi i64 [ %94, %100 ], [ 0, %47 ]
%53 = phi i64 [ %93, %100 ], [ 0, %47 ]
%54 = phi i64 [ %92, %100 ], [ 0, %47 ]
%55 = phi i64 [ %101, %100 ], [ 0, %47 ]
br label %56
56: ; preds = %48, %91
%57 = phi i64 [ %49, %48 ], [ %97, %91 ]
%58 = phi i64 [ %50, %48 ], [ %96, %91 ]
%59 = phi i64 [ %51, %48 ], [ %95, %91 ]
%60 = phi i64 [ %52, %48 ], [ %94, %91 ]
%61 = phi i64 [ %53, %48 ], [ %93, %91 ]
%62 = phi i64 [ %54, %48 ], [ %92, %91 ]
%63 = phi i64 [ 0, %48 ], [ %98, %91 ]
%64 = icmp ult i64 %63, 9
%65 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %55, i64 %63
%66 = load i8, i8* %65
%67 = add i8 %66, -65
%68 = icmp ult i8 %67, 26
br i1 %64, label %69, label %80
69: ; preds = %56
br i1 %68, label %70, label %73
70: ; preds = %69
%71 = getelementptr inbounds [100 x i8], [100 x i8]* %1, i64 0, i64 %62
store i8 %66, i8* %71
%72 = add nsw i64 %62, 1
br label %73
73: ; preds = %70, %69
%74 = phi i64 [ %72, %70 ], [ %62, %69 ]
%75 = icmp eq i64 %58, 0
br i1 %75, label %76, label %91
76: ; preds = %73
%77 = icmp eq i8 %66, 47
%78 = select i1 %77, i64 %55, i64 %60
%79 = zext i1 %77 to i64
br label %91
80: ; preds = %56
br i1 %68, label %81, label %84
81: ; preds = %80
%82 = add nsw i64 %61, 1
%83 = getelementptr inbounds [100 x i8], [100 x i8]* %2, i64 0, i64 %61
store i8 %66, i8* %83
br label %84
84: ; preds = %81, %80
%85 = phi i64 [ %82, %81 ], [ %61, %80 ]
%86 = icmp eq i64 %57, 0
br i1 %86, label %87, label %91
87: ; preds = %84
%88 = icmp eq i8 %66, 47
%89 = select i1 %88, i64 %55, i64 %59
%90 = zext i1 %88 to i64
br label %91
91: ; preds = %87, %76, %73, %84
%92 = phi i64 [ %74, %73 ], [ %62, %84 ], [ %74, %76 ], [ %62, %87 ]
%93 = phi i64 [ %61, %73 ], [ %85, %84 ], [ %61, %76 ], [ %85, %87 ]
%94 = phi i64 [ %60, %73 ], [ %60, %84 ], [ %78, %76 ], [ %60, %87 ]
%95 = phi i64 [ %59, %73 ], [ %59, %84 ], [ %59, %76 ], [ %89, %87 ]
%96 = phi i64 [ 1, %73 ], [ %58, %84 ], [ %79, %76 ], [ %58, %87 ]
%97 = phi i64 [ %57, %73 ], [ 1, %84 ], [ %57, %76 ], [ %90, %87 ]
%98 = add nuw nsw i64 %63, 1
%99 = icmp eq i64 %98, 18
br i1 %99, label %100, label %56
100: ; preds = %91
%101 = add nuw nsw i64 %55, 1
%102 = icmp eq i64 %101, 7
br i1 %102, label %103, label %48
103: ; preds = %100
store i8 0, i8* %24
%104 = getelementptr inbounds [100 x i8], [100 x i8]* %1, i64 0, i64 %92
store i8 0, i8* %104
%105 = getelementptr inbounds [100 x i8], [100 x i8]* %2, i64 0, i64 %93
store i8 0, i8* %105
%106 = call i32 (i8*, ...) bitcast (i32 (...)* @dtb to i32 (i8*, ...)*)(i8* %10)
%107 = call i32 (i8*, ...) bitcast (i32 (...)* @dtb to i32 (i8*, ...)*)(i8* %11)
%108 = icmp sgt i64 %94, %95
%109 = icmp sgt i32 %106, %107
%110 = select i1 %108, i1 %109, i1 false
br i1 %110, label %437, label %111
111: ; preds = %103
%112 = icmp slt i64 %94, %95
%113 = icmp slt i32 %106, %107
%114 = select i1 %112, i1 %113, i1 false
br i1 %114, label %437, label %115
115: ; preds = %111
%116 = icmp eq i64 %94, %95
%117 = icmp eq i32 %106, %107
%118 = select i1 %116, i1 %117, i1 false
br i1 %118, label %437, label %119
119: ; preds = %115
br i1 %117, label %120, label %225
120: ; preds = %119
%121 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.1, i64 0, i64 0), i64 %27)
br label %122
122: ; preds = %120, %144
%123 = phi i64 [ 0, %120 ], [ %145, %144 ]
%124 = add nsw i64 %123, -1
br label %125
125: ; preds = %122, %141
%126 = phi i64 [ 0, %122 ], [ %142, %141 ]
%127 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %123, i64 %126
%128 = load i8, i8* %127
%129 = icmp sgt i8 %128, 64
br i1 %129, label %130, label %141
130: ; preds = %125
%131 = icmp ult i8 %128, 91
%132 = icmp ult i64 %126, 9
%133 = select i1 %131, i1 %132, i1 false
br i1 %133, label %137, label %134
134: ; preds = %130
%135 = icmp ugt i64 %126, 8
%136 = select i1 %131, i1 %135, i1 false
br i1 %136, label %137, label %141
137: ; preds = %134, %130
%138 = phi i64 [ %95, %130 ], [ %94, %134 ]
%139 = add i64 %124, %138
%140 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %9, i64 0, i64 %139, i64 %126
store i8 %128, i8* %140
br label %141
141: ; preds = %137, %125, %134
%142 = add nuw nsw i64 %126, 1
%143 = icmp eq i64 %142, 18
br i1 %143, label %144, label %125
144: ; preds = %141
%145 = add nuw nsw i64 %123, 1
%146 = icmp eq i64 %145, 7
br i1 %146, label %147, label %122
147: ; preds = %144
store i8 0, i8* %24
br label %148
148: ; preds = %147, %148
%149 = phi i64 [ 0, %147 ], [ %223, %148 ]
%150 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %9, i64 0, i64 %149, i64 0
%151 = load i8, i8* %150
%152 = sext i8 %151 to i32
%153 = call i32 @putchar(i32 %152)
%154 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %9, i64 0, i64 %149, i64 1
%155 = load i8, i8* %154
%156 = sext i8 %155 to i32
%157 = call i32 @putchar(i32 %156)
%158 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %9, i64 0, i64 %149, i64 2
%159 = load i8, i8* %158
%160 = sext i8 %159 to i32
%161 = call i32 @putchar(i32 %160)
%162 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %9, i64 0, i64 %149, i64 3
%163 = load i8, i8* %162
%164 = sext i8 %163 to i32
%165 = call i32 @putchar(i32 %164)
%166 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %9, i64 0, i64 %149, i64 4
%167 = load i8, i8* %166
%168 = sext i8 %167 to i32
%169 = call i32 @putchar(i32 %168)
%170 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %9, i64 0, i64 %149, i64 5
%171 = load i8, i8* %170
%172 = sext i8 %171 to i32
%173 = call i32 @putchar(i32 %172)
%174 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %9, i64 0, i64 %149, i64 6
%175 = load i8, i8* %174
%176 = sext i8 %175 to i32
%177 = call i32 @putchar(i32 %176)
%178 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %9, i64 0, i64 %149, i64 7
%179 = load i8, i8* %178
%180 = sext i8 %179 to i32
%181 = call i32 @putchar(i32 %180)
%182 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %9, i64 0, i64 %149, i64 8
%183 = load i8, i8* %182
%184 = sext i8 %183 to i32
%185 = call i32 @putchar(i32 %184)
%186 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %9, i64 0, i64 %149, i64 9
%187 = load i8, i8* %186
%188 = sext i8 %187 to i32
%189 = call i32 @putchar(i32 %188)
%190 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %9, i64 0, i64 %149, i64 10
%191 = load i8, i8* %190
%192 = sext i8 %191 to i32
%193 = call i32 @putchar(i32 %192)
%194 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %9, i64 0, i64 %149, i64 11
%195 = load i8, i8* %194
%196 = sext i8 %195 to i32
%197 = call i32 @putchar(i32 %196)
%198 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %9, i64 0, i64 %149, i64 12
%199 = load i8, i8* %198
%200 = sext i8 %199 to i32
%201 = call i32 @putchar(i32 %200)
%202 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %9, i64 0, i64 %149, i64 13
%203 = load i8, i8* %202
%204 = sext i8 %203 to i32
%205 = call i32 @putchar(i32 %204)
%206 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %9, i64 0, i64 %149, i64 14
%207 = load i8, i8* %206
%208 = sext i8 %207 to i32
%209 = call i32 @putchar(i32 %208)
%210 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %9, i64 0, i64 %149, i64 15
%211 = load i8, i8* %210
%212 = sext i8 %211 to i32
%213 = call i32 @putchar(i32 %212)
%214 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %9, i64 0, i64 %149, i64 16
%215 = load i8, i8* %214
%216 = sext i8 %215 to i32
%217 = call i32 @putchar(i32 %216)
%218 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %9, i64 0, i64 %149, i64 17
%219 = load i8, i8* %218
%220 = sext i8 %219 to i32
%221 = call i32 @putchar(i32 %220)
%222 = call i32 @putchar(i32 10)
%223 = add nuw nsw i64 %149, 1
%224 = icmp eq i64 %223, 7
br i1 %224, label %441, label %148
225: ; preds = %119
br i1 %109, label %226, label %331
226: ; preds = %225
%227 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.1, i64 0, i64 0), i64 %27)
br label %228
228: ; preds = %226, %250
%229 = phi i64 [ 0, %226 ], [ %251, %250 ]
%230 = sub nsw i64 %229, %95
%231 = add nsw i64 %229, %95
br label %232
232: ; preds = %228, %247
%233 = phi i64 [ 0, %228 ], [ %248, %247 ]
%234 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %229, i64 %233
%235 = load i8, i8* %234
%236 = icmp sgt i8 %235, 64
br i1 %236, label %237, label %247
237: ; preds = %232
%238 = icmp ult i8 %235, 91
%239 = icmp ult i64 %233, 9
%240 = select i1 %238, i1 %239, i1 false
br i1 %240, label %244, label %241
241: ; preds = %237
%242 = icmp ugt i64 %233, 8
%243 = select i1 %238, i1 %242, i1 false
br i1 %243, label %244, label %247
244: ; preds = %241, %237
%245 = phi i64 [ %231, %237 ], [ %230, %241 ]
%246 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %7, i64 0, i64 %245, i64 %233
store i8 %235, i8* %246
br label %247
247: ; preds = %244, %232, %241
%248 = add nuw nsw i64 %233, 1
%249 = icmp eq i64 %248, 18
br i1 %249, label %250, label %232
250: ; preds = %247
%251 = add nuw nsw i64 %229, 1
%252 = icmp eq i64 %251, 7
br i1 %252, label %253, label %228
253: ; preds = %250
store i8 0, i8* %24
br label %254
254: ; preds = %253, %254
%255 = phi i64 [ 0, %253 ], [ %329, %254 ]
%256 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %7, i64 0, i64 %255, i64 0
%257 = load i8, i8* %256
%258 = sext i8 %257 to i32
%259 = call i32 @putchar(i32 %258)
%260 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %7, i64 0, i64 %255, i64 1
%261 = load i8, i8* %260
%262 = sext i8 %261 to i32
%263 = call i32 @putchar(i32 %262)
%264 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %7, i64 0, i64 %255, i64 2
%265 = load i8, i8* %264
%266 = sext i8 %265 to i32
%267 = call i32 @putchar(i32 %266)
%268 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %7, i64 0, i64 %255, i64 3
%269 = load i8, i8* %268
%270 = sext i8 %269 to i32
%271 = call i32 @putchar(i32 %270)
%272 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %7, i64 0, i64 %255, i64 4
%273 = load i8, i8* %272
%274 = sext i8 %273 to i32
%275 = call i32 @putchar(i32 %274)
%276 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %7, i64 0, i64 %255, i64 5
%277 = load i8, i8* %276
%278 = sext i8 %277 to i32
%279 = call i32 @putchar(i32 %278)
%280 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %7, i64 0, i64 %255, i64 6
%281 = load i8, i8* %280
%282 = sext i8 %281 to i32
%283 = call i32 @putchar(i32 %282)
%284 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %7, i64 0, i64 %255, i64 7
%285 = load i8, i8* %284
%286 = sext i8 %285 to i32
%287 = call i32 @putchar(i32 %286)
%288 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %7, i64 0, i64 %255, i64 8
%289 = load i8, i8* %288
%290 = sext i8 %289 to i32
%291 = call i32 @putchar(i32 %290)
%292 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %7, i64 0, i64 %255, i64 9
%293 = load i8, i8* %292
%294 = sext i8 %293 to i32
%295 = call i32 @putchar(i32 %294)
%296 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %7, i64 0, i64 %255, i64 10
%297 = load i8, i8* %296
%298 = sext i8 %297 to i32
%299 = call i32 @putchar(i32 %298)
%300 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %7, i64 0, i64 %255, i64 11
%301 = load i8, i8* %300
%302 = sext i8 %301 to i32
%303 = call i32 @putchar(i32 %302)
%304 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %7, i64 0, i64 %255, i64 12
%305 = load i8, i8* %304
%306 = sext i8 %305 to i32
%307 = call i32 @putchar(i32 %306)
%308 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %7, i64 0, i64 %255, i64 13
%309 = load i8, i8* %308
%310 = sext i8 %309 to i32
%311 = call i32 @putchar(i32 %310)
%312 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %7, i64 0, i64 %255, i64 14
%313 = load i8, i8* %312
%314 = sext i8 %313 to i32
%315 = call i32 @putchar(i32 %314)
%316 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %7, i64 0, i64 %255, i64 15
%317 = load i8, i8* %316
%318 = sext i8 %317 to i32
%319 = call i32 @putchar(i32 %318)
%320 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %7, i64 0, i64 %255, i64 16
%321 = load i8, i8* %320
%322 = sext i8 %321 to i32
%323 = call i32 @putchar(i32 %322)
%324 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %7, i64 0, i64 %255, i64 17
%325 = load i8, i8* %324
%326 = sext i8 %325 to i32
%327 = call i32 @putchar(i32 %326)
%328 = call i32 @putchar(i32 10)
%329 = add nuw nsw i64 %255, 1
%330 = icmp eq i64 %329, 7
br i1 %330, label %441, label %254
331: ; preds = %225
br i1 %113, label %332, label %441
332: ; preds = %331
%333 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.1, i64 0, i64 0), i64 %27)
br label %334
334: ; preds = %332, %356
%335 = phi i64 [ 0, %332 ], [ %357, %356 ]
%336 = add nsw i64 %335, %94
%337 = sub nsw i64 %335, %94
br label %338
338: ; preds = %334, %353
%339 = phi i64 [ 0, %334 ], [ %354, %353 ]
%340 = getelementptr inbounds [100 x [100 x i8]], [100 x [100 x i8]]* %5, i64 0, i64 %335, i64 %339
%341 = load i8, i8* %340
%342 = icmp sgt i8 %341, 64
br i1 %342, label %343, label %353
343: ; preds = %338
%344 = icmp ult i8 %341, 91
%345 = icmp ult i64 %339, 9
%346 = select i1 %344, i1 %345, i1 false
br i1 %346, label %350, label %347
347: ; preds = %343
%348 = icmp ugt i64 %339, 8
%349 = select i1 %344, i1 %348, i1 false
br i1 %349, label %350, label %353
350: ; preds = %347, %343
%351 = phi i64 [ %337, %343 ], [ %336, %347 ]
%352 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %8, i64 0, i64 %351, i64 %339
store i8 %341, i8* %352
br label %353
353: ; preds = %350, %338, %347
%354 = add nuw nsw i64 %339, 1
%355 = icmp eq i64 %354, 18
br i1 %355, label %356, label %338
356: ; preds = %353
%357 = add nuw nsw i64 %335, 1
%358 = icmp eq i64 %357, 7
br i1 %358, label %359, label %334
359: ; preds = %356
store i8 0, i8* %24
br label %360
360: ; preds = %359, %360
%361 = phi i64 [ 0, %359 ], [ %435, %360 ]
%362 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %8, i64 0, i64 %361, i64 0
%363 = load i8, i8* %362
%364 = sext i8 %363 to i32
%365 = call i32 @putchar(i32 %364)
%366 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %8, i64 0, i64 %361, i64 1
%367 = load i8, i8* %366
%368 = sext i8 %367 to i32
%369 = call i32 @putchar(i32 %368)
%370 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %8, i64 0, i64 %361, i64 2
%371 = load i8, i8* %370
%372 = sext i8 %371 to i32
%373 = call i32 @putchar(i32 %372)
%374 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %8, i64 0, i64 %361, i64 3
%375 = load i8, i8* %374
%376 = sext i8 %375 to i32
%377 = call i32 @putchar(i32 %376)
%378 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %8, i64 0, i64 %361, i64 4
%379 = load i8, i8* %378
%380 = sext i8 %379 to i32
%381 = call i32 @putchar(i32 %380)
%382 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %8, i64 0, i64 %361, i64 5
%383 = load i8, i8* %382
%384 = sext i8 %383 to i32
%385 = call i32 @putchar(i32 %384)
%386 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %8, i64 0, i64 %361, i64 6
%387 = load i8, i8* %386
%388 = sext i8 %387 to i32
%389 = call i32 @putchar(i32 %388)
%390 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %8, i64 0, i64 %361, i64 7
%391 = load i8, i8* %390
%392 = sext i8 %391 to i32
%393 = call i32 @putchar(i32 %392)
%394 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %8, i64 0, i64 %361, i64 8
%395 = load i8, i8* %394
%396 = sext i8 %395 to i32
%397 = call i32 @putchar(i32 %396)
%398 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %8, i64 0, i64 %361, i64 9
%399 = load i8, i8* %398
%400 = sext i8 %399 to i32
%401 = call i32 @putchar(i32 %400)
%402 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %8, i64 0, i64 %361, i64 10
%403 = load i8, i8* %402
%404 = sext i8 %403 to i32
%405 = call i32 @putchar(i32 %404)
%406 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %8, i64 0, i64 %361, i64 11
%407 = load i8, i8* %406
%408 = sext i8 %407 to i32
%409 = call i32 @putchar(i32 %408)
%410 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %8, i64 0, i64 %361, i64 12
%411 = load i8, i8* %410
%412 = sext i8 %411 to i32
%413 = call i32 @putchar(i32 %412)
%414 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %8, i64 0, i64 %361, i64 13
%415 = load i8, i8* %414
%416 = sext i8 %415 to i32
%417 = call i32 @putchar(i32 %416)
%418 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %8, i64 0, i64 %361, i64 14
%419 = load i8, i8* %418
%420 = sext i8 %419 to i32
%421 = call i32 @putchar(i32 %420)
%422 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %8, i64 0, i64 %361, i64 15
%423 = load i8, i8* %422
%424 = sext i8 %423 to i32
%425 = call i32 @putchar(i32 %424)
%426 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %8, i64 0, i64 %361, i64 16
%427 = load i8, i8* %426
%428 = sext i8 %427 to i32
%429 = call i32 @putchar(i32 %428)
%430 = getelementptr inbounds [8 x [20 x i8]], [8 x [20 x i8]]* %8, i64 0, i64 %361, i64 17
%431 = load i8, i8* %430
%432 = sext i8 %431 to i32
%433 = call i32 @putchar(i32 %432)
%434 = call i32 @putchar(i32 10)
%435 = add nuw nsw i64 %361, 1
%436 = icmp eq i64 %435, 7
br i1 %436, label %441, label %360
437: ; preds = %115, %111, %103
%438 = phi i8* [ getelementptr inbounds ([23 x i8], [23 x i8]* @str.6, i64 0, i64 0), %103 ], [ getelementptr inbounds ([23 x i8], [23 x i8]* @str.6, i64 0, i64 0), %111 ], [ getelementptr inbounds ([23 x i8], [23 x i8]* @str.6, i64 0, i64 0), %115 ]
%439 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.1, i64 0, i64 0), i64 %27)
%440 = call i32 @puts(i8* dereferenceable(1) %438)
br label %441
441: ; preds = %360, %254, %148, %437, %331
%442 = load i64, i64* %6
%443 = add nsw i64 %442, -1
store i64 %443, i64* %6
%444 = icmp eq i64 %442, 0
br i1 %444, label %445, label %25
445: ; preds = %441, %0
ret i32 0
}