#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*/ gets(char *);
int /*<<< orphan*/ printf(char *, ...);
int strlen(char *);
int main() {
  int i = 0, l, p;
  char s[13];
  char s1[13];
  printf("Vuvedete do 13 karti:");
  gets(s);
  l = strlen(s);
  p = l;
  s1[l] = '\0';
  while (l >= 0) {
    if (s[l - 1] == '2') {
      s1[i] = s[l - 1];
      i++;
    }
    l--;
  }
  l = p;
  while (p >= 0) {
    if (s[p - 1] == '3') {
      s1[i] = s[p - 1];
      i++;
    }
    p--;
  }
  p = l;
  while (l >= 0) {
    if (s[l - 1] == '4') {
      s1[i] = s[l - 1];
      i++;
    }
    l--;
  }
  l = p;
  while (p >= 0) {
    if (s[p - 1] == '5') {
      s1[i] = s[p - 1];
      i++;
    }
    p--;
  }
  p = l;
  while (l >= 0) {
    if (s[l - 1] == '6') {
      s1[i] = s[l - 1];
      i++;
    }
    l--;
  }
  l = p;
  while (p >= 0) {
    if (s[p - 1] == '7') {
      s1[i] = s[p - 1];
      i++;
    }
    p--;
  }
  p = l;
  while (l >= 0) {
    if (s[l - 1] == '8') {
      s1[i] = s[l - 1];
      i++;
    }
    l--;
  }
  l = p;
  while (p >= 0) {
    if (s[p - 1] == '9') {
      s1[i] = s[p - 1];
      i++;
    }
    p--;
  }
  p = l;
  while (l >= 0) {
    if (s[l - 1] == 'T') {
      s1[i] = s[l - 1];
      i++;
    }
    l--;
  }
  l = p;
  while (p >= 0) {
    if (s[p - 1] == 'J') {
      s1[i] = s[p - 1];
      i++;
    }
    p--;
  }
  p = l;
  while (l >= 0) {
    if (s[l - 1] == 'D') {
      s1[i] = s[l - 1];
      i++;
    }
    l--;
  }
  l = p;
  while (p >= 0) {
    if (s[p - 1] == 'K') {
      s1[i] = s[p - 1];
      i++;
    }
    p--;
  }
  p = l;
  while (l >= 0) {
    if (s[l - 1] == 'A') {
      s1[i] = s[l - 1];
      i++;
    }
    l--;
  }
  printf("%s", s1);
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x30,%rsp
movl   $0x0,-0x4(%rbp)
movl   $0x0,-0x8(%rbp)
lea    0xeb3(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    -0x1d(%rbp),%rdi
call   1050 <gets@plt>
lea    -0x1d(%rbp),%rdi
call   1030 <strlen@plt>
mov    %eax,-0xc(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x10(%rbp)
movslq -0xc(%rbp),%rax
movb   $0x0,-0x2a(%rbp,%rax,1)
cmpl   $0x0,-0xc(%rbp)
jl     11c3 <main+0x93>
mov    -0xc(%rbp),%eax
sub    $0x1,%eax
cltq
movsbl -0x1d(%rbp,%rax,1),%eax
cmp    $0x32,%eax
jne    11b5 <main+0x85>
mov    -0xc(%rbp),%eax
sub    $0x1,%eax
cltq
mov    -0x1d(%rbp,%rax,1),%cl
movslq -0x8(%rbp),%rax
mov    %cl,-0x2a(%rbp,%rax,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
mov    -0xc(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0xc(%rbp)
jmp    1178 <main+0x48>
mov    -0x10(%rbp),%eax
mov    %eax,-0xc(%rbp)
cmpl   $0x0,-0x10(%rbp)
jl     1214 <main+0xe4>
mov    -0x10(%rbp),%eax
sub    $0x1,%eax
cltq
movsbl -0x1d(%rbp,%rax,1),%eax
cmp    $0x33,%eax
jne    1206 <main+0xd6>
mov    -0x10(%rbp),%eax
sub    $0x1,%eax
cltq
mov    -0x1d(%rbp,%rax,1),%cl
movslq -0x8(%rbp),%rax
mov    %cl,-0x2a(%rbp,%rax,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
mov    -0x10(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x10(%rbp)
jmp    11c9 <main+0x99>
mov    -0xc(%rbp),%eax
mov    %eax,-0x10(%rbp)
cmpl   $0x0,-0xc(%rbp)
jl     1265 <main+0x135>
mov    -0xc(%rbp),%eax
sub    $0x1,%eax
cltq
movsbl -0x1d(%rbp,%rax,1),%eax
cmp    $0x34,%eax
jne    1257 <main+0x127>
mov    -0xc(%rbp),%eax
sub    $0x1,%eax
cltq
mov    -0x1d(%rbp,%rax,1),%cl
movslq -0x8(%rbp),%rax
mov    %cl,-0x2a(%rbp,%rax,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
mov    -0xc(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0xc(%rbp)
jmp    121a <main+0xea>
mov    -0x10(%rbp),%eax
mov    %eax,-0xc(%rbp)
cmpl   $0x0,-0x10(%rbp)
jl     12b6 <main+0x186>
mov    -0x10(%rbp),%eax
sub    $0x1,%eax
cltq
movsbl -0x1d(%rbp,%rax,1),%eax
cmp    $0x35,%eax
jne    12a8 <main+0x178>
mov    -0x10(%rbp),%eax
sub    $0x1,%eax
cltq
mov    -0x1d(%rbp,%rax,1),%cl
movslq -0x8(%rbp),%rax
mov    %cl,-0x2a(%rbp,%rax,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
mov    -0x10(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x10(%rbp)
jmp    126b <main+0x13b>
mov    -0xc(%rbp),%eax
mov    %eax,-0x10(%rbp)
cmpl   $0x0,-0xc(%rbp)
jl     1307 <main+0x1d7>
mov    -0xc(%rbp),%eax
sub    $0x1,%eax
cltq
movsbl -0x1d(%rbp,%rax,1),%eax
cmp    $0x36,%eax
jne    12f9 <main+0x1c9>
mov    -0xc(%rbp),%eax
sub    $0x1,%eax
cltq
mov    -0x1d(%rbp,%rax,1),%cl
movslq -0x8(%rbp),%rax
mov    %cl,-0x2a(%rbp,%rax,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
mov    -0xc(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0xc(%rbp)
jmp    12bc <main+0x18c>
mov    -0x10(%rbp),%eax
mov    %eax,-0xc(%rbp)
cmpl   $0x0,-0x10(%rbp)
jl     1358 <main+0x228>
mov    -0x10(%rbp),%eax
sub    $0x1,%eax
cltq
movsbl -0x1d(%rbp,%rax,1),%eax
cmp    $0x37,%eax
jne    134a <main+0x21a>
mov    -0x10(%rbp),%eax
sub    $0x1,%eax
cltq
mov    -0x1d(%rbp,%rax,1),%cl
movslq -0x8(%rbp),%rax
mov    %cl,-0x2a(%rbp,%rax,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
mov    -0x10(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x10(%rbp)
jmp    130d <main+0x1dd>
mov    -0xc(%rbp),%eax
mov    %eax,-0x10(%rbp)
cmpl   $0x0,-0xc(%rbp)
jl     13a9 <main+0x279>
mov    -0xc(%rbp),%eax
sub    $0x1,%eax
cltq
movsbl -0x1d(%rbp,%rax,1),%eax
cmp    $0x38,%eax
jne    139b <main+0x26b>
mov    -0xc(%rbp),%eax
sub    $0x1,%eax
cltq
mov    -0x1d(%rbp,%rax,1),%cl
movslq -0x8(%rbp),%rax
mov    %cl,-0x2a(%rbp,%rax,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
mov    -0xc(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0xc(%rbp)
jmp    135e <main+0x22e>
mov    -0x10(%rbp),%eax
mov    %eax,-0xc(%rbp)
cmpl   $0x0,-0x10(%rbp)
jl     13fa <main+0x2ca>
mov    -0x10(%rbp),%eax
sub    $0x1,%eax
cltq
movsbl -0x1d(%rbp,%rax,1),%eax
cmp    $0x39,%eax
jne    13ec <main+0x2bc>
mov    -0x10(%rbp),%eax
sub    $0x1,%eax
cltq
mov    -0x1d(%rbp,%rax,1),%cl
movslq -0x8(%rbp),%rax
mov    %cl,-0x2a(%rbp,%rax,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
mov    -0x10(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x10(%rbp)
jmp    13af <main+0x27f>
mov    -0xc(%rbp),%eax
mov    %eax,-0x10(%rbp)
cmpl   $0x0,-0xc(%rbp)
jl     144b <main+0x31b>
mov    -0xc(%rbp),%eax
sub    $0x1,%eax
cltq
movsbl -0x1d(%rbp,%rax,1),%eax
cmp    $0x54,%eax
jne    143d <main+0x30d>
mov    -0xc(%rbp),%eax
sub    $0x1,%eax
cltq
mov    -0x1d(%rbp,%rax,1),%cl
movslq -0x8(%rbp),%rax
mov    %cl,-0x2a(%rbp,%rax,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
mov    -0xc(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0xc(%rbp)
jmp    1400 <main+0x2d0>
mov    -0x10(%rbp),%eax
mov    %eax,-0xc(%rbp)
cmpl   $0x0,-0x10(%rbp)
jl     149c <main+0x36c>
mov    -0x10(%rbp),%eax
sub    $0x1,%eax
cltq
movsbl -0x1d(%rbp,%rax,1),%eax
cmp    $0x4a,%eax
jne    148e <main+0x35e>
mov    -0x10(%rbp),%eax
sub    $0x1,%eax
cltq
mov    -0x1d(%rbp,%rax,1),%cl
movslq -0x8(%rbp),%rax
mov    %cl,-0x2a(%rbp,%rax,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
mov    -0x10(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x10(%rbp)
jmp    1451 <main+0x321>
mov    -0xc(%rbp),%eax
mov    %eax,-0x10(%rbp)
cmpl   $0x0,-0xc(%rbp)
jl     14ed <main+0x3bd>
mov    -0xc(%rbp),%eax
sub    $0x1,%eax
cltq
movsbl -0x1d(%rbp,%rax,1),%eax
cmp    $0x44,%eax
jne    14df <main+0x3af>
mov    -0xc(%rbp),%eax
sub    $0x1,%eax
cltq
mov    -0x1d(%rbp,%rax,1),%cl
movslq -0x8(%rbp),%rax
mov    %cl,-0x2a(%rbp,%rax,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
mov    -0xc(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0xc(%rbp)
jmp    14a2 <main+0x372>
mov    -0x10(%rbp),%eax
mov    %eax,-0xc(%rbp)
cmpl   $0x0,-0x10(%rbp)
jl     153e <main+0x40e>
mov    -0x10(%rbp),%eax
sub    $0x1,%eax
cltq
movsbl -0x1d(%rbp,%rax,1),%eax
cmp    $0x4b,%eax
jne    1530 <main+0x400>
mov    -0x10(%rbp),%eax
sub    $0x1,%eax
cltq
mov    -0x1d(%rbp,%rax,1),%cl
movslq -0x8(%rbp),%rax
mov    %cl,-0x2a(%rbp,%rax,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
mov    -0x10(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x10(%rbp)
jmp    14f3 <main+0x3c3>
mov    -0xc(%rbp),%eax
mov    %eax,-0x10(%rbp)
cmpl   $0x0,-0xc(%rbp)
jl     158f <main+0x45f>
mov    -0xc(%rbp),%eax
sub    $0x1,%eax
cltq
movsbl -0x1d(%rbp,%rax,1),%eax
cmp    $0x41,%eax
jne    1581 <main+0x451>
mov    -0xc(%rbp),%eax
sub    $0x1,%eax
cltq
mov    -0x1d(%rbp,%rax,1),%cl
movslq -0x8(%rbp),%rax
mov    %cl,-0x2a(%rbp,%rax,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
mov    -0xc(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0xc(%rbp)
jmp    1544 <main+0x414>
lea    -0x2a(%rbp),%rsi
lea    0xa7c(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
xor    %eax,%eax
add    $0x30,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %r14
push   %rbx
sub    $0x28,%rsp
lea    0xec2(%rip),%rdi
xor    %ebx,%ebx
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x1b(%rsp),%r14
mov    %r14,%rdi
call   1050 <gets@plt>
mov    %r14,%rdi
call   1030 <strlen@plt>
movslq %eax,%rcx
movb   $0x0,0xe(%rsp,%rcx,1)
test   %ecx,%ecx
js     16d4 <main+0x5a4>
lea    0x1(%rcx),%rdx
test   %ecx,%ecx
je     11c0 <main+0x90>
mov    %rdx,%rdi
and    $0xfffffffffffffffe,%rdi
xor    %ebx,%ebx
mov    %rcx,%rsi
jmp    119a <main+0x6a>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
add    $0xfffffffffffffffe,%rsi
add    $0xfffffffffffffffe,%rdi
je     11c3 <main+0x93>
cmpb   $0x32,0x1a(%rsp,%rsi,1)
jne    11ac <main+0x7c>
movslq %ebx,%rbx
movb   $0x32,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
cmpb   $0x32,0x19(%rsp,%rsi,1)
jne    1190 <main+0x60>
movslq %ebx,%rbx
movb   $0x32,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
jmp    1190 <main+0x60>
mov    %rcx,%rsi
test   $0x1,%dl
je     11db <main+0xab>
cmpb   $0x32,-0x1(%rsi,%r14,1)
jne    11db <main+0xab>
movslq %ebx,%rbx
movb   $0x32,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
test   %eax,%eax
js     16d4 <main+0x5a4>
test   $0x1,%dl
jne    11ed <main+0xbd>
mov    %rcx,%rsi
jmp    1203 <main+0xd3>
lea    -0x1(%rcx),%rsi
cmpb   $0x33,0x1a(%rsp,%rcx,1)
jne    1203 <main+0xd3>
movslq %ebx,%rbx
movb   $0x33,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
test   %eax,%eax
je     1240 <main+0x110>
add    $0x2,%rsi
jmp    121a <main+0xea>
nopl   (%rax)
add    $0xfffffffffffffffe,%rsi
cmp    $0x1,%rsi
jle    1240 <main+0x110>
cmpb   $0x33,0x18(%rsp,%rsi,1)
jne    122c <main+0xfc>
movslq %ebx,%rbx
movb   $0x33,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
cmpb   $0x33,0x17(%rsp,%rsi,1)
jne    1210 <main+0xe0>
movslq %ebx,%rbx
movb   $0x33,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
jmp    1210 <main+0xe0>
test   %eax,%eax
js     16d4 <main+0x5a4>
test   $0x1,%dl
jne    1252 <main+0x122>
mov    %rcx,%rsi
jmp    1268 <main+0x138>
lea    -0x1(%rcx),%rsi
cmpb   $0x34,0x1a(%rsp,%rcx,1)
jne    1268 <main+0x138>
movslq %ebx,%rbx
movb   $0x34,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
test   %eax,%eax
je     12b0 <main+0x180>
add    $0x2,%rsi
jmp    128a <main+0x15a>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
add    $0xfffffffffffffffe,%rsi
cmp    $0x1,%rsi
jle    12b0 <main+0x180>
cmpb   $0x34,0x18(%rsp,%rsi,1)
jne    129c <main+0x16c>
movslq %ebx,%rbx
movb   $0x34,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
cmpb   $0x34,0x17(%rsp,%rsi,1)
jne    1280 <main+0x150>
movslq %ebx,%rbx
movb   $0x34,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
jmp    1280 <main+0x150>
test   %eax,%eax
js     16d4 <main+0x5a4>
test   $0x1,%dl
jne    12c2 <main+0x192>
mov    %rcx,%rsi
jmp    12d8 <main+0x1a8>
lea    -0x1(%rcx),%rsi
cmpb   $0x35,0x1a(%rsp,%rcx,1)
jne    12d8 <main+0x1a8>
movslq %ebx,%rbx
movb   $0x35,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
test   %eax,%eax
je     1320 <main+0x1f0>
add    $0x2,%rsi
jmp    12fa <main+0x1ca>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
add    $0xfffffffffffffffe,%rsi
cmp    $0x1,%rsi
jle    1320 <main+0x1f0>
cmpb   $0x35,0x18(%rsp,%rsi,1)
jne    130c <main+0x1dc>
movslq %ebx,%rbx
movb   $0x35,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
cmpb   $0x35,0x17(%rsp,%rsi,1)
jne    12f0 <main+0x1c0>
movslq %ebx,%rbx
movb   $0x35,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
jmp    12f0 <main+0x1c0>
test   %eax,%eax
js     16d4 <main+0x5a4>
test   $0x1,%dl
jne    1332 <main+0x202>
mov    %rcx,%rsi
jmp    1348 <main+0x218>
lea    -0x1(%rcx),%rsi
cmpb   $0x36,0x1a(%rsp,%rcx,1)
jne    1348 <main+0x218>
movslq %ebx,%rbx
movb   $0x36,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
test   %eax,%eax
je     1390 <main+0x260>
add    $0x2,%rsi
jmp    136a <main+0x23a>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
add    $0xfffffffffffffffe,%rsi
cmp    $0x1,%rsi
jle    1390 <main+0x260>
cmpb   $0x36,0x18(%rsp,%rsi,1)
jne    137c <main+0x24c>
movslq %ebx,%rbx
movb   $0x36,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
cmpb   $0x36,0x17(%rsp,%rsi,1)
jne    1360 <main+0x230>
movslq %ebx,%rbx
movb   $0x36,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
jmp    1360 <main+0x230>
test   %eax,%eax
js     16d4 <main+0x5a4>
test   $0x1,%dl
jne    13a2 <main+0x272>
mov    %rcx,%rsi
jmp    13b8 <main+0x288>
lea    -0x1(%rcx),%rsi
cmpb   $0x37,0x1a(%rsp,%rcx,1)
jne    13b8 <main+0x288>
movslq %ebx,%rbx
movb   $0x37,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
test   %eax,%eax
je     1400 <main+0x2d0>
add    $0x2,%rsi
jmp    13da <main+0x2aa>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
add    $0xfffffffffffffffe,%rsi
cmp    $0x1,%rsi
jle    1400 <main+0x2d0>
cmpb   $0x37,0x18(%rsp,%rsi,1)
jne    13ec <main+0x2bc>
movslq %ebx,%rbx
movb   $0x37,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
cmpb   $0x37,0x17(%rsp,%rsi,1)
jne    13d0 <main+0x2a0>
movslq %ebx,%rbx
movb   $0x37,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
jmp    13d0 <main+0x2a0>
test   %eax,%eax
js     16d4 <main+0x5a4>
test   $0x1,%dl
jne    1412 <main+0x2e2>
mov    %rcx,%rsi
jmp    1428 <main+0x2f8>
lea    -0x1(%rcx),%rsi
cmpb   $0x38,0x1a(%rsp,%rcx,1)
jne    1428 <main+0x2f8>
movslq %ebx,%rbx
movb   $0x38,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
test   %eax,%eax
je     1470 <main+0x340>
add    $0x2,%rsi
jmp    144a <main+0x31a>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
add    $0xfffffffffffffffe,%rsi
cmp    $0x1,%rsi
jle    1470 <main+0x340>
cmpb   $0x38,0x18(%rsp,%rsi,1)
jne    145c <main+0x32c>
movslq %ebx,%rbx
movb   $0x38,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
cmpb   $0x38,0x17(%rsp,%rsi,1)
jne    1440 <main+0x310>
movslq %ebx,%rbx
movb   $0x38,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
jmp    1440 <main+0x310>
test   %eax,%eax
js     16d4 <main+0x5a4>
test   $0x1,%dl
jne    1482 <main+0x352>
mov    %rcx,%rsi
jmp    1498 <main+0x368>
lea    -0x1(%rcx),%rsi
cmpb   $0x39,0x1a(%rsp,%rcx,1)
jne    1498 <main+0x368>
movslq %ebx,%rbx
movb   $0x39,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
test   %eax,%eax
je     14e0 <main+0x3b0>
add    $0x2,%rsi
jmp    14ba <main+0x38a>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
add    $0xfffffffffffffffe,%rsi
cmp    $0x1,%rsi
jle    14e0 <main+0x3b0>
cmpb   $0x39,0x18(%rsp,%rsi,1)
jne    14cc <main+0x39c>
movslq %ebx,%rbx
movb   $0x39,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
cmpb   $0x39,0x17(%rsp,%rsi,1)
jne    14b0 <main+0x380>
movslq %ebx,%rbx
movb   $0x39,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
jmp    14b0 <main+0x380>
test   %eax,%eax
js     16d4 <main+0x5a4>
test   $0x1,%dl
jne    14f2 <main+0x3c2>
mov    %rcx,%rsi
jmp    1508 <main+0x3d8>
lea    -0x1(%rcx),%rsi
cmpb   $0x54,0x1a(%rsp,%rcx,1)
jne    1508 <main+0x3d8>
movslq %ebx,%rbx
movb   $0x54,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
test   %eax,%eax
je     1550 <main+0x420>
add    $0x2,%rsi
jmp    152a <main+0x3fa>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
add    $0xfffffffffffffffe,%rsi
cmp    $0x1,%rsi
jle    1550 <main+0x420>
cmpb   $0x54,0x18(%rsp,%rsi,1)
jne    153c <main+0x40c>
movslq %ebx,%rbx
movb   $0x54,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
cmpb   $0x54,0x17(%rsp,%rsi,1)
jne    1520 <main+0x3f0>
movslq %ebx,%rbx
movb   $0x54,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
jmp    1520 <main+0x3f0>
test   %eax,%eax
js     16d4 <main+0x5a4>
test   $0x1,%dl
jne    1562 <main+0x432>
mov    %rcx,%rsi
jmp    1578 <main+0x448>
lea    -0x1(%rcx),%rsi
cmpb   $0x4a,0x1a(%rsp,%rcx,1)
jne    1578 <main+0x448>
movslq %ebx,%rbx
movb   $0x4a,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
test   %eax,%eax
je     15b2 <main+0x482>
add    $0x2,%rsi
jmp    158c <main+0x45c>
add    $0xfffffffffffffffe,%rsi
cmp    $0x1,%rsi
jle    15b2 <main+0x482>
cmpb   $0x4a,0x18(%rsp,%rsi,1)
jne    159e <main+0x46e>
movslq %ebx,%rbx
movb   $0x4a,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
cmpb   $0x4a,0x17(%rsp,%rsi,1)
jne    1582 <main+0x452>
movslq %ebx,%rbx
movb   $0x4a,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
jmp    1582 <main+0x452>
test   %eax,%eax
js     16d4 <main+0x5a4>
test   $0x1,%dl
jne    15c4 <main+0x494>
mov    %rcx,%rsi
jmp    15da <main+0x4aa>
lea    -0x1(%rcx),%rsi
cmpb   $0x44,0x1a(%rsp,%rcx,1)
jne    15da <main+0x4aa>
movslq %ebx,%rbx
movb   $0x44,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
test   %eax,%eax
je     1614 <main+0x4e4>
add    $0x2,%rsi
jmp    15ee <main+0x4be>
add    $0xfffffffffffffffe,%rsi
cmp    $0x1,%rsi
jle    1614 <main+0x4e4>
cmpb   $0x44,0x18(%rsp,%rsi,1)
jne    1600 <main+0x4d0>
movslq %ebx,%rbx
movb   $0x44,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
cmpb   $0x44,0x17(%rsp,%rsi,1)
jne    15e4 <main+0x4b4>
movslq %ebx,%rbx
movb   $0x44,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
jmp    15e4 <main+0x4b4>
test   %eax,%eax
js     16d4 <main+0x5a4>
test   $0x1,%dl
jne    1626 <main+0x4f6>
mov    %rcx,%rsi
jmp    163c <main+0x50c>
lea    -0x1(%rcx),%rsi
cmpb   $0x4b,0x1a(%rsp,%rcx,1)
jne    163c <main+0x50c>
movslq %ebx,%rbx
movb   $0x4b,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
test   %eax,%eax
je     1676 <main+0x546>
add    $0x2,%rsi
jmp    1650 <main+0x520>
add    $0xfffffffffffffffe,%rsi
cmp    $0x1,%rsi
jle    1676 <main+0x546>
cmpb   $0x4b,0x18(%rsp,%rsi,1)
jne    1662 <main+0x532>
movslq %ebx,%rbx
movb   $0x4b,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
cmpb   $0x4b,0x17(%rsp,%rsi,1)
jne    1646 <main+0x516>
movslq %ebx,%rbx
movb   $0x4b,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
jmp    1646 <main+0x516>
test   %eax,%eax
js     16d4 <main+0x5a4>
test   $0x1,%dl
jne    1684 <main+0x554>
mov    %rcx,%rdx
jmp    169a <main+0x56a>
lea    -0x1(%rcx),%rdx
cmpb   $0x41,0x1a(%rsp,%rcx,1)
jne    169a <main+0x56a>
movslq %ebx,%rbx
movb   $0x41,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
test   %eax,%eax
je     16d4 <main+0x5a4>
add    $0x2,%rdx
jmp    16ae <main+0x57e>
add    $0xfffffffffffffffe,%rdx
cmp    $0x1,%rdx
jle    16d4 <main+0x5a4>
cmpb   $0x41,0x18(%rsp,%rdx,1)
jne    16c0 <main+0x590>
movslq %ebx,%rbx
movb   $0x41,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
cmpb   $0x41,0x17(%rsp,%rdx,1)
jne    16a4 <main+0x574>
movslq %ebx,%rbx
movb   $0x41,0xe(%rsp,%rbx,1)
add    $0x1,%ebx
jmp    16a4 <main+0x574>
lea    0x93b(%rip),%rdi
lea    0xe(%rsp),%rsi
xor    %eax,%eax
call   1040 <printf@plt>
xor    %eax,%eax
add    $0x28,%rsp
pop    %rbx
pop    %r14
ret

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

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