int main() {
  char c[26] = {0};
  char a[100][66] = {0};
  int i, q, w = 0, j, l, s = 0;
  printf("\n\t\t\tSpecially writting for you ");
  printf("\n\n\n\t@. The result has been encrypted by using ASCII;\n\n\t ");
  printf("Enter your name and the last four numbers of your birthday\n");
  printf("\t\t(just for example : huzhenyang0520);");
  printf("\n\n\t@. In order to see clear ,"
         "modify the width of the output window: width 156. \n\n");
  printf("\t   Now enter your password :\t");
  gets(c);
  l = strlen(c);
  for (q = 0; q < l; q++)
    s = s + c[q];
  if (s == 1398) {
    print_5(a, c[13] - 38, 12, 9);
    print_3(a, 3, c[6] - 90, 6);
    print_6(a, 3, 27, c[5] - 89);
    print_5(a, 11, c[8] - 70, 8);
    print_3(a, 3, c[7] - 70, 6);
    print_6(a, 3, c[12], 9);
    print_4(a, 12, c[3] - 62, c[7] - 103);
    print_4(a, c[7] - 101, 12, 10);
    print_6(a, 22, 12, c[10] - 80);
    print_5(a, c[8] - 60, 35, 24);
    print_5(a, 11, 11, 10);
    print_3(a, c[9] - 109, 21, 6);
    print_6(a, 1, c[5] - 70, 8);
    print_5(a, 9, c[4] - 70, 8);
    print_3(a, c[9] - 109, 43, 6);
    print_6(a, 1, 49, c[6] - 100);
    print_4(a, c[7] - 101, 60, 10);
    print_4(a, 12, 10, c[10] - 93);
    print_6(a, c[12] - 27, 10, 25);
    print_5(a, 47, c[4] - 70, 26);
    print_6(a, 16, 28, 4);
    print_6(a, c[5] - 77, 27, 4);
    print_5(a, 30, 26, c[8] - 99);
    print_3(a, 18, 34, c[10] - 96);
    print_3(a, c[6] - 90, 35, 5);
    print_3(a, 24, 33, c[5] - 88);
    print_4(a, 14, 37, 11);
    print_4(a, c[10] - 76, 35, 11);
    print_3(a, 27, 35, c[8] - 100);
    print_4(a, c[10] - 76, 39, 11);
    print_3(a, c[10] - 73, 35, c[8] - 100);
    print_3(a, 33, 35, 5);
    print(a, 60, 12, 5, c[9] - 109);
    print(a, 67, 15, 5, 109 - c[9]);
    print_4(a, 62, c[10] - 86, c[8] - 99);
    print(a, 67, 20, c[8] - 100, -1);
    print_4(a, c[12] + 7, 22, 12);
    print_3(a, c[14] + 13, 22, 4);
    print(a, 60, 27, c[8] - 100, 1);
    print_4(a, 62, 30, c[7] - 101);
    print_3(a, 73, 27, c[14] - 50);
    print(a, 60, 37, 5, c[6] - 110);
    print_4(a, 62, 40, 12);
    print_3(a, 73, 37, 4);
    print(a, 60, 42, 5, 1);
    print(a, 67, 45, c[8] - 100, -1);
    print(a, 60, 47, c[8] - 100, 1);
    print_4(a, 62, 50, c[8] - 99);
    print_4(a, 58, 58, 10);
    print_4(a, 58, 59, c[9] - 100);
    print_4(a, 70, 58, 2);
    print_4(a, 70, 59, 2);
    print(a, 82, 26, 4, -1);
    print_3(a, 82, 24, 3);
    print(a, 80, 24, 4, 1);
    print_4(a, 78, 29, 9);
    print_3(a, 86, 29, 4);
    print_3(a, 78, 29, 4);
    print_4(a, 78, 32, 9);
    print_4(a, 78, 35, 9);
    print_4(a, 78, 38, 9);
    print_3(a, 86, 38, 4);
    print_3(a, 78, 38, 4);
    print_4(a, 78, 41, 9);
    print_4(a, 90, 40, 10);
    print_3(a, 90, 40, 4);
    print_5(a, 93, 40, 4);
    print_6(a, 92, 40, 4);
    print_5(a, 98, 40, 4);
    print_4(a, 90, 45, 10);
    print_3(a, 90, 45, 4);
    print_4(a, 90, 48, 10);
    print_3(a, 94, 45, 4);
    print_3(a, 99, 45, 4);
    print_6(a, c[1] - 20, 55, 3);
    print_4(a, c[5] - 7, 58, 4);
    print_5(a, 93, 59, c[4] - 102);
    print_3(a, 93, c[5] - 43, 9);
    print_5(a, 99, c[10] - 50, 5);
    print_4(a, 93, 59, c[8] - 99);
    print_3(a, c[9] - 11, 59, 5);
    printf("\n\n\n\n\n\n");
    for (i = 0; i < 100; i++) {
      printf("\n");
      for (j = 0; j < 66; j++)
        printf("%2c", a[i][j]);
    }
    printf("\n\n\n\n\n\n\n");
  } else
    printf("\n\n\t Sorry ! This is not writting for you ......\n\n");
  printf("\n\n\n\t\t\t 阳光boy 原创 （*^_^*）！！！\n\n");
  getchar();
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x1a10,%rsp
movl   $0x0,-0x4(%rbp)
lea    -0x20(%rbp),%rdi
xor    %esi,%esi
mov    $0x1a,%edx
call   1070 <memset@plt>
lea    -0x19f0(%rbp),%rdi
xor    %esi,%esi
mov    $0x19c8,%edx
call   1070 <memset@plt>
movl   $0x0,-0x19fc(%rbp)
movl   $0x0,-0x1a08(%rbp)
lea    0xe10(%rip),%rdi
mov    $0x0,%al
call   1060 <printf@plt>
lea    0xe22(%rip),%rdi
mov    $0x0,%al
call   1060 <printf@plt>
lea    0xe4d(%rip),%rdi
mov    $0x0,%al
call   1060 <printf@plt>
lea    0xe7b(%rip),%rdi
mov    $0x0,%al
call   1060 <printf@plt>
lea    0xe94(%rip),%rdi
mov    $0x0,%al
call   1060 <printf@plt>
lea    0xed8(%rip),%rdi
mov    $0x0,%al
call   1060 <printf@plt>
lea    -0x20(%rbp),%rdi
mov    $0x0,%al
call   10a0 <gets@plt>
lea    -0x20(%rbp),%rdi
call   1050 <strlen@plt>
mov    %eax,-0x1a04(%rbp)
movl   $0x0,-0x19f8(%rbp)
mov    -0x19f8(%rbp),%eax
cmp    -0x1a04(%rbp),%eax
jge    12a1 <main+0x101>
mov    -0x1a08(%rbp),%eax
movslq -0x19f8(%rbp),%rcx
movsbl -0x20(%rbp,%rcx,1),%ecx
add    %ecx,%eax
mov    %eax,-0x1a08(%rbp)
mov    -0x19f8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x19f8(%rbp)
jmp    1261 <main+0xc1>
cmpl   $0x576,-0x1a08(%rbp)
jne    1d38 <main+0xb98>
lea    -0x19f0(%rbp),%rdi
movsbl -0x13(%rbp),%esi
sub    $0x26,%esi
mov    $0xc,%edx
mov    $0x9,%ecx
mov    $0x0,%al
call   1040 <print_5@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x1a(%rbp),%edx
sub    $0x5a,%edx
mov    $0x3,%esi
mov    $0x6,%ecx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x1b(%rbp),%ecx
sub    $0x59,%ecx
mov    $0x3,%esi
mov    $0x1b,%edx
mov    $0x0,%al
call   10c0 <print_6@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x18(%rbp),%edx
sub    $0x46,%edx
mov    $0xb,%esi
mov    $0x8,%ecx
mov    $0x0,%al
call   1040 <print_5@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x19(%rbp),%edx
sub    $0x46,%edx
mov    $0x3,%esi
mov    $0x6,%ecx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x14(%rbp),%edx
mov    $0x3,%esi
mov    $0x9,%ecx
mov    $0x0,%al
call   10c0 <print_6@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x1d(%rbp),%edx
sub    $0x3e,%edx
movsbl -0x19(%rbp),%ecx
sub    $0x67,%ecx
mov    $0xc,%esi
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x19(%rbp),%esi
sub    $0x65,%esi
mov    $0xc,%edx
mov    $0xa,%ecx
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x16(%rbp),%ecx
sub    $0x50,%ecx
mov    $0x16,%esi
mov    $0xc,%edx
mov    $0x0,%al
call   10c0 <print_6@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x18(%rbp),%esi
sub    $0x3c,%esi
mov    $0x23,%edx
mov    $0x18,%ecx
mov    $0x0,%al
call   1040 <print_5@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0xb,%edx
mov    $0xa,%ecx
mov    %edx,%esi
mov    $0x0,%al
call   1040 <print_5@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x17(%rbp),%esi
sub    $0x6d,%esi
mov    $0x15,%edx
mov    $0x6,%ecx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x1b(%rbp),%edx
sub    $0x46,%edx
mov    $0x1,%esi
mov    $0x8,%ecx
mov    $0x0,%al
call   10c0 <print_6@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x1c(%rbp),%edx
sub    $0x46,%edx
mov    $0x9,%esi
mov    $0x8,%ecx
mov    $0x0,%al
call   1040 <print_5@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x17(%rbp),%esi
sub    $0x6d,%esi
mov    $0x2b,%edx
mov    $0x6,%ecx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x1a(%rbp),%ecx
sub    $0x64,%ecx
mov    $0x1,%esi
mov    $0x31,%edx
mov    $0x0,%al
call   10c0 <print_6@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x19(%rbp),%esi
sub    $0x65,%esi
mov    $0x3c,%edx
mov    $0xa,%ecx
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x16(%rbp),%ecx
sub    $0x5d,%ecx
mov    $0xc,%esi
mov    $0xa,%edx
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x14(%rbp),%esi
sub    $0x1b,%esi
mov    $0xa,%edx
mov    $0x19,%ecx
mov    $0x0,%al
call   10c0 <print_6@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x1c(%rbp),%edx
sub    $0x46,%edx
mov    $0x2f,%esi
mov    $0x1a,%ecx
mov    $0x0,%al
call   1040 <print_5@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x10,%esi
mov    $0x1c,%edx
mov    $0x4,%ecx
mov    $0x0,%al
call   10c0 <print_6@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x1b(%rbp),%esi
sub    $0x4d,%esi
mov    $0x1b,%edx
mov    $0x4,%ecx
mov    $0x0,%al
call   10c0 <print_6@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x18(%rbp),%ecx
sub    $0x63,%ecx
mov    $0x1e,%esi
mov    $0x1a,%edx
mov    $0x0,%al
call   1040 <print_5@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x16(%rbp),%ecx
sub    $0x60,%ecx
mov    $0x12,%esi
mov    $0x22,%edx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x1a(%rbp),%esi
sub    $0x5a,%esi
mov    $0x23,%edx
mov    $0x5,%ecx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x1b(%rbp),%ecx
sub    $0x58,%ecx
mov    $0x18,%esi
mov    $0x21,%edx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0xe,%esi
mov    $0x25,%edx
mov    $0xb,%ecx
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x16(%rbp),%esi
sub    $0x4c,%esi
mov    $0x23,%edx
mov    $0xb,%ecx
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x18(%rbp),%ecx
sub    $0x64,%ecx
mov    $0x1b,%esi
mov    $0x23,%edx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x16(%rbp),%esi
sub    $0x4c,%esi
mov    $0x27,%edx
mov    $0xb,%ecx
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x16(%rbp),%esi
sub    $0x49,%esi
movsbl -0x18(%rbp),%ecx
sub    $0x64,%ecx
mov    $0x23,%edx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x21,%esi
mov    $0x23,%edx
mov    $0x5,%ecx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x17(%rbp),%r8d
sub    $0x6d,%r8d
mov    $0x3c,%esi
mov    $0xc,%edx
mov    $0x5,%ecx
mov    $0x0,%al
call   1080 <print@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x17(%rbp),%eax
mov    $0x6d,%r8d
sub    %eax,%r8d
mov    $0x43,%esi
mov    $0xf,%edx
mov    $0x5,%ecx
mov    $0x0,%al
call   1080 <print@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x16(%rbp),%edx
sub    $0x56,%edx
movsbl -0x18(%rbp),%ecx
sub    $0x63,%ecx
mov    $0x3e,%esi
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x18(%rbp),%ecx
sub    $0x64,%ecx
mov    $0x43,%esi
mov    $0x14,%edx
mov    $0xffffffff,%r8d
mov    $0x0,%al
call   1080 <print@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x14(%rbp),%esi
add    $0x7,%esi
mov    $0x16,%edx
mov    $0xc,%ecx
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x12(%rbp),%esi
add    $0xd,%esi
mov    $0x16,%edx
mov    $0x4,%ecx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x18(%rbp),%ecx
sub    $0x64,%ecx
mov    $0x3c,%esi
mov    $0x1b,%edx
mov    $0x1,%r8d
mov    $0x0,%al
call   1080 <print@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x19(%rbp),%ecx
sub    $0x65,%ecx
mov    $0x3e,%esi
mov    $0x1e,%edx
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x12(%rbp),%ecx
sub    $0x32,%ecx
mov    $0x49,%esi
mov    $0x1b,%edx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x1a(%rbp),%r8d
sub    $0x6e,%r8d
mov    $0x3c,%esi
mov    $0x25,%edx
mov    $0x5,%ecx
mov    $0x0,%al
call   1080 <print@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x3e,%esi
mov    $0x28,%edx
mov    $0xc,%ecx
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x49,%esi
mov    $0x25,%edx
mov    $0x4,%ecx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x3c,%esi
mov    $0x2a,%edx
mov    $0x5,%ecx
mov    $0x1,%r8d
mov    $0x0,%al
call   1080 <print@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x18(%rbp),%ecx
sub    $0x64,%ecx
mov    $0x43,%esi
mov    $0x2d,%edx
mov    $0xffffffff,%r8d
mov    $0x0,%al
call   1080 <print@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x18(%rbp),%ecx
sub    $0x64,%ecx
mov    $0x3c,%esi
mov    $0x2f,%edx
mov    $0x1,%r8d
mov    $0x0,%al
call   1080 <print@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x18(%rbp),%ecx
sub    $0x63,%ecx
mov    $0x3e,%esi
mov    $0x32,%edx
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x3a,%edx
mov    $0xa,%ecx
mov    %edx,%esi
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x17(%rbp),%ecx
sub    $0x64,%ecx
mov    $0x3a,%esi
mov    $0x3b,%edx
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x46,%esi
mov    $0x3a,%edx
mov    $0x2,%ecx
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x46,%esi
mov    $0x3b,%edx
mov    $0x2,%ecx
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x52,%esi
mov    $0x1a,%edx
mov    $0x4,%ecx
mov    $0xffffffff,%r8d
mov    $0x0,%al
call   1080 <print@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x52,%esi
mov    $0x18,%edx
mov    $0x3,%ecx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x50,%esi
mov    $0x18,%edx
mov    $0x4,%ecx
mov    $0x1,%r8d
mov    $0x0,%al
call   1080 <print@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x4e,%esi
mov    $0x1d,%edx
mov    $0x9,%ecx
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x56,%esi
mov    $0x1d,%edx
mov    $0x4,%ecx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x4e,%esi
mov    $0x1d,%edx
mov    $0x4,%ecx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x4e,%esi
mov    $0x20,%edx
mov    $0x9,%ecx
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x4e,%esi
mov    $0x23,%edx
mov    $0x9,%ecx
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x4e,%esi
mov    $0x26,%edx
mov    $0x9,%ecx
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x56,%esi
mov    $0x26,%edx
mov    $0x4,%ecx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x4e,%esi
mov    $0x26,%edx
mov    $0x4,%ecx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x4e,%esi
mov    $0x29,%edx
mov    $0x9,%ecx
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x5a,%esi
mov    $0x28,%edx
mov    $0xa,%ecx
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x5a,%esi
mov    $0x28,%edx
mov    $0x4,%ecx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x5d,%esi
mov    $0x28,%edx
mov    $0x4,%ecx
mov    $0x0,%al
call   1040 <print_5@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x5c,%esi
mov    $0x28,%edx
mov    $0x4,%ecx
mov    $0x0,%al
call   10c0 <print_6@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x62,%esi
mov    $0x28,%edx
mov    $0x4,%ecx
mov    $0x0,%al
call   1040 <print_5@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x5a,%esi
mov    $0x2d,%edx
mov    $0xa,%ecx
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x5a,%esi
mov    $0x2d,%edx
mov    $0x4,%ecx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x5a,%esi
mov    $0x30,%edx
mov    $0xa,%ecx
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x5e,%esi
mov    $0x2d,%edx
mov    $0x4,%ecx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    -0x19f0(%rbp),%rdi
mov    $0x63,%esi
mov    $0x2d,%edx
mov    $0x4,%ecx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x1f(%rbp),%esi
sub    $0x14,%esi
mov    $0x37,%edx
mov    $0x3,%ecx
mov    $0x0,%al
call   10c0 <print_6@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x1b(%rbp),%esi
sub    $0x7,%esi
mov    $0x3a,%edx
mov    $0x4,%ecx
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x1c(%rbp),%ecx
sub    $0x66,%ecx
mov    $0x5d,%esi
mov    $0x3b,%edx
mov    $0x0,%al
call   1040 <print_5@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x1b(%rbp),%edx
sub    $0x2b,%edx
mov    $0x5d,%esi
mov    $0x9,%ecx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x16(%rbp),%edx
sub    $0x32,%edx
mov    $0x63,%esi
mov    $0x5,%ecx
mov    $0x0,%al
call   1040 <print_5@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x18(%rbp),%ecx
sub    $0x63,%ecx
mov    $0x5d,%esi
mov    $0x3b,%edx
mov    $0x0,%al
call   10b0 <print_4@plt>
lea    -0x19f0(%rbp),%rdi
movsbl -0x17(%rbp),%esi
sub    $0xb,%esi
mov    $0x3b,%edx
mov    $0x5,%ecx
mov    $0x0,%al
call   1030 <print_3@plt>
lea    0x4ab(%rip),%rdi
mov    $0x0,%al
call   1060 <printf@plt>
movl   $0x0,-0x19f4(%rbp)
cmpl   $0x64,-0x19f4(%rbp)
jge    1d25 <main+0xb85>
lea    0x48b(%rip),%rdi
mov    $0x0,%al
call   1060 <printf@plt>
movl   $0x0,-0x1a00(%rbp)
cmpl   $0x42,-0x1a00(%rbp)
jge    1d0c <main+0xb6c>
movslq -0x19f4(%rbp),%rcx
lea    -0x19f0(%rbp),%rax
imul   $0x42,%rcx,%rcx
add    %rcx,%rax
movslq -0x1a00(%rbp),%rcx
movsbl (%rax,%rcx,1),%esi
lea    0x43c(%rip),%rdi
mov    $0x0,%al
call   1060 <printf@plt>
mov    -0x1a00(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1a00(%rbp)
jmp    1cbd <main+0xb1d>
jmp    1d11 <main+0xb71>
mov    -0x19f4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x19f4(%rbp)
jmp    1c98 <main+0xaf8>
lea    0x405(%rip),%rdi
mov    $0x0,%al
call   1060 <printf@plt>
jmp    1d46 <main+0xba6>
lea    0x3fa(%rip),%rdi
mov    $0x0,%al
call   1060 <printf@plt>
lea    0x41e(%rip),%rdi
mov    $0x0,%al
call   1060 <printf@plt>
mov    $0x0,%al
call   1090 <getchar@plt>
xor    %eax,%eax
add    $0x1a10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x19f0,%rsp
pxor   %xmm0,%xmm0
movdqu %xmm0,0xa(%rsp)
movdqa %xmm0,(%rsp)
lea    0x20(%rsp),%r15
xor    %ebx,%ebx
mov    $0x19c8,%edx
mov    %r15,%rdi
xor    %esi,%esi
call   1090 <memset@plt>
lea    0xe04(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
lea    0xe16(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
lea    0xe8b(%rip),%rdi
call   1040 <puts@plt>
lea    0xe35(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
lea    0xeac(%rip),%rdi
call   1040 <puts@plt>
lea    0xe42(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %rsp,%r14
mov    %r14,%rdi
xor    %eax,%eax
call   10c0 <gets@plt>
mov    %r14,%rdi
call   1070 <strlen@plt>
lea    0xece(%rip),%r14
test   %eax,%eax
jle    1c33 <main+0xa73>
mov    %eax,%ecx
cmp    $0x8,%rcx
jae    1275 <main+0xb5>
xor    %edx,%edx
jmp    12f0 <main+0x130>
and    $0x7,%eax
mov    %rcx,%rdx
sub    %rax,%rdx
pxor   %xmm0,%xmm0
xor    %esi,%esi
pxor   %xmm1,%xmm1
nopl   0x0(%rax,%rax,1)
movq   (%rsp,%rsi,1),%xmm2
punpcklbw %xmm2,%xmm2
punpcklwd %xmm2,%xmm2
movd   0x4(%rsp,%rsi,1),%xmm3
punpcklbw %xmm3,%xmm3
punpcklwd %xmm3,%xmm3
psrad  $0x18,%xmm2
paddd  %xmm2,%xmm0
psrad  $0x18,%xmm3
paddd  %xmm3,%xmm1
add    $0x8,%rsi
cmp    %rsi,%rdx
jne    1290 <main+0xd0>
paddd  %xmm0,%xmm1
pshufd $0xee,%xmm1,%xmm0
paddd  %xmm1,%xmm0
pshufd $0x55,%xmm0,%xmm1
paddd  %xmm0,%xmm1
movd   %xmm1,%ebx
test   %rax,%rax
je     12ff <main+0x13f>
cs nopw 0x0(%rax,%rax,1)
nop
movsbl (%rsp,%rdx,1),%eax
add    %eax,%ebx
add    $0x1,%rdx
cmp    %rdx,%rcx
jne    12f0 <main+0x130>
cmp    $0x576,%ebx
jne    1c33 <main+0xa73>
movsbl 0xd(%rsp),%esi
add    $0xffffffda,%esi
mov    %r15,%rdi
mov    $0xc,%edx
mov    $0x9,%ecx
xor    %eax,%eax
call   1060 <print_5@plt>
movsbl 0x6(%rsp),%edx
add    $0xffffffa6,%edx
mov    %r15,%rdi
mov    $0x3,%esi
mov    $0x6,%ecx
xor    %eax,%eax
call   1050 <print_3@plt>
movsbl 0x5(%rsp),%ecx
add    $0xffffffa7,%ecx
mov    %r15,%rdi
mov    $0x3,%esi
mov    $0x1b,%edx
xor    %eax,%eax
call   10e0 <print_6@plt>
movsbl 0x8(%rsp),%edx
add    $0xffffffba,%edx
mov    %r15,%rdi
mov    $0xb,%esi
mov    $0x8,%ecx
xor    %eax,%eax
call   1060 <print_5@plt>
movsbl 0x7(%rsp),%edx
add    $0xffffffba,%edx
mov    %r15,%rdi
mov    $0x3,%esi
mov    $0x6,%ecx
xor    %eax,%eax
call   1050 <print_3@plt>
movsbl 0xc(%rsp),%edx
mov    %r15,%rdi
mov    $0x3,%esi
mov    $0x9,%ecx
xor    %eax,%eax
call   10e0 <print_6@plt>
movsbl 0x3(%rsp),%edx
add    $0xffffffc2,%edx
movsbl 0x7(%rsp),%ecx
add    $0xffffff99,%ecx
mov    %r15,%rdi
mov    $0xc,%esi
xor    %eax,%eax
call   10d0 <print_4@plt>
movsbl 0x7(%rsp),%esi
add    $0xffffff9b,%esi
mov    %r15,%rdi
mov    $0xc,%edx
mov    $0xa,%ecx
xor    %eax,%eax
call   10d0 <print_4@plt>
movsbl 0xa(%rsp),%ecx
add    $0xffffffb0,%ecx
mov    %r15,%rdi
mov    $0x16,%esi
mov    $0xc,%edx
xor    %eax,%eax
call   10e0 <print_6@plt>
movsbl 0x8(%rsp),%esi
add    $0xffffffc4,%esi
mov    %r15,%rdi
mov    $0x23,%edx
mov    $0x18,%ecx
xor    %eax,%eax
call   1060 <print_5@plt>
mov    %r15,%rdi
mov    $0xb,%esi
mov    $0xb,%edx
mov    $0xa,%ecx
xor    %eax,%eax
call   1060 <print_5@plt>
movsbl 0x9(%rsp),%esi
add    $0xffffff93,%esi
mov    %r15,%rdi
mov    $0x15,%edx
mov    $0x6,%ecx
xor    %eax,%eax
call   1050 <print_3@plt>
movsbl 0x5(%rsp),%edx
add    $0xffffffba,%edx
mov    %r15,%rdi
mov    $0x1,%esi
mov    $0x8,%ecx
xor    %eax,%eax
call   10e0 <print_6@plt>
movsbl 0x4(%rsp),%edx
add    $0xffffffba,%edx
mov    %r15,%rdi
mov    $0x9,%esi
mov    $0x8,%ecx
xor    %eax,%eax
call   1060 <print_5@plt>
movsbl 0x9(%rsp),%esi
add    $0xffffff93,%esi
mov    %r15,%rdi
mov    $0x2b,%edx
mov    $0x6,%ecx
xor    %eax,%eax
call   1050 <print_3@plt>
movsbl 0x6(%rsp),%ecx
add    $0xffffff9c,%ecx
mov    %r15,%rdi
mov    $0x1,%esi
mov    $0x31,%edx
xor    %eax,%eax
call   10e0 <print_6@plt>
movsbl 0x7(%rsp),%esi
add    $0xffffff9b,%esi
mov    %r15,%rdi
mov    $0x3c,%edx
mov    $0xa,%ecx
xor    %eax,%eax
call   10d0 <print_4@plt>
movsbl 0xa(%rsp),%ecx
add    $0xffffffa3,%ecx
mov    %r15,%rdi
mov    $0xc,%esi
mov    $0xa,%edx
xor    %eax,%eax
call   10d0 <print_4@plt>
movsbl 0xc(%rsp),%esi
add    $0xffffffe5,%esi
mov    %r15,%rdi
mov    $0xa,%edx
mov    $0x19,%ecx
xor    %eax,%eax
call   10e0 <print_6@plt>
movsbl 0x4(%rsp),%edx
add    $0xffffffba,%edx
mov    %r15,%rdi
mov    $0x2f,%esi
mov    $0x1a,%ecx
xor    %eax,%eax
call   1060 <print_5@plt>
mov    %r15,%rdi
mov    $0x10,%esi
mov    $0x1c,%edx
mov    $0x4,%ecx
xor    %eax,%eax
call   10e0 <print_6@plt>
movsbl 0x5(%rsp),%esi
add    $0xffffffb3,%esi
mov    %r15,%rdi
mov    $0x1b,%edx
mov    $0x4,%ecx
xor    %eax,%eax
call   10e0 <print_6@plt>
movsbl 0x8(%rsp),%ecx
add    $0xffffff9d,%ecx
mov    %r15,%rdi
mov    $0x1e,%esi
mov    $0x1a,%edx
xor    %eax,%eax
call   1060 <print_5@plt>
movsbl 0xa(%rsp),%ecx
add    $0xffffffa0,%ecx
mov    %r15,%rdi
mov    $0x12,%esi
mov    $0x22,%edx
xor    %eax,%eax
call   1050 <print_3@plt>
movsbl 0x6(%rsp),%esi
add    $0xffffffa6,%esi
mov    %r15,%rdi
mov    $0x23,%edx
mov    $0x5,%ecx
xor    %eax,%eax
call   1050 <print_3@plt>
movsbl 0x5(%rsp),%ecx
add    $0xffffffa8,%ecx
mov    %r15,%rdi
mov    $0x18,%esi
mov    $0x21,%edx
xor    %eax,%eax
call   1050 <print_3@plt>
mov    %r15,%rdi
mov    $0xe,%esi
mov    $0x25,%edx
mov    $0xb,%ecx
xor    %eax,%eax
call   10d0 <print_4@plt>
movsbl 0xa(%rsp),%esi
add    $0xffffffb4,%esi
mov    %r15,%rdi
mov    $0x23,%edx
mov    $0xb,%ecx
xor    %eax,%eax
call   10d0 <print_4@plt>
movsbl 0x8(%rsp),%ecx
add    $0xffffff9c,%ecx
mov    %r15,%rdi
mov    $0x1b,%esi
mov    $0x23,%edx
xor    %eax,%eax
call   1050 <print_3@plt>
movsbl 0xa(%rsp),%esi
add    $0xffffffb4,%esi
mov    %r15,%rdi
mov    $0x27,%edx
mov    $0xb,%ecx
xor    %eax,%eax
call   10d0 <print_4@plt>
movsbl 0xa(%rsp),%esi
add    $0xffffffb7,%esi
movsbl 0x8(%rsp),%ecx
add    $0xffffff9c,%ecx
mov    %r15,%rdi
mov    $0x23,%edx
xor    %eax,%eax
call   1050 <print_3@plt>
mov    %r15,%rdi
mov    $0x21,%esi
mov    $0x23,%edx
mov    $0x5,%ecx
xor    %eax,%eax
call   1050 <print_3@plt>
movsbl 0x9(%rsp),%r8d
add    $0xffffff93,%r8d
mov    %r15,%rdi
mov    $0x3c,%esi
mov    $0xc,%edx
mov    $0x5,%ecx
xor    %eax,%eax
call   10a0 <print@plt>
movsbl 0x9(%rsp),%eax
mov    $0x6d,%r8d
sub    %eax,%r8d
mov    %r15,%rdi
mov    $0x43,%esi
mov    $0xf,%edx
mov    $0x5,%ecx
xor    %eax,%eax
call   10a0 <print@plt>
movsbl 0xa(%rsp),%edx
add    $0xffffffaa,%edx
movsbl 0x8(%rsp),%ecx
add    $0xffffff9d,%ecx
mov    %r15,%rdi
mov    $0x3e,%esi
xor    %eax,%eax
call   10d0 <print_4@plt>
movsbl 0x8(%rsp),%ecx
add    $0xffffff9c,%ecx
mov    %r15,%rdi
mov    $0x43,%esi
mov    $0x14,%edx
mov    $0xffffffff,%r8d
xor    %eax,%eax
call   10a0 <print@plt>
movsbl 0xc(%rsp),%esi
add    $0x7,%esi
mov    %r15,%rdi
mov    $0x16,%edx
mov    $0xc,%ecx
xor    %eax,%eax
call   10d0 <print_4@plt>
movsbl 0xe(%rsp),%esi
add    $0xd,%esi
mov    %r15,%rdi
mov    $0x16,%edx
mov    $0x4,%ecx
xor    %eax,%eax
call   1050 <print_3@plt>
movsbl 0x8(%rsp),%ecx
add    $0xffffff9c,%ecx
mov    %r15,%rdi
mov    $0x3c,%esi
mov    $0x1b,%edx
mov    $0x1,%r8d
xor    %eax,%eax
call   10a0 <print@plt>
movsbl 0x7(%rsp),%ecx
add    $0xffffff9b,%ecx
mov    %r15,%rdi
mov    $0x3e,%esi
mov    $0x1e,%edx
xor    %eax,%eax
call   10d0 <print_4@plt>
movsbl 0xe(%rsp),%ecx
add    $0xffffffce,%ecx
mov    %r15,%rdi
mov    $0x49,%esi
mov    $0x1b,%edx
xor    %eax,%eax
call   1050 <print_3@plt>
movsbl 0x6(%rsp),%r8d
add    $0xffffff92,%r8d
mov    %r15,%rdi
mov    $0x3c,%esi
mov    $0x25,%edx
mov    $0x5,%ecx
xor    %eax,%eax
call   10a0 <print@plt>
mov    %r15,%rdi
mov    $0x3e,%esi
mov    $0x28,%edx
mov    $0xc,%ecx
xor    %eax,%eax
call   10d0 <print_4@plt>
mov    %r15,%rdi
mov    $0x49,%esi
mov    $0x25,%edx
mov    $0x4,%ecx
xor    %eax,%eax
call   1050 <print_3@plt>
mov    %r15,%rdi
mov    $0x3c,%esi
mov    $0x2a,%edx
mov    $0x5,%ecx
mov    $0x1,%r8d
xor    %eax,%eax
call   10a0 <print@plt>
movsbl 0x8(%rsp),%ecx
add    $0xffffff9c,%ecx
mov    %r15,%rdi
mov    $0x43,%esi
mov    $0x2d,%edx
mov    $0xffffffff,%r8d
xor    %eax,%eax
call   10a0 <print@plt>
movsbl 0x8(%rsp),%ecx
add    $0xffffff9c,%ecx
mov    %r15,%rdi
mov    $0x3c,%esi
mov    $0x2f,%edx
mov    $0x1,%r8d
xor    %eax,%eax
call   10a0 <print@plt>
movsbl 0x8(%rsp),%ecx
add    $0xffffff9d,%ecx
mov    %r15,%rdi
mov    $0x3e,%esi
mov    $0x32,%edx
xor    %eax,%eax
call   10d0 <print_4@plt>
mov    %r15,%rdi
mov    $0x3a,%esi
mov    $0x3a,%edx
mov    $0xa,%ecx
xor    %eax,%eax
call   10d0 <print_4@plt>
movsbl 0x9(%rsp),%ecx
add    $0xffffff9c,%ecx
mov    %r15,%rdi
mov    $0x3a,%esi
mov    $0x3b,%edx
xor    %eax,%eax
call   10d0 <print_4@plt>
mov    %r15,%rdi
mov    $0x46,%esi
mov    $0x3a,%edx
mov    $0x2,%ecx
xor    %eax,%eax
call   10d0 <print_4@plt>
mov    %r15,%rdi
mov    $0x46,%esi
mov    $0x3b,%edx
mov    $0x2,%ecx
xor    %eax,%eax
call   10d0 <print_4@plt>
mov    %r15,%rdi
mov    $0x52,%esi
mov    $0x1a,%edx
mov    $0x4,%ecx
mov    $0xffffffff,%r8d
xor    %eax,%eax
call   10a0 <print@plt>
mov    %r15,%rdi
mov    $0x52,%esi
mov    $0x18,%edx
mov    $0x3,%ecx
xor    %eax,%eax
call   1050 <print_3@plt>
mov    %r15,%rdi
mov    $0x50,%esi
mov    $0x18,%edx
mov    $0x4,%ecx
mov    $0x1,%r8d
xor    %eax,%eax
call   10a0 <print@plt>
mov    %r15,%rdi
mov    $0x4e,%esi
mov    $0x1d,%edx
mov    $0x9,%ecx
xor    %eax,%eax
call   10d0 <print_4@plt>
mov    %r15,%rdi
mov    $0x56,%esi
mov    $0x1d,%edx
mov    $0x4,%ecx
xor    %eax,%eax
call   1050 <print_3@plt>
mov    %r15,%rdi
mov    $0x4e,%esi
mov    $0x1d,%edx
mov    $0x4,%ecx
xor    %eax,%eax
call   1050 <print_3@plt>
mov    %r15,%rdi
mov    $0x4e,%esi
mov    $0x20,%edx
mov    $0x9,%ecx
xor    %eax,%eax
call   10d0 <print_4@plt>
mov    %r15,%rdi
mov    $0x4e,%esi
mov    $0x23,%edx
mov    $0x9,%ecx
xor    %eax,%eax
call   10d0 <print_4@plt>
mov    %r15,%rdi
mov    $0x4e,%esi
mov    $0x26,%edx
mov    $0x9,%ecx
xor    %eax,%eax
call   10d0 <print_4@plt>
mov    %r15,%rdi
mov    $0x56,%esi
mov    $0x26,%edx
mov    $0x4,%ecx
xor    %eax,%eax
call   1050 <print_3@plt>
mov    %r15,%rdi
mov    $0x4e,%esi
mov    $0x26,%edx
mov    $0x4,%ecx
xor    %eax,%eax
call   1050 <print_3@plt>
mov    %r15,%rdi
mov    $0x4e,%esi
mov    $0x29,%edx
mov    $0x9,%ecx
xor    %eax,%eax
call   10d0 <print_4@plt>
mov    %r15,%rdi
mov    $0x5a,%esi
mov    $0x28,%edx
mov    $0xa,%ecx
xor    %eax,%eax
call   10d0 <print_4@plt>
mov    %r15,%rdi
mov    $0x5a,%esi
mov    $0x28,%edx
mov    $0x4,%ecx
xor    %eax,%eax
call   1050 <print_3@plt>
mov    %r15,%rdi
mov    $0x5d,%esi
mov    $0x28,%edx
mov    $0x4,%ecx
xor    %eax,%eax
call   1060 <print_5@plt>
mov    %r15,%rdi
mov    $0x5c,%esi
mov    $0x28,%edx
mov    $0x4,%ecx
xor    %eax,%eax
call   10e0 <print_6@plt>
mov    %r15,%rdi
mov    $0x62,%esi
mov    $0x28,%edx
mov    $0x4,%ecx
xor    %eax,%eax
call   1060 <print_5@plt>
mov    %r15,%rdi
mov    $0x5a,%esi
mov    $0x2d,%edx
mov    $0xa,%ecx
xor    %eax,%eax
call   10d0 <print_4@plt>
mov    %r15,%rdi
mov    $0x5a,%esi
mov    $0x2d,%edx
mov    $0x4,%ecx
xor    %eax,%eax
call   1050 <print_3@plt>
mov    %r15,%rdi
mov    $0x5a,%esi
mov    $0x30,%edx
mov    $0xa,%ecx
xor    %eax,%eax
call   10d0 <print_4@plt>
mov    %r15,%rdi
mov    $0x5e,%esi
mov    $0x2d,%edx
mov    $0x4,%ecx
xor    %eax,%eax
call   1050 <print_3@plt>
mov    %r15,%rdi
mov    $0x63,%esi
mov    $0x2d,%edx
mov    $0x4,%ecx
xor    %eax,%eax
call   1050 <print_3@plt>
movsbl 0x1(%rsp),%esi
add    $0xffffffec,%esi
mov    %r15,%rdi
mov    $0x37,%edx
mov    $0x3,%ecx
xor    %eax,%eax
call   10e0 <print_6@plt>
movsbl 0x5(%rsp),%esi
add    $0xfffffff9,%esi
mov    %r15,%rdi
mov    $0x3a,%edx
mov    $0x4,%ecx
xor    %eax,%eax
call   10d0 <print_4@plt>
movsbl 0x4(%rsp),%ecx
add    $0xffffff9a,%ecx
mov    %r15,%rdi
mov    $0x5d,%esi
mov    $0x3b,%edx
xor    %eax,%eax
call   1060 <print_5@plt>
movsbl 0x5(%rsp),%edx
add    $0xffffffd5,%edx
mov    %r15,%rdi
mov    $0x5d,%esi
mov    $0x9,%ecx
xor    %eax,%eax
call   1050 <print_3@plt>
movsbl 0xa(%rsp),%edx
add    $0xffffffce,%edx
mov    %r15,%rdi
mov    $0x63,%esi
mov    $0x5,%ecx
xor    %eax,%eax
call   1060 <print_5@plt>
movsbl 0x8(%rsp),%ecx
add    $0xffffff9d,%ecx
mov    %r15,%rdi
mov    $0x5d,%esi
mov    $0x3b,%edx
xor    %eax,%eax
call   10d0 <print_4@plt>
movsbl 0x9(%rsp),%esi
add    $0xfffffff5,%esi
mov    %r15,%rdi
mov    $0x3b,%edx
mov    $0x5,%ecx
xor    %eax,%eax
call   1050 <print_3@plt>
lea    0x5b8(%rip),%rdi
call   1040 <puts@plt>
lea    0x4bc(%rip),%r13
lea    0x5a4(%rip),%r14
xor    %r12d,%r12d
nopl   (%rax)
mov    $0xa,%edi
call   1030 <putchar@plt>
mov    $0xffffffffffffffbe,%rbx
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
movsbl 0x42(%r15,%rbx,1),%esi
mov    %r13,%rdi
xor    %eax,%eax
call   1080 <printf@plt>
inc    %rbx
jne    1c10 <main+0xa50>
add    $0x1,%r12
add    $0x42,%r15
cmp    $0x64,%r12
jne    1bf0 <main+0xa30>
mov    %r14,%rdi
call   1040 <puts@plt>
lea    0x51e(%rip),%rdi
call   1040 <puts@plt>
xor    %eax,%eax
call   10b0 <getchar@plt>
xor    %eax,%eax
add    $0x19f0,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
ret

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

LLVM IR (-O2):
@.str = [32 x i8] c"\0A\09\09\09Specially writting for you \00"
@.str.1 = [57 x i8] c"\0A\0A\0A\09@. The result has been encrypted by using ASCII;\0A\0A\09 \00"
@.str.3 = [39 x i8] c"\09\09(just for example : huzhenyang0520);\00"
@.str.5 = [31 x i8] c"\09 Now enter your password :\09\00"
@.str.8 = [4 x i8] c"%2c\00"
@str = [59 x i8] c"Enter your name and the last four numbers of your birthday\00"
@str.12 = [81 x i8] c"\0A\0A\09@. In order to see clear ,modify the width of the output window: width 156. \0A\00"
@str.13 = [49 x i8] c"\0A\0A\09 Sorry ! This is not writting for you ......\0A\00"
@str.14 = [46 x i8] c"\0A\0A\0A\09\09\09 \E9\98\B3\E5\85\89boy \E5\8E\9F\E5\88\9B \EF\BC\88*^_^*\EF\BC\89\EF\BC\81\EF\BC\81\EF\BC\81\0A\00"
@str.15 = [6 x i8] c"\0A\0A\0A\0A\0A\00"
@str.16 = [7 x i8] c"\0A\0A\0A\0A\0A\0A\00"
define i32 @main() {
%1 = alloca [26 x i8]
%2 = alloca [100 x [66 x i8]]
%3 = getelementptr inbounds [26 x i8], [26 x i8]* %1, i64 0, i64 0
%4 = getelementptr inbounds [100 x [66 x i8]], [100 x [66 x i8]]* %2, i64 0, i64 0, i64 0
%5 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str, i64 0, i64 0))
%6 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([57 x i8], [57 x i8]* @.str.1, i64 0, i64 0))
%7 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([59 x i8], [59 x i8]* @str, i64 0, i64 0))
%8 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([39 x i8], [39 x i8]* @.str.3, i64 0, i64 0))
%9 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([81 x i8], [81 x i8]* @str.12, i64 0, i64 0))
%10 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([31 x i8], [31 x i8]* @.str.5, i64 0, i64 0))
%11 = call i32 (i8*, ...) bitcast (i32 (...)* @gets to i32 (i8*, ...)*)(i8* %3)
%12 = call i64 @strlen(i8* %3)
%13 = trunc i64 %12 to i32
%14 = icmp sgt i32 %13, 0
br i1 %14, label %15, label %321
15: ; preds = %0
%16 = and i64 %12, 4294967295
%17 = icmp ult i64 %16, 8
br i1 %17, label %41, label %18
18: ; preds = %15
%19 = and i64 %12, 7
%20 = sub nsw i64 %16, %19
br label %21
21: ; preds = %21, %18
%22 = phi i64 [ 0, %18 ], [ %35, %21 ]
%23 = phi <4 x i32> [ zeroinitializer, %18 ], [ %33, %21 ]
%24 = phi <4 x i32> [ zeroinitializer, %18 ], [ %34, %21 ]
%25 = getelementptr inbounds [26 x i8], [26 x i8]* %1, i64 0, i64 %22
%26 = bitcast i8* %25 to <4 x i8>*
%27 = load <4 x i8>, <4 x i8>* %26
%28 = getelementptr inbounds i8, i8* %25, i64 4
%29 = bitcast i8* %28 to <4 x i8>*
%30 = load <4 x i8>, <4 x i8>* %29
%31 = sext <4 x i8> %27 to <4 x i32>
%32 = sext <4 x i8> %30 to <4 x i32>
%33 = add <4 x i32> %23, %31
%34 = add <4 x i32> %24, %32
%35 = add nuw i64 %22, 8
%36 = icmp eq i64 %35, %20
br i1 %36, label %37, label %21
37: ; preds = %21
%38 = add <4 x i32> %34, %33
%39 = call i32 @llvm.vector.reduce.add.v4i32(<4 x i32> %38)
%40 = icmp eq i64 %19, 0
br i1 %40, label %53, label %41
41: ; preds = %15, %37
%42 = phi i64 [ 0, %15 ], [ %20, %37 ]
%43 = phi i32 [ 0, %15 ], [ %39, %37 ]
br label %44
44: ; preds = %41, %44
%45 = phi i64 [ %51, %44 ], [ %42, %41 ]
%46 = phi i32 [ %50, %44 ], [ %43, %41 ]
%47 = getelementptr inbounds [26 x i8], [26 x i8]* %1, i64 0, i64 %45
%48 = load i8, i8* %47
%49 = sext i8 %48 to i32
%50 = add nsw i32 %46, %49
%51 = add nuw nsw i64 %45, 1
%52 = icmp eq i64 %51, %16
br i1 %52, label %53, label %44
53: ; preds = %44, %37
%54 = phi i32 [ %39, %37 ], [ %50, %44 ]
%55 = icmp eq i32 %54, 1398
br i1 %55, label %56, label %321
56: ; preds = %53
%57 = getelementptr inbounds [100 x [66 x i8]], [100 x [66 x i8]]* %2, i64 0, i64 0
%58 = getelementptr inbounds [26 x i8], [26 x i8]* %1, i64 0, i64 13
%59 = load i8, i8* %58
%60 = sext i8 %59 to i32
%61 = add nsw i32 %60, -38
%62 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_5 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 %61, i32 12, i32 9)
%63 = getelementptr inbounds [26 x i8], [26 x i8]* %1, i64 0, i64 6
%64 = load i8, i8* %63
%65 = sext i8 %64 to i32
%66 = add nsw i32 %65, -90
%67 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 3, i32 %66, i32 6)
%68 = getelementptr inbounds [26 x i8], [26 x i8]* %1, i64 0, i64 5
%69 = load i8, i8* %68
%70 = sext i8 %69 to i32
%71 = add nsw i32 %70, -89
%72 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_6 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 3, i32 27, i32 %71)
%73 = getelementptr inbounds [26 x i8], [26 x i8]* %1, i64 0, i64 8
%74 = load i8, i8* %73
%75 = sext i8 %74 to i32
%76 = add nsw i32 %75, -70
%77 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_5 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 11, i32 %76, i32 8)
%78 = getelementptr inbounds [26 x i8], [26 x i8]* %1, i64 0, i64 7
%79 = load i8, i8* %78
%80 = sext i8 %79 to i32
%81 = add nsw i32 %80, -70
%82 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 3, i32 %81, i32 6)
%83 = getelementptr inbounds [26 x i8], [26 x i8]* %1, i64 0, i64 12
%84 = load i8, i8* %83
%85 = sext i8 %84 to i32
%86 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_6 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 3, i32 %85, i32 9)
%87 = getelementptr inbounds [26 x i8], [26 x i8]* %1, i64 0, i64 3
%88 = load i8, i8* %87
%89 = sext i8 %88 to i32
%90 = add nsw i32 %89, -62
%91 = load i8, i8* %78
%92 = sext i8 %91 to i32
%93 = add nsw i32 %92, -103
%94 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 12, i32 %90, i32 %93)
%95 = load i8, i8* %78
%96 = sext i8 %95 to i32
%97 = add nsw i32 %96, -101
%98 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 %97, i32 12, i32 10)
%99 = getelementptr inbounds [26 x i8], [26 x i8]* %1, i64 0, i64 10
%100 = load i8, i8* %99
%101 = sext i8 %100 to i32
%102 = add nsw i32 %101, -80
%103 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_6 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 22, i32 12, i32 %102)
%104 = load i8, i8* %73
%105 = sext i8 %104 to i32
%106 = add nsw i32 %105, -60
%107 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_5 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 %106, i32 35, i32 24)
%108 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_5 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 11, i32 11, i32 10)
%109 = getelementptr inbounds [26 x i8], [26 x i8]* %1, i64 0, i64 9
%110 = load i8, i8* %109
%111 = sext i8 %110 to i32
%112 = add nsw i32 %111, -109
%113 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 %112, i32 21, i32 6)
%114 = load i8, i8* %68
%115 = sext i8 %114 to i32
%116 = add nsw i32 %115, -70
%117 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_6 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 1, i32 %116, i32 8)
%118 = getelementptr inbounds [26 x i8], [26 x i8]* %1, i64 0, i64 4
%119 = load i8, i8* %118
%120 = sext i8 %119 to i32
%121 = add nsw i32 %120, -70
%122 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_5 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 9, i32 %121, i32 8)
%123 = load i8, i8* %109
%124 = sext i8 %123 to i32
%125 = add nsw i32 %124, -109
%126 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 %125, i32 43, i32 6)
%127 = load i8, i8* %63
%128 = sext i8 %127 to i32
%129 = add nsw i32 %128, -100
%130 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_6 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 1, i32 49, i32 %129)
%131 = load i8, i8* %78
%132 = sext i8 %131 to i32
%133 = add nsw i32 %132, -101
%134 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 %133, i32 60, i32 10)
%135 = load i8, i8* %99
%136 = sext i8 %135 to i32
%137 = add nsw i32 %136, -93
%138 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 12, i32 10, i32 %137)
%139 = load i8, i8* %83
%140 = sext i8 %139 to i32
%141 = add nsw i32 %140, -27
%142 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_6 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 %141, i32 10, i32 25)
%143 = load i8, i8* %118
%144 = sext i8 %143 to i32
%145 = add nsw i32 %144, -70
%146 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_5 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 47, i32 %145, i32 26)
%147 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_6 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 16, i32 28, i32 4)
%148 = load i8, i8* %68
%149 = sext i8 %148 to i32
%150 = add nsw i32 %149, -77
%151 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_6 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 %150, i32 27, i32 4)
%152 = load i8, i8* %73
%153 = sext i8 %152 to i32
%154 = add nsw i32 %153, -99
%155 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_5 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 30, i32 26, i32 %154)
%156 = load i8, i8* %99
%157 = sext i8 %156 to i32
%158 = add nsw i32 %157, -96
%159 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 18, i32 34, i32 %158)
%160 = load i8, i8* %63
%161 = sext i8 %160 to i32
%162 = add nsw i32 %161, -90
%163 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 %162, i32 35, i32 5)
%164 = load i8, i8* %68
%165 = sext i8 %164 to i32
%166 = add nsw i32 %165, -88
%167 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 24, i32 33, i32 %166)
%168 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 14, i32 37, i32 11)
%169 = load i8, i8* %99
%170 = sext i8 %169 to i32
%171 = add nsw i32 %170, -76
%172 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 %171, i32 35, i32 11)
%173 = load i8, i8* %73
%174 = sext i8 %173 to i32
%175 = add nsw i32 %174, -100
%176 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 27, i32 35, i32 %175)
%177 = load i8, i8* %99
%178 = sext i8 %177 to i32
%179 = add nsw i32 %178, -76
%180 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 %179, i32 39, i32 11)
%181 = load i8, i8* %99
%182 = sext i8 %181 to i32
%183 = add nsw i32 %182, -73
%184 = load i8, i8* %73
%185 = sext i8 %184 to i32
%186 = add nsw i32 %185, -100
%187 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 %183, i32 35, i32 %186)
%188 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 33, i32 35, i32 5)
%189 = load i8, i8* %109
%190 = sext i8 %189 to i32
%191 = add nsw i32 %190, -109
%192 = call i32 ([66 x i8]*, i32, i32, i32, i32, ...) bitcast (i32 (...)* @print to i32 ([66 x i8]*, i32, i32, i32, i32, ...)*)([66 x i8]* %57, i32 60, i32 12, i32 5, i32 %191)
%193 = load i8, i8* %109
%194 = sext i8 %193 to i32
%195 = sub nsw i32 109, %194
%196 = call i32 ([66 x i8]*, i32, i32, i32, i32, ...) bitcast (i32 (...)* @print to i32 ([66 x i8]*, i32, i32, i32, i32, ...)*)([66 x i8]* %57, i32 67, i32 15, i32 5, i32 %195)
%197 = load i8, i8* %99
%198 = sext i8 %197 to i32
%199 = add nsw i32 %198, -86
%200 = load i8, i8* %73
%201 = sext i8 %200 to i32
%202 = add nsw i32 %201, -99
%203 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 62, i32 %199, i32 %202)
%204 = load i8, i8* %73
%205 = sext i8 %204 to i32
%206 = add nsw i32 %205, -100
%207 = call i32 ([66 x i8]*, i32, i32, i32, i32, ...) bitcast (i32 (...)* @print to i32 ([66 x i8]*, i32, i32, i32, i32, ...)*)([66 x i8]* %57, i32 67, i32 20, i32 %206, i32 -1)
%208 = load i8, i8* %83
%209 = sext i8 %208 to i32
%210 = add nsw i32 %209, 7
%211 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 %210, i32 22, i32 12)
%212 = getelementptr inbounds [26 x i8], [26 x i8]* %1, i64 0, i64 14
%213 = load i8, i8* %212
%214 = sext i8 %213 to i32
%215 = add nsw i32 %214, 13
%216 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 %215, i32 22, i32 4)
%217 = load i8, i8* %73
%218 = sext i8 %217 to i32
%219 = add nsw i32 %218, -100
%220 = call i32 ([66 x i8]*, i32, i32, i32, i32, ...) bitcast (i32 (...)* @print to i32 ([66 x i8]*, i32, i32, i32, i32, ...)*)([66 x i8]* %57, i32 60, i32 27, i32 %219, i32 1)
%221 = load i8, i8* %78
%222 = sext i8 %221 to i32
%223 = add nsw i32 %222, -101
%224 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 62, i32 30, i32 %223)
%225 = load i8, i8* %212
%226 = sext i8 %225 to i32
%227 = add nsw i32 %226, -50
%228 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 73, i32 27, i32 %227)
%229 = load i8, i8* %63
%230 = sext i8 %229 to i32
%231 = add nsw i32 %230, -110
%232 = call i32 ([66 x i8]*, i32, i32, i32, i32, ...) bitcast (i32 (...)* @print to i32 ([66 x i8]*, i32, i32, i32, i32, ...)*)([66 x i8]* %57, i32 60, i32 37, i32 5, i32 %231)
%233 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 62, i32 40, i32 12)
%234 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 73, i32 37, i32 4)
%235 = call i32 ([66 x i8]*, i32, i32, i32, i32, ...) bitcast (i32 (...)* @print to i32 ([66 x i8]*, i32, i32, i32, i32, ...)*)([66 x i8]* %57, i32 60, i32 42, i32 5, i32 1)
%236 = load i8, i8* %73
%237 = sext i8 %236 to i32
%238 = add nsw i32 %237, -100
%239 = call i32 ([66 x i8]*, i32, i32, i32, i32, ...) bitcast (i32 (...)* @print to i32 ([66 x i8]*, i32, i32, i32, i32, ...)*)([66 x i8]* %57, i32 67, i32 45, i32 %238, i32 -1)
%240 = load i8, i8* %73
%241 = sext i8 %240 to i32
%242 = add nsw i32 %241, -100
%243 = call i32 ([66 x i8]*, i32, i32, i32, i32, ...) bitcast (i32 (...)* @print to i32 ([66 x i8]*, i32, i32, i32, i32, ...)*)([66 x i8]* %57, i32 60, i32 47, i32 %242, i32 1)
%244 = load i8, i8* %73
%245 = sext i8 %244 to i32
%246 = add nsw i32 %245, -99
%247 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 62, i32 50, i32 %246)
%248 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 58, i32 58, i32 10)
%249 = load i8, i8* %109
%250 = sext i8 %249 to i32
%251 = add nsw i32 %250, -100
%252 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 58, i32 59, i32 %251)
%253 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 70, i32 58, i32 2)
%254 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 70, i32 59, i32 2)
%255 = call i32 ([66 x i8]*, i32, i32, i32, i32, ...) bitcast (i32 (...)* @print to i32 ([66 x i8]*, i32, i32, i32, i32, ...)*)([66 x i8]* %57, i32 82, i32 26, i32 4, i32 -1)
%256 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 82, i32 24, i32 3)
%257 = call i32 ([66 x i8]*, i32, i32, i32, i32, ...) bitcast (i32 (...)* @print to i32 ([66 x i8]*, i32, i32, i32, i32, ...)*)([66 x i8]* %57, i32 80, i32 24, i32 4, i32 1)
%258 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 78, i32 29, i32 9)
%259 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 86, i32 29, i32 4)
%260 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 78, i32 29, i32 4)
%261 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 78, i32 32, i32 9)
%262 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 78, i32 35, i32 9)
%263 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 78, i32 38, i32 9)
%264 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 86, i32 38, i32 4)
%265 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 78, i32 38, i32 4)
%266 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 78, i32 41, i32 9)
%267 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 90, i32 40, i32 10)
%268 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 90, i32 40, i32 4)
%269 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_5 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 93, i32 40, i32 4)
%270 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_6 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 92, i32 40, i32 4)
%271 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_5 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 98, i32 40, i32 4)
%272 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 90, i32 45, i32 10)
%273 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 90, i32 45, i32 4)
%274 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 90, i32 48, i32 10)
%275 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 94, i32 45, i32 4)
%276 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 99, i32 45, i32 4)
%277 = getelementptr inbounds [26 x i8], [26 x i8]* %1, i64 0, i64 1
%278 = load i8, i8* %277
%279 = sext i8 %278 to i32
%280 = add nsw i32 %279, -20
%281 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_6 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 %280, i32 55, i32 3)
%282 = load i8, i8* %68
%283 = sext i8 %282 to i32
%284 = add nsw i32 %283, -7
%285 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 %284, i32 58, i32 4)
%286 = load i8, i8* %118
%287 = sext i8 %286 to i32
%288 = add nsw i32 %287, -102
%289 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_5 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 93, i32 59, i32 %288)
%290 = load i8, i8* %68
%291 = sext i8 %290 to i32
%292 = add nsw i32 %291, -43
%293 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 93, i32 %292, i32 9)
%294 = load i8, i8* %99
%295 = sext i8 %294 to i32
%296 = add nsw i32 %295, -50
%297 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_5 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 99, i32 %296, i32 5)
%298 = load i8, i8* %73
%299 = sext i8 %298 to i32
%300 = add nsw i32 %299, -99
%301 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_4 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 93, i32 59, i32 %300)
%302 = load i8, i8* %109
%303 = sext i8 %302 to i32
%304 = add nsw i32 %303, -11
%305 = call i32 ([66 x i8]*, i32, i32, i32, ...) bitcast (i32 (...)* @print_3 to i32 ([66 x i8]*, i32, i32, i32, ...)*)([66 x i8]* %57, i32 %304, i32 59, i32 5)
%306 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([6 x i8], [6 x i8]* @str.15, i64 0, i64 0))
br label %307
307: ; preds = %56, %318
%308 = phi i64 [ 0, %56 ], [ %319, %318 ]
%309 = call i32 @putchar(i32 10)
br label %310
310: ; preds = %307, %310
%311 = phi i64 [ 0, %307 ], [ %316, %310 ]
%312 = getelementptr inbounds [100 x [66 x i8]], [100 x [66 x i8]]* %2, i64 0, i64 %308, i64 %311
%313 = load i8, i8* %312
%314 = sext i8 %313 to i32
%315 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @.str.8, i64 0, i64 0), i32 %314)
%316 = add nuw nsw i64 %311, 1
%317 = icmp eq i64 %316, 66
br i1 %317, label %318, label %310
318: ; preds = %310
%319 = add nuw nsw i64 %308, 1
%320 = icmp eq i64 %319, 100
br i1 %320, label %321, label %307
321: ; preds = %318, %53, %0
%322 = phi i8* [ getelementptr inbounds ([49 x i8], [49 x i8]* @str.13, i64 0, i64 0), %0 ], [ getelementptr inbounds ([49 x i8], [49 x i8]* @str.13, i64 0, i64 0), %53 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @str.16, i64 0, i64 0), %318 ]
%323 = call i32 @puts(i8* dereferenceable(1) %322)
%324 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([46 x i8], [46 x i8]* @str.14, i64 0, i64 0))
%325 = call i32 (...) @getchar()
ret i32 0
}