main() {
  int numofcases, i;
  scanf("%d", &numofcases);
  int input[numofcases][2];
  for (i = 1; i <= numofcases; ++i) {
    scanf("%d %d", &input[i][1], &input[i][2]);
  }
  for (i = 1; i <= numofcases; ++i) {
    if ((input[i][2] % 4 != 0 && input[i][2] % 100 == 0) ||
        input[i][2] % 400 != 0) {
      if (input[i][1] <= 7) {
        if (input[i][1] % 2 != 0) {
          int days[31], j;
          int month;
          if (input[i][1] == 1)
            month = 11;
          else
            month = input[i][1] - 2;
          int mcount = 2.6 * month - 0.2;
          int century = (input[i][2] - (input[i][2] % 100)) / 100;
          int year;
          if (input[i][1] == 1)
            year = input[i][2] % 100 - 1;
          else
            year = input[i][2] % 100;
          for (j = 1; j <= 31; ++j)
            days[j] =
                j + mcount - (2 * century) + year + (year / 4) + (century / 4);
          for (j = 1; j <= 31; ++j) {
            if (days[j] % 7 == 0) {
              printf("%d ", j);
            }
          }
        } else {
          int days[30], j, febdays[28];
          int month;
          if (input[i][1] == 2)
            month = 12;
          else
            month = input[i][1] - 2;
          int mcount = 2.6 * month - 0.2;
          int century = (input[i][2] - (input[i][2] % 100)) / 100;
          int year;
          if (input[i][1] == 2)
            year = input[i][2] % 100 - 1;
          else
            year = input[i][2] % 100;
          for (j = 1; j <= 30; ++j)
            days[j] =
                j + mcount - (2 * century) + year + (year / 4) + (century / 4);
          for (j = 1; j <= 28; ++j)
            febdays[j] =
                j + mcount - (2 * century) + year + (year / 4) + (century / 4);
          for (j = 1; j <= 30; ++j) {
            if (days[j] % 7 == 0 && input[i][1] != 2) {
              printf("%d ", j);
            } else if (febdays[j] % 7 == 0 && input[i][1] == 2) {
              printf("%d ", j);
            }
          }
        }
      } else {
        int k;
        k = input[i][1] - 1;
        if (k % 2 != 0) {
          int days[31], j;
          int month;
          if (input[i][1] == 1)
            month = 11;
          else
            month = input[i][1] - 2;
          int mcount = 2.6 * month - 0.2;
          int century = (input[i][2] - (input[i][2] % 100)) / 100;
          int year;
          if (input[i][1] == 1)
            year = input[i][2] % 100 - 1;
          else
            year = input[i][2] % 100;
          for (j = 1; j <= 31; ++j)
            days[j] =
                j + mcount - (2 * century) + year + (year / 4) + (century / 4);
          for (j = 1; j <= 31; ++j) {
            if (days[j] % 7 == 0) {
              printf("%d ", j);
            }
          }
        } else {
          int days[30], j, febdays[28];
          int month;
          if (input[i][1] == 2)
            month = 12;
          else
            month = input[i][1] - 2;
          int mcount = 2.6 * month - 0.2;
          int century = (input[i][2] - (input[i][2] % 100)) / 100;
          int year;
          if (input[i][1] == 2)
            year = input[i][2] % 100 - 1;
          else
            year = input[i][2] % 100;
          for (j = 1; j <= 30; ++j)
            days[j] =
                j + mcount - (2 * century) + year + (year / 4) + (century / 4);
          for (j = 1; j <= 28; ++j)
            febdays[j] =
                j + mcount - (2 * century) + year + (year / 4) + (century / 4);
          for (j = 1; j <= 30; ++j) {
            if (days[j] % 7 == 0 && input[i][1] != 2) {
              printf("%d ", j);
            }
          }
          for (j = 1; j <= 28; ++j) {
            if (febdays[j] % 7 == 0 && input[i][1] == 2) {
              printf("%d ", j);
            }
          }
        }
      }
    } else {
      if (input[i][1] <= 7) {
        if (input[i][1] % 2 != 0) {
          int days[31], j;
          int month;
          if (input[i][1] == 1)
            month = 11;
          else
            month = input[i][1] - 2;
          int mcount = 2.6 * month - 0.2;
          int century = (input[i][2] - (input[i][2] % 100)) / 100;
          int year;
          if (input[i][1] == 1)
            year = input[i][2] % 100 - 1;
          else
            year = input[i][2] % 100;
          for (j = 1; j <= 31; ++j)
            days[j] =
                j + mcount - (2 * century) + year + (year / 4) + (century / 4);
          for (j = 1; j <= 31; ++j) {
            if (days[j] % 7 == 0) {
              printf("%d ", j);
            }
          }
        } else {
          int days[30], j, febdays[29];
          int month;
          if (input[i][1] == 2)
            month = 12;
          else
            month = input[i][1] - 2;
          int mcount = 2.6 * month - 0.2;
          int century = (input[i][2] - (input[i][2] % 100)) / 100;
          int year;
          if (input[i][1] == 2)
            year = input[i][2] % 100 - 1;
          else
            year = input[i][2] % 100;
          for (j = 1; j <= 30; ++j)
            days[j] =
                j + mcount - (2 * century) + year + (year / 4) + (century / 4);
          for (j = 1; j <= 29; ++j)
            febdays[j] =
                j + mcount - (2 * century) + year + (year / 4) + (century / 4);
          for (j = 1; j <= 30; ++j) {
            if (days[j] % 7 == 0 && input[i][1] != 2) {
              printf("%d ", j);
            } else if (febdays[j] % 7 == 0 && input[i][1] == 2) {
              printf("%d ", j);
            }
          }
        }
      } else {
        int k;
        k = input[i][1] - 1;
        if (k % 2 != 0) {
          int days[31], j;
          int month;
          if (input[i][1] == 1)
            month = 11;
          else
            month = input[i][1] - 2;
          int mcount = 2.6 * month - 0.2;
          int century = (input[i][2] - (input[i][2] % 100)) / 100;
          int year;
          if (input[i][1] == 1)
            year = input[i][2] % 100 - 1;
          else
            year = input[i][2] % 100;
          for (j = 1; j <= 31; ++j)
            days[j] =
                j + mcount - (2 * century) + year + (year / 4) + (century / 4);
          for (j = 1; j <= 31; ++j) {
            if (days[j] % 7 == 0) {
              printf("%d ", j);
            }
          }
        } else {
          int days[30], j, febdays[29];
          int month;
          if (input[i][1] == 2)
            month = 12;
          else
            month = input[i][1] - 2;
          int mcount = 2.6 * month - 0.2;
          int century = (input[i][2] - (input[i][2] % 100)) / 100;
          int year;
          if (input[i][1] == 2)
            year = input[i][2] % 100 - 1;
          else
            year = input[i][2] % 100;
          for (j = 1; j <= 30; ++j)
            days[j] =
                j + mcount - (2 * century) + year + (year / 4) + (century / 4);
          for (j = 1; j <= 28; ++j)
            febdays[j] =
                j + mcount - (2 * century) + year + (year / 4) + (century / 4);
          for (j = 1; j <= 30; ++j) {
            if (days[j] % 7 == 0 && input[i][1] != 2) {
              printf("%d ", j);
            }
          }
          for (j = 1; j <= 29; ++j) {
            if (febdays[j] % 7 == 0 && input[i][1] == 2) {
              printf("%d ", j);
            }
          }
        }
      }
    }
    printf("\n");
  }
  getch();
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x6d0,%rsp
movl   $0x0,-0x4(%rbp)
lea    0x1eca(%rip),%rdi
xor    %eax,%eax
lea    -0x8(%rbp),%rsi
call   1040 <scanf@plt>
mov    -0x8(%rbp),%eax
mov    %rsp,%rcx
mov    %rcx,-0x18(%rbp)
lea    0xf(,%rax,8),%rdx
and    $0xfffffffffffffff0,%rdx
mov    %rsp,%rcx
sub    %rdx,%rcx
mov    %rcx,-0x6a8(%rbp)
mov    %rcx,%rsp
mov    %rax,-0x20(%rbp)
movl   $0x1,-0xc(%rbp)
mov    -0xc(%rbp),%eax
cmp    -0x8(%rbp),%eax
jg     11d5 <main+0xa5>
mov    -0x6a8(%rbp),%rdx
movslq -0xc(%rbp),%rax
shl    $0x3,%rax
mov    %rdx,%rsi
add    %rax,%rsi
add    $0x4,%rsi
movslq -0xc(%rbp),%rax
shl    $0x3,%rax
add    %rax,%rdx
add    $0x8,%rdx
lea    0x1e50(%rip),%rdi
mov    $0x0,%al
call   1040 <scanf@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1185 <main+0x55>
movl   $0x1,-0xc(%rbp)
mov    -0xc(%rbp),%eax
cmp    -0x8(%rbp),%eax
jg     25e4 <main+0x14b4>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     1228 <main+0xf8>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     1248 <main+0x118>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x190,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     1c08 <main+0xad8>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
cmpl   $0x7,0x4(%rax,%rcx,8)
jg     1716 <main+0x5e6>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x4(%rax,%rcx,8),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     1458 <main+0x328>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
cmpl   $0x1,0x4(%rax,%rcx,8)
jne    12a3 <main+0x173>
movl   $0xb,-0xa8(%rbp)
jmp    12bb <main+0x18b>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x4(%rax,%rcx,8),%eax
sub    $0x2,%eax
mov    %eax,-0xa8(%rbp)
mov    -0x6a8(%rbp),%rax
cvtsi2sdl -0xa8(%rbp),%xmm0
ff
movsd  0x1d2e(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1d2a(%rip),%xmm1
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%ecx
mov    %ecx,-0xac(%rbp)
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%ecx
mov    %ecx,-0x6ac(%rbp)
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    -0x6ac(%rbp),%eax
sub    %edx,%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x6a8(%rbp),%rax
mov    %ecx,-0xb0(%rbp)
movslq -0xc(%rbp),%rcx
cmpl   $0x1,0x4(%rax,%rcx,8)
jne    135d <main+0x22d>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
sub    $0x1,%edx
mov    %edx,-0xb4(%rbp)
jmp    137a <main+0x24a>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    %edx,-0xb4(%rbp)
movl   $0x1,-0xa4(%rbp)
cmpl   $0x1f,-0xa4(%rbp)
jg     13f0 <main+0x2c0>
mov    -0xa4(%rbp),%ecx
add    -0xac(%rbp),%ecx
mov    -0xb0(%rbp),%eax
shl    $0x1,%eax
sub    %eax,%ecx
add    -0xb4(%rbp),%ecx
mov    -0xb4(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
mov    -0xb0(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
movslq -0xa4(%rbp),%rax
mov    %ecx,-0xa0(%rbp,%rax,4)
mov    -0xa4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xa4(%rbp)
jmp    1384 <main+0x254>
movl   $0x1,-0xa4(%rbp)
cmpl   $0x1f,-0xa4(%rbp)
jg     1453 <main+0x323>
movslq -0xa4(%rbp),%rax
mov    -0xa0(%rbp,%rax,4),%eax
mov    $0x7,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    143a <main+0x30a>
mov    -0xa4(%rbp),%esi
lea    0x1be3(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    143f <main+0x30f>
mov    -0xa4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xa4(%rbp)
jmp    13fa <main+0x2ca>
jmp    1711 <main+0x5e1>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
cmpl   $0x2,0x4(%rax,%rcx,8)
jne    147d <main+0x34d>
movl   $0xc,-0x1b4(%rbp)
jmp    1495 <main+0x365>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x4(%rax,%rcx,8),%eax
sub    $0x2,%eax
mov    %eax,-0x1b4(%rbp)
mov    -0x6a8(%rbp),%rax
cvtsi2sdl -0x1b4(%rbp),%xmm0
ff
movsd  0x1b54(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1b50(%rip),%xmm1
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%ecx
mov    %ecx,-0x1b8(%rbp)
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%ecx
mov    %ecx,-0x6b0(%rbp)
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    -0x6b0(%rbp),%eax
sub    %edx,%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x6a8(%rbp),%rax
mov    %ecx,-0x1bc(%rbp)
movslq -0xc(%rbp),%rcx
cmpl   $0x2,0x4(%rax,%rcx,8)
jne    1537 <main+0x407>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
sub    $0x1,%edx
mov    %edx,-0x1c0(%rbp)
jmp    1554 <main+0x424>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    %edx,-0x1c0(%rbp)
movl   $0x1,-0x134(%rbp)
cmpl   $0x1e,-0x134(%rbp)
jg     15ca <main+0x49a>
mov    -0x134(%rbp),%ecx
add    -0x1b8(%rbp),%ecx
mov    -0x1bc(%rbp),%eax
shl    $0x1,%eax
sub    %eax,%ecx
add    -0x1c0(%rbp),%ecx
mov    -0x1c0(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
mov    -0x1bc(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
movslq -0x134(%rbp),%rax
mov    %ecx,-0x130(%rbp,%rax,4)
mov    -0x134(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x134(%rbp)
jmp    155e <main+0x42e>
movl   $0x1,-0x134(%rbp)
cmpl   $0x1c,-0x134(%rbp)
jg     1640 <main+0x510>
mov    -0x134(%rbp),%ecx
add    -0x1b8(%rbp),%ecx
mov    -0x1bc(%rbp),%eax
shl    $0x1,%eax
sub    %eax,%ecx
add    -0x1c0(%rbp),%ecx
mov    -0x1c0(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
mov    -0x1bc(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
movslq -0x134(%rbp),%rax
mov    %ecx,-0x1b0(%rbp,%rax,4)
mov    -0x134(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x134(%rbp)
jmp    15d4 <main+0x4a4>
movl   $0x1,-0x134(%rbp)
cmpl   $0x1e,-0x134(%rbp)
jg     170c <main+0x5dc>
movslq -0x134(%rbp),%rax
mov    -0x130(%rbp,%rax,4),%eax
mov    $0x7,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    16a5 <main+0x575>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
cmpl   $0x2,0x4(%rax,%rcx,8)
je     16a5 <main+0x575>
mov    -0x134(%rbp),%esi
lea    0x197d(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    16f3 <main+0x5c3>
movslq -0x134(%rbp),%rax
mov    -0x1b0(%rbp,%rax,4),%eax
mov    $0x7,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    16ee <main+0x5be>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
cmpl   $0x2,0x4(%rax,%rcx,8)
jne    16ee <main+0x5be>
mov    -0x134(%rbp),%esi
lea    0x192f(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    16f3 <main+0x5c3>
jmp    16f8 <main+0x5c8>
mov    -0x134(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x134(%rbp)
jmp    164a <main+0x51a>
jmp    1711 <main+0x5e1>
jmp    1c03 <main+0xad3>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x4(%rax,%rcx,8),%eax
sub    $0x1,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     191f <main+0x7ef>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
cmpl   $0x1,0x4(%rax,%rcx,8)
jne    176a <main+0x63a>
movl   $0xb,-0x248(%rbp)
jmp    1782 <main+0x652>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x4(%rax,%rcx,8),%eax
sub    $0x2,%eax
mov    %eax,-0x248(%rbp)
mov    -0x6a8(%rbp),%rax
cvtsi2sdl -0x248(%rbp),%xmm0
ff
movsd  0x1867(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1863(%rip),%xmm1
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%ecx
mov    %ecx,-0x24c(%rbp)
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%ecx
mov    %ecx,-0x6b4(%rbp)
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    -0x6b4(%rbp),%eax
sub    %edx,%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x6a8(%rbp),%rax
mov    %ecx,-0x250(%rbp)
movslq -0xc(%rbp),%rcx
cmpl   $0x1,0x4(%rax,%rcx,8)
jne    1824 <main+0x6f4>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
sub    $0x1,%edx
mov    %edx,-0x254(%rbp)
jmp    1841 <main+0x711>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    %edx,-0x254(%rbp)
movl   $0x1,-0x244(%rbp)
cmpl   $0x1f,-0x244(%rbp)
jg     18b7 <main+0x787>
mov    -0x244(%rbp),%ecx
add    -0x24c(%rbp),%ecx
mov    -0x250(%rbp),%eax
shl    $0x1,%eax
sub    %eax,%ecx
add    -0x254(%rbp),%ecx
mov    -0x254(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
mov    -0x250(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
movslq -0x244(%rbp),%rax
mov    %ecx,-0x240(%rbp,%rax,4)
mov    -0x244(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x244(%rbp)
jmp    184b <main+0x71b>
movl   $0x1,-0x244(%rbp)
cmpl   $0x1f,-0x244(%rbp)
jg     191a <main+0x7ea>
movslq -0x244(%rbp),%rax
mov    -0x240(%rbp,%rax,4),%eax
mov    $0x7,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    1901 <main+0x7d1>
mov    -0x244(%rbp),%esi
lea    0x171c(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1906 <main+0x7d6>
mov    -0x244(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x244(%rbp)
jmp    18c1 <main+0x791>
jmp    1bfe <main+0xace>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
cmpl   $0x2,0x4(%rax,%rcx,8)
jne    1944 <main+0x814>
movl   $0xc,-0x354(%rbp)
jmp    195c <main+0x82c>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x4(%rax,%rcx,8),%eax
sub    $0x2,%eax
mov    %eax,-0x354(%rbp)
mov    -0x6a8(%rbp),%rax
cvtsi2sdl -0x354(%rbp),%xmm0
ff
movsd  0x168d(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1689(%rip),%xmm1
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%ecx
mov    %ecx,-0x358(%rbp)
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%ecx
mov    %ecx,-0x6b8(%rbp)
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    -0x6b8(%rbp),%eax
sub    %edx,%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x6a8(%rbp),%rax
mov    %ecx,-0x35c(%rbp)
movslq -0xc(%rbp),%rcx
cmpl   $0x2,0x4(%rax,%rcx,8)
jne    19fe <main+0x8ce>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
sub    $0x1,%edx
mov    %edx,-0x360(%rbp)
jmp    1a1b <main+0x8eb>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    %edx,-0x360(%rbp)
movl   $0x1,-0x2d4(%rbp)
cmpl   $0x1e,-0x2d4(%rbp)
jg     1a91 <main+0x961>
mov    -0x2d4(%rbp),%ecx
add    -0x358(%rbp),%ecx
mov    -0x35c(%rbp),%eax
shl    $0x1,%eax
sub    %eax,%ecx
add    -0x360(%rbp),%ecx
mov    -0x360(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
mov    -0x35c(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
movslq -0x2d4(%rbp),%rax
mov    %ecx,-0x2d0(%rbp,%rax,4)
mov    -0x2d4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2d4(%rbp)
jmp    1a25 <main+0x8f5>
movl   $0x1,-0x2d4(%rbp)
cmpl   $0x1c,-0x2d4(%rbp)
jg     1b07 <main+0x9d7>
mov    -0x2d4(%rbp),%ecx
add    -0x358(%rbp),%ecx
mov    -0x35c(%rbp),%eax
shl    $0x1,%eax
sub    %eax,%ecx
add    -0x360(%rbp),%ecx
mov    -0x360(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
mov    -0x35c(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
movslq -0x2d4(%rbp),%rax
mov    %ecx,-0x350(%rbp,%rax,4)
mov    -0x2d4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2d4(%rbp)
jmp    1a9b <main+0x96b>
movl   $0x1,-0x2d4(%rbp)
cmpl   $0x1e,-0x2d4(%rbp)
jg     1b80 <main+0xa50>
movslq -0x2d4(%rbp),%rax
mov    -0x2d0(%rbp,%rax,4),%eax
mov    $0x7,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    1b67 <main+0xa37>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
cmpl   $0x2,0x4(%rax,%rcx,8)
je     1b67 <main+0xa37>
mov    -0x2d4(%rbp),%esi
lea    0x14b6(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1b6c <main+0xa3c>
mov    -0x2d4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2d4(%rbp)
jmp    1b11 <main+0x9e1>
movl   $0x1,-0x2d4(%rbp)
cmpl   $0x1c,-0x2d4(%rbp)
jg     1bf9 <main+0xac9>
movslq -0x2d4(%rbp),%rax
mov    -0x350(%rbp,%rax,4),%eax
mov    $0x7,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    1be0 <main+0xab0>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
cmpl   $0x2,0x4(%rax,%rcx,8)
jne    1be0 <main+0xab0>
mov    -0x2d4(%rbp),%esi
lea    0x143d(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1be5 <main+0xab5>
mov    -0x2d4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2d4(%rbp)
jmp    1b8a <main+0xa5a>
jmp    1bfe <main+0xace>
jmp    1c03 <main+0xad3>
jmp    25c8 <main+0x1498>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
cmpl   $0x7,0x4(%rax,%rcx,8)
jg     20d6 <main+0xfa6>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x4(%rax,%rcx,8),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     1e18 <main+0xce8>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
cmpl   $0x1,0x4(%rax,%rcx,8)
jne    1c63 <main+0xb33>
movl   $0xb,-0x3e8(%rbp)
jmp    1c7b <main+0xb4b>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x4(%rax,%rcx,8),%eax
sub    $0x2,%eax
mov    %eax,-0x3e8(%rbp)
mov    -0x6a8(%rbp),%rax
cvtsi2sdl -0x3e8(%rbp),%xmm0
ff
movsd  0x136e(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x136a(%rip),%xmm1
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%ecx
mov    %ecx,-0x3ec(%rbp)
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%ecx
mov    %ecx,-0x6bc(%rbp)
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    -0x6bc(%rbp),%eax
sub    %edx,%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x6a8(%rbp),%rax
mov    %ecx,-0x3f0(%rbp)
movslq -0xc(%rbp),%rcx
cmpl   $0x1,0x4(%rax,%rcx,8)
jne    1d1d <main+0xbed>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
sub    $0x1,%edx
mov    %edx,-0x3f4(%rbp)
jmp    1d3a <main+0xc0a>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    %edx,-0x3f4(%rbp)
movl   $0x1,-0x3e4(%rbp)
cmpl   $0x1f,-0x3e4(%rbp)
jg     1db0 <main+0xc80>
mov    -0x3e4(%rbp),%ecx
add    -0x3ec(%rbp),%ecx
mov    -0x3f0(%rbp),%eax
shl    $0x1,%eax
sub    %eax,%ecx
add    -0x3f4(%rbp),%ecx
mov    -0x3f4(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
mov    -0x3f0(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
movslq -0x3e4(%rbp),%rax
mov    %ecx,-0x3e0(%rbp,%rax,4)
mov    -0x3e4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3e4(%rbp)
jmp    1d44 <main+0xc14>
movl   $0x1,-0x3e4(%rbp)
cmpl   $0x1f,-0x3e4(%rbp)
jg     1e13 <main+0xce3>
movslq -0x3e4(%rbp),%rax
mov    -0x3e0(%rbp,%rax,4),%eax
mov    $0x7,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    1dfa <main+0xcca>
mov    -0x3e4(%rbp),%esi
lea    0x1223(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1dff <main+0xccf>
mov    -0x3e4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3e4(%rbp)
jmp    1dba <main+0xc8a>
jmp    20d1 <main+0xfa1>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
cmpl   $0x2,0x4(%rax,%rcx,8)
jne    1e3d <main+0xd0d>
movl   $0xc,-0x4f4(%rbp)
jmp    1e55 <main+0xd25>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x4(%rax,%rcx,8),%eax
sub    $0x2,%eax
mov    %eax,-0x4f4(%rbp)
mov    -0x6a8(%rbp),%rax
cvtsi2sdl -0x4f4(%rbp),%xmm0
ff
movsd  0x1194(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1190(%rip),%xmm1
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%ecx
mov    %ecx,-0x4f8(%rbp)
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%ecx
mov    %ecx,-0x6c0(%rbp)
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    -0x6c0(%rbp),%eax
sub    %edx,%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x6a8(%rbp),%rax
mov    %ecx,-0x4fc(%rbp)
movslq -0xc(%rbp),%rcx
cmpl   $0x2,0x4(%rax,%rcx,8)
jne    1ef7 <main+0xdc7>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
sub    $0x1,%edx
mov    %edx,-0x500(%rbp)
jmp    1f14 <main+0xde4>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    %edx,-0x500(%rbp)
movl   $0x1,-0x474(%rbp)
cmpl   $0x1e,-0x474(%rbp)
jg     1f8a <main+0xe5a>
mov    -0x474(%rbp),%ecx
add    -0x4f8(%rbp),%ecx
mov    -0x4fc(%rbp),%eax
shl    $0x1,%eax
sub    %eax,%ecx
add    -0x500(%rbp),%ecx
mov    -0x500(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
mov    -0x4fc(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
movslq -0x474(%rbp),%rax
mov    %ecx,-0x470(%rbp,%rax,4)
mov    -0x474(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x474(%rbp)
jmp    1f1e <main+0xdee>
movl   $0x1,-0x474(%rbp)
cmpl   $0x1d,-0x474(%rbp)
jg     2000 <main+0xed0>
mov    -0x474(%rbp),%ecx
add    -0x4f8(%rbp),%ecx
mov    -0x4fc(%rbp),%eax
shl    $0x1,%eax
sub    %eax,%ecx
add    -0x500(%rbp),%ecx
mov    -0x500(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
mov    -0x4fc(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
movslq -0x474(%rbp),%rax
mov    %ecx,-0x4f0(%rbp,%rax,4)
mov    -0x474(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x474(%rbp)
jmp    1f94 <main+0xe64>
movl   $0x1,-0x474(%rbp)
cmpl   $0x1e,-0x474(%rbp)
jg     20cc <main+0xf9c>
movslq -0x474(%rbp),%rax
mov    -0x470(%rbp,%rax,4),%eax
mov    $0x7,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    2065 <main+0xf35>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
cmpl   $0x2,0x4(%rax,%rcx,8)
je     2065 <main+0xf35>
mov    -0x474(%rbp),%esi
lea    0xfbd(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    20b3 <main+0xf83>
movslq -0x474(%rbp),%rax
mov    -0x4f0(%rbp,%rax,4),%eax
mov    $0x7,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    20ae <main+0xf7e>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
cmpl   $0x2,0x4(%rax,%rcx,8)
jne    20ae <main+0xf7e>
mov    -0x474(%rbp),%esi
lea    0xf6f(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    20b3 <main+0xf83>
jmp    20b8 <main+0xf88>
mov    -0x474(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x474(%rbp)
jmp    200a <main+0xeda>
jmp    20d1 <main+0xfa1>
jmp    25c3 <main+0x1493>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x4(%rax,%rcx,8),%eax
sub    $0x1,%eax
mov    %eax,-0x504(%rbp)
mov    -0x504(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     22df <main+0x11af>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
cmpl   $0x1,0x4(%rax,%rcx,8)
jne    212a <main+0xffa>
movl   $0xb,-0x588(%rbp)
jmp    2142 <main+0x1012>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x4(%rax,%rcx,8),%eax
sub    $0x2,%eax
mov    %eax,-0x588(%rbp)
mov    -0x6a8(%rbp),%rax
cvtsi2sdl -0x588(%rbp),%xmm0
ff
movsd  0xea7(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xea3(%rip),%xmm1
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%ecx
mov    %ecx,-0x58c(%rbp)
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%ecx
mov    %ecx,-0x6c4(%rbp)
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    -0x6c4(%rbp),%eax
sub    %edx,%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x6a8(%rbp),%rax
mov    %ecx,-0x590(%rbp)
movslq -0xc(%rbp),%rcx
cmpl   $0x1,0x4(%rax,%rcx,8)
jne    21e4 <main+0x10b4>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
sub    $0x1,%edx
mov    %edx,-0x594(%rbp)
jmp    2201 <main+0x10d1>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    %edx,-0x594(%rbp)
movl   $0x1,-0x584(%rbp)
cmpl   $0x1f,-0x584(%rbp)
jg     2277 <main+0x1147>
mov    -0x584(%rbp),%ecx
add    -0x58c(%rbp),%ecx
mov    -0x590(%rbp),%eax
shl    $0x1,%eax
sub    %eax,%ecx
add    -0x594(%rbp),%ecx
mov    -0x594(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
mov    -0x590(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
movslq -0x584(%rbp),%rax
mov    %ecx,-0x580(%rbp,%rax,4)
mov    -0x584(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x584(%rbp)
jmp    220b <main+0x10db>
movl   $0x1,-0x584(%rbp)
cmpl   $0x1f,-0x584(%rbp)
jg     22da <main+0x11aa>
movslq -0x584(%rbp),%rax
mov    -0x580(%rbp,%rax,4),%eax
mov    $0x7,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    22c1 <main+0x1191>
mov    -0x584(%rbp),%esi
lea    0xd5c(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    22c6 <main+0x1196>
mov    -0x584(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x584(%rbp)
jmp    2281 <main+0x1151>
jmp    25be <main+0x148e>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
cmpl   $0x2,0x4(%rax,%rcx,8)
jne    2304 <main+0x11d4>
movl   $0xc,-0x694(%rbp)
jmp    231c <main+0x11ec>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x4(%rax,%rcx,8),%eax
sub    $0x2,%eax
mov    %eax,-0x694(%rbp)
mov    -0x6a8(%rbp),%rax
cvtsi2sdl -0x694(%rbp),%xmm0
ff
movsd  0xccd(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xcc9(%rip),%xmm1
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%ecx
mov    %ecx,-0x698(%rbp)
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%ecx
mov    %ecx,-0x6c8(%rbp)
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    -0x6c8(%rbp),%eax
sub    %edx,%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x6a8(%rbp),%rax
mov    %ecx,-0x69c(%rbp)
movslq -0xc(%rbp),%rcx
cmpl   $0x2,0x4(%rax,%rcx,8)
jne    23be <main+0x128e>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
sub    $0x1,%edx
mov    %edx,-0x6a0(%rbp)
jmp    23db <main+0x12ab>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    0x8(%rax,%rcx,8),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    %edx,-0x6a0(%rbp)
movl   $0x1,-0x614(%rbp)
cmpl   $0x1e,-0x614(%rbp)
jg     2451 <main+0x1321>
mov    -0x614(%rbp),%ecx
add    -0x698(%rbp),%ecx
mov    -0x69c(%rbp),%eax
shl    $0x1,%eax
sub    %eax,%ecx
add    -0x6a0(%rbp),%ecx
mov    -0x6a0(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
mov    -0x69c(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
movslq -0x614(%rbp),%rax
mov    %ecx,-0x610(%rbp,%rax,4)
mov    -0x614(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x614(%rbp)
jmp    23e5 <main+0x12b5>
movl   $0x1,-0x614(%rbp)
cmpl   $0x1c,-0x614(%rbp)
jg     24c7 <main+0x1397>
mov    -0x614(%rbp),%ecx
add    -0x698(%rbp),%ecx
mov    -0x69c(%rbp),%eax
shl    $0x1,%eax
sub    %eax,%ecx
add    -0x6a0(%rbp),%ecx
mov    -0x6a0(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
mov    -0x69c(%rbp),%eax
mov    $0x4,%esi
cltd
idiv   %esi
add    %eax,%ecx
movslq -0x614(%rbp),%rax
mov    %ecx,-0x690(%rbp,%rax,4)
mov    -0x614(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x614(%rbp)
jmp    245b <main+0x132b>
movl   $0x1,-0x614(%rbp)
cmpl   $0x1e,-0x614(%rbp)
jg     2540 <main+0x1410>
movslq -0x614(%rbp),%rax
mov    -0x610(%rbp,%rax,4),%eax
mov    $0x7,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    2527 <main+0x13f7>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
cmpl   $0x2,0x4(%rax,%rcx,8)
je     2527 <main+0x13f7>
mov    -0x614(%rbp),%esi
lea    0xaf6(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    252c <main+0x13fc>
mov    -0x614(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x614(%rbp)
jmp    24d1 <main+0x13a1>
movl   $0x1,-0x614(%rbp)
cmpl   $0x1d,-0x614(%rbp)
jg     25b9 <main+0x1489>
movslq -0x614(%rbp),%rax
mov    -0x690(%rbp,%rax,4),%eax
mov    $0x7,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    25a0 <main+0x1470>
mov    -0x6a8(%rbp),%rax
movslq -0xc(%rbp),%rcx
cmpl   $0x2,0x4(%rax,%rcx,8)
jne    25a0 <main+0x1470>
mov    -0x614(%rbp),%esi
lea    0xa7d(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    25a5 <main+0x1475>
mov    -0x614(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x614(%rbp)
jmp    254a <main+0x141a>
jmp    25be <main+0x148e>
jmp    25c3 <main+0x1493>
jmp    25c8 <main+0x1498>
lea    0xa4b(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    11dc <main+0xac>
mov    $0x0,%al
call   1050 <getch@plt>
mov    -0x18(%rbp),%rax
mov    %rax,%rsp
mov    -0x4(%rbp),%eax
mov    %rbp,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
mov    %rsp,%rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x168,%rsp
lea    0x1f38(%rip),%rdi
lea    -0xf4(%rbp),%rsi
xor    %eax,%eax
call   1050 <scanf@plt>
mov    %rsp,-0x190(%rbp)
mov    -0xf4(%rbp),%eax
mov    %rsp,%r12
lea    0xf(,%rax,8),%rax
and    $0xfffffffffffffff0,%rax
sub    %rax,%r12
mov    %r12,%rsp
cmpl   $0x0,-0xf4(%rbp)
jle    257b <main+0x143b>
lea    0xc(%r12),%rbx
lea    0x1eec(%rip),%r14
xor    %r15d,%r15d
nopw   0x0(%rax,%rax,1)
lea    0x4(%rbx),%rdx
mov    %r14,%rdi
mov    %rbx,%rsi
xor    %eax,%eax
call   1050 <scanf@plt>
movslq -0xf4(%rbp),%rax
add    $0x1,%r15
add    $0x8,%rbx
cmp    %rax,%r15
jl     11b0 <main+0x70>
test   %eax,%eax
jle    257b <main+0x143b>
mov    $0x1,%r13d
lea    0x1eac(%rip),%r14
jmp    1211 <main+0xd1>
nopl   0x0(%rax)
mov    $0xa,%edi
call   1030 <putchar@plt>
lea    0x1(%r13),%rax
movslq -0xf4(%rbp),%rcx
cmp    %rcx,%r13
mov    %rax,%r13
jge    257b <main+0x143b>
movslq 0x8(%r12,%r13,8),%rcx
test   $0x3,%cl
setne  %bl
imul   $0x51eb851f,%rcx,%rsi
mov    %rsi,%rax
sar    $0x25,%rax
mov    %rsi,%rdi
shr    $0x3f,%rdi
add    %edi,%eax
imul   $0x64,%eax,%edx
mov    %ecx,%r8d
sub    %edx,%r8d
sete   %al
mov    0x4(%r12,%r13,8),%edx
test   %al,%bl
jne    1640 <main+0x500>
sar    $0x27,%rsi
add    %edi,%esi
imul   $0x190,%esi,%eax
mov    %ecx,%edi
sub    %eax,%edi
jne    1640 <main+0x500>
cmp    $0x7,%edx
jg     1af0 <main+0x9b0>
lea    -0x2(%rdx),%eax
test   $0x1,%dl
jne    20eb <main+0xfab>
xor    %edi,%edi
cmp    $0x2,%edx
sete   %dil
mov    $0xc,%edx
cmove  %edx,%eax
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x1d69(%rip),%xmm0
addsd  0x1d69(%rip),%xmm0
cvttsd2si %xmm0,%esi
movslq %ecx,%rax
imul   $0xffffffffae147ae1,%rax,%rdx
mov    %rdx,%rcx
shr    $0x3f,%rcx
shr    $0x20,%rdx
sar    $0x5,%edx
add    %ecx,%edx
sub    %edi,%r8d
mov    %r8d,%ecx
sar    $0x7,%cl
shr    $0x6,%cl
add    %r8b,%cl
sar    $0x2,%cl
movsbl %cl,%ecx
imul   $0x51eb851f,%rax,%rax
mov    %rax,%rdi
shr    $0x3f,%rdi
shr    $0x20,%rax
sar    $0x7,%eax
add    %edi,%eax
add    %esi,%r8d
add    %eax,%r8d
lea    (%r8,%rdx,2),%r15d
lea    (%rcx,%r15,1),%eax
add    $0x1,%eax
lea    0x2(%rcx,%r15,1),%edx
mov    %edx,-0x64(%rbp)
lea    0x3(%rcx,%r15,1),%edx
lea    0x4(%rcx,%r15,1),%r14d
lea    0x5(%rcx,%r15,1),%edi
lea    0x6(%rcx,%r15,1),%r8d
lea    0x7(%rcx,%r15,1),%r9d
lea    0x8(%rcx,%r15,1),%r10d
lea    0x9(%rcx,%r15,1),%r11d
lea    0xa(%rcx,%r15,1),%ebx
lea    0xb(%rcx,%r15,1),%esi
mov    %esi,-0x184(%rbp)
lea    0xc(%rcx,%r15,1),%esi
mov    %esi,-0x180(%rbp)
lea    0xd(%rcx,%r15,1),%esi
mov    %esi,-0x68(%rbp)
lea    0xe(%rcx,%r15,1),%esi
mov    %esi,-0x60(%rbp)
lea    0xf(%rcx,%r15,1),%esi
mov    %esi,-0x5c(%rbp)
lea    0x10(%rcx,%r15,1),%esi
mov    %esi,-0x58(%rbp)
lea    0x11(%rcx,%r15,1),%esi
mov    %esi,-0x54(%rbp)
lea    0x12(%rcx,%r15,1),%esi
mov    %esi,-0x50(%rbp)
lea    0x13(%rcx,%r15,1),%esi
mov    %esi,-0x4c(%rbp)
lea    0x14(%rcx,%r15,1),%esi
mov    %esi,-0x48(%rbp)
lea    0x15(%rcx,%r15,1),%esi
mov    %esi,-0x44(%rbp)
lea    0x16(%rcx,%r15,1),%esi
mov    %esi,-0x40(%rbp)
lea    0x17(%rcx,%r15,1),%esi
mov    %esi,-0x3c(%rbp)
lea    0x18(%rcx,%r15,1),%esi
mov    %esi,-0x38(%rbp)
lea    0x19(%rcx,%r15,1),%esi
mov    %esi,-0x34(%rbp)
lea    0x1a(%rcx,%r15,1),%esi
mov    %esi,-0x30(%rbp)
lea    0x1b(%rcx,%r15,1),%esi
mov    %esi,-0x2c(%rbp)
lea    0x1c(%rcx,%r15,1),%esi
mov    %esi,-0x178(%rbp)
lea    0x1d(%rcx,%r15,1),%esi
mov    %esi,-0x174(%rbp)
lea    0x1e(%rcx,%r15,1),%ecx
mov    %ecx,-0x17c(%rbp)
mov    %eax,%ecx
mov    %eax,-0xec(%rbp)
mov    -0x64(%rbp),%eax
mov    %eax,-0xe8(%rbp)
mov    %edx,-0xe4(%rbp)
mov    %r14d,%esi
mov    %r14d,-0xe0(%rbp)
mov    %edi,-0xdc(%rbp)
mov    %r8d,-0xd8(%rbp)
mov    %r9d,-0xd4(%rbp)
mov    %r10d,-0xd0(%rbp)
mov    %r11d,-0xcc(%rbp)
mov    %ebx,-0xc8(%rbp)
mov    -0x184(%rbp),%r14d
mov    %r14d,-0xc4(%rbp)
mov    -0x180(%rbp),%r15d
mov    %r15d,-0xc0(%rbp)
mov    -0x68(%rbp),%eax
mov    %eax,-0xbc(%rbp)
mov    -0x60(%rbp),%eax
mov    %eax,-0xb8(%rbp)
mov    -0x5c(%rbp),%eax
mov    %eax,-0xb4(%rbp)
mov    -0x58(%rbp),%eax
mov    %eax,-0xb0(%rbp)
mov    -0x54(%rbp),%eax
mov    %eax,-0xac(%rbp)
mov    -0x50(%rbp),%eax
mov    %eax,-0xa8(%rbp)
mov    -0x4c(%rbp),%eax
mov    %eax,-0xa4(%rbp)
mov    -0x48(%rbp),%eax
mov    %eax,-0xa0(%rbp)
mov    -0x44(%rbp),%eax
mov    %eax,-0x9c(%rbp)
mov    -0x40(%rbp),%eax
mov    %eax,-0x98(%rbp)
mov    -0x3c(%rbp),%eax
mov    %eax,-0x94(%rbp)
mov    -0x38(%rbp),%eax
mov    %eax,-0x90(%rbp)
mov    -0x34(%rbp),%eax
mov    %eax,-0x8c(%rbp)
mov    -0x30(%rbp),%eax
mov    %eax,-0x88(%rbp)
mov    -0x2c(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x178(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x174(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x17c(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    %ecx,-0x16c(%rbp)
mov    -0x64(%rbp),%eax
mov    %eax,-0x168(%rbp)
mov    %edx,-0x164(%rbp)
mov    %esi,-0x160(%rbp)
mov    %edi,-0x15c(%rbp)
mov    %r8d,-0x158(%rbp)
mov    %r9d,-0x154(%rbp)
mov    %r10d,-0x150(%rbp)
mov    %r11d,-0x14c(%rbp)
mov    %ebx,-0x148(%rbp)
mov    %r14d,-0x144(%rbp)
mov    %r15d,-0x140(%rbp)
mov    -0x68(%rbp),%eax
mov    %eax,-0x13c(%rbp)
mov    -0x60(%rbp),%eax
mov    %eax,-0x138(%rbp)
mov    -0x5c(%rbp),%eax
mov    %eax,-0x134(%rbp)
mov    -0x58(%rbp),%eax
mov    %eax,-0x130(%rbp)
mov    -0x54(%rbp),%eax
mov    %eax,-0x12c(%rbp)
mov    -0x50(%rbp),%eax
mov    %eax,-0x128(%rbp)
mov    -0x4c(%rbp),%eax
mov    %eax,-0x124(%rbp)
mov    -0x48(%rbp),%eax
mov    %eax,-0x120(%rbp)
lea    0x1b16(%rip),%r14
mov    -0x44(%rbp),%eax
mov    %eax,-0x11c(%rbp)
mov    -0x40(%rbp),%eax
mov    %eax,-0x118(%rbp)
mov    -0x3c(%rbp),%eax
mov    %eax,-0x114(%rbp)
mov    -0x38(%rbp),%eax
mov    %eax,-0x110(%rbp)
mov    -0x34(%rbp),%eax
mov    %eax,-0x10c(%rbp)
mov    -0x30(%rbp),%eax
mov    %eax,-0x108(%rbp)
mov    -0x2c(%rbp),%eax
mov    %eax,-0x104(%rbp)
mov    -0x178(%rbp),%eax
mov    %eax,-0x100(%rbp)
mov    -0x174(%rbp),%eax
mov    %eax,-0xfc(%rbp)
mov    $0x1,%ebx
jmp    15fa <main+0x4ba>
xchg   %ax,%ax
mov    %r14,%rdi
mov    %ebx,%esi
xor    %eax,%eax
call   1040 <printf@plt>
add    $0x1,%rbx
cmp    $0x1f,%rbx
je     11f0 <main+0xb0>
imul   $0xb6db6db7,-0xf0(%rbp,%rbx,4),%eax
b7 6d db b6
add    $0x12492492,%eax
cmp    $0x24924924,%eax
ja     1619 <main+0x4d9>
cmpl   $0x2,0x4(%r12,%r13,8)
jne    15e0 <main+0x4a0>
imul   $0xb6db6db7,-0x170(%rbp,%rbx,4),%eax
b7 6d db b6
add    $0x12492492,%eax
cmp    $0x24924924,%eax
ja     15ec <main+0x4ac>
cmpl   $0x2,0x4(%r12,%r13,8)
je     15e0 <main+0x4a0>
jmp    15ec <main+0x4ac>
nopw   0x0(%rax,%rax,1)
cmp    $0x7,%edx
jg     1990 <main+0x850>
lea    -0x2(%rdx),%eax
test   $0x1,%dl
jne    1c46 <main+0xb06>
xor    %edi,%edi
cmp    $0x2,%edx
mov    $0xc,%edx
cmove  %edx,%eax
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x198f(%rip),%xmm0
addsd  0x198f(%rip),%xmm0
cvttsd2si %xmm0,%esi
sete   %dil
movslq %ecx,%rax
imul   $0xffffffffae147ae1,%rax,%rdx
mov    %rdx,%rcx
shr    $0x3f,%rcx
shr    $0x20,%rdx
sar    $0x5,%edx
add    %ecx,%edx
sub    %edi,%r8d
mov    %r8d,%ecx
sar    $0x7,%cl
shr    $0x6,%cl
add    %r8b,%cl
sar    $0x2,%cl
movsbl %cl,%ecx
imul   $0x51eb851f,%rax,%rax
mov    %rax,%rdi
shr    $0x3f,%rdi
shr    $0x20,%rax
sar    $0x7,%eax
add    %edi,%eax
add    %esi,%r8d
add    %eax,%r8d
lea    (%r8,%rdx,2),%esi
lea    (%rcx,%rsi,1),%eax
add    $0x1,%eax
mov    %eax,-0x5c(%rbp)
lea    0x2(%rcx,%rsi,1),%eax
mov    %eax,-0x68(%rbp)
lea    0x3(%rcx,%rsi,1),%eax
mov    %eax,-0x64(%rbp)
lea    0x4(%rcx,%rsi,1),%eax
mov    %eax,-0x60(%rbp)
lea    0x5(%rcx,%rsi,1),%eax
mov    %eax,-0x58(%rbp)
lea    0x6(%rcx,%rsi,1),%eax
mov    %eax,-0x54(%rbp)
lea    0x7(%rcx,%rsi,1),%eax
mov    %eax,-0x50(%rbp)
lea    0x8(%rcx,%rsi,1),%eax
mov    %eax,-0x4c(%rbp)
lea    0x9(%rcx,%rsi,1),%eax
mov    %eax,-0x48(%rbp)
lea    0xa(%rcx,%rsi,1),%eax
mov    %eax,-0x44(%rbp)
lea    0xb(%rcx,%rsi,1),%eax
mov    %eax,-0x40(%rbp)
lea    0xc(%rcx,%rsi,1),%eax
mov    %eax,-0x3c(%rbp)
lea    0xd(%rcx,%rsi,1),%eax
mov    %eax,-0x38(%rbp)
lea    0xe(%rcx,%rsi,1),%eax
mov    %eax,-0x34(%rbp)
lea    0xf(%rcx,%rsi,1),%eax
mov    %eax,-0x30(%rbp)
lea    0x10(%rcx,%rsi,1),%eax
mov    %eax,-0x2c(%rbp)
lea    0x11(%rcx,%rsi,1),%r15d
lea    0x12(%rcx,%rsi,1),%r14d
lea    0x13(%rcx,%rsi,1),%ebx
lea    0x14(%rcx,%rsi,1),%r11d
lea    0x15(%rcx,%rsi,1),%r10d
lea    0x16(%rcx,%rsi,1),%r9d
lea    0x17(%rcx,%rsi,1),%r8d
lea    0x18(%rcx,%rsi,1),%edi
lea    (%rcx,%rsi,1),%eax
add    $0x19,%eax
lea    (%rcx,%rsi,1),%edx
add    $0x1a,%edx
add    %ecx,%esi
movd   %esi,%xmm0
mov    -0x5c(%rbp),%ecx
mov    %ecx,-0xec(%rbp)
mov    %ecx,-0x16c(%rbp)
mov    -0x68(%rbp),%ecx
mov    %ecx,-0xe8(%rbp)
mov    %ecx,-0x168(%rbp)
mov    -0x64(%rbp),%ecx
mov    %ecx,-0xe4(%rbp)
mov    %ecx,-0x164(%rbp)
mov    -0x60(%rbp),%ecx
mov    %ecx,-0xe0(%rbp)
mov    %ecx,-0x160(%rbp)
mov    -0x58(%rbp),%ecx
mov    %ecx,-0xdc(%rbp)
mov    %ecx,-0x15c(%rbp)
mov    -0x54(%rbp),%ecx
mov    %ecx,-0xd8(%rbp)
mov    %ecx,-0x158(%rbp)
mov    -0x50(%rbp),%ecx
mov    %ecx,-0xd4(%rbp)
mov    %ecx,-0x154(%rbp)
mov    -0x4c(%rbp),%ecx
mov    %ecx,-0xd0(%rbp)
mov    %ecx,-0x150(%rbp)
mov    -0x48(%rbp),%ecx
mov    %ecx,-0xcc(%rbp)
mov    %ecx,-0x14c(%rbp)
mov    -0x44(%rbp),%ecx
mov    %ecx,-0xc8(%rbp)
mov    %ecx,-0x148(%rbp)
mov    -0x40(%rbp),%ecx
mov    %ecx,-0xc4(%rbp)
mov    %ecx,-0x144(%rbp)
mov    -0x3c(%rbp),%ecx
mov    %ecx,-0xc0(%rbp)
mov    %ecx,-0x140(%rbp)
mov    -0x38(%rbp),%ecx
mov    %ecx,-0xbc(%rbp)
mov    %ecx,-0x13c(%rbp)
mov    -0x34(%rbp),%ecx
mov    %ecx,-0xb8(%rbp)
mov    %ecx,-0x138(%rbp)
mov    -0x30(%rbp),%ecx
mov    %ecx,-0xb4(%rbp)
mov    %ecx,-0x134(%rbp)
mov    -0x2c(%rbp),%ecx
mov    %ecx,-0xb0(%rbp)
mov    %ecx,-0x130(%rbp)
mov    %r15d,-0xac(%rbp)
mov    %r15d,-0x12c(%rbp)
mov    %r14d,-0xa8(%rbp)
mov    %r14d,-0x128(%rbp)
lea    0x1808(%rip),%r14
mov    %ebx,-0xa4(%rbp)
mov    %ebx,-0x124(%rbp)
mov    %r11d,-0xa0(%rbp)
mov    %r11d,-0x120(%rbp)
mov    %r10d,-0x9c(%rbp)
mov    %r10d,-0x11c(%rbp)
mov    %r9d,-0x98(%rbp)
mov    %r9d,-0x118(%rbp)
mov    %r8d,-0x94(%rbp)
mov    %r8d,-0x114(%rbp)
mov    %edi,-0x90(%rbp)
mov    %edi,-0x110(%rbp)
mov    %eax,-0x8c(%rbp)
mov    %eax,-0x10c(%rbp)
mov    %edx,-0x88(%rbp)
pshufd $0x0,%xmm0,%xmm0
paddd  0x1713(%rip),%xmm0
movdqu %xmm0,-0x84(%rbp)
ff
mov    %edx,-0x108(%rbp)
movd   %xmm0,-0x104(%rbp)
ff
pshufd $0x55,%xmm0,%xmm0
movd   %xmm0,-0x100(%rbp)
ff
mov    $0x1,%ebx
jmp    194a <main+0x80a>
nopw   0x0(%rax,%rax,1)
mov    %r14,%rdi
mov    %ebx,%esi
xor    %eax,%eax
call   1040 <printf@plt>
add    $0x1,%rbx
cmp    $0x1f,%rbx
je     11f0 <main+0xb0>
imul   $0xb6db6db7,-0xf0(%rbp,%rbx,4),%eax
b7 6d db b6
add    $0x12492492,%eax
cmp    $0x24924924,%eax
ja     1969 <main+0x829>
cmpl   $0x2,0x4(%r12,%r13,8)
jne    1930 <main+0x7f0>
imul   $0xb6db6db7,-0x170(%rbp,%rbx,4),%eax
b7 6d db b6
add    $0x12492492,%eax
cmp    $0x24924924,%eax
ja     193c <main+0x7fc>
cmpl   $0x2,0x4(%r12,%r13,8)
je     1930 <main+0x7f0>
jmp    193c <main+0x7fc>
nopw   0x0(%rax,%rax,1)
movslq %ecx,%rsi
test   $0x1,%dl
jne    1da6 <main+0xc66>
add    $0xfffffffe,%edx
xorps  %xmm0,%xmm0
cvtsi2sd %edx,%xmm0
mulsd  0x1652(%rip),%xmm0
addsd  0x1652(%rip),%xmm0
cvttsd2si %xmm0,%ecx
imul   $0xffffffffae147ae1,%rsi,%rdx
mov    %rdx,%rax
shr    $0x3f,%rax
sar    $0x25,%rdx
add    %eax,%edx
mov    %r8d,%eax
sar    $0x7,%al
shr    $0x6,%al
add    %r8b,%al
sar    $0x2,%al
movsbl %al,%edi
imul   $0x51eb851f,%rsi,%rax
mov    %rax,%rsi
shr    $0x3f,%rsi
sar    $0x27,%rax
add    %esi,%eax
add    %r8d,%eax
lea    (%rax,%rdx,2),%eax
add    %edi,%eax
lea    (%rax,%rcx,1),%edx
movd   %edx,%xmm0
pshufd $0x0,%xmm0,%xmm0
movdqa %xmm0,%xmm1
paddd  0x160c(%rip),%xmm1
movdqu %xmm1,-0xec(%rbp)
ff
movdqa %xmm0,%xmm2
paddd  0x1608(%rip),%xmm2
movdqu %xmm2,-0xdc(%rbp)
ff
movdqa %xmm0,%xmm2
paddd  0x1604(%rip),%xmm2
movdqu %xmm2,-0xcc(%rbp)
ff
movdqa %xmm0,%xmm2
paddd  0x1600(%rip),%xmm2
movdqu %xmm2,-0xbc(%rbp)
ff
movdqa %xmm0,%xmm2
paddd  0x15fc(%rip),%xmm2
movdqu %xmm2,-0xac(%rbp)
ff
movdqa %xmm0,%xmm2
paddd  0x15f8(%rip),%xmm2
movdqu %xmm2,-0x9c(%rbp)
ff
paddd  0x15f8(%rip),%xmm0
movdqu %xmm0,-0x8c(%rbp)
ff
lea    0x1d(%rcx,%rax,1),%edx
mov    %edx,-0x7c(%rbp)
lea    0x1e(%rcx,%rax,1),%edx
mov    %edx,-0x78(%rbp)
add    %ecx,%eax
add    $0x1f,%eax
mov    %eax,-0x74(%rbp)
movd   %xmm1,%eax
mov    $0x2,%ebx
nop
imul   $0xb6db6db7,%eax,%eax
add    $0x12492492,%eax
cmp    $0x24924924,%eax
ja     1acf <main+0x98f>
lea    -0x1(%rbx),%esi
mov    %r14,%rdi
xor    %eax,%eax
call   1040 <printf@plt>
cmp    $0x20,%rbx
je     11f0 <main+0xb0>
mov    -0xf0(%rbp,%rbx,4),%eax
add    $0x1,%rbx
jmp    1ab0 <main+0x970>
cs nopw 0x0(%rax,%rax,1)
test   $0x1,%dl
jne    2256 <main+0x1116>
add    $0xfffffffe,%edx
xorps  %xmm0,%xmm0
cvtsi2sd %edx,%xmm0
mulsd  0x14f5(%rip),%xmm0
addsd  0x14f5(%rip),%xmm0
cvttsd2si %xmm0,%edx
movslq %ecx,%rax
imul   $0xffffffffae147ae1,%rax,%rcx
mov    %rcx,%rsi
shr    $0x3f,%rsi
sar    $0x25,%rcx
add    %esi,%ecx
mov    %r8d,%ebx
sar    $0x7,%bl
shr    $0x6,%bl
add    %r8b,%bl
sar    $0x2,%bl
movsbl %bl,%esi
imul   $0x51eb851f,%rax,%rax
mov    %rax,%rdi
shr    $0x3f,%rdi
sar    $0x27,%rax
add    %edi,%eax
add    %r8d,%eax
lea    (%rax,%rcx,2),%eax
add    %esi,%eax
lea    (%rax,%rdx,1),%ecx
movd   %ecx,%xmm0
pshufd $0x0,%xmm0,%xmm0
movdqa %xmm0,%xmm1
paddd  0x14ac(%rip),%xmm1
movdqu %xmm1,-0xec(%rbp)
ff
movdqa %xmm0,%xmm2
paddd  0x14a8(%rip),%xmm2
movdqu %xmm2,-0xdc(%rbp)
ff
movdqa %xmm0,%xmm2
paddd  0x14a4(%rip),%xmm2
movdqu %xmm2,-0xcc(%rbp)
ff
movdqa %xmm0,%xmm2
paddd  0x14a0(%rip),%xmm2
movdqu %xmm2,-0xbc(%rbp)
ff
movdqa %xmm0,%xmm2
paddd  0x149c(%rip),%xmm2
movdqu %xmm2,-0xac(%rbp)
ff
movdqa %xmm0,%xmm2
paddd  0x1498(%rip),%xmm2
movdqu %xmm2,-0x9c(%rbp)
ff
paddd  0x1498(%rip),%xmm0
movdqu %xmm0,-0x8c(%rbp)
ff
lea    0x1d(%rdx,%rax,1),%ecx
mov    %ecx,-0x7c(%rbp)
lea    0x1e(%rdx,%rax,1),%ecx
mov    %ecx,-0x78(%rbp)
add    %edx,%eax
add    $0x1f,%eax
mov    %eax,-0x74(%rbp)
movd   %xmm1,%eax
mov    $0x2,%ebx
nop
imul   $0xb6db6db7,%eax,%eax
add    $0x12492492,%eax
cmp    $0x24924924,%eax
ja     1c2f <main+0xaef>
lea    -0x1(%rbx),%esi
mov    %r14,%rdi
xor    %eax,%eax
call   1040 <printf@plt>
cmp    $0x20,%rbx
je     11f0 <main+0xb0>
mov    -0xf0(%rbp,%rbx,4),%eax
add    $0x1,%rbx
jmp    1c10 <main+0xad0>
xor    %esi,%esi
cmp    $0x1,%edx
mov    $0xb,%edx
cmove  %edx,%eax
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x139e(%rip),%xmm0
addsd  0x139e(%rip),%xmm0
cvttsd2si %xmm0,%edx
sete   %sil
movslq %ecx,%rax
imul   $0xffffffffae147ae1,%rax,%rcx
mov    %rcx,%rdi
shr    $0x3f,%rdi
sar    $0x25,%rcx
add    %edi,%ecx
sub    %esi,%r8d
mov    %r8d,%ebx
sar    $0x7,%bl
shr    $0x6,%bl
add    %r8b,%bl
sar    $0x2,%bl
movsbl %bl,%esi
imul   $0x51eb851f,%rax,%rax
mov    %rax,%rdi
shr    $0x3f,%rdi
sar    $0x27,%rax
add    %edi,%eax
lea    (%rax,%rcx,2),%ecx
add    %r8d,%ecx
add    %esi,%ecx
lea    (%rcx,%rdx,1),%eax
movd   %eax,%xmm0
pshufd $0x0,%xmm0,%xmm0
movdqa %xmm0,%xmm1
paddd  0x134e(%rip),%xmm1
movdqu %xmm1,-0xec(%rbp)
ff
movdqa %xmm0,%xmm2
paddd  0x134a(%rip),%xmm2
movdqu %xmm2,-0xdc(%rbp)
ff
movdqa %xmm0,%xmm2
paddd  0x1346(%rip),%xmm2
movdqu %xmm2,-0xcc(%rbp)
ff
movdqa %xmm0,%xmm2
paddd  0x1342(%rip),%xmm2
movdqu %xmm2,-0xbc(%rbp)
ff
movdqa %xmm0,%xmm2
paddd  0x133e(%rip),%xmm2
movdqu %xmm2,-0xac(%rbp)
ff
movdqa %xmm0,%xmm2
paddd  0x133a(%rip),%xmm2
movdqu %xmm2,-0x9c(%rbp)
ff
paddd  0x133a(%rip),%xmm0
movdqu %xmm0,-0x8c(%rbp)
ff
lea    0x1d(%rdx,%rcx,1),%eax
mov    %eax,-0x7c(%rbp)
lea    0x1e(%rdx,%rcx,1),%eax
mov    %eax,-0x78(%rbp)
lea    (%rdx,%rcx,1),%eax
add    $0x1f,%eax
mov    %eax,-0x74(%rbp)
movd   %xmm1,%eax
mov    $0x2,%ebx
xchg   %ax,%ax
imul   $0xb6db6db7,%eax,%eax
add    $0x12492492,%eax
cmp    $0x24924924,%eax
ja     1d8f <main+0xc4f>
lea    -0x1(%rbx),%esi
mov    %r14,%rdi
xor    %eax,%eax
call   1040 <printf@plt>
cmp    $0x20,%rbx
je     11f0 <main+0xb0>
mov    -0xf0(%rbp,%rbx,4),%eax
add    $0x1,%rbx
jmp    1d70 <main+0xc30>
add    $0xfffffffe,%edx
xorps  %xmm0,%xmm0
cvtsi2sd %edx,%xmm0
mulsd  0x1248(%rip),%xmm0
addsd  0x1248(%rip),%xmm0
cvttsd2si %xmm0,%edx
imul   $0xffffffffae147ae1,%rsi,%rdi
mov    %rdi,%rax
shr    $0x3f,%rax
shr    $0x20,%rdi
sar    $0x5,%edi
add    %eax,%edi
mov    %r8d,%eax
sar    $0x7,%al
shr    $0x6,%al
add    %r8b,%al
sar    $0x2,%al
movsbl %al,%ecx
imul   $0x51eb851f,%rsi,%rax
mov    %rax,%rsi
shr    $0x3f,%rsi
shr    $0x20,%rax
sar    $0x7,%eax
add    %esi,%eax
add    %r8d,%edx
add    %eax,%edx
lea    (%rdx,%rdi,2),%esi
lea    (%rcx,%rsi,1),%eax
add    $0x1,%eax
mov    %eax,-0x5c(%rbp)
lea    0x2(%rcx,%rsi,1),%eax
mov    %eax,-0x68(%rbp)
lea    0x3(%rcx,%rsi,1),%eax
mov    %eax,-0x64(%rbp)
lea    0x4(%rcx,%rsi,1),%eax
mov    %eax,-0x60(%rbp)
lea    0x5(%rcx,%rsi,1),%eax
mov    %eax,-0x58(%rbp)
lea    0x6(%rcx,%rsi,1),%eax
mov    %eax,-0x54(%rbp)
lea    0x7(%rcx,%rsi,1),%eax
mov    %eax,-0x50(%rbp)
lea    0x8(%rcx,%rsi,1),%eax
mov    %eax,-0x4c(%rbp)
lea    0x9(%rcx,%rsi,1),%eax
mov    %eax,-0x48(%rbp)
lea    0xa(%rcx,%rsi,1),%eax
mov    %eax,-0x44(%rbp)
lea    0xb(%rcx,%rsi,1),%eax
mov    %eax,-0x40(%rbp)
lea    0xc(%rcx,%rsi,1),%eax
mov    %eax,-0x3c(%rbp)
lea    0xd(%rcx,%rsi,1),%eax
mov    %eax,-0x38(%rbp)
lea    0xe(%rcx,%rsi,1),%eax
mov    %eax,-0x34(%rbp)
lea    0xf(%rcx,%rsi,1),%eax
mov    %eax,-0x30(%rbp)
lea    0x10(%rcx,%rsi,1),%eax
mov    %eax,-0x2c(%rbp)
lea    0x11(%rcx,%rsi,1),%r15d
lea    0x12(%rcx,%rsi,1),%r14d
lea    0x13(%rcx,%rsi,1),%ebx
lea    0x14(%rcx,%rsi,1),%r11d
lea    0x15(%rcx,%rsi,1),%r10d
lea    0x16(%rcx,%rsi,1),%r9d
lea    0x17(%rcx,%rsi,1),%r8d
lea    0x18(%rcx,%rsi,1),%edi
lea    (%rcx,%rsi,1),%eax
add    $0x19,%eax
lea    (%rcx,%rsi,1),%edx
add    $0x1a,%edx
add    %ecx,%esi
movd   %esi,%xmm0
mov    -0x5c(%rbp),%ecx
mov    %ecx,-0xec(%rbp)
mov    %ecx,-0x16c(%rbp)
mov    -0x68(%rbp),%ecx
mov    %ecx,-0xe8(%rbp)
mov    %ecx,-0x168(%rbp)
mov    -0x64(%rbp),%ecx
mov    %ecx,-0xe4(%rbp)
mov    %ecx,-0x164(%rbp)
mov    -0x60(%rbp),%ecx
mov    %ecx,-0xe0(%rbp)
mov    %ecx,-0x160(%rbp)
mov    -0x58(%rbp),%ecx
mov    %ecx,-0xdc(%rbp)
mov    %ecx,-0x15c(%rbp)
mov    -0x54(%rbp),%ecx
mov    %ecx,-0xd8(%rbp)
mov    %ecx,-0x158(%rbp)
mov    -0x50(%rbp),%ecx
mov    %ecx,-0xd4(%rbp)
mov    %ecx,-0x154(%rbp)
mov    -0x4c(%rbp),%ecx
mov    %ecx,-0xd0(%rbp)
mov    %ecx,-0x150(%rbp)
mov    -0x48(%rbp),%ecx
mov    %ecx,-0xcc(%rbp)
mov    %ecx,-0x14c(%rbp)
mov    -0x44(%rbp),%ecx
mov    %ecx,-0xc8(%rbp)
mov    %ecx,-0x148(%rbp)
mov    -0x40(%rbp),%ecx
mov    %ecx,-0xc4(%rbp)
mov    %ecx,-0x144(%rbp)
mov    -0x3c(%rbp),%ecx
mov    %ecx,-0xc0(%rbp)
mov    %ecx,-0x140(%rbp)
mov    -0x38(%rbp),%ecx
mov    %ecx,-0xbc(%rbp)
mov    %ecx,-0x13c(%rbp)
mov    -0x34(%rbp),%ecx
mov    %ecx,-0xb8(%rbp)
mov    %ecx,-0x138(%rbp)
mov    -0x30(%rbp),%ecx
mov    %ecx,-0xb4(%rbp)
mov    %ecx,-0x134(%rbp)
mov    -0x2c(%rbp),%ecx
mov    %ecx,-0xb0(%rbp)
mov    %ecx,-0x130(%rbp)
mov    %r15d,-0xac(%rbp)
mov    %r15d,-0x12c(%rbp)
mov    %r14d,-0xa8(%rbp)
mov    %r14d,-0x128(%rbp)
lea    0x10cd(%rip),%r14
mov    %ebx,-0xa4(%rbp)
mov    %ebx,-0x124(%rbp)
mov    %r11d,-0xa0(%rbp)
mov    %r11d,-0x120(%rbp)
mov    %r10d,-0x9c(%rbp)
mov    %r10d,-0x11c(%rbp)
mov    %r9d,-0x98(%rbp)
mov    %r9d,-0x118(%rbp)
mov    %r8d,-0x94(%rbp)
mov    %r8d,-0x114(%rbp)
mov    %edi,-0x90(%rbp)
mov    %edi,-0x110(%rbp)
mov    %eax,-0x8c(%rbp)
mov    %eax,-0x10c(%rbp)
mov    %edx,-0x88(%rbp)
pshufd $0x0,%xmm0,%xmm0
paddd  0xfd8(%rip),%xmm0
movdqu %xmm0,-0x84(%rbp)
ff
mov    %edx,-0x108(%rbp)
movd   %xmm0,-0x104(%rbp)
ff
pshufd $0x55,%xmm0,%xmm0
movd   %xmm0,-0x100(%rbp)
ff
mov    $0x1,%ebx
jmp    207a <main+0xf3a>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
add    $0x1,%rbx
cmp    $0x1f,%rbx
je     20a7 <main+0xf67>
imul   $0xb6db6db7,-0xf0(%rbp,%rbx,4),%eax
b7 6d db b6
add    $0x12492492,%eax
cmp    $0x24924924,%eax
ja     2070 <main+0xf30>
cmpl   $0x2,0x4(%r12,%r13,8)
je     2070 <main+0xf30>
mov    %r14,%rdi
mov    %ebx,%esi
xor    %eax,%eax
call   1040 <printf@plt>
jmp    2070 <main+0xf30>
mov    $0x1,%ebx
jmp    20be <main+0xf7e>
xchg   %ax,%ax
add    $0x1,%rbx
cmp    $0x1d,%rbx
je     11f0 <main+0xb0>
imul   $0xb6db6db7,-0x170(%rbp,%rbx,4),%eax
b7 6d db b6
add    $0x12492492,%eax
cmp    $0x24924924,%eax
ja     20b0 <main+0xf70>
cmpl   $0x2,0x4(%r12,%r13,8)
jne    20b0 <main+0xf70>
mov    %r14,%rdi
mov    %ebx,%esi
xor    %eax,%eax
call   1040 <printf@plt>
jmp    20b0 <main+0xf70>
xor    %esi,%esi
cmp    $0x1,%edx
mov    $0xb,%edx
cmove  %edx,%eax
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0xef9(%rip),%xmm0
addsd  0xef9(%rip),%xmm0
cvttsd2si %xmm0,%edx
sete   %sil
movslq %ecx,%rax
imul   $0xffffffffae147ae1,%rax,%rcx
mov    %rcx,%rdi
shr    $0x3f,%rdi
sar    $0x25,%rcx
add    %edi,%ecx
sub    %esi,%r8d
mov    %r8d,%ebx
sar    $0x7,%bl
shr    $0x6,%bl
add    %r8b,%bl
sar    $0x2,%bl
movsbl %bl,%esi
imul   $0x51eb851f,%rax,%rax
mov    %rax,%rdi
shr    $0x3f,%rdi
sar    $0x27,%rax
add    %edi,%eax
lea    (%rax,%rcx,2),%ecx
add    %r8d,%ecx
add    %esi,%ecx
lea    (%rcx,%rdx,1),%eax
movd   %eax,%xmm0
pshufd $0x0,%xmm0,%xmm0
movdqa %xmm0,%xmm1
paddd  0xea9(%rip),%xmm1
movdqu %xmm1,-0xec(%rbp)
ff
movdqa %xmm0,%xmm2
paddd  0xea5(%rip),%xmm2
movdqu %xmm2,-0xdc(%rbp)
ff
movdqa %xmm0,%xmm2
paddd  0xea1(%rip),%xmm2
movdqu %xmm2,-0xcc(%rbp)
ff
movdqa %xmm0,%xmm2
paddd  0xe9d(%rip),%xmm2
movdqu %xmm2,-0xbc(%rbp)
ff
movdqa %xmm0,%xmm2
paddd  0xe99(%rip),%xmm2
movdqu %xmm2,-0xac(%rbp)
ff
movdqa %xmm0,%xmm2
paddd  0xe95(%rip),%xmm2
movdqu %xmm2,-0x9c(%rbp)
ff
paddd  0xe95(%rip),%xmm0
movdqu %xmm0,-0x8c(%rbp)
ff
lea    0x1d(%rdx,%rcx,1),%eax
mov    %eax,-0x7c(%rbp)
lea    0x1e(%rdx,%rcx,1),%eax
mov    %eax,-0x78(%rbp)
lea    (%rdx,%rcx,1),%eax
add    $0x1f,%eax
mov    %eax,-0x74(%rbp)
movd   %xmm1,%eax
mov    $0x2,%ebx
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
imul   $0xb6db6db7,%eax,%eax
add    $0x12492492,%eax
cmp    $0x24924924,%eax
ja     223f <main+0x10ff>
lea    -0x1(%rbx),%esi
mov    %r14,%rdi
xor    %eax,%eax
call   1040 <printf@plt>
cmp    $0x20,%rbx
je     11f0 <main+0xb0>
mov    -0xf0(%rbp,%rbx,4),%eax
add    $0x1,%rbx
jmp    2220 <main+0x10e0>
add    $0xfffffffe,%edx
xorps  %xmm0,%xmm0
cvtsi2sd %edx,%xmm0
mulsd  0xd98(%rip),%xmm0
addsd  0xd98(%rip),%xmm0
cvttsd2si %xmm0,%eax
movslq %ecx,%rcx
imul   $0xffffffffae147ae1,%rcx,%rdx
mov    %rdx,%rcx
shr    $0x3f,%rcx
sar    $0x25,%rdx
add    %ecx,%edx
mov    %r8d,%ecx
sar    $0x7,%cl
shr    $0x6,%cl
add    %r8b,%cl
sar    $0x2,%cl
movsbl %cl,%ecx
add    %r8d,%eax
add    %esi,%eax
lea    (%rax,%rdx,2),%esi
lea    (%rcx,%rsi,1),%eax
add    $0x1,%eax
mov    %eax,-0x5c(%rbp)
lea    0x2(%rcx,%rsi,1),%eax
mov    %eax,-0x68(%rbp)
lea    0x3(%rcx,%rsi,1),%eax
mov    %eax,-0x64(%rbp)
lea    0x4(%rcx,%rsi,1),%eax
mov    %eax,-0x60(%rbp)
lea    0x5(%rcx,%rsi,1),%eax
mov    %eax,-0x58(%rbp)
lea    0x6(%rcx,%rsi,1),%eax
mov    %eax,-0x54(%rbp)
lea    0x7(%rcx,%rsi,1),%eax
mov    %eax,-0x50(%rbp)
lea    0x8(%rcx,%rsi,1),%eax
mov    %eax,-0x4c(%rbp)
lea    0x9(%rcx,%rsi,1),%eax
mov    %eax,-0x48(%rbp)
lea    0xa(%rcx,%rsi,1),%eax
mov    %eax,-0x44(%rbp)
lea    0xb(%rcx,%rsi,1),%eax
mov    %eax,-0x40(%rbp)
lea    0xc(%rcx,%rsi,1),%eax
mov    %eax,-0x3c(%rbp)
lea    0xd(%rcx,%rsi,1),%eax
mov    %eax,-0x38(%rbp)
lea    0xe(%rcx,%rsi,1),%eax
mov    %eax,-0x34(%rbp)
lea    0xf(%rcx,%rsi,1),%eax
mov    %eax,-0x30(%rbp)
lea    0x10(%rcx,%rsi,1),%eax
mov    %eax,-0x2c(%rbp)
lea    0x11(%rcx,%rsi,1),%r15d
lea    0x12(%rcx,%rsi,1),%r14d
lea    0x13(%rcx,%rsi,1),%ebx
lea    0x14(%rcx,%rsi,1),%r11d
lea    0x15(%rcx,%rsi,1),%r10d
lea    0x16(%rcx,%rsi,1),%r9d
lea    0x17(%rcx,%rsi,1),%r8d
lea    0x18(%rcx,%rsi,1),%edi
lea    (%rcx,%rsi,1),%eax
add    $0x19,%eax
lea    (%rcx,%rsi,1),%edx
add    $0x1a,%edx
add    %ecx,%esi
movd   %esi,%xmm0
mov    -0x5c(%rbp),%ecx
mov    %ecx,-0xec(%rbp)
mov    %ecx,-0x16c(%rbp)
mov    -0x68(%rbp),%ecx
mov    %ecx,-0xe8(%rbp)
mov    %ecx,-0x168(%rbp)
mov    -0x64(%rbp),%ecx
mov    %ecx,-0xe4(%rbp)
mov    %ecx,-0x164(%rbp)
mov    -0x60(%rbp),%ecx
mov    %ecx,-0xe0(%rbp)
mov    %ecx,-0x160(%rbp)
mov    -0x58(%rbp),%ecx
mov    %ecx,-0xdc(%rbp)
mov    %ecx,-0x15c(%rbp)
mov    -0x54(%rbp),%ecx
mov    %ecx,-0xd8(%rbp)
mov    %ecx,-0x158(%rbp)
mov    -0x50(%rbp),%ecx
mov    %ecx,-0xd4(%rbp)
mov    %ecx,-0x154(%rbp)
mov    -0x4c(%rbp),%ecx
mov    %ecx,-0xd0(%rbp)
mov    %ecx,-0x150(%rbp)
mov    -0x48(%rbp),%ecx
mov    %ecx,-0xcc(%rbp)
mov    %ecx,-0x14c(%rbp)
mov    -0x44(%rbp),%ecx
mov    %ecx,-0xc8(%rbp)
mov    %ecx,-0x148(%rbp)
mov    -0x40(%rbp),%ecx
mov    %ecx,-0xc4(%rbp)
mov    %ecx,-0x144(%rbp)
mov    -0x3c(%rbp),%ecx
mov    %ecx,-0xc0(%rbp)
mov    %ecx,-0x140(%rbp)
mov    -0x38(%rbp),%ecx
mov    %ecx,-0xbc(%rbp)
mov    %ecx,-0x13c(%rbp)
mov    -0x34(%rbp),%ecx
mov    %ecx,-0xb8(%rbp)
mov    %ecx,-0x138(%rbp)
mov    -0x30(%rbp),%ecx
mov    %ecx,-0xb4(%rbp)
mov    %ecx,-0x134(%rbp)
mov    -0x2c(%rbp),%ecx
mov    %ecx,-0xb0(%rbp)
mov    %ecx,-0x130(%rbp)
mov    %r15d,-0xac(%rbp)
mov    %r15d,-0x12c(%rbp)
mov    %r14d,-0xa8(%rbp)
mov    %r14d,-0x128(%rbp)
lea    0xc34(%rip),%r14
mov    %ebx,-0xa4(%rbp)
mov    %ebx,-0x124(%rbp)
mov    %r11d,-0xa0(%rbp)
mov    %r11d,-0x120(%rbp)
mov    %r10d,-0x9c(%rbp)
mov    %r10d,-0x11c(%rbp)
mov    %r9d,-0x98(%rbp)
mov    %r9d,-0x118(%rbp)
mov    %r8d,-0x94(%rbp)
mov    %r8d,-0x114(%rbp)
mov    %edi,-0x90(%rbp)
mov    %edi,-0x110(%rbp)
mov    %eax,-0x8c(%rbp)
mov    %eax,-0x10c(%rbp)
mov    %edx,-0x88(%rbp)
pshufd $0x0,%xmm0,%xmm0
paddd  0xb3f(%rip),%xmm0
movdqu %xmm0,-0x84(%rbp)
ff
mov    %edx,-0x108(%rbp)
movd   %xmm0,-0x104(%rbp)
ff
pshufd $0x55,%xmm0,%xmm0
movd   %xmm0,-0x100(%rbp)
ff
mov    $0x1,%ebx
jmp    250a <main+0x13ca>
nopl   0x0(%rax,%rax,1)
add    $0x1,%rbx
cmp    $0x1f,%rbx
je     2537 <main+0x13f7>
imul   $0xb6db6db7,-0xf0(%rbp,%rbx,4),%eax
b7 6d db b6
add    $0x12492492,%eax
cmp    $0x24924924,%eax
ja     2500 <main+0x13c0>
cmpl   $0x2,0x4(%r12,%r13,8)
je     2500 <main+0x13c0>
mov    %r14,%rdi
mov    %ebx,%esi
xor    %eax,%eax
call   1040 <printf@plt>
jmp    2500 <main+0x13c0>
mov    $0x1,%ebx
jmp    254e <main+0x140e>
xchg   %ax,%ax
add    $0x1,%rbx
cmp    $0x1e,%rbx
je     11f0 <main+0xb0>
imul   $0xb6db6db7,-0x170(%rbp,%rbx,4),%eax
b7 6d db b6
add    $0x12492492,%eax
cmp    $0x24924924,%eax
ja     2540 <main+0x1400>
cmpl   $0x2,0x4(%r12,%r13,8)
jne    2540 <main+0x1400>
mov    %r14,%rdi
mov    %ebx,%esi
xor    %eax,%eax
call   1040 <printf@plt>
jmp    2540 <main+0x1400>
xor    %eax,%eax
call   1060 <getch@plt>
mov    -0x190(%rbp),%rsp
xor    %eax,%eax
lea    -0x28(%rbp),%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
@.str = [3 x i8] c"%d\00"
@.str.1 = [6 x i8] c"%d %d\00"
@.str.2 = [4 x i8] c"%d \00"
@.str.3 = [2 x i8] c"\0A\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca i32
%3 = alloca i32
%4 = alloca i8*
%5 = alloca i64
%6 = alloca [31 x i32]
%7 = alloca i32
%8 = alloca i32
%9 = alloca i32
%10 = alloca i32
%11 = alloca i32
%12 = alloca [30 x i32]
%13 = alloca i32
%14 = alloca [28 x i32]
%15 = alloca i32
%16 = alloca i32
%17 = alloca i32
%18 = alloca i32
%19 = alloca i32
%20 = alloca [31 x i32]
%21 = alloca i32
%22 = alloca i32
%23 = alloca i32
%24 = alloca i32
%25 = alloca i32
%26 = alloca [30 x i32]
%27 = alloca i32
%28 = alloca [28 x i32]
%29 = alloca i32
%30 = alloca i32
%31 = alloca i32
%32 = alloca i32
%33 = alloca [31 x i32]
%34 = alloca i32
%35 = alloca i32
%36 = alloca i32
%37 = alloca i32
%38 = alloca i32
%39 = alloca [30 x i32]
%40 = alloca i32
%41 = alloca [29 x i32]
%42 = alloca i32
%43 = alloca i32
%44 = alloca i32
%45 = alloca i32
%46 = alloca i32
%47 = alloca [31 x i32]
%48 = alloca i32
%49 = alloca i32
%50 = alloca i32
%51 = alloca i32
%52 = alloca i32
%53 = alloca [30 x i32]
%54 = alloca i32
%55 = alloca [29 x i32]
%56 = alloca i32
%57 = alloca i32
%58 = alloca i32
%59 = alloca i32
store i32 0, i32* %1
%60 = call i32 (i8*, ...) @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32* %2)
%61 = load i32, i32* %2
%62 = zext i32 %61 to i64
%63 = call i8* @llvm.stacksave()
store i8* %63, i8** %4
%64 = alloca [2 x i32], i64 %62
store i64 %62, i64* %5
store i32 1, i32* %3
br label %65
65: ; preds = %79, %0
%66 = load i32, i32* %3
%67 = load i32, i32* %2
%68 = icmp sle i32 %66, %67
br i1 %68, label %69, label %82
69: ; preds = %65
%70 = load i32, i32* %3
%71 = sext i32 %70 to i64
%72 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %71
%73 = getelementptr inbounds [2 x i32], [2 x i32]* %72, i64 0, i64 1
%74 = load i32, i32* %3
%75 = sext i32 %74 to i64
%76 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %75
%77 = getelementptr inbounds [2 x i32], [2 x i32]* %76, i64 0, i64 2
%78 = call i32 (i8*, ...) @scanf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1, i64 0, i64 0), i32* %73, i32* %77)
br label %79
79: ; preds = %69
%80 = load i32, i32* %3
%81 = add nsw i32 %80, 1
store i32 %81, i32* %3
br label %65
82: ; preds = %65
store i32 1, i32* %3
br label %83
83: ; preds = %1167, %82
%84 = load i32, i32* %3
%85 = load i32, i32* %2
%86 = icmp sle i32 %84, %85
br i1 %86, label %87, label %1170
87: ; preds = %83
%88 = load i32, i32* %3
%89 = sext i32 %88 to i64
%90 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %89
%91 = getelementptr inbounds [2 x i32], [2 x i32]* %90, i64 0, i64 2
%92 = load i32, i32* %91
%93 = srem i32 %92, 4
%94 = icmp ne i32 %93, 0
br i1 %94, label %95, label %103
95: ; preds = %87
%96 = load i32, i32* %3
%97 = sext i32 %96 to i64
%98 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %97
%99 = getelementptr inbounds [2 x i32], [2 x i32]* %98, i64 0, i64 2
%100 = load i32, i32* %99
%101 = srem i32 %100, 100
%102 = icmp eq i32 %101, 0
br i1 %102, label %111, label %103
103: ; preds = %95, %87
%104 = load i32, i32* %3
%105 = sext i32 %104 to i64
%106 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %105
%107 = getelementptr inbounds [2 x i32], [2 x i32]* %106, i64 0, i64 2
%108 = load i32, i32* %107
%109 = srem i32 %108, 400
%110 = icmp ne i32 %109, 0
br i1 %110, label %111, label %638
111: ; preds = %103, %95
%112 = load i32, i32* %3
%113 = sext i32 %112 to i64
%114 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %113
%115 = getelementptr inbounds [2 x i32], [2 x i32]* %114, i64 0, i64 1
%116 = load i32, i32* %115
%117 = icmp sle i32 %116, 7
br i1 %117, label %118, label %373
118: ; preds = %111
%119 = load i32, i32* %3
%120 = sext i32 %119 to i64
%121 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %120
%122 = getelementptr inbounds [2 x i32], [2 x i32]* %121, i64 0, i64 1
%123 = load i32, i32* %122
%124 = srem i32 %123, 2
%125 = icmp ne i32 %124, 0
br i1 %125, label %126, label %224
126: ; preds = %118
%127 = load i32, i32* %3
%128 = sext i32 %127 to i64
%129 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %128
%130 = getelementptr inbounds [2 x i32], [2 x i32]* %129, i64 0, i64 1
%131 = load i32, i32* %130
%132 = icmp eq i32 %131, 1
br i1 %132, label %133, label %134
133: ; preds = %126
store i32 11, i32* %8
br label %141
134: ; preds = %126
%135 = load i32, i32* %3
%136 = sext i32 %135 to i64
%137 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %136
%138 = getelementptr inbounds [2 x i32], [2 x i32]* %137, i64 0, i64 1
%139 = load i32, i32* %138
%140 = sub nsw i32 %139, 2
store i32 %140, i32* %8
br label %141
141: ; preds = %134, %133
%142 = load i32, i32* %8
%143 = sitofp i32 %142 to double
%144 = call double @llvm.fmuladd.f64(double 2.600000e+00, double %143, double -2.000000e-01)
%145 = fptosi double %144 to i32
store i32 %145, i32* %9
%146 = load i32, i32* %3
%147 = sext i32 %146 to i64
%148 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %147
%149 = getelementptr inbounds [2 x i32], [2 x i32]* %148, i64 0, i64 2
%150 = load i32, i32* %149
%151 = load i32, i32* %3
%152 = sext i32 %151 to i64
%153 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %152
%154 = getelementptr inbounds [2 x i32], [2 x i32]* %153, i64 0, i64 2
%155 = load i32, i32* %154
%156 = srem i32 %155, 100
%157 = sub nsw i32 %150, %156
%158 = sdiv i32 %157, 100
store i32 %158, i32* %10
%159 = load i32, i32* %3
%160 = sext i32 %159 to i64
%161 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %160
%162 = getelementptr inbounds [2 x i32], [2 x i32]* %161, i64 0, i64 1
%163 = load i32, i32* %162
%164 = icmp eq i32 %163, 1
br i1 %164, label %165, label %173
165: ; preds = %141
%166 = load i32, i32* %3
%167 = sext i32 %166 to i64
%168 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %167
%169 = getelementptr inbounds [2 x i32], [2 x i32]* %168, i64 0, i64 2
%170 = load i32, i32* %169
%171 = srem i32 %170, 100
%172 = sub nsw i32 %171, 1
store i32 %172, i32* %11
br label %180
173: ; preds = %141
%174 = load i32, i32* %3
%175 = sext i32 %174 to i64
%176 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %175
%177 = getelementptr inbounds [2 x i32], [2 x i32]* %176, i64 0, i64 2
%178 = load i32, i32* %177
%179 = srem i32 %178, 100
store i32 %179, i32* %11
br label %180
180: ; preds = %173, %165
store i32 1, i32* %7
br label %181
181: ; preds = %202, %180
%182 = load i32, i32* %7
%183 = icmp sle i32 %182, 31
br i1 %183, label %184, label %205
184: ; preds = %181
%185 = load i32, i32* %7
%186 = load i32, i32* %9
%187 = add nsw i32 %185, %186
%188 = load i32, i32* %10
%189 = mul nsw i32 2, %188
%190 = sub nsw i32 %187, %189
%191 = load i32, i32* %11
%192 = add nsw i32 %190, %191
%193 = load i32, i32* %11
%194 = sdiv i32 %193, 4
%195 = add nsw i32 %192, %194
%196 = load i32, i32* %10
%197 = sdiv i32 %196, 4
%198 = add nsw i32 %195, %197
%199 = load i32, i32* %7
%200 = sext i32 %199 to i64
%201 = getelementptr inbounds [31 x i32], [31 x i32]* %6, i64 0, i64 %200
store i32 %198, i32* %201
br label %202
202: ; preds = %184
%203 = load i32, i32* %7
%204 = add nsw i32 %203, 1
store i32 %204, i32* %7
br label %181
205: ; preds = %181
store i32 1, i32* %7
br label %206
206: ; preds = %220, %205
%207 = load i32, i32* %7
%208 = icmp sle i32 %207, 31
br i1 %208, label %209, label %223
209: ; preds = %206
%210 = load i32, i32* %7
%211 = sext i32 %210 to i64
%212 = getelementptr inbounds [31 x i32], [31 x i32]* %6, i64 0, i64 %211
%213 = load i32, i32* %212
%214 = srem i32 %213, 7
%215 = icmp eq i32 %214, 0
br i1 %215, label %216, label %219
216: ; preds = %209
%217 = load i32, i32* %7
%218 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %217)
br label %219
219: ; preds = %216, %209
br label %220
220: ; preds = %219
%221 = load i32, i32* %7
%222 = add nsw i32 %221, 1
store i32 %222, i32* %7
br label %206
223: ; preds = %206
br label %372
224: ; preds = %118
%225 = load i32, i32* %3
%226 = sext i32 %225 to i64
%227 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %226
%228 = getelementptr inbounds [2 x i32], [2 x i32]* %227, i64 0, i64 1
%229 = load i32, i32* %228
%230 = icmp eq i32 %229, 2
br i1 %230, label %231, label %232
231: ; preds = %224
store i32 12, i32* %15
br label %239
232: ; preds = %224
%233 = load i32, i32* %3
%234 = sext i32 %233 to i64
%235 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %234
%236 = getelementptr inbounds [2 x i32], [2 x i32]* %235, i64 0, i64 1
%237 = load i32, i32* %236
%238 = sub nsw i32 %237, 2
store i32 %238, i32* %15
br label %239
239: ; preds = %232, %231
%240 = load i32, i32* %15
%241 = sitofp i32 %240 to double
%242 = call double @llvm.fmuladd.f64(double 2.600000e+00, double %241, double -2.000000e-01)
%243 = fptosi double %242 to i32
store i32 %243, i32* %16
%244 = load i32, i32* %3
%245 = sext i32 %244 to i64
%246 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %245
%247 = getelementptr inbounds [2 x i32], [2 x i32]* %246, i64 0, i64 2
%248 = load i32, i32* %247
%249 = load i32, i32* %3
%250 = sext i32 %249 to i64
%251 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %250
%252 = getelementptr inbounds [2 x i32], [2 x i32]* %251, i64 0, i64 2
%253 = load i32, i32* %252
%254 = srem i32 %253, 100
%255 = sub nsw i32 %248, %254
%256 = sdiv i32 %255, 100
store i32 %256, i32* %17
%257 = load i32, i32* %3
%258 = sext i32 %257 to i64
%259 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %258
%260 = getelementptr inbounds [2 x i32], [2 x i32]* %259, i64 0, i64 1
%261 = load i32, i32* %260
%262 = icmp eq i32 %261, 2
br i1 %262, label %263, label %271
263: ; preds = %239
%264 = load i32, i32* %3
%265 = sext i32 %264 to i64
%266 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %265
%267 = getelementptr inbounds [2 x i32], [2 x i32]* %266, i64 0, i64 2
%268 = load i32, i32* %267
%269 = srem i32 %268, 100
%270 = sub nsw i32 %269, 1
store i32 %270, i32* %18
br label %278
271: ; preds = %239
%272 = load i32, i32* %3
%273 = sext i32 %272 to i64
%274 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %273
%275 = getelementptr inbounds [2 x i32], [2 x i32]* %274, i64 0, i64 2
%276 = load i32, i32* %275
%277 = srem i32 %276, 100
store i32 %277, i32* %18
br label %278
278: ; preds = %271, %263
store i32 1, i32* %13
br label %279
279: ; preds = %300, %278
%280 = load i32, i32* %13
%281 = icmp sle i32 %280, 30
br i1 %281, label %282, label %303
282: ; preds = %279
%283 = load i32, i32* %13
%284 = load i32, i32* %16
%285 = add nsw i32 %283, %284
%286 = load i32, i32* %17
%287 = mul nsw i32 2, %286
%288 = sub nsw i32 %285, %287
%289 = load i32, i32* %18
%290 = add nsw i32 %288, %289
%291 = load i32, i32* %18
%292 = sdiv i32 %291, 4
%293 = add nsw i32 %290, %292
%294 = load i32, i32* %17
%295 = sdiv i32 %294, 4
%296 = add nsw i32 %293, %295
%297 = load i32, i32* %13
%298 = sext i32 %297 to i64
%299 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 %298
store i32 %296, i32* %299
br label %300
300: ; preds = %282
%301 = load i32, i32* %13
%302 = add nsw i32 %301, 1
store i32 %302, i32* %13
br label %279
303: ; preds = %279
store i32 1, i32* %13
br label %304
304: ; preds = %325, %303
%305 = load i32, i32* %13
%306 = icmp sle i32 %305, 28
br i1 %306, label %307, label %328
307: ; preds = %304
%308 = load i32, i32* %13
%309 = load i32, i32* %16
%310 = add nsw i32 %308, %309
%311 = load i32, i32* %17
%312 = mul nsw i32 2, %311
%313 = sub nsw i32 %310, %312
%314 = load i32, i32* %18
%315 = add nsw i32 %313, %314
%316 = load i32, i32* %18
%317 = sdiv i32 %316, 4
%318 = add nsw i32 %315, %317
%319 = load i32, i32* %17
%320 = sdiv i32 %319, 4
%321 = add nsw i32 %318, %320
%322 = load i32, i32* %13
%323 = sext i32 %322 to i64
%324 = getelementptr inbounds [28 x i32], [28 x i32]* %14, i64 0, i64 %323
store i32 %321, i32* %324
br label %325
325: ; preds = %307
%326 = load i32, i32* %13
%327 = add nsw i32 %326, 1
store i32 %327, i32* %13
br label %304
328: ; preds = %304
store i32 1, i32* %13
br label %329
329: ; preds = %368, %328
%330 = load i32, i32* %13
%331 = icmp sle i32 %330, 30
br i1 %331, label %332, label %371
332: ; preds = %329
%333 = load i32, i32* %13
%334 = sext i32 %333 to i64
%335 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 %334
%336 = load i32, i32* %335
%337 = srem i32 %336, 7
%338 = icmp eq i32 %337, 0
br i1 %338, label %339, label %349
339: ; preds = %332
%340 = load i32, i32* %3
%341 = sext i32 %340 to i64
%342 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %341
%343 = getelementptr inbounds [2 x i32], [2 x i32]* %342, i64 0, i64 1
%344 = load i32, i32* %343
%345 = icmp ne i32 %344, 2
br i1 %345, label %346, label %349
346: ; preds = %339
%347 = load i32, i32* %13
%348 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %347)
br label %367
349: ; preds = %339, %332
%350 = load i32, i32* %13
%351 = sext i32 %350 to i64
%352 = getelementptr inbounds [28 x i32], [28 x i32]* %14, i64 0, i64 %351
%353 = load i32, i32* %352
%354 = srem i32 %353, 7
%355 = icmp eq i32 %354, 0
br i1 %355, label %356, label %366
356: ; preds = %349
%357 = load i32, i32* %3
%358 = sext i32 %357 to i64
%359 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %358
%360 = getelementptr inbounds [2 x i32], [2 x i32]* %359, i64 0, i64 1
%361 = load i32, i32* %360
%362 = icmp eq i32 %361, 2
br i1 %362, label %363, label %366
363: ; preds = %356
%364 = load i32, i32* %13
%365 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %364)
br label %366
366: ; preds = %363, %356, %349
br label %367
367: ; preds = %366, %346
br label %368
368: ; preds = %367
%369 = load i32, i32* %13
%370 = add nsw i32 %369, 1
store i32 %370, i32* %13
br label %329
371: ; preds = %329
br label %372
372: ; preds = %371, %223
br label %637
373: ; preds = %111
%374 = load i32, i32* %3
%375 = sext i32 %374 to i64
%376 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %375
%377 = getelementptr inbounds [2 x i32], [2 x i32]* %376, i64 0, i64 1
%378 = load i32, i32* %377
%379 = sub nsw i32 %378, 1
store i32 %379, i32* %19
%380 = load i32, i32* %19
%381 = srem i32 %380, 2
%382 = icmp ne i32 %381, 0
br i1 %382, label %383, label %481
383: ; preds = %373
%384 = load i32, i32* %3
%385 = sext i32 %384 to i64
%386 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %385
%387 = getelementptr inbounds [2 x i32], [2 x i32]* %386, i64 0, i64 1
%388 = load i32, i32* %387
%389 = icmp eq i32 %388, 1
br i1 %389, label %390, label %391
390: ; preds = %383
store i32 11, i32* %22
br label %398
391: ; preds = %383
%392 = load i32, i32* %3
%393 = sext i32 %392 to i64
%394 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %393
%395 = getelementptr inbounds [2 x i32], [2 x i32]* %394, i64 0, i64 1
%396 = load i32, i32* %395
%397 = sub nsw i32 %396, 2
store i32 %397, i32* %22
br label %398
398: ; preds = %391, %390
%399 = load i32, i32* %22
%400 = sitofp i32 %399 to double
%401 = call double @llvm.fmuladd.f64(double 2.600000e+00, double %400, double -2.000000e-01)
%402 = fptosi double %401 to i32
store i32 %402, i32* %23
%403 = load i32, i32* %3
%404 = sext i32 %403 to i64
%405 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %404
%406 = getelementptr inbounds [2 x i32], [2 x i32]* %405, i64 0, i64 2
%407 = load i32, i32* %406
%408 = load i32, i32* %3
%409 = sext i32 %408 to i64
%410 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %409
%411 = getelementptr inbounds [2 x i32], [2 x i32]* %410, i64 0, i64 2
%412 = load i32, i32* %411
%413 = srem i32 %412, 100
%414 = sub nsw i32 %407, %413
%415 = sdiv i32 %414, 100
store i32 %415, i32* %24
%416 = load i32, i32* %3
%417 = sext i32 %416 to i64
%418 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %417
%419 = getelementptr inbounds [2 x i32], [2 x i32]* %418, i64 0, i64 1
%420 = load i32, i32* %419
%421 = icmp eq i32 %420, 1
br i1 %421, label %422, label %430
422: ; preds = %398
%423 = load i32, i32* %3
%424 = sext i32 %423 to i64
%425 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %424
%426 = getelementptr inbounds [2 x i32], [2 x i32]* %425, i64 0, i64 2
%427 = load i32, i32* %426
%428 = srem i32 %427, 100
%429 = sub nsw i32 %428, 1
store i32 %429, i32* %25
br label %437
430: ; preds = %398
%431 = load i32, i32* %3
%432 = sext i32 %431 to i64
%433 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %432
%434 = getelementptr inbounds [2 x i32], [2 x i32]* %433, i64 0, i64 2
%435 = load i32, i32* %434
%436 = srem i32 %435, 100
store i32 %436, i32* %25
br label %437
437: ; preds = %430, %422
store i32 1, i32* %21
br label %438
438: ; preds = %459, %437
%439 = load i32, i32* %21
%440 = icmp sle i32 %439, 31
br i1 %440, label %441, label %462
441: ; preds = %438
%442 = load i32, i32* %21
%443 = load i32, i32* %23
%444 = add nsw i32 %442, %443
%445 = load i32, i32* %24
%446 = mul nsw i32 2, %445
%447 = sub nsw i32 %444, %446
%448 = load i32, i32* %25
%449 = add nsw i32 %447, %448
%450 = load i32, i32* %25
%451 = sdiv i32 %450, 4
%452 = add nsw i32 %449, %451
%453 = load i32, i32* %24
%454 = sdiv i32 %453, 4
%455 = add nsw i32 %452, %454
%456 = load i32, i32* %21
%457 = sext i32 %456 to i64
%458 = getelementptr inbounds [31 x i32], [31 x i32]* %20, i64 0, i64 %457
store i32 %455, i32* %458
br label %459
459: ; preds = %441
%460 = load i32, i32* %21
%461 = add nsw i32 %460, 1
store i32 %461, i32* %21
br label %438
462: ; preds = %438
store i32 1, i32* %21
br label %463
463: ; preds = %477, %462
%464 = load i32, i32* %21
%465 = icmp sle i32 %464, 31
br i1 %465, label %466, label %480
466: ; preds = %463
%467 = load i32, i32* %21
%468 = sext i32 %467 to i64
%469 = getelementptr inbounds [31 x i32], [31 x i32]* %20, i64 0, i64 %468
%470 = load i32, i32* %469
%471 = srem i32 %470, 7
%472 = icmp eq i32 %471, 0
br i1 %472, label %473, label %476
473: ; preds = %466
%474 = load i32, i32* %21
%475 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %474)
br label %476
476: ; preds = %473, %466
br label %477
477: ; preds = %476
%478 = load i32, i32* %21
%479 = add nsw i32 %478, 1
store i32 %479, i32* %21
br label %463
480: ; preds = %463
br label %636
481: ; preds = %373
%482 = load i32, i32* %3
%483 = sext i32 %482 to i64
%484 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %483
%485 = getelementptr inbounds [2 x i32], [2 x i32]* %484, i64 0, i64 1
%486 = load i32, i32* %485
%487 = icmp eq i32 %486, 2
br i1 %487, label %488, label %489
488: ; preds = %481
store i32 12, i32* %29
br label %496
489: ; preds = %481
%490 = load i32, i32* %3
%491 = sext i32 %490 to i64
%492 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %491
%493 = getelementptr inbounds [2 x i32], [2 x i32]* %492, i64 0, i64 1
%494 = load i32, i32* %493
%495 = sub nsw i32 %494, 2
store i32 %495, i32* %29
br label %496
496: ; preds = %489, %488
%497 = load i32, i32* %29
%498 = sitofp i32 %497 to double
%499 = call double @llvm.fmuladd.f64(double 2.600000e+00, double %498, double -2.000000e-01)
%500 = fptosi double %499 to i32
store i32 %500, i32* %30
%501 = load i32, i32* %3
%502 = sext i32 %501 to i64
%503 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %502
%504 = getelementptr inbounds [2 x i32], [2 x i32]* %503, i64 0, i64 2
%505 = load i32, i32* %504
%506 = load i32, i32* %3
%507 = sext i32 %506 to i64
%508 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %507
%509 = getelementptr inbounds [2 x i32], [2 x i32]* %508, i64 0, i64 2
%510 = load i32, i32* %509
%511 = srem i32 %510, 100
%512 = sub nsw i32 %505, %511
%513 = sdiv i32 %512, 100
store i32 %513, i32* %31
%514 = load i32, i32* %3
%515 = sext i32 %514 to i64
%516 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %515
%517 = getelementptr inbounds [2 x i32], [2 x i32]* %516, i64 0, i64 1
%518 = load i32, i32* %517
%519 = icmp eq i32 %518, 2
br i1 %519, label %520, label %528
520: ; preds = %496
%521 = load i32, i32* %3
%522 = sext i32 %521 to i64
%523 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %522
%524 = getelementptr inbounds [2 x i32], [2 x i32]* %523, i64 0, i64 2
%525 = load i32, i32* %524
%526 = srem i32 %525, 100
%527 = sub nsw i32 %526, 1
store i32 %527, i32* %32
br label %535
528: ; preds = %496
%529 = load i32, i32* %3
%530 = sext i32 %529 to i64
%531 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %530
%532 = getelementptr inbounds [2 x i32], [2 x i32]* %531, i64 0, i64 2
%533 = load i32, i32* %532
%534 = srem i32 %533, 100
store i32 %534, i32* %32
br label %535
535: ; preds = %528, %520
store i32 1, i32* %27
br label %536
536: ; preds = %557, %535
%537 = load i32, i32* %27
%538 = icmp sle i32 %537, 30
br i1 %538, label %539, label %560
539: ; preds = %536
%540 = load i32, i32* %27
%541 = load i32, i32* %30
%542 = add nsw i32 %540, %541
%543 = load i32, i32* %31
%544 = mul nsw i32 2, %543
%545 = sub nsw i32 %542, %544
%546 = load i32, i32* %32
%547 = add nsw i32 %545, %546
%548 = load i32, i32* %32
%549 = sdiv i32 %548, 4
%550 = add nsw i32 %547, %549
%551 = load i32, i32* %31
%552 = sdiv i32 %551, 4
%553 = add nsw i32 %550, %552
%554 = load i32, i32* %27
%555 = sext i32 %554 to i64
%556 = getelementptr inbounds [30 x i32], [30 x i32]* %26, i64 0, i64 %555
store i32 %553, i32* %556
br label %557
557: ; preds = %539
%558 = load i32, i32* %27
%559 = add nsw i32 %558, 1
store i32 %559, i32* %27
br label %536
560: ; preds = %536
store i32 1, i32* %27
br label %561
561: ; preds = %582, %560
%562 = load i32, i32* %27
%563 = icmp sle i32 %562, 28
br i1 %563, label %564, label %585
564: ; preds = %561
%565 = load i32, i32* %27
%566 = load i32, i32* %30
%567 = add nsw i32 %565, %566
%568 = load i32, i32* %31
%569 = mul nsw i32 2, %568
%570 = sub nsw i32 %567, %569
%571 = load i32, i32* %32
%572 = add nsw i32 %570, %571
%573 = load i32, i32* %32
%574 = sdiv i32 %573, 4
%575 = add nsw i32 %572, %574
%576 = load i32, i32* %31
%577 = sdiv i32 %576, 4
%578 = add nsw i32 %575, %577
%579 = load i32, i32* %27
%580 = sext i32 %579 to i64
%581 = getelementptr inbounds [28 x i32], [28 x i32]* %28, i64 0, i64 %580
store i32 %578, i32* %581
br label %582
582: ; preds = %564
%583 = load i32, i32* %27
%584 = add nsw i32 %583, 1
store i32 %584, i32* %27
br label %561
585: ; preds = %561
store i32 1, i32* %27
br label %586
586: ; preds = %607, %585
%587 = load i32, i32* %27
%588 = icmp sle i32 %587, 30
br i1 %588, label %589, label %610
589: ; preds = %586
%590 = load i32, i32* %27
%591 = sext i32 %590 to i64
%592 = getelementptr inbounds [30 x i32], [30 x i32]* %26, i64 0, i64 %591
%593 = load i32, i32* %592
%594 = srem i32 %593, 7
%595 = icmp eq i32 %594, 0
br i1 %595, label %596, label %606
596: ; preds = %589
%597 = load i32, i32* %3
%598 = sext i32 %597 to i64
%599 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %598
%600 = getelementptr inbounds [2 x i32], [2 x i32]* %599, i64 0, i64 1
%601 = load i32, i32* %600
%602 = icmp ne i32 %601, 2
br i1 %602, label %603, label %606
603: ; preds = %596
%604 = load i32, i32* %27
%605 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %604)
br label %606
606: ; preds = %603, %596, %589
br label %607
607: ; preds = %606
%608 = load i32, i32* %27
%609 = add nsw i32 %608, 1
store i32 %609, i32* %27
br label %586
610: ; preds = %586
store i32 1, i32* %27
br label %611
611: ; preds = %632, %610
%612 = load i32, i32* %27
%613 = icmp sle i32 %612, 28
br i1 %613, label %614, label %635
614: ; preds = %611
%615 = load i32, i32* %27
%616 = sext i32 %615 to i64
%617 = getelementptr inbounds [28 x i32], [28 x i32]* %28, i64 0, i64 %616
%618 = load i32, i32* %617
%619 = srem i32 %618, 7
%620 = icmp eq i32 %619, 0
br i1 %620, label %621, label %631
621: ; preds = %614
%622 = load i32, i32* %3
%623 = sext i32 %622 to i64
%624 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %623
%625 = getelementptr inbounds [2 x i32], [2 x i32]* %624, i64 0, i64 1
%626 = load i32, i32* %625
%627 = icmp eq i32 %626, 2
br i1 %627, label %628, label %631
628: ; preds = %621
%629 = load i32, i32* %27
%630 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %629)
br label %631
631: ; preds = %628, %621, %614
br label %632
632: ; preds = %631
%633 = load i32, i32* %27
%634 = add nsw i32 %633, 1
store i32 %634, i32* %27
br label %611
635: ; preds = %611
br label %636
636: ; preds = %635, %480
br label %637
637: ; preds = %636, %372
br label %1165
638: ; preds = %103
%639 = load i32, i32* %3
%640 = sext i32 %639 to i64
%641 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %640
%642 = getelementptr inbounds [2 x i32], [2 x i32]* %641, i64 0, i64 1
%643 = load i32, i32* %642
%644 = icmp sle i32 %643, 7
br i1 %644, label %645, label %900
645: ; preds = %638
%646 = load i32, i32* %3
%647 = sext i32 %646 to i64
%648 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %647
%649 = getelementptr inbounds [2 x i32], [2 x i32]* %648, i64 0, i64 1
%650 = load i32, i32* %649
%651 = srem i32 %650, 2
%652 = icmp ne i32 %651, 0
br i1 %652, label %653, label %751
653: ; preds = %645
%654 = load i32, i32* %3
%655 = sext i32 %654 to i64
%656 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %655
%657 = getelementptr inbounds [2 x i32], [2 x i32]* %656, i64 0, i64 1
%658 = load i32, i32* %657
%659 = icmp eq i32 %658, 1
br i1 %659, label %660, label %661
660: ; preds = %653
store i32 11, i32* %35
br label %668
661: ; preds = %653
%662 = load i32, i32* %3
%663 = sext i32 %662 to i64
%664 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %663
%665 = getelementptr inbounds [2 x i32], [2 x i32]* %664, i64 0, i64 1
%666 = load i32, i32* %665
%667 = sub nsw i32 %666, 2
store i32 %667, i32* %35
br label %668
668: ; preds = %661, %660
%669 = load i32, i32* %35
%670 = sitofp i32 %669 to double
%671 = call double @llvm.fmuladd.f64(double 2.600000e+00, double %670, double -2.000000e-01)
%672 = fptosi double %671 to i32
store i32 %672, i32* %36
%673 = load i32, i32* %3
%674 = sext i32 %673 to i64
%675 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %674
%676 = getelementptr inbounds [2 x i32], [2 x i32]* %675, i64 0, i64 2
%677 = load i32, i32* %676
%678 = load i32, i32* %3
%679 = sext i32 %678 to i64
%680 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %679
%681 = getelementptr inbounds [2 x i32], [2 x i32]* %680, i64 0, i64 2
%682 = load i32, i32* %681
%683 = srem i32 %682, 100
%684 = sub nsw i32 %677, %683
%685 = sdiv i32 %684, 100
store i32 %685, i32* %37
%686 = load i32, i32* %3
%687 = sext i32 %686 to i64
%688 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %687
%689 = getelementptr inbounds [2 x i32], [2 x i32]* %688, i64 0, i64 1
%690 = load i32, i32* %689
%691 = icmp eq i32 %690, 1
br i1 %691, label %692, label %700
692: ; preds = %668
%693 = load i32, i32* %3
%694 = sext i32 %693 to i64
%695 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %694
%696 = getelementptr inbounds [2 x i32], [2 x i32]* %695, i64 0, i64 2
%697 = load i32, i32* %696
%698 = srem i32 %697, 100
%699 = sub nsw i32 %698, 1
store i32 %699, i32* %38
br label %707
700: ; preds = %668
%701 = load i32, i32* %3
%702 = sext i32 %701 to i64
%703 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %702
%704 = getelementptr inbounds [2 x i32], [2 x i32]* %703, i64 0, i64 2
%705 = load i32, i32* %704
%706 = srem i32 %705, 100
store i32 %706, i32* %38
br label %707
707: ; preds = %700, %692
store i32 1, i32* %34
br label %708
708: ; preds = %729, %707
%709 = load i32, i32* %34
%710 = icmp sle i32 %709, 31
br i1 %710, label %711, label %732
711: ; preds = %708
%712 = load i32, i32* %34
%713 = load i32, i32* %36
%714 = add nsw i32 %712, %713
%715 = load i32, i32* %37
%716 = mul nsw i32 2, %715
%717 = sub nsw i32 %714, %716
%718 = load i32, i32* %38
%719 = add nsw i32 %717, %718
%720 = load i32, i32* %38
%721 = sdiv i32 %720, 4
%722 = add nsw i32 %719, %721
%723 = load i32, i32* %37
%724 = sdiv i32 %723, 4
%725 = add nsw i32 %722, %724
%726 = load i32, i32* %34
%727 = sext i32 %726 to i64
%728 = getelementptr inbounds [31 x i32], [31 x i32]* %33, i64 0, i64 %727
store i32 %725, i32* %728
br label %729
729: ; preds = %711
%730 = load i32, i32* %34
%731 = add nsw i32 %730, 1
store i32 %731, i32* %34
br label %708
732: ; preds = %708
store i32 1, i32* %34
br label %733
733: ; preds = %747, %732
%734 = load i32, i32* %34
%735 = icmp sle i32 %734, 31
br i1 %735, label %736, label %750
736: ; preds = %733
%737 = load i32, i32* %34
%738 = sext i32 %737 to i64
%739 = getelementptr inbounds [31 x i32], [31 x i32]* %33, i64 0, i64 %738
%740 = load i32, i32* %739
%741 = srem i32 %740, 7
%742 = icmp eq i32 %741, 0
br i1 %742, label %743, label %746
743: ; preds = %736
%744 = load i32, i32* %34
%745 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %744)
br label %746
746: ; preds = %743, %736
br label %747
747: ; preds = %746
%748 = load i32, i32* %34
%749 = add nsw i32 %748, 1
store i32 %749, i32* %34
br label %733
750: ; preds = %733
br label %899
751: ; preds = %645
%752 = load i32, i32* %3
%753 = sext i32 %752 to i64
%754 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %753
%755 = getelementptr inbounds [2 x i32], [2 x i32]* %754, i64 0, i64 1
%756 = load i32, i32* %755
%757 = icmp eq i32 %756, 2
br i1 %757, label %758, label %759
758: ; preds = %751
store i32 12, i32* %42
br label %766
759: ; preds = %751
%760 = load i32, i32* %3
%761 = sext i32 %760 to i64
%762 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %761
%763 = getelementptr inbounds [2 x i32], [2 x i32]* %762, i64 0, i64 1
%764 = load i32, i32* %763
%765 = sub nsw i32 %764, 2
store i32 %765, i32* %42
br label %766
766: ; preds = %759, %758
%767 = load i32, i32* %42
%768 = sitofp i32 %767 to double
%769 = call double @llvm.fmuladd.f64(double 2.600000e+00, double %768, double -2.000000e-01)
%770 = fptosi double %769 to i32
store i32 %770, i32* %43
%771 = load i32, i32* %3
%772 = sext i32 %771 to i64
%773 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %772
%774 = getelementptr inbounds [2 x i32], [2 x i32]* %773, i64 0, i64 2
%775 = load i32, i32* %774
%776 = load i32, i32* %3
%777 = sext i32 %776 to i64
%778 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %777
%779 = getelementptr inbounds [2 x i32], [2 x i32]* %778, i64 0, i64 2
%780 = load i32, i32* %779
%781 = srem i32 %780, 100
%782 = sub nsw i32 %775, %781
%783 = sdiv i32 %782, 100
store i32 %783, i32* %44
%784 = load i32, i32* %3
%785 = sext i32 %784 to i64
%786 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %785
%787 = getelementptr inbounds [2 x i32], [2 x i32]* %786, i64 0, i64 1
%788 = load i32, i32* %787
%789 = icmp eq i32 %788, 2
br i1 %789, label %790, label %798
790: ; preds = %766
%791 = load i32, i32* %3
%792 = sext i32 %791 to i64
%793 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %792
%794 = getelementptr inbounds [2 x i32], [2 x i32]* %793, i64 0, i64 2
%795 = load i32, i32* %794
%796 = srem i32 %795, 100
%797 = sub nsw i32 %796, 1
store i32 %797, i32* %45
br label %805
798: ; preds = %766
%799 = load i32, i32* %3
%800 = sext i32 %799 to i64
%801 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %800
%802 = getelementptr inbounds [2 x i32], [2 x i32]* %801, i64 0, i64 2
%803 = load i32, i32* %802
%804 = srem i32 %803, 100
store i32 %804, i32* %45
br label %805
805: ; preds = %798, %790
store i32 1, i32* %40
br label %806
806: ; preds = %827, %805
%807 = load i32, i32* %40
%808 = icmp sle i32 %807, 30
br i1 %808, label %809, label %830
809: ; preds = %806
%810 = load i32, i32* %40
%811 = load i32, i32* %43
%812 = add nsw i32 %810, %811
%813 = load i32, i32* %44
%814 = mul nsw i32 2, %813
%815 = sub nsw i32 %812, %814
%816 = load i32, i32* %45
%817 = add nsw i32 %815, %816
%818 = load i32, i32* %45
%819 = sdiv i32 %818, 4
%820 = add nsw i32 %817, %819
%821 = load i32, i32* %44
%822 = sdiv i32 %821, 4
%823 = add nsw i32 %820, %822
%824 = load i32, i32* %40
%825 = sext i32 %824 to i64
%826 = getelementptr inbounds [30 x i32], [30 x i32]* %39, i64 0, i64 %825
store i32 %823, i32* %826
br label %827
827: ; preds = %809
%828 = load i32, i32* %40
%829 = add nsw i32 %828, 1
store i32 %829, i32* %40
br label %806
830: ; preds = %806
store i32 1, i32* %40
br label %831
831: ; preds = %852, %830
%832 = load i32, i32* %40
%833 = icmp sle i32 %832, 29
br i1 %833, label %834, label %855
834: ; preds = %831
%835 = load i32, i32* %40
%836 = load i32, i32* %43
%837 = add nsw i32 %835, %836
%838 = load i32, i32* %44
%839 = mul nsw i32 2, %838
%840 = sub nsw i32 %837, %839
%841 = load i32, i32* %45
%842 = add nsw i32 %840, %841
%843 = load i32, i32* %45
%844 = sdiv i32 %843, 4
%845 = add nsw i32 %842, %844
%846 = load i32, i32* %44
%847 = sdiv i32 %846, 4
%848 = add nsw i32 %845, %847
%849 = load i32, i32* %40
%850 = sext i32 %849 to i64
%851 = getelementptr inbounds [29 x i32], [29 x i32]* %41, i64 0, i64 %850
store i32 %848, i32* %851
br label %852
852: ; preds = %834
%853 = load i32, i32* %40
%854 = add nsw i32 %853, 1
store i32 %854, i32* %40
br label %831
855: ; preds = %831
store i32 1, i32* %40
br label %856
856: ; preds = %895, %855
%857 = load i32, i32* %40
%858 = icmp sle i32 %857, 30
br i1 %858, label %859, label %898
859: ; preds = %856
%860 = load i32, i32* %40
%861 = sext i32 %860 to i64
%862 = getelementptr inbounds [30 x i32], [30 x i32]* %39, i64 0, i64 %861
%863 = load i32, i32* %862
%864 = srem i32 %863, 7
%865 = icmp eq i32 %864, 0
br i1 %865, label %866, label %876
866: ; preds = %859
%867 = load i32, i32* %3
%868 = sext i32 %867 to i64
%869 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %868
%870 = getelementptr inbounds [2 x i32], [2 x i32]* %869, i64 0, i64 1
%871 = load i32, i32* %870
%872 = icmp ne i32 %871, 2
br i1 %872, label %873, label %876
873: ; preds = %866
%874 = load i32, i32* %40
%875 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %874)
br label %894
876: ; preds = %866, %859
%877 = load i32, i32* %40
%878 = sext i32 %877 to i64
%879 = getelementptr inbounds [29 x i32], [29 x i32]* %41, i64 0, i64 %878
%880 = load i32, i32* %879
%881 = srem i32 %880, 7
%882 = icmp eq i32 %881, 0
br i1 %882, label %883, label %893
883: ; preds = %876
%884 = load i32, i32* %3
%885 = sext i32 %884 to i64
%886 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %885
%887 = getelementptr inbounds [2 x i32], [2 x i32]* %886, i64 0, i64 1
%888 = load i32, i32* %887
%889 = icmp eq i32 %888, 2
br i1 %889, label %890, label %893
890: ; preds = %883
%891 = load i32, i32* %40
%892 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %891)
br label %893
893: ; preds = %890, %883, %876
br label %894
894: ; preds = %893, %873
br label %895
895: ; preds = %894
%896 = load i32, i32* %40
%897 = add nsw i32 %896, 1
store i32 %897, i32* %40
br label %856
898: ; preds = %856
br label %899
899: ; preds = %898, %750
br label %1164
900: ; preds = %638
%901 = load i32, i32* %3
%902 = sext i32 %901 to i64
%903 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %902
%904 = getelementptr inbounds [2 x i32], [2 x i32]* %903, i64 0, i64 1
%905 = load i32, i32* %904
%906 = sub nsw i32 %905, 1
store i32 %906, i32* %46
%907 = load i32, i32* %46
%908 = srem i32 %907, 2
%909 = icmp ne i32 %908, 0
br i1 %909, label %910, label %1008
910: ; preds = %900
%911 = load i32, i32* %3
%912 = sext i32 %911 to i64
%913 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %912
%914 = getelementptr inbounds [2 x i32], [2 x i32]* %913, i64 0, i64 1
%915 = load i32, i32* %914
%916 = icmp eq i32 %915, 1
br i1 %916, label %917, label %918
917: ; preds = %910
store i32 11, i32* %49
br label %925
918: ; preds = %910
%919 = load i32, i32* %3
%920 = sext i32 %919 to i64
%921 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %920
%922 = getelementptr inbounds [2 x i32], [2 x i32]* %921, i64 0, i64 1
%923 = load i32, i32* %922
%924 = sub nsw i32 %923, 2
store i32 %924, i32* %49
br label %925
925: ; preds = %918, %917
%926 = load i32, i32* %49
%927 = sitofp i32 %926 to double
%928 = call double @llvm.fmuladd.f64(double 2.600000e+00, double %927, double -2.000000e-01)
%929 = fptosi double %928 to i32
store i32 %929, i32* %50
%930 = load i32, i32* %3
%931 = sext i32 %930 to i64
%932 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %931
%933 = getelementptr inbounds [2 x i32], [2 x i32]* %932, i64 0, i64 2
%934 = load i32, i32* %933
%935 = load i32, i32* %3
%936 = sext i32 %935 to i64
%937 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %936
%938 = getelementptr inbounds [2 x i32], [2 x i32]* %937, i64 0, i64 2
%939 = load i32, i32* %938
%940 = srem i32 %939, 100
%941 = sub nsw i32 %934, %940
%942 = sdiv i32 %941, 100
store i32 %942, i32* %51
%943 = load i32, i32* %3
%944 = sext i32 %943 to i64
%945 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %944
%946 = getelementptr inbounds [2 x i32], [2 x i32]* %945, i64 0, i64 1
%947 = load i32, i32* %946
%948 = icmp eq i32 %947, 1
br i1 %948, label %949, label %957
949: ; preds = %925
%950 = load i32, i32* %3
%951 = sext i32 %950 to i64
%952 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %951
%953 = getelementptr inbounds [2 x i32], [2 x i32]* %952, i64 0, i64 2
%954 = load i32, i32* %953
%955 = srem i32 %954, 100
%956 = sub nsw i32 %955, 1
store i32 %956, i32* %52
br label %964
957: ; preds = %925
%958 = load i32, i32* %3
%959 = sext i32 %958 to i64
%960 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %959
%961 = getelementptr inbounds [2 x i32], [2 x i32]* %960, i64 0, i64 2
%962 = load i32, i32* %961
%963 = srem i32 %962, 100
store i32 %963, i32* %52
br label %964
964: ; preds = %957, %949
store i32 1, i32* %48
br label %965
965: ; preds = %986, %964
%966 = load i32, i32* %48
%967 = icmp sle i32 %966, 31
br i1 %967, label %968, label %989
968: ; preds = %965
%969 = load i32, i32* %48
%970 = load i32, i32* %50
%971 = add nsw i32 %969, %970
%972 = load i32, i32* %51
%973 = mul nsw i32 2, %972
%974 = sub nsw i32 %971, %973
%975 = load i32, i32* %52
%976 = add nsw i32 %974, %975
%977 = load i32, i32* %52
%978 = sdiv i32 %977, 4
%979 = add nsw i32 %976, %978
%980 = load i32, i32* %51
%981 = sdiv i32 %980, 4
%982 = add nsw i32 %979, %981
%983 = load i32, i32* %48
%984 = sext i32 %983 to i64
%985 = getelementptr inbounds [31 x i32], [31 x i32]* %47, i64 0, i64 %984
store i32 %982, i32* %985
br label %986
986: ; preds = %968
%987 = load i32, i32* %48
%988 = add nsw i32 %987, 1
store i32 %988, i32* %48
br label %965
989: ; preds = %965
store i32 1, i32* %48
br label %990
990: ; preds = %1004, %989
%991 = load i32, i32* %48
%992 = icmp sle i32 %991, 31
br i1 %992, label %993, label %1007
993: ; preds = %990
%994 = load i32, i32* %48
%995 = sext i32 %994 to i64
%996 = getelementptr inbounds [31 x i32], [31 x i32]* %47, i64 0, i64 %995
%997 = load i32, i32* %996
%998 = srem i32 %997, 7
%999 = icmp eq i32 %998, 0
br i1 %999, label %1000, label %1003
1000: ; preds = %993
%1001 = load i32, i32* %48
%1002 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %1001)
br label %1003
1003: ; preds = %1000, %993
br label %1004
1004: ; preds = %1003
%1005 = load i32, i32* %48
%1006 = add nsw i32 %1005, 1
store i32 %1006, i32* %48
br label %990
1007: ; preds = %990
br label %1163
1008: ; preds = %900
%1009 = load i32, i32* %3
%1010 = sext i32 %1009 to i64
%1011 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %1010
%1012 = getelementptr inbounds [2 x i32], [2 x i32]* %1011, i64 0, i64 1
%1013 = load i32, i32* %1012
%1014 = icmp eq i32 %1013, 2
br i1 %1014, label %1015, label %1016
1015: ; preds = %1008
store i32 12, i32* %56
br label %1023
1016: ; preds = %1008
%1017 = load i32, i32* %3
%1018 = sext i32 %1017 to i64
%1019 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %1018
%1020 = getelementptr inbounds [2 x i32], [2 x i32]* %1019, i64 0, i64 1
%1021 = load i32, i32* %1020
%1022 = sub nsw i32 %1021, 2
store i32 %1022, i32* %56
br label %1023
1023: ; preds = %1016, %1015
%1024 = load i32, i32* %56
%1025 = sitofp i32 %1024 to double
%1026 = call double @llvm.fmuladd.f64(double 2.600000e+00, double %1025, double -2.000000e-01)
%1027 = fptosi double %1026 to i32
store i32 %1027, i32* %57
%1028 = load i32, i32* %3
%1029 = sext i32 %1028 to i64
%1030 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %1029
%1031 = getelementptr inbounds [2 x i32], [2 x i32]* %1030, i64 0, i64 2
%1032 = load i32, i32* %1031
%1033 = load i32, i32* %3
%1034 = sext i32 %1033 to i64
%1035 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %1034
%1036 = getelementptr inbounds [2 x i32], [2 x i32]* %1035, i64 0, i64 2
%1037 = load i32, i32* %1036
%1038 = srem i32 %1037, 100
%1039 = sub nsw i32 %1032, %1038
%1040 = sdiv i32 %1039, 100
store i32 %1040, i32* %58
%1041 = load i32, i32* %3
%1042 = sext i32 %1041 to i64
%1043 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %1042
%1044 = getelementptr inbounds [2 x i32], [2 x i32]* %1043, i64 0, i64 1
%1045 = load i32, i32* %1044
%1046 = icmp eq i32 %1045, 2
br i1 %1046, label %1047, label %1055
1047: ; preds = %1023
%1048 = load i32, i32* %3
%1049 = sext i32 %1048 to i64
%1050 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %1049
%1051 = getelementptr inbounds [2 x i32], [2 x i32]* %1050, i64 0, i64 2
%1052 = load i32, i32* %1051
%1053 = srem i32 %1052, 100
%1054 = sub nsw i32 %1053, 1
store i32 %1054, i32* %59
br label %1062
1055: ; preds = %1023
%1056 = load i32, i32* %3
%1057 = sext i32 %1056 to i64
%1058 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %1057
%1059 = getelementptr inbounds [2 x i32], [2 x i32]* %1058, i64 0, i64 2
%1060 = load i32, i32* %1059
%1061 = srem i32 %1060, 100
store i32 %1061, i32* %59
br label %1062
1062: ; preds = %1055, %1047
store i32 1, i32* %54
br label %1063
1063: ; preds = %1084, %1062
%1064 = load i32, i32* %54
%1065 = icmp sle i32 %1064, 30
br i1 %1065, label %1066, label %1087
1066: ; preds = %1063
%1067 = load i32, i32* %54
%1068 = load i32, i32* %57
%1069 = add nsw i32 %1067, %1068
%1070 = load i32, i32* %58
%1071 = mul nsw i32 2, %1070
%1072 = sub nsw i32 %1069, %1071
%1073 = load i32, i32* %59
%1074 = add nsw i32 %1072, %1073
%1075 = load i32, i32* %59
%1076 = sdiv i32 %1075, 4
%1077 = add nsw i32 %1074, %1076
%1078 = load i32, i32* %58
%1079 = sdiv i32 %1078, 4
%1080 = add nsw i32 %1077, %1079
%1081 = load i32, i32* %54
%1082 = sext i32 %1081 to i64
%1083 = getelementptr inbounds [30 x i32], [30 x i32]* %53, i64 0, i64 %1082
store i32 %1080, i32* %1083
br label %1084
1084: ; preds = %1066
%1085 = load i32, i32* %54
%1086 = add nsw i32 %1085, 1
store i32 %1086, i32* %54
br label %1063
1087: ; preds = %1063
store i32 1, i32* %54
br label %1088
1088: ; preds = %1109, %1087
%1089 = load i32, i32* %54
%1090 = icmp sle i32 %1089, 28
br i1 %1090, label %1091, label %1112
1091: ; preds = %1088
%1092 = load i32, i32* %54
%1093 = load i32, i32* %57
%1094 = add nsw i32 %1092, %1093
%1095 = load i32, i32* %58
%1096 = mul nsw i32 2, %1095
%1097 = sub nsw i32 %1094, %1096
%1098 = load i32, i32* %59
%1099 = add nsw i32 %1097, %1098
%1100 = load i32, i32* %59
%1101 = sdiv i32 %1100, 4
%1102 = add nsw i32 %1099, %1101
%1103 = load i32, i32* %58
%1104 = sdiv i32 %1103, 4
%1105 = add nsw i32 %1102, %1104
%1106 = load i32, i32* %54
%1107 = sext i32 %1106 to i64
%1108 = getelementptr inbounds [29 x i32], [29 x i32]* %55, i64 0, i64 %1107
store i32 %1105, i32* %1108
br label %1109
1109: ; preds = %1091
%1110 = load i32, i32* %54
%1111 = add nsw i32 %1110, 1
store i32 %1111, i32* %54
br label %1088
1112: ; preds = %1088
store i32 1, i32* %54
br label %1113
1113: ; preds = %1134, %1112
%1114 = load i32, i32* %54
%1115 = icmp sle i32 %1114, 30
br i1 %1115, label %1116, label %1137
1116: ; preds = %1113
%1117 = load i32, i32* %54
%1118 = sext i32 %1117 to i64
%1119 = getelementptr inbounds [30 x i32], [30 x i32]* %53, i64 0, i64 %1118
%1120 = load i32, i32* %1119
%1121 = srem i32 %1120, 7
%1122 = icmp eq i32 %1121, 0
br i1 %1122, label %1123, label %1133
1123: ; preds = %1116
%1124 = load i32, i32* %3
%1125 = sext i32 %1124 to i64
%1126 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %1125
%1127 = getelementptr inbounds [2 x i32], [2 x i32]* %1126, i64 0, i64 1
%1128 = load i32, i32* %1127
%1129 = icmp ne i32 %1128, 2
br i1 %1129, label %1130, label %1133
1130: ; preds = %1123
%1131 = load i32, i32* %54
%1132 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %1131)
br label %1133
1133: ; preds = %1130, %1123, %1116
br label %1134
1134: ; preds = %1133
%1135 = load i32, i32* %54
%1136 = add nsw i32 %1135, 1
store i32 %1136, i32* %54
br label %1113
1137: ; preds = %1113
store i32 1, i32* %54
br label %1138
1138: ; preds = %1159, %1137
%1139 = load i32, i32* %54
%1140 = icmp sle i32 %1139, 29
br i1 %1140, label %1141, label %1162
1141: ; preds = %1138
%1142 = load i32, i32* %54
%1143 = sext i32 %1142 to i64
%1144 = getelementptr inbounds [29 x i32], [29 x i32]* %55, i64 0, i64 %1143
%1145 = load i32, i32* %1144
%1146 = srem i32 %1145, 7
%1147 = icmp eq i32 %1146, 0
br i1 %1147, label %1148, label %1158
1148: ; preds = %1141
%1149 = load i32, i32* %3
%1150 = sext i32 %1149 to i64
%1151 = getelementptr inbounds [2 x i32], [2 x i32]* %64, i64 %1150
%1152 = getelementptr inbounds [2 x i32], [2 x i32]* %1151, i64 0, i64 1
%1153 = load i32, i32* %1152
%1154 = icmp eq i32 %1153, 2
br i1 %1154, label %1155, label %1158
1155: ; preds = %1148
%1156 = load i32, i32* %54
%1157 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %1156)
br label %1158
1158: ; preds = %1155, %1148, %1141
br label %1159
1159: ; preds = %1158
%1160 = load i32, i32* %54
%1161 = add nsw i32 %1160, 1
store i32 %1161, i32* %54
br label %1138
1162: ; preds = %1138
br label %1163
1163: ; preds = %1162, %1007
br label %1164
1164: ; preds = %1163, %899
br label %1165
1165: ; preds = %1164, %637
%1166 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0))
br label %1167
1167: ; preds = %1165
%1168 = load i32, i32* %3
%1169 = add nsw i32 %1168, 1
store i32 %1169, i32* %3
br label %83
1170: ; preds = %83
%1171 = call i32 (...) @getch()
%1172 = load i8*, i8** %4
%1173 = load i32, i32* %1
ret i32 %1173
}

LLVM IR (-O2):
@.str = [3 x i8] c"%d\00"
@.str.1 = [6 x i8] c"%d %d\00"
@.str.2 = [4 x i8] c"%d \00"
define i32 @main() {
%1 = alloca i32
%2 = alloca [31 x i32]
%3 = alloca [30 x i32]
%4 = alloca [28 x i32]
%5 = alloca [31 x i32]
%6 = alloca [30 x i32]
%7 = alloca [28 x i32]
%8 = alloca [31 x i32]
%9 = alloca [30 x i32]
%10 = alloca [29 x i32]
%11 = alloca [31 x i32]
%12 = alloca [30 x i32]
%13 = alloca [29 x i32]
%14 = bitcast i32* %1 to i8*
%15 = call i32 (i8*, ...) @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32* %1)
%16 = load i32, i32* %1
%17 = zext i32 %16 to i64
%18 = call i8* @llvm.stacksave()
%19 = alloca [2 x i32], i64 %17
%20 = load i32, i32* %1
%21 = icmp slt i32 %20, 1
br i1 %21, label %851, label %332
22: ; preds = %332
%23 = icmp slt i32 %338, 1
br i1 %23, label %851, label %24
24: ; preds = %22
%25 = bitcast [30 x i32]* %6 to i8*
%26 = bitcast [28 x i32]* %7 to i8*
%27 = bitcast [31 x i32]* %5 to i8*
%28 = bitcast [31 x i32]* %2 to i8*
%29 = bitcast [30 x i32]* %3 to i8*
%30 = bitcast [28 x i32]* %4 to i8*
%31 = bitcast [30 x i32]* %12 to i8*
%32 = bitcast [29 x i32]* %13 to i8*
%33 = bitcast [31 x i32]* %11 to i8*
%34 = bitcast [31 x i32]* %8 to i8*
%35 = bitcast [30 x i32]* %9 to i8*
%36 = bitcast [29 x i32]* %10 to i8*
%37 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 1
%38 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 2
%39 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 3
%40 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 4
%41 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 5
%42 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 6
%43 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 7
%44 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 8
%45 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 9
%46 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 10
%47 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 11
%48 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 12
%49 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 13
%50 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 14
%51 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 15
%52 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 16
%53 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 17
%54 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 18
%55 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 19
%56 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 20
%57 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 21
%58 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 22
%59 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 23
%60 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 24
%61 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 25
%62 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 26
%63 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 27
%64 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 1
%65 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 2
%66 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 3
%67 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 4
%68 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 5
%69 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 6
%70 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 7
%71 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 8
%72 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 9
%73 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 10
%74 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 11
%75 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 12
%76 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 13
%77 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 14
%78 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 15
%79 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 16
%80 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 17
%81 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 18
%82 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 19
%83 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 20
%84 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 21
%85 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 22
%86 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 23
%87 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 24
%88 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 25
%89 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 26
%90 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 27
%91 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 28
%92 = getelementptr inbounds [31 x i32], [31 x i32]* %5, i64 0, i64 1
%93 = getelementptr inbounds [31 x i32], [31 x i32]* %5, i64 0, i64 5
%94 = getelementptr inbounds [31 x i32], [31 x i32]* %5, i64 0, i64 9
%95 = getelementptr inbounds [31 x i32], [31 x i32]* %5, i64 0, i64 13
%96 = getelementptr inbounds [31 x i32], [31 x i32]* %5, i64 0, i64 17
%97 = getelementptr inbounds [31 x i32], [31 x i32]* %5, i64 0, i64 21
%98 = getelementptr inbounds [31 x i32], [31 x i32]* %5, i64 0, i64 25
%99 = getelementptr inbounds [31 x i32], [31 x i32]* %5, i64 0, i64 29
%100 = getelementptr inbounds [31 x i32], [31 x i32]* %5, i64 0, i64 30
%101 = getelementptr inbounds [31 x i32], [31 x i32]* %5, i64 0, i64 31
%102 = getelementptr inbounds [31 x i32], [31 x i32]* %2, i64 0, i64 1
%103 = getelementptr inbounds [31 x i32], [31 x i32]* %2, i64 0, i64 5
%104 = getelementptr inbounds [31 x i32], [31 x i32]* %2, i64 0, i64 9
%105 = getelementptr inbounds [31 x i32], [31 x i32]* %2, i64 0, i64 13
%106 = getelementptr inbounds [31 x i32], [31 x i32]* %2, i64 0, i64 17
%107 = getelementptr inbounds [31 x i32], [31 x i32]* %2, i64 0, i64 21
%108 = getelementptr inbounds [31 x i32], [31 x i32]* %2, i64 0, i64 25
%109 = getelementptr inbounds [31 x i32], [31 x i32]* %2, i64 0, i64 29
%110 = getelementptr inbounds [31 x i32], [31 x i32]* %2, i64 0, i64 30
%111 = getelementptr inbounds [31 x i32], [31 x i32]* %2, i64 0, i64 31
%112 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 1
%113 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 2
%114 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 3
%115 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 4
%116 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 5
%117 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 6
%118 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 7
%119 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 8
%120 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 9
%121 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 10
%122 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 11
%123 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 12
%124 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 13
%125 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 14
%126 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 15
%127 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 16
%128 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 17
%129 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 18
%130 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 19
%131 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 20
%132 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 21
%133 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 22
%134 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 23
%135 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 24
%136 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 25
%137 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 26
%138 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 27
%139 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 1
%140 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 2
%141 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 3
%142 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 4
%143 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 5
%144 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 6
%145 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 7
%146 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 8
%147 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 9
%148 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 10
%149 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 11
%150 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 12
%151 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 13
%152 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 14
%153 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 15
%154 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 16
%155 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 17
%156 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 18
%157 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 19
%158 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 20
%159 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 21
%160 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 22
%161 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 23
%162 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 24
%163 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 25
%164 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 26
%165 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 27
%166 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 28
%167 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 1
%168 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 2
%169 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 3
%170 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 4
%171 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 5
%172 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 6
%173 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 7
%174 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 8
%175 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 9
%176 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 10
%177 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 11
%178 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 12
%179 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 13
%180 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 14
%181 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 15
%182 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 16
%183 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 17
%184 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 18
%185 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 19
%186 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 20
%187 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 21
%188 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 22
%189 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 23
%190 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 24
%191 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 25
%192 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 26
%193 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 27
%194 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 1
%195 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 2
%196 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 3
%197 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 4
%198 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 5
%199 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 6
%200 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 7
%201 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 8
%202 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 9
%203 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 10
%204 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 11
%205 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 12
%206 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 13
%207 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 14
%208 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 15
%209 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 16
%210 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 17
%211 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 18
%212 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 19
%213 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 20
%214 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 21
%215 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 22
%216 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 23
%217 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 24
%218 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 25
%219 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 26
%220 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 27
%221 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 28
%222 = getelementptr inbounds [31 x i32], [31 x i32]* %11, i64 0, i64 1
%223 = getelementptr inbounds [31 x i32], [31 x i32]* %11, i64 0, i64 5
%224 = getelementptr inbounds [31 x i32], [31 x i32]* %11, i64 0, i64 9
%225 = getelementptr inbounds [31 x i32], [31 x i32]* %11, i64 0, i64 13
%226 = getelementptr inbounds [31 x i32], [31 x i32]* %11, i64 0, i64 17
%227 = getelementptr inbounds [31 x i32], [31 x i32]* %11, i64 0, i64 21
%228 = getelementptr inbounds [31 x i32], [31 x i32]* %11, i64 0, i64 25
%229 = getelementptr inbounds [31 x i32], [31 x i32]* %11, i64 0, i64 29
%230 = getelementptr inbounds [31 x i32], [31 x i32]* %11, i64 0, i64 30
%231 = getelementptr inbounds [31 x i32], [31 x i32]* %11, i64 0, i64 31
%232 = getelementptr inbounds [31 x i32], [31 x i32]* %8, i64 0, i64 1
%233 = getelementptr inbounds [31 x i32], [31 x i32]* %8, i64 0, i64 5
%234 = getelementptr inbounds [31 x i32], [31 x i32]* %8, i64 0, i64 9
%235 = getelementptr inbounds [31 x i32], [31 x i32]* %8, i64 0, i64 13
%236 = getelementptr inbounds [31 x i32], [31 x i32]* %8, i64 0, i64 17
%237 = getelementptr inbounds [31 x i32], [31 x i32]* %8, i64 0, i64 21
%238 = getelementptr inbounds [31 x i32], [31 x i32]* %8, i64 0, i64 25
%239 = getelementptr inbounds [31 x i32], [31 x i32]* %8, i64 0, i64 29
%240 = getelementptr inbounds [31 x i32], [31 x i32]* %8, i64 0, i64 30
%241 = getelementptr inbounds [31 x i32], [31 x i32]* %8, i64 0, i64 31
%242 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 1
%243 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 2
%244 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 3
%245 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 4
%246 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 5
%247 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 6
%248 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 7
%249 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 8
%250 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 9
%251 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 10
%252 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 11
%253 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 12
%254 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 13
%255 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 14
%256 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 15
%257 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 16
%258 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 17
%259 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 18
%260 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 19
%261 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 20
%262 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 21
%263 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 22
%264 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 23
%265 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 24
%266 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 25
%267 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 26
%268 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 27
%269 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 28
%270 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 29
%271 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 30
%272 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 1
%273 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 2
%274 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 3
%275 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 4
%276 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 5
%277 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 6
%278 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 7
%279 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 8
%280 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 9
%281 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 10
%282 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 11
%283 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 12
%284 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 13
%285 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 14
%286 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 15
%287 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 16
%288 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 17
%289 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 18
%290 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 19
%291 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 20
%292 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 21
%293 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 22
%294 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 23
%295 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 24
%296 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 25
%297 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 26
%298 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 27
%299 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 28
%300 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 29
%301 = bitcast i32* %63 to <4 x i32>*
%302 = bitcast i32* %92 to <4 x i32>*
%303 = bitcast i32* %93 to <4 x i32>*
%304 = bitcast i32* %94 to <4 x i32>*
%305 = bitcast i32* %95 to <4 x i32>*
%306 = bitcast i32* %96 to <4 x i32>*
%307 = bitcast i32* %97 to <4 x i32>*
%308 = bitcast i32* %98 to <4 x i32>*
%309 = bitcast i32* %102 to <4 x i32>*
%310 = bitcast i32* %103 to <4 x i32>*
%311 = bitcast i32* %104 to <4 x i32>*
%312 = bitcast i32* %105 to <4 x i32>*
%313 = bitcast i32* %106 to <4 x i32>*
%314 = bitcast i32* %107 to <4 x i32>*
%315 = bitcast i32* %108 to <4 x i32>*
%316 = bitcast i32* %138 to <4 x i32>*
%317 = bitcast i32* %193 to <4 x i32>*
%318 = bitcast i32* %222 to <4 x i32>*
%319 = bitcast i32* %223 to <4 x i32>*
%320 = bitcast i32* %224 to <4 x i32>*
%321 = bitcast i32* %225 to <4 x i32>*
%322 = bitcast i32* %226 to <4 x i32>*
%323 = bitcast i32* %227 to <4 x i32>*
%324 = bitcast i32* %228 to <4 x i32>*
%325 = bitcast i32* %232 to <4 x i32>*
%326 = bitcast i32* %233 to <4 x i32>*
%327 = bitcast i32* %234 to <4 x i32>*
%328 = bitcast i32* %235 to <4 x i32>*
%329 = bitcast i32* %236 to <4 x i32>*
%330 = bitcast i32* %237 to <4 x i32>*
%331 = bitcast i32* %238 to <4 x i32>*
br label %341
332: ; preds = %0, %332
%333 = phi i64 [ %337, %332 ], [ 1, %0 ]
%334 = getelementptr inbounds [2 x i32], [2 x i32]* %19, i64 %333, i64 1
%335 = getelementptr inbounds [2 x i32], [2 x i32]* %19, i64 %333, i64 2
%336 = call i32 (i8*, ...) @scanf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1, i64 0, i64 0), i32* %334, i32* %335)
%337 = add nuw nsw i64 %333, 1
%338 = load i32, i32* %1
%339 = sext i32 %338 to i64
%340 = icmp slt i64 %333, %339
br i1 %340, label %332, label %22
341: ; preds = %24, %845
%342 = phi i64 [ 1, %24 ], [ %847, %845 ]
%343 = getelementptr inbounds [2 x i32], [2 x i32]* %19, i64 %342, i64 2
%344 = load i32, i32* %343
%345 = and i32 %344, 3
%346 = icmp eq i32 %345, 0
%347 = srem i32 %344, 100
%348 = icmp ne i32 %347, 0
%349 = or i1 %346, %348
%350 = srem i32 %344, 400
%351 = sdiv i32 %344, 400
%352 = icmp eq i32 %350, 0
%353 = select i1 %349, i1 %352, i1 false
%354 = getelementptr inbounds [2 x i32], [2 x i32]* %19, i64 %342, i64 1
%355 = load i32, i32* %354
%356 = icmp slt i32 %355, 8
%357 = and i32 %355, 1
%358 = icmp eq i32 %357, 0
br i1 %353, label %603, label %359
359: ; preds = %341
br i1 %356, label %360, label %482
360: ; preds = %359
br i1 %358, label %408, label %361
361: ; preds = %360
%362 = icmp eq i32 %355, 1
%363 = add nsw i32 %355, -2
%364 = select i1 %362, i32 11, i32 %363
%365 = sitofp i32 %364 to double
%366 = call double @llvm.fmuladd.f64(double %365, double 2.600000e+00, double -2.000000e-01)
%367 = fptosi double %366 to i32
%368 = sdiv i32 %344, -100
%369 = sext i1 %362 to i32
%370 = add nsw i32 %347, %369
%371 = shl nsw i32 %368, 1
%372 = trunc i32 %370 to i8
%373 = sdiv i8 %372, 4
%374 = sext i8 %373 to i32
%375 = sdiv i32 %344, 400
%376 = add i32 %371, %375
%377 = add i32 %376, %370
%378 = add i32 %377, %374
%379 = add i32 %378, %367
%380 = insertelement <4 x i32> poison, i32 %379, i64 0
%381 = shufflevector <4 x i32> %380, <4 x i32> poison, <4 x i32> zeroinitializer
%382 = add <4 x i32> %381, <i32 1, i32 2, i32 3, i32 4>
store <4 x i32> %382, <4 x i32>* %309
%383 = add <4 x i32> %381, <i32 5, i32 6, i32 7, i32 8>
store <4 x i32> %383, <4 x i32>* %310
%384 = add <4 x i32> %381, <i32 9, i32 10, i32 11, i32 12>
store <4 x i32> %384, <4 x i32>* %311
%385 = add <4 x i32> %381, <i32 13, i32 14, i32 15, i32 16>
store <4 x i32> %385, <4 x i32>* %312
%386 = add <4 x i32> %381, <i32 17, i32 18, i32 19, i32 20>
store <4 x i32> %386, <4 x i32>* %313
%387 = add <4 x i32> %381, <i32 21, i32 22, i32 23, i32 24>
store <4 x i32> %387, <4 x i32>* %314
%388 = add <4 x i32> %381, <i32 25, i32 26, i32 27, i32 28>
store <4 x i32> %388, <4 x i32>* %315
%389 = add i32 %379, 29
store i32 %389, i32* %109
%390 = add i32 %379, 30
store i32 %390, i32* %110
%391 = add i32 %379, 31
store i32 %391, i32* %111
%392 = extractelement <4 x i32> %382, i64 0
br label %393
393: ; preds = %404, %361
%394 = phi i32 [ %392, %361 ], [ %406, %404 ]
%395 = phi i64 [ 1, %361 ], [ %402, %404 ]
%396 = srem i32 %394, 7
%397 = icmp eq i32 %396, 0
br i1 %397, label %398, label %401
398: ; preds = %393
%399 = trunc i64 %395 to i32
%400 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %399)
br label %401
401: ; preds = %393, %398
%402 = add nuw nsw i64 %395, 1
%403 = icmp eq i64 %402, 32
br i1 %403, label %407, label %404
404: ; preds = %401
%405 = getelementptr inbounds [31 x i32], [31 x i32]* %2, i64 0, i64 %402
%406 = load i32, i32* %405
br label %393
407: ; preds = %401
br label %845
408: ; preds = %360
%409 = icmp eq i32 %355, 2
%410 = add nsw i32 %355, -2
%411 = select i1 %409, i32 12, i32 %410
%412 = sitofp i32 %411 to double
%413 = call double @llvm.fmuladd.f64(double %412, double 2.600000e+00, double -2.000000e-01)
%414 = fptosi double %413 to i32
%415 = sdiv i32 %344, -100
%416 = sext i1 %409 to i32
%417 = add nsw i32 %347, %416
%418 = shl nsw i32 %415, 1
%419 = trunc i32 %417 to i8
%420 = sdiv i8 %419, 4
%421 = sext i8 %420 to i32
%422 = sdiv i32 %344, 400
%423 = add i32 %417, %414
%424 = add i32 %423, %422
%425 = add i32 %424, %418
%426 = add i32 %425, %421
%427 = add i32 %426, 1
store i32 %427, i32* %112
%428 = add i32 %426, 2
store i32 %428, i32* %113
%429 = add i32 %426, 3
store i32 %429, i32* %114
%430 = add i32 %426, 4
store i32 %430, i32* %115
%431 = add i32 %426, 5
store i32 %431, i32* %116
%432 = add i32 %426, 6
store i32 %432, i32* %117
%433 = add i32 %426, 7
store i32 %433, i32* %118
%434 = add i32 %426, 8
store i32 %434, i32* %119
%435 = add i32 %426, 9
store i32 %435, i32* %120
%436 = add i32 %426, 10
store i32 %436, i32* %121
%437 = add i32 %426, 11
store i32 %437, i32* %122
%438 = add i32 %426, 12
store i32 %438, i32* %123
%439 = add i32 %426, 13
store i32 %439, i32* %124
%440 = add i32 %426, 14
store i32 %440, i32* %125
%441 = add i32 %426, 15
store i32 %441, i32* %126
%442 = add i32 %426, 16
store i32 %442, i32* %127
%443 = add i32 %426, 17
store i32 %443, i32* %128
%444 = add i32 %426, 18
store i32 %444, i32* %129
%445 = add i32 %426, 19
store i32 %445, i32* %130
%446 = add i32 %426, 20
store i32 %446, i32* %131
%447 = add i32 %426, 21
store i32 %447, i32* %132
%448 = add i32 %426, 22
store i32 %448, i32* %133
%449 = add i32 %426, 23
store i32 %449, i32* %134
%450 = add i32 %426, 24
store i32 %450, i32* %135
%451 = add i32 %426, 25
store i32 %451, i32* %136
%452 = add i32 %426, 26
store i32 %452, i32* %137
%453 = insertelement <4 x i32> poison, i32 %426, i64 0
%454 = shufflevector <4 x i32> %453, <4 x i32> poison, <4 x i32> zeroinitializer
%455 = add <4 x i32> %454, <i32 27, i32 28, i32 29, i32 30>
store <4 x i32> %455, <4 x i32>* %316
store i32 %427, i32* %139
store i32 %428, i32* %140
store i32 %429, i32* %141
store i32 %430, i32* %142
store i32 %431, i32* %143
store i32 %432, i32* %144
store i32 %433, i32* %145
store i32 %434, i32* %146
store i32 %435, i32* %147
store i32 %436, i32* %148
store i32 %437, i32* %149
store i32 %438, i32* %150
store i32 %439, i32* %151
store i32 %440, i32* %152
store i32 %441, i32* %153
store i32 %442, i32* %154
store i32 %443, i32* %155
store i32 %444, i32* %156
store i32 %445, i32* %157
store i32 %446, i32* %158
store i32 %447, i32* %159
store i32 %448, i32* %160
store i32 %449, i32* %161
store i32 %450, i32* %162
store i32 %451, i32* %163
store i32 %452, i32* %164
%456 = extractelement <4 x i32> %455, i64 0
store i32 %456, i32* %165
%457 = extractelement <4 x i32> %455, i64 1
store i32 %457, i32* %166
br label %458
458: ; preds = %408, %478
%459 = phi i64 [ 1, %408 ], [ %479, %478 ]
%460 = getelementptr inbounds [30 x i32], [30 x i32]* %3, i64 0, i64 %459
%461 = load i32, i32* %460
%462 = srem i32 %461, 7
%463 = icmp eq i32 %462, 0
br i1 %463, label %464, label %467
464: ; preds = %458
%465 = load i32, i32* %354
%466 = icmp eq i32 %465, 2
br i1 %466, label %467, label %475
467: ; preds = %464, %458
%468 = getelementptr inbounds [28 x i32], [28 x i32]* %4, i64 0, i64 %459
%469 = load i32, i32* %468
%470 = srem i32 %469, 7
%471 = icmp eq i32 %470, 0
br i1 %471, label %472, label %478
472: ; preds = %467
%473 = load i32, i32* %354
%474 = icmp eq i32 %473, 2
br i1 %474, label %475, label %478
475: ; preds = %472, %464
%476 = trunc i64 %459 to i32
%477 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %476)
br label %478
478: ; preds = %475, %472, %467
%479 = add nuw nsw i64 %459, 1
%480 = icmp eq i64 %479, 31
br i1 %480, label %481, label %458
481: ; preds = %478
br label %845
482: ; preds = %359
br i1 %358, label %483, label %526
483: ; preds = %482
%484 = add nsw i32 %355, -2
%485 = sitofp i32 %484 to double
%486 = call double @llvm.fmuladd.f64(double %485, double 2.600000e+00, double -2.000000e-01)
%487 = fptosi double %486 to i32
%488 = sdiv i32 %344, -100
%489 = shl nsw i32 %488, 1
%490 = trunc i32 %347 to i8
%491 = sdiv i8 %490, 4
%492 = sext i8 %491 to i32
%493 = sdiv i32 %344, 400
%494 = add nsw i32 %493, %347
%495 = add i32 %494, %489
%496 = add i32 %495, %492
%497 = add i32 %496, %487
%498 = insertelement <4 x i32> poison, i32 %497, i64 0
%499 = shufflevector <4 x i32> %498, <4 x i32> poison, <4 x i32> zeroinitializer
%500 = add <4 x i32> %499, <i32 1, i32 2, i32 3, i32 4>
store <4 x i32> %500, <4 x i32>* %302
%501 = add <4 x i32> %499, <i32 5, i32 6, i32 7, i32 8>
store <4 x i32> %501, <4 x i32>* %303
%502 = add <4 x i32> %499, <i32 9, i32 10, i32 11, i32 12>
store <4 x i32> %502, <4 x i32>* %304
%503 = add <4 x i32> %499, <i32 13, i32 14, i32 15, i32 16>
store <4 x i32> %503, <4 x i32>* %305
%504 = add <4 x i32> %499, <i32 17, i32 18, i32 19, i32 20>
store <4 x i32> %504, <4 x i32>* %306
%505 = add <4 x i32> %499, <i32 21, i32 22, i32 23, i32 24>
store <4 x i32> %505, <4 x i32>* %307
%506 = add <4 x i32> %499, <i32 25, i32 26, i32 27, i32 28>
store <4 x i32> %506, <4 x i32>* %308
%507 = add i32 %497, 29
store i32 %507, i32* %99
%508 = add i32 %497, 30
store i32 %508, i32* %100
%509 = add i32 %497, 31
store i32 %509, i32* %101
%510 = extractelement <4 x i32> %500, i64 0
br label %511
511: ; preds = %522, %483
%512 = phi i32 [ %510, %483 ], [ %524, %522 ]
%513 = phi i64 [ 1, %483 ], [ %520, %522 ]
%514 = srem i32 %512, 7
%515 = icmp eq i32 %514, 0
br i1 %515, label %516, label %519
516: ; preds = %511
%517 = trunc i64 %513 to i32
%518 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %517)
br label %519
519: ; preds = %511, %516
%520 = add nuw nsw i64 %513, 1
%521 = icmp eq i64 %520, 32
br i1 %521, label %525, label %522
522: ; preds = %519
%523 = getelementptr inbounds [31 x i32], [31 x i32]* %5, i64 0, i64 %520
%524 = load i32, i32* %523
br label %511
525: ; preds = %519
br label %845
526: ; preds = %482
%527 = add nsw i32 %355, -2
%528 = sitofp i32 %527 to double
%529 = call double @llvm.fmuladd.f64(double %528, double 2.600000e+00, double -2.000000e-01)
%530 = fptosi double %529 to i32
%531 = sdiv i32 %344, -100
%532 = shl nsw i32 %531, 1
%533 = trunc i32 %347 to i8
%534 = sdiv i8 %533, 4
%535 = sext i8 %534 to i32
%536 = sdiv i32 %344, 400
%537 = add i32 %347, %530
%538 = add i32 %537, %536
%539 = add i32 %538, %532
%540 = add i32 %539, %535
%541 = add i32 %540, 1
store i32 %541, i32* %37
%542 = add i32 %540, 2
store i32 %542, i32* %38
%543 = add i32 %540, 3
store i32 %543, i32* %39
%544 = add i32 %540, 4
store i32 %544, i32* %40
%545 = add i32 %540, 5
store i32 %545, i32* %41
%546 = add i32 %540, 6
store i32 %546, i32* %42
%547 = add i32 %540, 7
store i32 %547, i32* %43
%548 = add i32 %540, 8
store i32 %548, i32* %44
%549 = add i32 %540, 9
store i32 %549, i32* %45
%550 = add i32 %540, 10
store i32 %550, i32* %46
%551 = add i32 %540, 11
store i32 %551, i32* %47
%552 = add i32 %540, 12
store i32 %552, i32* %48
%553 = add i32 %540, 13
store i32 %553, i32* %49
%554 = add i32 %540, 14
store i32 %554, i32* %50
%555 = add i32 %540, 15
store i32 %555, i32* %51
%556 = add i32 %540, 16
store i32 %556, i32* %52
%557 = add i32 %540, 17
store i32 %557, i32* %53
%558 = add i32 %540, 18
store i32 %558, i32* %54
%559 = add i32 %540, 19
store i32 %559, i32* %55
%560 = add i32 %540, 20
store i32 %560, i32* %56
%561 = add i32 %540, 21
store i32 %561, i32* %57
%562 = add i32 %540, 22
store i32 %562, i32* %58
%563 = add i32 %540, 23
store i32 %563, i32* %59
%564 = add i32 %540, 24
store i32 %564, i32* %60
%565 = add i32 %540, 25
store i32 %565, i32* %61
%566 = add i32 %540, 26
store i32 %566, i32* %62
%567 = insertelement <4 x i32> poison, i32 %540, i64 0
%568 = shufflevector <4 x i32> %567, <4 x i32> poison, <4 x i32> zeroinitializer
%569 = add <4 x i32> %568, <i32 27, i32 28, i32 29, i32 30>
store <4 x i32> %569, <4 x i32>* %301
store i32 %541, i32* %64
store i32 %542, i32* %65
store i32 %543, i32* %66
store i32 %544, i32* %67
store i32 %545, i32* %68
store i32 %546, i32* %69
store i32 %547, i32* %70
store i32 %548, i32* %71
store i32 %549, i32* %72
store i32 %550, i32* %73
store i32 %551, i32* %74
store i32 %552, i32* %75
store i32 %553, i32* %76
store i32 %554, i32* %77
store i32 %555, i32* %78
store i32 %556, i32* %79
store i32 %557, i32* %80
store i32 %558, i32* %81
store i32 %559, i32* %82
store i32 %560, i32* %83
store i32 %561, i32* %84
store i32 %562, i32* %85
store i32 %563, i32* %86
store i32 %564, i32* %87
store i32 %565, i32* %88
store i32 %566, i32* %89
%570 = extractelement <4 x i32> %569, i64 0
store i32 %570, i32* %90
%571 = extractelement <4 x i32> %569, i64 1
store i32 %571, i32* %91
br label %572
572: ; preds = %526, %584
%573 = phi i64 [ 1, %526 ], [ %585, %584 ]
%574 = getelementptr inbounds [30 x i32], [30 x i32]* %6, i64 0, i64 %573
%575 = load i32, i32* %574
%576 = srem i32 %575, 7
%577 = icmp eq i32 %576, 0
br i1 %577, label %578, label %584
578: ; preds = %572
%579 = load i32, i32* %354
%580 = icmp eq i32 %579, 2
br i1 %580, label %584, label %581
581: ; preds = %578
%582 = trunc i64 %573 to i32
%583 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %582)
br label %584
584: ; preds = %572, %578, %581
%585 = add nuw nsw i64 %573, 1
%586 = icmp eq i64 %585, 31
br i1 %586, label %587, label %572
587: ; preds = %584, %599
%588 = phi i64 [ %600, %599 ], [ 1, %584 ]
%589 = getelementptr inbounds [28 x i32], [28 x i32]* %7, i64 0, i64 %588
%590 = load i32, i32* %589
%591 = srem i32 %590, 7
%592 = icmp eq i32 %591, 0
br i1 %592, label %593, label %599
593: ; preds = %587
%594 = load i32, i32* %354
%595 = icmp eq i32 %594, 2
br i1 %595, label %596, label %599
596: ; preds = %593
%597 = trunc i64 %588 to i32
%598 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %597)
br label %599
599: ; preds = %587, %593, %596
%600 = add nuw nsw i64 %588, 1
%601 = icmp eq i64 %600, 29
br i1 %601, label %602, label %587
602: ; preds = %599
br label %845
603: ; preds = %341
br i1 %356, label %604, label %725
604: ; preds = %603
br i1 %358, label %652, label %605
605: ; preds = %604
%606 = icmp eq i32 %355, 1
%607 = add nsw i32 %355, -2
%608 = select i1 %606, i32 11, i32 %607
%609 = sitofp i32 %608 to double
%610 = call double @llvm.fmuladd.f64(double %609, double 2.600000e+00, double -2.000000e-01)
%611 = fptosi double %610 to i32
%612 = sdiv i32 %344, -100
%613 = sext i1 %606 to i32
%614 = add nsw i32 %347, %613
%615 = shl nsw i32 %612, 1
%616 = trunc i32 %614 to i8
%617 = sdiv i8 %616, 4
%618 = sext i8 %617 to i32
%619 = sdiv i32 %344, 400
%620 = add i32 %615, %619
%621 = add i32 %620, %614
%622 = add i32 %621, %618
%623 = add i32 %622, %611
%624 = insertelement <4 x i32> poison, i32 %623, i64 0
%625 = shufflevector <4 x i32> %624, <4 x i32> poison, <4 x i32> zeroinitializer
%626 = add <4 x i32> %625, <i32 1, i32 2, i32 3, i32 4>
store <4 x i32> %626, <4 x i32>* %325
%627 = add <4 x i32> %625, <i32 5, i32 6, i32 7, i32 8>
store <4 x i32> %627, <4 x i32>* %326
%628 = add <4 x i32> %625, <i32 9, i32 10, i32 11, i32 12>
store <4 x i32> %628, <4 x i32>* %327
%629 = add <4 x i32> %625, <i32 13, i32 14, i32 15, i32 16>
store <4 x i32> %629, <4 x i32>* %328
%630 = add <4 x i32> %625, <i32 17, i32 18, i32 19, i32 20>
store <4 x i32> %630, <4 x i32>* %329
%631 = add <4 x i32> %625, <i32 21, i32 22, i32 23, i32 24>
store <4 x i32> %631, <4 x i32>* %330
%632 = add <4 x i32> %625, <i32 25, i32 26, i32 27, i32 28>
store <4 x i32> %632, <4 x i32>* %331
%633 = add i32 %623, 29
store i32 %633, i32* %239
%634 = add i32 %623, 30
store i32 %634, i32* %240
%635 = add i32 %623, 31
store i32 %635, i32* %241
%636 = extractelement <4 x i32> %626, i64 0
br label %637
637: ; preds = %648, %605
%638 = phi i32 [ %636, %605 ], [ %650, %648 ]
%639 = phi i64 [ 1, %605 ], [ %646, %648 ]
%640 = srem i32 %638, 7
%641 = icmp eq i32 %640, 0
br i1 %641, label %642, label %645
642: ; preds = %637
%643 = trunc i64 %639 to i32
%644 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %643)
br label %645
645: ; preds = %637, %642
%646 = add nuw nsw i64 %639, 1
%647 = icmp eq i64 %646, 32
br i1 %647, label %651, label %648
648: ; preds = %645
%649 = getelementptr inbounds [31 x i32], [31 x i32]* %8, i64 0, i64 %646
%650 = load i32, i32* %649
br label %637
651: ; preds = %645
br label %845
652: ; preds = %604
%653 = icmp eq i32 %355, 2
%654 = add nsw i32 %355, -2
%655 = select i1 %653, i32 12, i32 %654
%656 = sitofp i32 %655 to double
%657 = call double @llvm.fmuladd.f64(double %656, double 2.600000e+00, double -2.000000e-01)
%658 = fptosi double %657 to i32
%659 = sdiv i32 %344, -100
%660 = sext i1 %653 to i32
%661 = add nsw i32 %347, %660
%662 = shl nsw i32 %659, 1
%663 = trunc i32 %661 to i8
%664 = sdiv i8 %663, 4
%665 = sext i8 %664 to i32
%666 = sdiv i32 %344, 400
%667 = add i32 %661, %658
%668 = add i32 %667, %666
%669 = add i32 %668, %662
%670 = add i32 %669, %665
%671 = add i32 %670, 1
store i32 %671, i32* %242
%672 = add i32 %670, 2
store i32 %672, i32* %243
%673 = add i32 %670, 3
store i32 %673, i32* %244
%674 = add i32 %670, 4
store i32 %674, i32* %245
%675 = add i32 %670, 5
store i32 %675, i32* %246
%676 = add i32 %670, 6
store i32 %676, i32* %247
%677 = add i32 %670, 7
store i32 %677, i32* %248
%678 = add i32 %670, 8
store i32 %678, i32* %249
%679 = add i32 %670, 9
store i32 %679, i32* %250
%680 = add i32 %670, 10
store i32 %680, i32* %251
%681 = add i32 %670, 11
store i32 %681, i32* %252
%682 = add i32 %670, 12
store i32 %682, i32* %253
%683 = add i32 %670, 13
store i32 %683, i32* %254
%684 = add i32 %670, 14
store i32 %684, i32* %255
%685 = add i32 %670, 15
store i32 %685, i32* %256
%686 = add i32 %670, 16
store i32 %686, i32* %257
%687 = add i32 %670, 17
store i32 %687, i32* %258
%688 = add i32 %670, 18
store i32 %688, i32* %259
%689 = add i32 %670, 19
store i32 %689, i32* %260
%690 = add i32 %670, 20
store i32 %690, i32* %261
%691 = add i32 %670, 21
store i32 %691, i32* %262
%692 = add i32 %670, 22
store i32 %692, i32* %263
%693 = add i32 %670, 23
store i32 %693, i32* %264
%694 = add i32 %670, 24
store i32 %694, i32* %265
%695 = add i32 %670, 25
store i32 %695, i32* %266
%696 = add i32 %670, 26
store i32 %696, i32* %267
%697 = add i32 %670, 27
store i32 %697, i32* %268
%698 = add i32 %670, 28
store i32 %698, i32* %269
%699 = add i32 %670, 29
store i32 %699, i32* %270
%700 = add i32 %670, 30
store i32 %700, i32* %271
store i32 %671, i32* %272
store i32 %672, i32* %273
store i32 %673, i32* %274
store i32 %674, i32* %275
store i32 %675, i32* %276
store i32 %676, i32* %277
store i32 %677, i32* %278
store i32 %678, i32* %279
store i32 %679, i32* %280
store i32 %680, i32* %281
store i32 %681, i32* %282
store i32 %682, i32* %283
store i32 %683, i32* %284
store i32 %684, i32* %285
store i32 %685, i32* %286
store i32 %686, i32* %287
store i32 %687, i32* %288
store i32 %688, i32* %289
store i32 %689, i32* %290
store i32 %690, i32* %291
store i32 %691, i32* %292
store i32 %692, i32* %293
store i32 %693, i32* %294
store i32 %694, i32* %295
store i32 %695, i32* %296
store i32 %696, i32* %297
store i32 %697, i32* %298
store i32 %698, i32* %299
store i32 %699, i32* %300
br label %701
701: ; preds = %652, %721
%702 = phi i64 [ 1, %652 ], [ %722, %721 ]
%703 = getelementptr inbounds [30 x i32], [30 x i32]* %9, i64 0, i64 %702
%704 = load i32, i32* %703
%705 = srem i32 %704, 7
%706 = icmp eq i32 %705, 0
br i1 %706, label %707, label %710
707: ; preds = %701
%708 = load i32, i32* %354
%709 = icmp eq i32 %708, 2
br i1 %709, label %710, label %718
710: ; preds = %707, %701
%711 = getelementptr inbounds [29 x i32], [29 x i32]* %10, i64 0, i64 %702
%712 = load i32, i32* %711
%713 = srem i32 %712, 7
%714 = icmp eq i32 %713, 0
br i1 %714, label %715, label %721
715: ; preds = %710
%716 = load i32, i32* %354
%717 = icmp eq i32 %716, 2
br i1 %717, label %718, label %721
718: ; preds = %715, %707
%719 = trunc i64 %702 to i32
%720 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %719)
br label %721
721: ; preds = %718, %715, %710
%722 = add nuw nsw i64 %702, 1
%723 = icmp eq i64 %722, 31
br i1 %723, label %724, label %701
724: ; preds = %721
br label %845
725: ; preds = %603
br i1 %358, label %726, label %769
726: ; preds = %725
%727 = add nsw i32 %355, -2
%728 = sitofp i32 %727 to double
%729 = call double @llvm.fmuladd.f64(double %728, double 2.600000e+00, double -2.000000e-01)
%730 = fptosi double %729 to i32
%731 = sdiv i32 %344, -100
%732 = shl nsw i32 %731, 1
%733 = trunc i32 %347 to i8
%734 = sdiv i8 %733, 4
%735 = sext i8 %734 to i32
%736 = sdiv i32 %344, 400
%737 = add nsw i32 %736, %347
%738 = add i32 %737, %732
%739 = add i32 %738, %735
%740 = add i32 %739, %730
%741 = insertelement <4 x i32> poison, i32 %740, i64 0
%742 = shufflevector <4 x i32> %741, <4 x i32> poison, <4 x i32> zeroinitializer
%743 = add <4 x i32> %742, <i32 1, i32 2, i32 3, i32 4>
store <4 x i32> %743, <4 x i32>* %318
%744 = add <4 x i32> %742, <i32 5, i32 6, i32 7, i32 8>
store <4 x i32> %744, <4 x i32>* %319
%745 = add <4 x i32> %742, <i32 9, i32 10, i32 11, i32 12>
store <4 x i32> %745, <4 x i32>* %320
%746 = add <4 x i32> %742, <i32 13, i32 14, i32 15, i32 16>
store <4 x i32> %746, <4 x i32>* %321
%747 = add <4 x i32> %742, <i32 17, i32 18, i32 19, i32 20>
store <4 x i32> %747, <4 x i32>* %322
%748 = add <4 x i32> %742, <i32 21, i32 22, i32 23, i32 24>
store <4 x i32> %748, <4 x i32>* %323
%749 = add <4 x i32> %742, <i32 25, i32 26, i32 27, i32 28>
store <4 x i32> %749, <4 x i32>* %324
%750 = add i32 %740, 29
store i32 %750, i32* %229
%751 = add i32 %740, 30
store i32 %751, i32* %230
%752 = add i32 %740, 31
store i32 %752, i32* %231
%753 = extractelement <4 x i32> %743, i64 0
br label %754
754: ; preds = %765, %726
%755 = phi i32 [ %753, %726 ], [ %767, %765 ]
%756 = phi i64 [ 1, %726 ], [ %763, %765 ]
%757 = srem i32 %755, 7
%758 = icmp eq i32 %757, 0
br i1 %758, label %759, label %762
759: ; preds = %754
%760 = trunc i64 %756 to i32
%761 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %760)
br label %762
762: ; preds = %754, %759
%763 = add nuw nsw i64 %756, 1
%764 = icmp eq i64 %763, 32
br i1 %764, label %768, label %765
765: ; preds = %762
%766 = getelementptr inbounds [31 x i32], [31 x i32]* %11, i64 0, i64 %763
%767 = load i32, i32* %766
br label %754
768: ; preds = %762
br label %845
769: ; preds = %725
%770 = add nsw i32 %355, -2
%771 = sitofp i32 %770 to double
%772 = call double @llvm.fmuladd.f64(double %771, double 2.600000e+00, double -2.000000e-01)
%773 = fptosi double %772 to i32
%774 = sdiv i32 %344, -100
%775 = shl nsw i32 %774, 1
%776 = trunc i32 %347 to i8
%777 = sdiv i8 %776, 4
%778 = sext i8 %777 to i32
%779 = add i32 %347, %773
%780 = add i32 %779, %351
%781 = add i32 %780, %775
%782 = add i32 %781, %778
%783 = add i32 %782, 1
store i32 %783, i32* %167
%784 = add i32 %782, 2
store i32 %784, i32* %168
%785 = add i32 %782, 3
store i32 %785, i32* %169
%786 = add i32 %782, 4
store i32 %786, i32* %170
%787 = add i32 %782, 5
store i32 %787, i32* %171
%788 = add i32 %782, 6
store i32 %788, i32* %172
%789 = add i32 %782, 7
store i32 %789, i32* %173
%790 = add i32 %782, 8
store i32 %790, i32* %174
%791 = add i32 %782, 9
store i32 %791, i32* %175
%792 = add i32 %782, 10
store i32 %792, i32* %176
%793 = add i32 %782, 11
store i32 %793, i32* %177
%794 = add i32 %782, 12
store i32 %794, i32* %178
%795 = add i32 %782, 13
store i32 %795, i32* %179
%796 = add i32 %782, 14
store i32 %796, i32* %180
%797 = add i32 %782, 15
store i32 %797, i32* %181
%798 = add i32 %782, 16
store i32 %798, i32* %182
%799 = add i32 %782, 17
store i32 %799, i32* %183
%800 = add i32 %782, 18
store i32 %800, i32* %184
%801 = add i32 %782, 19
store i32 %801, i32* %185
%802 = add i32 %782, 20
store i32 %802, i32* %186
%803 = add i32 %782, 21
store i32 %803, i32* %187
%804 = add i32 %782, 22
store i32 %804, i32* %188
%805 = add i32 %782, 23
store i32 %805, i32* %189
%806 = add i32 %782, 24
store i32 %806, i32* %190
%807 = add i32 %782, 25
store i32 %807, i32* %191
%808 = add i32 %782, 26
store i32 %808, i32* %192
%809 = insertelement <4 x i32> poison, i32 %782, i64 0
%810 = shufflevector <4 x i32> %809, <4 x i32> poison, <4 x i32> zeroinitializer
%811 = add <4 x i32> %810, <i32 27, i32 28, i32 29, i32 30>
store <4 x i32> %811, <4 x i32>* %317
store i32 %783, i32* %194
store i32 %784, i32* %195
store i32 %785, i32* %196
store i32 %786, i32* %197
store i32 %787, i32* %198
store i32 %788, i32* %199
store i32 %789, i32* %200
store i32 %790, i32* %201
store i32 %791, i32* %202
store i32 %792, i32* %203
store i32 %793, i32* %204
store i32 %794, i32* %205
store i32 %795, i32* %206
store i32 %796, i32* %207
store i32 %797, i32* %208
store i32 %798, i32* %209
store i32 %799, i32* %210
store i32 %800, i32* %211
store i32 %801, i32* %212
store i32 %802, i32* %213
store i32 %803, i32* %214
store i32 %804, i32* %215
store i32 %805, i32* %216
store i32 %806, i32* %217
store i32 %807, i32* %218
store i32 %808, i32* %219
%812 = extractelement <4 x i32> %811, i64 0
store i32 %812, i32* %220
%813 = extractelement <4 x i32> %811, i64 1
store i32 %813, i32* %221
br label %814
814: ; preds = %769, %826
%815 = phi i64 [ 1, %769 ], [ %827, %826 ]
%816 = getelementptr inbounds [30 x i32], [30 x i32]* %12, i64 0, i64 %815
%817 = load i32, i32* %816
%818 = srem i32 %817, 7
%819 = icmp eq i32 %818, 0
br i1 %819, label %820, label %826
820: ; preds = %814
%821 = load i32, i32* %354
%822 = icmp eq i32 %821, 2
br i1 %822, label %826, label %823
823: ; preds = %820
%824 = trunc i64 %815 to i32
%825 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %824)
br label %826
826: ; preds = %814, %820, %823
%827 = add nuw nsw i64 %815, 1
%828 = icmp eq i64 %827, 31
br i1 %828, label %829, label %814
829: ; preds = %826, %841
%830 = phi i64 [ %842, %841 ], [ 1, %826 ]
%831 = getelementptr inbounds [29 x i32], [29 x i32]* %13, i64 0, i64 %830
%832 = load i32, i32* %831
%833 = srem i32 %832, 7
%834 = icmp eq i32 %833, 0
br i1 %834, label %835, label %841
835: ; preds = %829
%836 = load i32, i32* %354
%837 = icmp eq i32 %836, 2
br i1 %837, label %838, label %841
838: ; preds = %835
%839 = trunc i64 %830 to i32
%840 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %839)
br label %841
841: ; preds = %829, %835, %838
%842 = add nuw nsw i64 %830, 1
%843 = icmp eq i64 %842, 30
br i1 %843, label %844, label %829
844: ; preds = %841
br label %845
845: ; preds = %768, %844, %525, %602, %724, %651, %481, %407
%846 = call i32 @putchar(i32 10)
%847 = add nuw nsw i64 %342, 1
%848 = load i32, i32* %1
%849 = sext i32 %848 to i64
%850 = icmp slt i64 %342, %849
br i1 %850, label %341, label %851
851: ; preds = %845, %0, %22
%852 = call i32 (...) @getch()
ret i32 0
}