#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ fgets(char *, int, int /*<<< orphan*/);
int /*<<< orphan*/ printf(char *, char);
int /*<<< orphan*/ stdin;
int main() {
  int i, j;
  char c;
  char s[15];
  fgets(s, 14, stdin);
  for (i = 0; i < 13; i++) {
    if (s[i] == 'A')
      s[i] = 'Z';
    if (s[i] == 'K')
      s[i] = 'Y';
    if (s[i] == 'Q')
      s[i] = 'X';
    if (s[i] == 'J')
      s[i] = 'W';
    if (s[i] == 'T')
      s[i] = 'V';
  }
  for (i = 0; i < 12; i++)
    for (j = i + 1; j < 13; j++)
      if (s[i] > s[j]) {
        c = s[i];
        s[i] = s[j];
        s[j] = c;
      }
  for (i = 0; i < 13; i++) {
    if (s[i] == 'Z')
      s[i] = 'A';
    if (s[i] == 'Y')
      s[i] = 'K';
    if (s[i] == 'X')
      s[i] = 'Q';
    if (s[i] == 'W')
      s[i] = 'J';
    if (s[i] == 'V')
      s[i] = 'T';
  }
  for (i = 0; i < 13; i++)
    printf("%c", s[i]);
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
movl   $0x0,-0x4(%rbp)
lea    -0x1c(%rbp),%rdi
mov    0x2eae(%rip),%rax
mov    (%rax),%edx
mov    $0xe,%esi
call   1040 <fgets@plt>
movl   $0x0,-0x8(%rbp)
cmpl   $0xd,-0x8(%rbp)
jge    11f1 <main+0xd1>
movslq -0x8(%rbp),%rax
movsbl -0x1c(%rbp,%rax,1),%eax
cmp    $0x41,%eax
jne    1172 <main+0x52>
movslq -0x8(%rbp),%rax
movb   $0x5a,-0x1c(%rbp,%rax,1)
movslq -0x8(%rbp),%rax
movsbl -0x1c(%rbp,%rax,1),%eax
cmp    $0x4b,%eax
jne    118d <main+0x6d>
movslq -0x8(%rbp),%rax
movb   $0x59,-0x1c(%rbp,%rax,1)
movslq -0x8(%rbp),%rax
movsbl -0x1c(%rbp,%rax,1),%eax
cmp    $0x51,%eax
jne    11a8 <main+0x88>
movslq -0x8(%rbp),%rax
movb   $0x58,-0x1c(%rbp,%rax,1)
movslq -0x8(%rbp),%rax
movsbl -0x1c(%rbp,%rax,1),%eax
cmp    $0x4a,%eax
jne    11c3 <main+0xa3>
movslq -0x8(%rbp),%rax
movb   $0x57,-0x1c(%rbp,%rax,1)
movslq -0x8(%rbp),%rax
movsbl -0x1c(%rbp,%rax,1),%eax
cmp    $0x54,%eax
jne    11de <main+0xbe>
movslq -0x8(%rbp),%rax
movb   $0x56,-0x1c(%rbp,%rax,1)
jmp    11e3 <main+0xc3>
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    114d <main+0x2d>
movl   $0x0,-0x8(%rbp)
cmpl   $0xc,-0x8(%rbp)
jge    127b <main+0x15b>
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
cmpl   $0xd,-0xc(%rbp)
jge    1268 <main+0x148>
movslq -0x8(%rbp),%rax
movsbl -0x1c(%rbp,%rax,1),%eax
movslq -0xc(%rbp),%rcx
movsbl -0x1c(%rbp,%rcx,1),%ecx
cmp    %ecx,%eax
jle    1255 <main+0x135>
movslq -0x8(%rbp),%rax
mov    -0x1c(%rbp,%rax,1),%al
mov    %al,-0xd(%rbp)
movslq -0xc(%rbp),%rax
mov    -0x1c(%rbp,%rax,1),%cl
movslq -0x8(%rbp),%rax
mov    %cl,-0x1c(%rbp,%rax,1)
mov    -0xd(%rbp),%cl
movslq -0xc(%rbp),%rax
mov    %cl,-0x1c(%rbp,%rax,1)
jmp    125a <main+0x13a>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    120b <main+0xeb>
jmp    126d <main+0x14d>
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    11f8 <main+0xd8>
movl   $0x0,-0x8(%rbp)
cmpl   $0xd,-0x8(%rbp)
jge    1326 <main+0x206>
movslq -0x8(%rbp),%rax
movsbl -0x1c(%rbp,%rax,1),%eax
cmp    $0x5a,%eax
jne    12a7 <main+0x187>
movslq -0x8(%rbp),%rax
movb   $0x41,-0x1c(%rbp,%rax,1)
movslq -0x8(%rbp),%rax
movsbl -0x1c(%rbp,%rax,1),%eax
cmp    $0x59,%eax
jne    12c2 <main+0x1a2>
movslq -0x8(%rbp),%rax
movb   $0x4b,-0x1c(%rbp,%rax,1)
movslq -0x8(%rbp),%rax
movsbl -0x1c(%rbp,%rax,1),%eax
cmp    $0x58,%eax
jne    12dd <main+0x1bd>
movslq -0x8(%rbp),%rax
movb   $0x51,-0x1c(%rbp,%rax,1)
movslq -0x8(%rbp),%rax
movsbl -0x1c(%rbp,%rax,1),%eax
cmp    $0x57,%eax
jne    12f8 <main+0x1d8>
movslq -0x8(%rbp),%rax
movb   $0x4a,-0x1c(%rbp,%rax,1)
movslq -0x8(%rbp),%rax
movsbl -0x1c(%rbp,%rax,1),%eax
cmp    $0x56,%eax
jne    1313 <main+0x1f3>
movslq -0x8(%rbp),%rax
movb   $0x54,-0x1c(%rbp,%rax,1)
jmp    1318 <main+0x1f8>
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    1282 <main+0x162>
movl   $0x0,-0x8(%rbp)
cmpl   $0xd,-0x8(%rbp)
jge    135a <main+0x23a>
movslq -0x8(%rbp),%rax
lea    0xcbe(%rip),%rdi
movsbl -0x1c(%rbp,%rax,1),%esi
call   1030 <printf@plt>
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    132d <main+0x20d>
xor    %eax,%eax
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbx
sub    $0x10,%rsp
mov    0x2ebc(%rip),%rax
mov    (%rax),%edx
lea    0x1(%rsp),%rdi
mov    $0xe,%esi
call   1040 <fgets@plt>
mov    0x1(%rsp),%cl
add    $0xbf,%cl
cmp    $0x13,%cl
ja     1170 <main+0x50>
mov    $0x5a,%al
movzbl %cl,%ecx
lea    0xeab(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
mov    $0x57,%al
jmp    116c <main+0x4c>
mov    $0x59,%al
jmp    116c <main+0x4c>
mov    $0x58,%al
jmp    116c <main+0x4c>
mov    $0x56,%al
mov    %al,0x1(%rsp)
mov    0x2(%rsp),%cl
add    $0xbf,%cl
cmp    $0x13,%cl
ja     11a3 <main+0x83>
mov    $0x5a,%al
movzbl %cl,%ecx
lea    0xec8(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
mov    $0x57,%al
jmp    119f <main+0x7f>
mov    $0x59,%al
jmp    119f <main+0x7f>
mov    $0x58,%al
jmp    119f <main+0x7f>
mov    $0x56,%al
mov    %al,0x2(%rsp)
mov    0x3(%rsp),%cl
add    $0xbf,%cl
cmp    $0x13,%cl
ja     11d6 <main+0xb6>
mov    $0x5a,%al
movzbl %cl,%ecx
lea    0xee5(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
mov    $0x57,%al
jmp    11d2 <main+0xb2>
mov    $0x59,%al
jmp    11d2 <main+0xb2>
mov    $0x58,%al
jmp    11d2 <main+0xb2>
mov    $0x56,%al
mov    %al,0x3(%rsp)
mov    0x4(%rsp),%cl
add    $0xbf,%cl
cmp    $0x13,%cl
ja     1209 <main+0xe9>
mov    $0x5a,%al
movzbl %cl,%ecx
lea    0xf02(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
mov    $0x57,%al
jmp    1205 <main+0xe5>
mov    $0x59,%al
jmp    1205 <main+0xe5>
mov    $0x58,%al
jmp    1205 <main+0xe5>
mov    $0x56,%al
mov    %al,0x4(%rsp)
mov    0x5(%rsp),%cl
add    $0xbf,%cl
cmp    $0x13,%cl
ja     123c <main+0x11c>
mov    $0x5a,%al
movzbl %cl,%ecx
lea    0xf1f(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
mov    $0x57,%al
jmp    1238 <main+0x118>
mov    $0x59,%al
jmp    1238 <main+0x118>
mov    $0x58,%al
jmp    1238 <main+0x118>
mov    $0x56,%al
mov    %al,0x5(%rsp)
mov    0x6(%rsp),%cl
add    $0xbf,%cl
cmp    $0x13,%cl
ja     126f <main+0x14f>
mov    $0x5a,%al
movzbl %cl,%ecx
lea    0xf3c(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
mov    $0x57,%al
jmp    126b <main+0x14b>
mov    $0x59,%al
jmp    126b <main+0x14b>
mov    $0x58,%al
jmp    126b <main+0x14b>
mov    $0x56,%al
mov    %al,0x6(%rsp)
mov    0x7(%rsp),%cl
add    $0xbf,%cl
cmp    $0x13,%cl
ja     12a2 <main+0x182>
mov    $0x5a,%al
movzbl %cl,%ecx
lea    0xf59(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
mov    $0x57,%al
jmp    129e <main+0x17e>
mov    $0x59,%al
jmp    129e <main+0x17e>
mov    $0x58,%al
jmp    129e <main+0x17e>
mov    $0x56,%al
mov    %al,0x7(%rsp)
mov    0x8(%rsp),%cl
add    $0xbf,%cl
cmp    $0x13,%cl
ja     12d5 <main+0x1b5>
mov    $0x5a,%al
movzbl %cl,%ecx
lea    0xf76(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
mov    $0x57,%al
jmp    12d1 <main+0x1b1>
mov    $0x59,%al
jmp    12d1 <main+0x1b1>
mov    $0x58,%al
jmp    12d1 <main+0x1b1>
mov    $0x56,%al
mov    %al,0x8(%rsp)
mov    0x9(%rsp),%cl
add    $0xbf,%cl
cmp    $0x13,%cl
ja     1308 <main+0x1e8>
mov    $0x5a,%al
movzbl %cl,%ecx
lea    0xf93(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
mov    $0x57,%al
jmp    1304 <main+0x1e4>
mov    $0x59,%al
jmp    1304 <main+0x1e4>
mov    $0x58,%al
jmp    1304 <main+0x1e4>
mov    $0x56,%al
mov    %al,0x9(%rsp)
mov    0xa(%rsp),%cl
add    $0xbf,%cl
cmp    $0x13,%cl
ja     133b <main+0x21b>
mov    $0x5a,%al
movzbl %cl,%ecx
lea    0xfb0(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
mov    $0x57,%al
jmp    1337 <main+0x217>
mov    $0x59,%al
jmp    1337 <main+0x217>
mov    $0x58,%al
jmp    1337 <main+0x217>
mov    $0x56,%al
mov    %al,0xa(%rsp)
mov    0xb(%rsp),%cl
add    $0xbf,%cl
cmp    $0x13,%cl
ja     136e <main+0x24e>
mov    $0x5a,%al
movzbl %cl,%ecx
lea    0xfcd(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
mov    $0x57,%al
jmp    136a <main+0x24a>
mov    $0x59,%al
jmp    136a <main+0x24a>
mov    $0x58,%al
jmp    136a <main+0x24a>
mov    $0x56,%al
mov    %al,0xb(%rsp)
mov    0xc(%rsp),%cl
add    $0xbf,%cl
cmp    $0x13,%cl
ja     13a1 <main+0x281>
mov    $0x5a,%al
movzbl %cl,%ecx
lea    0xfea(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
mov    $0x57,%al
jmp    139d <main+0x27d>
mov    $0x59,%al
jmp    139d <main+0x27d>
mov    $0x58,%al
jmp    139d <main+0x27d>
mov    $0x56,%al
mov    %al,0xc(%rsp)
mov    0xd(%rsp),%cl
add    $0xbf,%cl
cmp    $0x13,%cl
ja     13d4 <main+0x2b4>
mov    $0x5a,%al
movzbl %cl,%ecx
lea    0x1007(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
mov    $0x57,%al
jmp    13d0 <main+0x2b0>
mov    $0x59,%al
jmp    13d0 <main+0x2b0>
mov    $0x58,%al
jmp    13d0 <main+0x2b0>
mov    $0x56,%al
mov    %al,0xd(%rsp)
mov    $0x1,%eax
xor    %edi,%edi
jmp    13ea <main+0x2ca>
nopl   (%rax)
add    $0x1,%rax
cmp    $0xc,%rdi
je     1422 <main+0x302>
mov    %rdi,%rdx
add    $0x1,%rdi
mov    %rax,%rsi
jmp    140a <main+0x2ea>
cs nopw 0x0(%rax,%rax,1)
add    $0x1,%rsi
cmp    $0xd,%rsi
je     13e0 <main+0x2c0>
movzbl 0x1(%rsp,%rdx,1),%ebx
movzbl 0x1(%rsp,%rsi,1),%ecx
cmp    %cl,%bl
jle    1400 <main+0x2e0>
mov    %cl,0x1(%rsp,%rdx,1)
mov    %bl,0x1(%rsp,%rsi,1)
jmp    1400 <main+0x2e0>
movabs $0x414b514a54,%rax
mov    0x1(%rsp),%cl
add    $0xaa,%cl
cmp    $0x4,%cl
ja     1448 <main+0x328>
movzbl %cl,%ecx
shl    $0x3,%ecx
mov    %rax,%rdx
shr    %cl,%rdx
mov    %dl,0x1(%rsp)
mov    0x2(%rsp),%cl
add    $0xaa,%cl
cmp    $0x4,%cl
ja     1464 <main+0x344>
movzbl %cl,%ecx
shl    $0x3,%ecx
mov    %rax,%rdx
shr    %cl,%rdx
mov    %dl,0x2(%rsp)
mov    0x3(%rsp),%cl
add    $0xaa,%cl
cmp    $0x4,%cl
ja     1480 <main+0x360>
movzbl %cl,%ecx
shl    $0x3,%ecx
mov    %rax,%rdx
shr    %cl,%rdx
mov    %dl,0x3(%rsp)
mov    0x4(%rsp),%cl
add    $0xaa,%cl
cmp    $0x4,%cl
ja     149c <main+0x37c>
movzbl %cl,%ecx
shl    $0x3,%ecx
mov    %rax,%rdx
shr    %cl,%rdx
mov    %dl,0x4(%rsp)
mov    0x5(%rsp),%cl
add    $0xaa,%cl
cmp    $0x4,%cl
ja     14b8 <main+0x398>
movzbl %cl,%ecx
shl    $0x3,%ecx
mov    %rax,%rdx
shr    %cl,%rdx
mov    %dl,0x5(%rsp)
mov    0x6(%rsp),%cl
add    $0xaa,%cl
cmp    $0x4,%cl
ja     14d4 <main+0x3b4>
movzbl %cl,%ecx
shl    $0x3,%ecx
mov    %rax,%rdx
shr    %cl,%rdx
mov    %dl,0x6(%rsp)
mov    0x7(%rsp),%cl
add    $0xaa,%cl
cmp    $0x4,%cl
ja     14f0 <main+0x3d0>
movzbl %cl,%ecx
shl    $0x3,%ecx
mov    %rax,%rdx
shr    %cl,%rdx
mov    %dl,0x7(%rsp)
mov    0x8(%rsp),%cl
add    $0xaa,%cl
cmp    $0x4,%cl
ja     150c <main+0x3ec>
movzbl %cl,%ecx
shl    $0x3,%ecx
mov    %rax,%rdx
shr    %cl,%rdx
mov    %dl,0x8(%rsp)
mov    0x9(%rsp),%cl
add    $0xaa,%cl
cmp    $0x4,%cl
ja     1528 <main+0x408>
movzbl %cl,%ecx
shl    $0x3,%ecx
mov    %rax,%rdx
shr    %cl,%rdx
mov    %dl,0x9(%rsp)
mov    0xa(%rsp),%cl
add    $0xaa,%cl
cmp    $0x4,%cl
ja     1544 <main+0x424>
movzbl %cl,%ecx
shl    $0x3,%ecx
mov    %rax,%rdx
shr    %cl,%rdx
mov    %dl,0xa(%rsp)
mov    0xb(%rsp),%cl
add    $0xaa,%cl
cmp    $0x4,%cl
ja     1560 <main+0x440>
movzbl %cl,%ecx
shl    $0x3,%ecx
mov    %rax,%rdx
shr    %cl,%rdx
mov    %dl,0xb(%rsp)
mov    0xc(%rsp),%cl
add    $0xaa,%cl
cmp    $0x4,%cl
ja     157c <main+0x45c>
movzbl %cl,%ecx
shl    $0x3,%ecx
mov    %rax,%rdx
shr    %cl,%rdx
mov    %dl,0xc(%rsp)
mov    0xd(%rsp),%cl
add    $0xaa,%cl
cmp    $0x4,%cl
ja     1595 <main+0x475>
movzbl %cl,%ecx
shl    $0x3,%ecx
shr    %cl,%rax
mov    %al,0xd(%rsp)
movsbl 0x1(%rsp),%esi
lea    0xe6f(%rip),%rbx
mov    %rbx,%rdi
call   1030 <printf@plt>
movsbl 0x2(%rsp),%esi
mov    %rbx,%rdi
call   1030 <printf@plt>
movsbl 0x3(%rsp),%esi
mov    %rbx,%rdi
call   1030 <printf@plt>
movsbl 0x4(%rsp),%esi
mov    %rbx,%rdi
call   1030 <printf@plt>
movsbl 0x5(%rsp),%esi
mov    %rbx,%rdi
call   1030 <printf@plt>
movsbl 0x6(%rsp),%esi
mov    %rbx,%rdi
call   1030 <printf@plt>
movsbl 0x7(%rsp),%esi
mov    %rbx,%rdi
call   1030 <printf@plt>
movsbl 0x8(%rsp),%esi
mov    %rbx,%rdi
call   1030 <printf@plt>
movsbl 0x9(%rsp),%esi
mov    %rbx,%rdi
call   1030 <printf@plt>
movsbl 0xa(%rsp),%esi
mov    %rbx,%rdi
call   1030 <printf@plt>
movsbl 0xb(%rsp),%esi
mov    %rbx,%rdi
call   1030 <printf@plt>
movsbl 0xc(%rsp),%esi
mov    %rbx,%rdi
call   1030 <printf@plt>
movsbl 0xd(%rsp),%esi
mov    %rbx,%rdi
call   1030 <printf@plt>
xor    %eax,%eax
add    $0x10,%rsp
pop    %rbx
ret

LLVM IR (-O0):
@stdin = global i32 0
@.str = [3 x i8] c"%c\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca i32
%3 = alloca i32
%4 = alloca i8
%5 = alloca [15 x i8]
store i32 0, i32* %1
%6 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 0
%7 = load i32, i32* @stdin
%8 = call i32 @fgets(i8* %6, i32 14, i32 %7)
store i32 0, i32* %2
br label %9
9: ; preds = %68, %0
%10 = load i32, i32* %2
%11 = icmp slt i32 %10, 13
br i1 %11, label %12, label %71
12: ; preds = %9
%13 = load i32, i32* %2
%14 = sext i32 %13 to i64
%15 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %14
%16 = load i8, i8* %15
%17 = sext i8 %16 to i32
%18 = icmp eq i32 %17, 65
br i1 %18, label %19, label %23
19: ; preds = %12
%20 = load i32, i32* %2
%21 = sext i32 %20 to i64
%22 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %21
store i8 90, i8* %22
br label %23
23: ; preds = %19, %12
%24 = load i32, i32* %2
%25 = sext i32 %24 to i64
%26 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %25
%27 = load i8, i8* %26
%28 = sext i8 %27 to i32
%29 = icmp eq i32 %28, 75
br i1 %29, label %30, label %34
30: ; preds = %23
%31 = load i32, i32* %2
%32 = sext i32 %31 to i64
%33 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %32
store i8 89, i8* %33
br label %34
34: ; preds = %30, %23
%35 = load i32, i32* %2
%36 = sext i32 %35 to i64
%37 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %36
%38 = load i8, i8* %37
%39 = sext i8 %38 to i32
%40 = icmp eq i32 %39, 81
br i1 %40, label %41, label %45
41: ; preds = %34
%42 = load i32, i32* %2
%43 = sext i32 %42 to i64
%44 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %43
store i8 88, i8* %44
br label %45
45: ; preds = %41, %34
%46 = load i32, i32* %2
%47 = sext i32 %46 to i64
%48 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %47
%49 = load i8, i8* %48
%50 = sext i8 %49 to i32
%51 = icmp eq i32 %50, 74
br i1 %51, label %52, label %56
52: ; preds = %45
%53 = load i32, i32* %2
%54 = sext i32 %53 to i64
%55 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %54
store i8 87, i8* %55
br label %56
56: ; preds = %52, %45
%57 = load i32, i32* %2
%58 = sext i32 %57 to i64
%59 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %58
%60 = load i8, i8* %59
%61 = sext i8 %60 to i32
%62 = icmp eq i32 %61, 84
br i1 %62, label %63, label %67
63: ; preds = %56
%64 = load i32, i32* %2
%65 = sext i32 %64 to i64
%66 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %65
store i8 86, i8* %66
br label %67
67: ; preds = %63, %56
br label %68
68: ; preds = %67
%69 = load i32, i32* %2
%70 = add nsw i32 %69, 1
store i32 %70, i32* %2
br label %9
71: ; preds = %9
store i32 0, i32* %2
br label %72
72: ; preds = %114, %71
%73 = load i32, i32* %2
%74 = icmp slt i32 %73, 12
br i1 %74, label %75, label %117
75: ; preds = %72
%76 = load i32, i32* %2
%77 = add nsw i32 %76, 1
store i32 %77, i32* %3
br label %78
78: ; preds = %110, %75
%79 = load i32, i32* %3
%80 = icmp slt i32 %79, 13
br i1 %80, label %81, label %113
81: ; preds = %78
%82 = load i32, i32* %2
%83 = sext i32 %82 to i64
%84 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %83
%85 = load i8, i8* %84
%86 = sext i8 %85 to i32
%87 = load i32, i32* %3
%88 = sext i32 %87 to i64
%89 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %88
%90 = load i8, i8* %89
%91 = sext i8 %90 to i32
%92 = icmp sgt i32 %86, %91
br i1 %92, label %93, label %109
93: ; preds = %81
%94 = load i32, i32* %2
%95 = sext i32 %94 to i64
%96 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %95
%97 = load i8, i8* %96
store i8 %97, i8* %4
%98 = load i32, i32* %3
%99 = sext i32 %98 to i64
%100 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %99
%101 = load i8, i8* %100
%102 = load i32, i32* %2
%103 = sext i32 %102 to i64
%104 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %103
store i8 %101, i8* %104
%105 = load i8, i8* %4
%106 = load i32, i32* %3
%107 = sext i32 %106 to i64
%108 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %107
store i8 %105, i8* %108
br label %109
109: ; preds = %93, %81
br label %110
110: ; preds = %109
%111 = load i32, i32* %3
%112 = add nsw i32 %111, 1
store i32 %112, i32* %3
br label %78
113: ; preds = %78
br label %114
114: ; preds = %113
%115 = load i32, i32* %2
%116 = add nsw i32 %115, 1
store i32 %116, i32* %2
br label %72
117: ; preds = %72
store i32 0, i32* %2
br label %118
118: ; preds = %177, %117
%119 = load i32, i32* %2
%120 = icmp slt i32 %119, 13
br i1 %120, label %121, label %180
121: ; preds = %118
%122 = load i32, i32* %2
%123 = sext i32 %122 to i64
%124 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %123
%125 = load i8, i8* %124
%126 = sext i8 %125 to i32
%127 = icmp eq i32 %126, 90
br i1 %127, label %128, label %132
128: ; preds = %121
%129 = load i32, i32* %2
%130 = sext i32 %129 to i64
%131 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %130
store i8 65, i8* %131
br label %132
132: ; preds = %128, %121
%133 = load i32, i32* %2
%134 = sext i32 %133 to i64
%135 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %134
%136 = load i8, i8* %135
%137 = sext i8 %136 to i32
%138 = icmp eq i32 %137, 89
br i1 %138, label %139, label %143
139: ; preds = %132
%140 = load i32, i32* %2
%141 = sext i32 %140 to i64
%142 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %141
store i8 75, i8* %142
br label %143
143: ; preds = %139, %132
%144 = load i32, i32* %2
%145 = sext i32 %144 to i64
%146 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %145
%147 = load i8, i8* %146
%148 = sext i8 %147 to i32
%149 = icmp eq i32 %148, 88
br i1 %149, label %150, label %154
150: ; preds = %143
%151 = load i32, i32* %2
%152 = sext i32 %151 to i64
%153 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %152
store i8 81, i8* %153
br label %154
154: ; preds = %150, %143
%155 = load i32, i32* %2
%156 = sext i32 %155 to i64
%157 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %156
%158 = load i8, i8* %157
%159 = sext i8 %158 to i32
%160 = icmp eq i32 %159, 87
br i1 %160, label %161, label %165
161: ; preds = %154
%162 = load i32, i32* %2
%163 = sext i32 %162 to i64
%164 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %163
store i8 74, i8* %164
br label %165
165: ; preds = %161, %154
%166 = load i32, i32* %2
%167 = sext i32 %166 to i64
%168 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %167
%169 = load i8, i8* %168
%170 = sext i8 %169 to i32
%171 = icmp eq i32 %170, 86
br i1 %171, label %172, label %176
172: ; preds = %165
%173 = load i32, i32* %2
%174 = sext i32 %173 to i64
%175 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %174
store i8 84, i8* %175
br label %176
176: ; preds = %172, %165
br label %177
177: ; preds = %176
%178 = load i32, i32* %2
%179 = add nsw i32 %178, 1
store i32 %179, i32* %2
br label %118
180: ; preds = %118
store i32 0, i32* %2
br label %181
181: ; preds = %190, %180
%182 = load i32, i32* %2
%183 = icmp slt i32 %182, 13
br i1 %183, label %184, label %193
184: ; preds = %181
%185 = load i32, i32* %2
%186 = sext i32 %185 to i64
%187 = getelementptr inbounds [15 x i8], [15 x i8]* %5, i64 0, i64 %186
%188 = load i8, i8* %187
%189 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i8 signext %188)
br label %190
190: ; preds = %184
%191 = load i32, i32* %2
%192 = add nsw i32 %191, 1
store i32 %192, i32* %2
br label %181
193: ; preds = %181
ret i32 0
}

LLVM IR (-O2):
@stdin = global i32 0
@.str = [3 x i8] c"%c\00"
define i32 @main() {
%1 = alloca [15 x i8]
%2 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 0
%3 = load i32, i32* @stdin
%4 = call i32 @fgets(i8* %2, i32 14, i32 %3)
%5 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 0
%6 = load i8, i8* %5
switch i8 %6, label %13 [
i8 65, label %11
i8 75, label %7
i8 81, label %8
i8 74, label %9
i8 84, label %10
]
7: ; preds = %0
br label %11
8: ; preds = %0
br label %11
9: ; preds = %0
br label %11
10: ; preds = %0
br label %11
11: ; preds = %0, %10, %8, %9, %7
%12 = phi i8 [ 89, %7 ], [ 87, %9 ], [ 88, %8 ], [ 86, %10 ], [ 90, %0 ]
store i8 %12, i8* %5
br label %13
13: ; preds = %11, %0
%14 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 1
%15 = load i8, i8* %14
switch i8 %15, label %22 [
i8 65, label %20
i8 75, label %19
i8 81, label %18
i8 74, label %17
i8 84, label %16
]
16: ; preds = %13
br label %20
17: ; preds = %13
br label %20
18: ; preds = %13
br label %20
19: ; preds = %13
br label %20
20: ; preds = %19, %18, %17, %16, %13
%21 = phi i8 [ 89, %19 ], [ 87, %17 ], [ 88, %18 ], [ 86, %16 ], [ 90, %13 ]
store i8 %21, i8* %14
br label %22
22: ; preds = %20, %13
%23 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 2
%24 = load i8, i8* %23
switch i8 %24, label %31 [
i8 65, label %29
i8 75, label %28
i8 81, label %27
i8 74, label %26
i8 84, label %25
]
25: ; preds = %22
br label %29
26: ; preds = %22
br label %29
27: ; preds = %22
br label %29
28: ; preds = %22
br label %29
29: ; preds = %28, %27, %26, %25, %22
%30 = phi i8 [ 89, %28 ], [ 87, %26 ], [ 88, %27 ], [ 86, %25 ], [ 90, %22 ]
store i8 %30, i8* %23
br label %31
31: ; preds = %29, %22
%32 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 3
%33 = load i8, i8* %32
switch i8 %33, label %40 [
i8 65, label %38
i8 75, label %37
i8 81, label %36
i8 74, label %35
i8 84, label %34
]
34: ; preds = %31
br label %38
35: ; preds = %31
br label %38
36: ; preds = %31
br label %38
37: ; preds = %31
br label %38
38: ; preds = %37, %36, %35, %34, %31
%39 = phi i8 [ 89, %37 ], [ 87, %35 ], [ 88, %36 ], [ 86, %34 ], [ 90, %31 ]
store i8 %39, i8* %32
br label %40
40: ; preds = %38, %31
%41 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 4
%42 = load i8, i8* %41
switch i8 %42, label %49 [
i8 65, label %47
i8 75, label %46
i8 81, label %45
i8 74, label %44
i8 84, label %43
]
43: ; preds = %40
br label %47
44: ; preds = %40
br label %47
45: ; preds = %40
br label %47
46: ; preds = %40
br label %47
47: ; preds = %46, %45, %44, %43, %40
%48 = phi i8 [ 89, %46 ], [ 87, %44 ], [ 88, %45 ], [ 86, %43 ], [ 90, %40 ]
store i8 %48, i8* %41
br label %49
49: ; preds = %47, %40
%50 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 5
%51 = load i8, i8* %50
switch i8 %51, label %58 [
i8 65, label %56
i8 75, label %55
i8 81, label %54
i8 74, label %53
i8 84, label %52
]
52: ; preds = %49
br label %56
53: ; preds = %49
br label %56
54: ; preds = %49
br label %56
55: ; preds = %49
br label %56
56: ; preds = %55, %54, %53, %52, %49
%57 = phi i8 [ 89, %55 ], [ 87, %53 ], [ 88, %54 ], [ 86, %52 ], [ 90, %49 ]
store i8 %57, i8* %50
br label %58
58: ; preds = %56, %49
%59 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 6
%60 = load i8, i8* %59
switch i8 %60, label %67 [
i8 65, label %65
i8 75, label %64
i8 81, label %63
i8 74, label %62
i8 84, label %61
]
61: ; preds = %58
br label %65
62: ; preds = %58
br label %65
63: ; preds = %58
br label %65
64: ; preds = %58
br label %65
65: ; preds = %64, %63, %62, %61, %58
%66 = phi i8 [ 89, %64 ], [ 87, %62 ], [ 88, %63 ], [ 86, %61 ], [ 90, %58 ]
store i8 %66, i8* %59
br label %67
67: ; preds = %65, %58
%68 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 7
%69 = load i8, i8* %68
switch i8 %69, label %76 [
i8 65, label %74
i8 75, label %73
i8 81, label %72
i8 74, label %71
i8 84, label %70
]
70: ; preds = %67
br label %74
71: ; preds = %67
br label %74
72: ; preds = %67
br label %74
73: ; preds = %67
br label %74
74: ; preds = %73, %72, %71, %70, %67
%75 = phi i8 [ 89, %73 ], [ 87, %71 ], [ 88, %72 ], [ 86, %70 ], [ 90, %67 ]
store i8 %75, i8* %68
br label %76
76: ; preds = %74, %67
%77 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 8
%78 = load i8, i8* %77
switch i8 %78, label %85 [
i8 65, label %83
i8 75, label %82
i8 81, label %81
i8 74, label %80
i8 84, label %79
]
79: ; preds = %76
br label %83
80: ; preds = %76
br label %83
81: ; preds = %76
br label %83
82: ; preds = %76
br label %83
83: ; preds = %82, %81, %80, %79, %76
%84 = phi i8 [ 89, %82 ], [ 87, %80 ], [ 88, %81 ], [ 86, %79 ], [ 90, %76 ]
store i8 %84, i8* %77
br label %85
85: ; preds = %83, %76
%86 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 9
%87 = load i8, i8* %86
switch i8 %87, label %94 [
i8 65, label %92
i8 75, label %91
i8 81, label %90
i8 74, label %89
i8 84, label %88
]
88: ; preds = %85
br label %92
89: ; preds = %85
br label %92
90: ; preds = %85
br label %92
91: ; preds = %85
br label %92
92: ; preds = %91, %90, %89, %88, %85
%93 = phi i8 [ 89, %91 ], [ 87, %89 ], [ 88, %90 ], [ 86, %88 ], [ 90, %85 ]
store i8 %93, i8* %86
br label %94
94: ; preds = %92, %85
%95 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 10
%96 = load i8, i8* %95
switch i8 %96, label %103 [
i8 65, label %101
i8 75, label %100
i8 81, label %99
i8 74, label %98
i8 84, label %97
]
97: ; preds = %94
br label %101
98: ; preds = %94
br label %101
99: ; preds = %94
br label %101
100: ; preds = %94
br label %101
101: ; preds = %100, %99, %98, %97, %94
%102 = phi i8 [ 89, %100 ], [ 87, %98 ], [ 88, %99 ], [ 86, %97 ], [ 90, %94 ]
store i8 %102, i8* %95
br label %103
103: ; preds = %101, %94
%104 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 11
%105 = load i8, i8* %104
switch i8 %105, label %112 [
i8 65, label %110
i8 75, label %109
i8 81, label %108
i8 74, label %107
i8 84, label %106
]
106: ; preds = %103
br label %110
107: ; preds = %103
br label %110
108: ; preds = %103
br label %110
109: ; preds = %103
br label %110
110: ; preds = %109, %108, %107, %106, %103
%111 = phi i8 [ 89, %109 ], [ 87, %107 ], [ 88, %108 ], [ 86, %106 ], [ 90, %103 ]
store i8 %111, i8* %104
br label %112
112: ; preds = %110, %103
%113 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 12
%114 = load i8, i8* %113
switch i8 %114, label %121 [
i8 65, label %119
i8 75, label %118
i8 81, label %117
i8 74, label %116
i8 84, label %115
]
115: ; preds = %112
br label %119
116: ; preds = %112
br label %119
117: ; preds = %112
br label %119
118: ; preds = %112
br label %119
119: ; preds = %118, %117, %116, %115, %112
%120 = phi i8 [ 89, %118 ], [ 87, %116 ], [ 88, %117 ], [ 86, %115 ], [ 90, %112 ]
store i8 %120, i8* %113
br label %121
121: ; preds = %119, %112
br label %125
122: ; preds = %137
%123 = add nuw nsw i64 %127, 1
%124 = icmp eq i64 %128, 12
br i1 %124, label %140, label %125
125: ; preds = %121, %122
%126 = phi i64 [ %128, %122 ], [ 0, %121 ]
%127 = phi i64 [ %123, %122 ], [ 1, %121 ]
%128 = add nuw nsw i64 %126, 1
%129 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 %126
br label %130
130: ; preds = %125, %137
%131 = phi i64 [ %127, %125 ], [ %138, %137 ]
%132 = load i8, i8* %129
%133 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 %131
%134 = load i8, i8* %133
%135 = icmp sgt i8 %132, %134
br i1 %135, label %136, label %137
136: ; preds = %130
store i8 %134, i8* %129
store i8 %132, i8* %133
br label %137
137: ; preds = %130, %136
%138 = add nuw nsw i64 %131, 1
%139 = icmp eq i64 %138, 13
br i1 %139, label %122, label %130
140: ; preds = %122
%141 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 0
%142 = load i8, i8* %141
%143 = add i8 %142, -86
%144 = icmp ult i8 %143, 5
br i1 %144, label %145, label %150
145: ; preds = %140
%146 = zext i8 %143 to i40
%147 = shl nuw nsw i40 %146, 3
%148 = lshr i40 280436492884, %147
%149 = trunc i40 %148 to i8
store i8 %149, i8* %141
br label %150
150: ; preds = %140, %145
%151 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 1
%152 = load i8, i8* %151
%153 = add i8 %152, -86
%154 = icmp ult i8 %153, 5
br i1 %154, label %155, label %160
155: ; preds = %150
%156 = zext i8 %153 to i40
%157 = shl nuw nsw i40 %156, 3
%158 = lshr i40 280436492884, %157
%159 = trunc i40 %158 to i8
store i8 %159, i8* %151
br label %160
160: ; preds = %155, %150
%161 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 2
%162 = load i8, i8* %161
%163 = add i8 %162, -86
%164 = icmp ult i8 %163, 5
br i1 %164, label %165, label %170
165: ; preds = %160
%166 = zext i8 %163 to i40
%167 = shl nuw nsw i40 %166, 3
%168 = lshr i40 280436492884, %167
%169 = trunc i40 %168 to i8
store i8 %169, i8* %161
br label %170
170: ; preds = %165, %160
%171 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 3
%172 = load i8, i8* %171
%173 = add i8 %172, -86
%174 = icmp ult i8 %173, 5
br i1 %174, label %175, label %180
175: ; preds = %170
%176 = zext i8 %173 to i40
%177 = shl nuw nsw i40 %176, 3
%178 = lshr i40 280436492884, %177
%179 = trunc i40 %178 to i8
store i8 %179, i8* %171
br label %180
180: ; preds = %175, %170
%181 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 4
%182 = load i8, i8* %181
%183 = add i8 %182, -86
%184 = icmp ult i8 %183, 5
br i1 %184, label %185, label %190
185: ; preds = %180
%186 = zext i8 %183 to i40
%187 = shl nuw nsw i40 %186, 3
%188 = lshr i40 280436492884, %187
%189 = trunc i40 %188 to i8
store i8 %189, i8* %181
br label %190
190: ; preds = %185, %180
%191 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 5
%192 = load i8, i8* %191
%193 = add i8 %192, -86
%194 = icmp ult i8 %193, 5
br i1 %194, label %195, label %200
195: ; preds = %190
%196 = zext i8 %193 to i40
%197 = shl nuw nsw i40 %196, 3
%198 = lshr i40 280436492884, %197
%199 = trunc i40 %198 to i8
store i8 %199, i8* %191
br label %200
200: ; preds = %195, %190
%201 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 6
%202 = load i8, i8* %201
%203 = add i8 %202, -86
%204 = icmp ult i8 %203, 5
br i1 %204, label %205, label %210
205: ; preds = %200
%206 = zext i8 %203 to i40
%207 = shl nuw nsw i40 %206, 3
%208 = lshr i40 280436492884, %207
%209 = trunc i40 %208 to i8
store i8 %209, i8* %201
br label %210
210: ; preds = %205, %200
%211 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 7
%212 = load i8, i8* %211
%213 = add i8 %212, -86
%214 = icmp ult i8 %213, 5
br i1 %214, label %215, label %220
215: ; preds = %210
%216 = zext i8 %213 to i40
%217 = shl nuw nsw i40 %216, 3
%218 = lshr i40 280436492884, %217
%219 = trunc i40 %218 to i8
store i8 %219, i8* %211
br label %220
220: ; preds = %215, %210
%221 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 8
%222 = load i8, i8* %221
%223 = add i8 %222, -86
%224 = icmp ult i8 %223, 5
br i1 %224, label %225, label %230
225: ; preds = %220
%226 = zext i8 %223 to i40
%227 = shl nuw nsw i40 %226, 3
%228 = lshr i40 280436492884, %227
%229 = trunc i40 %228 to i8
store i8 %229, i8* %221
br label %230
230: ; preds = %225, %220
%231 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 9
%232 = load i8, i8* %231
%233 = add i8 %232, -86
%234 = icmp ult i8 %233, 5
br i1 %234, label %235, label %240
235: ; preds = %230
%236 = zext i8 %233 to i40
%237 = shl nuw nsw i40 %236, 3
%238 = lshr i40 280436492884, %237
%239 = trunc i40 %238 to i8
store i8 %239, i8* %231
br label %240
240: ; preds = %235, %230
%241 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 10
%242 = load i8, i8* %241
%243 = add i8 %242, -86
%244 = icmp ult i8 %243, 5
br i1 %244, label %245, label %250
245: ; preds = %240
%246 = zext i8 %243 to i40
%247 = shl nuw nsw i40 %246, 3
%248 = lshr i40 280436492884, %247
%249 = trunc i40 %248 to i8
store i8 %249, i8* %241
br label %250
250: ; preds = %245, %240
%251 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 11
%252 = load i8, i8* %251
%253 = add i8 %252, -86
%254 = icmp ult i8 %253, 5
br i1 %254, label %255, label %260
255: ; preds = %250
%256 = zext i8 %253 to i40
%257 = shl nuw nsw i40 %256, 3
%258 = lshr i40 280436492884, %257
%259 = trunc i40 %258 to i8
store i8 %259, i8* %251
br label %260
260: ; preds = %255, %250
%261 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 12
%262 = load i8, i8* %261
%263 = add i8 %262, -86
%264 = icmp ult i8 %263, 5
br i1 %264, label %265, label %270
265: ; preds = %260
%266 = zext i8 %263 to i40
%267 = shl nuw nsw i40 %266, 3
%268 = lshr i40 280436492884, %267
%269 = trunc i40 %268 to i8
store i8 %269, i8* %261
br label %270
270: ; preds = %265, %260
%271 = load i8, i8* %2
%272 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i8 signext %271)
%273 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 1
%274 = load i8, i8* %273
%275 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i8 signext %274)
%276 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 2
%277 = load i8, i8* %276
%278 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i8 signext %277)
%279 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 3
%280 = load i8, i8* %279
%281 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i8 signext %280)
%282 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 4
%283 = load i8, i8* %282
%284 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i8 signext %283)
%285 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 5
%286 = load i8, i8* %285
%287 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i8 signext %286)
%288 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 6
%289 = load i8, i8* %288
%290 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i8 signext %289)
%291 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 7
%292 = load i8, i8* %291
%293 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i8 signext %292)
%294 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 8
%295 = load i8, i8* %294
%296 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i8 signext %295)
%297 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 9
%298 = load i8, i8* %297
%299 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i8 signext %298)
%300 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 10
%301 = load i8, i8* %300
%302 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i8 signext %301)
%303 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 11
%304 = load i8, i8* %303
%305 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i8 signext %304)
%306 = getelementptr inbounds [15 x i8], [15 x i8]* %1, i64 0, i64 12
%307 = load i8, i8* %306
%308 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i8 signext %307)
ret i32 0
}