#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*/ printf(char *, int);
int /*<<< orphan*/ scanf(char *, char *);
int main() {
  int i, j, br_vremena = 0, br_kukuruza = 0, br_reda = 0, pravi_red = 0,
            tablica[3][3], temp[3][3], max_kuk = 0;
  char unos, kukuruziste[3][20];
  for (i = 0; i < 3; i++) {
    for (j = 0; j < 20; j++) {
      scanf(" %c", &unos);
      if (unos == '.' || unos == ',' || unos == 'I') {
        kukuruziste[i][j] = unos;
      } else {
        continue;
      }
    }
  }
  for (i = 0; i < 3; i++) {
    for (j = 0; j < 20; j++) {
      if (kukuruziste[i][j] == '.') {
        br_vremena += 1;
      } else if (kukuruziste[i][j] == ',') {
        br_vremena += 2;
      } else if (kukuruziste[i][j] == 'I') {
        br_vremena += 5;
        br_kukuruza += 1;
      }
    }
    br_reda++;
    tablica[i][0] = br_reda;
    tablica[i][1] = br_vremena;
    tablica[i][2] = br_kukuruza;
    br_vremena = 0;
    br_kukuruza = 0;
  }
  for (i = 2; i >= 0; i--) {
    if (tablica[i][2] >= max_kuk) {
      max_kuk = tablica[i][2];
    }
  }
  for (i = 0; i < 3; i++) {
    for (j = i + 1; j < 3; j++) {
      if (tablica[i][1] > tablica[j][1]) {
        temp[i][0] = tablica[j][0];
        temp[i][1] = tablica[j][1];
        temp[i][2] = tablica[j][2];
        tablica[j][0] = tablica[i][0];
        tablica[j][1] = tablica[i][1];
        tablica[j][2] = tablica[i][2];
        tablica[i][0] = temp[i][0];
        tablica[i][1] = temp[i][1];
        tablica[i][2] = temp[i][2];
      }
    }
  }
  for (i = 0; i < 3; i++) {
    if (tablica[i][2] >= max_kuk - 3) {
      printf("Pozicioniraj se u %d. red!", tablica[i][0]);
      break;
    } else if (tablica[i][2] >= max_kuk - 2) {
      printf("Pozicioniraj se u %d. red!", tablica[i][0]);
      break;
    } else if (tablica[i][2] >= max_kuk - 1) {
      printf("Pozicioniraj se u %d. red!", tablica[i][0]);
      break;
    } else if (tablica[i][2] >= max_kuk) {
      printf("Pozicioniraj se u %d. red!", tablica[i][0]);
      break;
    } else if (tablica[i][2] >= max_kuk + 1) {
      printf("Pozicioniraj se u %d. red!", tablica[i][0]);
      break;
    } else if (tablica[i][2] >= max_kuk + 2) {
      printf("Pozicioniraj se u %d. red!", tablica[i][0]);
      break;
    } else if (tablica[i][2] >= max_kuk + 3) {
      printf("Pozicioniraj se u %d. red!", tablica[i][0]);
      break;
    }
  }
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0xc0,%rsp
movl   $0x0,-0x4(%rbp)
movl   $0x0,-0x10(%rbp)
movl   $0x0,-0x14(%rbp)
movl   $0x0,-0x18(%rbp)
movl   $0x0,-0x1c(%rbp)
movl   $0x0,-0x74(%rbp)
movl   $0x0,-0x8(%rbp)
cmpl   $0x3,-0x8(%rbp)
jge    11fa <main+0xda>
movl   $0x0,-0xc(%rbp)
cmpl   $0x14,-0xc(%rbp)
jge    11e7 <main+0xc7>
lea    0xe82(%rip),%rdi
lea    -0x75(%rbp),%rsi
call   1040 <scanf@plt>
movsbl -0x75(%rbp),%eax
cmp    $0x2e,%eax
je     11ae <main+0x8e>
movsbl -0x75(%rbp),%eax
cmp    $0x2c,%eax
je     11ae <main+0x8e>
movsbl -0x75(%rbp),%eax
cmp    $0x49,%eax
jne    11cf <main+0xaf>
mov    -0x75(%rbp),%dl
movslq -0x8(%rbp),%rcx
lea    -0xc0(%rbp),%rax
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
movslq -0xc(%rbp),%rcx
mov    %dl,(%rax,%rcx,1)
jmp    11d4 <main+0xb4>
jmp    11d9 <main+0xb9>
jmp    11d9 <main+0xb9>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    116d <main+0x4d>
jmp    11ec <main+0xcc>
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    115c <main+0x3c>
movl   $0x0,-0x8(%rbp)
cmpl   $0x3,-0x8(%rbp)
jge    1333 <main+0x213>
movl   $0x0,-0xc(%rbp)
cmpl   $0x14,-0xc(%rbp)
jge    12d0 <main+0x1b0>
movslq -0x8(%rbp),%rcx
lea    -0xc0(%rbp),%rax
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
movslq -0xc(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x2e,%eax
jne    124d <main+0x12d>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    12bd <main+0x19d>
movslq -0x8(%rbp),%rcx
lea    -0xc0(%rbp),%rax
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
movslq -0xc(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x2c,%eax
jne    127e <main+0x15e>
mov    -0x10(%rbp),%eax
add    $0x2,%eax
mov    %eax,-0x10(%rbp)
jmp    12b8 <main+0x198>
movslq -0x8(%rbp),%rcx
lea    -0xc0(%rbp),%rax
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
movslq -0xc(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x49,%eax
jne    12b3 <main+0x193>
mov    -0x10(%rbp),%eax
add    $0x5,%eax
mov    %eax,-0x10(%rbp)
mov    -0x14(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x14(%rbp)
jmp    12b8 <main+0x198>
jmp    12bd <main+0x19d>
jmp    12c2 <main+0x1a2>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1212 <main+0xf2>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%ecx
movslq -0x8(%rbp),%rdx
lea    -0x40(%rbp),%rax
imul   $0xc,%rdx,%rdx
add    %rdx,%rax
mov    %ecx,(%rax)
mov    -0x10(%rbp),%ecx
movslq -0x8(%rbp),%rdx
lea    -0x40(%rbp),%rax
imul   $0xc,%rdx,%rdx
add    %rdx,%rax
mov    %ecx,0x4(%rax)
mov    -0x14(%rbp),%ecx
movslq -0x8(%rbp),%rdx
lea    -0x40(%rbp),%rax
imul   $0xc,%rdx,%rdx
add    %rdx,%rax
mov    %ecx,0x8(%rax)
movl   $0x0,-0x10(%rbp)
movl   $0x0,-0x14(%rbp)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    1201 <main+0xe1>
movl   $0x2,-0x8(%rbp)
cmpl   $0x0,-0x8(%rbp)
jl     1387 <main+0x267>
movslq -0x8(%rbp),%rcx
lea    -0x40(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    0x8(%rax),%eax
cmp    -0x74(%rbp),%eax
jl     1374 <main+0x254>
movslq -0x8(%rbp),%rcx
lea    -0x40(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    0x8(%rax),%eax
mov    %eax,-0x74(%rbp)
jmp    1379 <main+0x259>
mov    -0x8(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x8(%rbp)
jmp    133a <main+0x21a>
movl   $0x0,-0x8(%rbp)
cmpl   $0x3,-0x8(%rbp)
jge    1539 <main+0x419>
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
cmpl   $0x3,-0xc(%rbp)
jge    1526 <main+0x406>
movslq -0x8(%rbp),%rcx
lea    -0x40(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    0x4(%rax),%eax
movslq -0xc(%rbp),%rdx
lea    -0x40(%rbp),%rcx
imul   $0xc,%rdx,%rdx
add    %rdx,%rcx
cmp    0x4(%rcx),%eax
jle    1513 <main+0x3f3>
movslq -0xc(%rbp),%rcx
lea    -0x40(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    (%rax),%ecx
movslq -0x8(%rbp),%rdx
lea    -0x70(%rbp),%rax
imul   $0xc,%rdx,%rdx
add    %rdx,%rax
mov    %ecx,(%rax)
movslq -0xc(%rbp),%rcx
lea    -0x40(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    0x4(%rax),%ecx
movslq -0x8(%rbp),%rdx
lea    -0x70(%rbp),%rax
imul   $0xc,%rdx,%rdx
add    %rdx,%rax
mov    %ecx,0x4(%rax)
movslq -0xc(%rbp),%rcx
lea    -0x40(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    0x8(%rax),%ecx
movslq -0x8(%rbp),%rdx
lea    -0x70(%rbp),%rax
imul   $0xc,%rdx,%rdx
add    %rdx,%rax
mov    %ecx,0x8(%rax)
movslq -0x8(%rbp),%rcx
lea    -0x40(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    (%rax),%ecx
movslq -0xc(%rbp),%rdx
lea    -0x40(%rbp),%rax
imul   $0xc,%rdx,%rdx
add    %rdx,%rax
mov    %ecx,(%rax)
movslq -0x8(%rbp),%rcx
lea    -0x40(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    0x4(%rax),%ecx
movslq -0xc(%rbp),%rdx
lea    -0x40(%rbp),%rax
imul   $0xc,%rdx,%rdx
add    %rdx,%rax
mov    %ecx,0x4(%rax)
movslq -0x8(%rbp),%rcx
lea    -0x40(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    0x8(%rax),%ecx
movslq -0xc(%rbp),%rdx
lea    -0x40(%rbp),%rax
imul   $0xc,%rdx,%rdx
add    %rdx,%rax
mov    %ecx,0x8(%rax)
movslq -0x8(%rbp),%rcx
lea    -0x70(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    (%rax),%ecx
movslq -0x8(%rbp),%rdx
lea    -0x40(%rbp),%rax
imul   $0xc,%rdx,%rdx
add    %rdx,%rax
mov    %ecx,(%rax)
movslq -0x8(%rbp),%rcx
lea    -0x70(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    0x4(%rax),%ecx
movslq -0x8(%rbp),%rdx
lea    -0x40(%rbp),%rax
imul   $0xc,%rdx,%rdx
add    %rdx,%rax
mov    %ecx,0x4(%rax)
movslq -0x8(%rbp),%rcx
lea    -0x70(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    0x8(%rax),%ecx
movslq -0x8(%rbp),%rdx
lea    -0x40(%rbp),%rax
imul   $0xc,%rdx,%rdx
add    %rdx,%rax
mov    %ecx,0x8(%rax)
jmp    1518 <main+0x3f8>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    13a1 <main+0x281>
jmp    152b <main+0x40b>
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    138e <main+0x26e>
movl   $0x0,-0x8(%rbp)
cmpl   $0x3,-0x8(%rbp)
jge    1744 <main+0x624>
movslq -0x8(%rbp),%rcx
lea    -0x40(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    0x8(%rax),%eax
mov    -0x74(%rbp),%ecx
sub    $0x3,%ecx
cmp    %ecx,%eax
jl     158c <main+0x46c>
movslq -0x8(%rbp),%rcx
lea    -0x40(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    (%rax),%esi
lea    0xa82(%rip),%rdi
call   1030 <printf@plt>
jmp    1744 <main+0x624>
movslq -0x8(%rbp),%rcx
lea    -0x40(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    0x8(%rax),%eax
mov    -0x74(%rbp),%ecx
sub    $0x2,%ecx
cmp    %ecx,%eax
jl     15ce <main+0x4ae>
movslq -0x8(%rbp),%rcx
lea    -0x40(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    (%rax),%esi
lea    0xa40(%rip),%rdi
call   1030 <printf@plt>
jmp    1744 <main+0x624>
movslq -0x8(%rbp),%rcx
lea    -0x40(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    0x8(%rax),%eax
mov    -0x74(%rbp),%ecx
sub    $0x1,%ecx
cmp    %ecx,%eax
jl     1610 <main+0x4f0>
movslq -0x8(%rbp),%rcx
lea    -0x40(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    (%rax),%esi
lea    0x9fe(%rip),%rdi
call   1030 <printf@plt>
jmp    1744 <main+0x624>
movslq -0x8(%rbp),%rcx
lea    -0x40(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    0x8(%rax),%eax
cmp    -0x74(%rbp),%eax
jl     164d <main+0x52d>
movslq -0x8(%rbp),%rcx
lea    -0x40(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    (%rax),%esi
lea    0x9c1(%rip),%rdi
call   1030 <printf@plt>
jmp    1744 <main+0x624>
movslq -0x8(%rbp),%rcx
lea    -0x40(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    0x8(%rax),%eax
mov    -0x74(%rbp),%ecx
add    $0x1,%ecx
cmp    %ecx,%eax
jl     168f <main+0x56f>
movslq -0x8(%rbp),%rcx
lea    -0x40(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    (%rax),%esi
lea    0x97f(%rip),%rdi
call   1030 <printf@plt>
jmp    1744 <main+0x624>
movslq -0x8(%rbp),%rcx
lea    -0x40(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    0x8(%rax),%eax
mov    -0x74(%rbp),%ecx
add    $0x2,%ecx
cmp    %ecx,%eax
jl     16d1 <main+0x5b1>
movslq -0x8(%rbp),%rcx
lea    -0x40(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    (%rax),%esi
lea    0x93d(%rip),%rdi
call   1030 <printf@plt>
jmp    1744 <main+0x624>
movslq -0x8(%rbp),%rcx
lea    -0x40(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    0x8(%rax),%eax
mov    -0x74(%rbp),%ecx
add    $0x3,%ecx
cmp    %ecx,%eax
jl     1713 <main+0x5f3>
movslq -0x8(%rbp),%rcx
lea    -0x40(%rbp),%rax
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    (%rax),%esi
lea    0x8fb(%rip),%rdi
call   1030 <printf@plt>
jmp    1744 <main+0x624>
jmp    1718 <main+0x5f8>
jmp    171d <main+0x5fd>
jmp    1722 <main+0x602>
jmp    1727 <main+0x607>
jmp    172c <main+0x60c>
jmp    1731 <main+0x611>
jmp    1736 <main+0x616>
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    1540 <main+0x420>
xor    %eax,%eax
add    $0xc0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %r15
push   %r14
push   %rbx
sub    $0x88,%rsp
xor    %ebp,%ebp
lea    0xeca(%rip),%r14
lea    0xf(%rsp),%rbx
mov    $0x20000005,%r15d
jmp    115a <main+0x3a>
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
add    $0x1,%rbp
cmp    $0x14,%rbp
je     1181 <main+0x61>
mov    %r14,%rdi
mov    %rbx,%rsi
call   1040 <scanf@plt>
movzbl 0xf(%rsp),%eax
lea    -0x2c(%rax),%ecx
cmp    $0x1d,%cl
ja     1150 <main+0x30>
movzbl %cl,%ecx
bt     %rcx,%r15
jae    1150 <main+0x30>
mov    %al,0x40(%rsp,%rbp,1)
jmp    1150 <main+0x30>
mov    $0xffffffffffffffec,%rbp
lea    0xe71(%rip),%r14
lea    0xf(%rsp),%rbx
mov    $0x20000005,%r15d
jmp    11a5 <main+0x85>
nopl   0x0(%rax)
inc    %rbp
je     11cc <main+0xac>
mov    %r14,%rdi
mov    %rbx,%rsi
call   1040 <scanf@plt>
movzbl 0xf(%rsp),%eax
lea    -0x2c(%rax),%ecx
cmp    $0x1d,%cl
ja     11a0 <main+0x80>
movzbl %cl,%ecx
bt     %rcx,%r15
jae    11a0 <main+0x80>
mov    %al,0x68(%rsp,%rbp,1)
jmp    11a0 <main+0x80>
mov    $0xffffffffffffffec,%rbp
lea    0xe26(%rip),%r14
lea    0xf(%rsp),%rbx
mov    $0x20000005,%r15d
jmp    11f5 <main+0xd5>
nopw   0x0(%rax,%rax,1)
inc    %rbp
je     121c <main+0xfc>
mov    %r14,%rdi
mov    %rbx,%rsi
call   1040 <scanf@plt>
movzbl 0xf(%rsp),%eax
lea    -0x2c(%rax),%ecx
cmp    $0x1d,%cl
ja     11f0 <main+0xd0>
movzbl %cl,%ecx
bt     %rcx,%r15
jae    11f0 <main+0xd0>
mov    %al,0x7c(%rsp,%rbp,1)
jmp    11f0 <main+0xd0>
xor    %r8d,%r8d
mov    $0x1,%eax
xor    %ebx,%ebx
jmp    123d <main+0x11d>
nopl   0x0(%rax,%rax,1)
add    $0x1,%ebx
add    $0x2,%rax
cmp    $0x15,%rax
je     1295 <main+0x175>
movzbl 0x3f(%rsp,%rax,1),%ecx
cmp    $0x2c,%cl
je     1270 <main+0x150>
cmp    $0x49,%cl
je     1260 <main+0x140>
cmp    $0x2e,%cl
jne    1273 <main+0x153>
add    $0x1,%ebx
jmp    1273 <main+0x153>
cs nopw 0x0(%rax,%rax,1)
add    $0x5,%ebx
add    $0x1,%r8d
jmp    1273 <main+0x153>
nopl   0x0(%rax)
add    $0x2,%ebx
movzbl 0x40(%rsp,%rax,1),%ecx
cmp    $0x2c,%cl
je     1290 <main+0x170>
cmp    $0x2e,%cl
je     1230 <main+0x110>
cmp    $0x49,%cl
jne    1233 <main+0x113>
add    $0x5,%ebx
add    $0x1,%r8d
jmp    1233 <main+0x113>
add    $0x2,%ebx
jmp    1233 <main+0x113>
movl   $0x1,0x10(%rsp)
mov    %ebx,0x14(%rsp)
mov    %r8d,0x18(%rsp)
xor    %ecx,%ecx
xor    %ebp,%ebp
xor    %esi,%esi
jmp    12bd <main+0x19d>
xchg   %ax,%ax
add    $0x1,%esi
add    $0x2,%rcx
cmp    $0x14,%rcx
je     1315 <main+0x1f5>
movzbl 0x54(%rsp,%rcx,1),%eax
cmp    $0x2c,%al
je     12f0 <main+0x1d0>
cmp    $0x2e,%al
je     12e0 <main+0x1c0>
cmp    $0x49,%al
jne    12f3 <main+0x1d3>
add    $0x5,%esi
add    $0x1,%ebp
jmp    12f3 <main+0x1d3>
cs nopw 0x0(%rax,%rax,1)
add    $0x1,%esi
jmp    12f3 <main+0x1d3>
cs nopw 0x0(%rax,%rax,1)
nop
add    $0x2,%esi
movzbl 0x55(%rsp,%rcx,1),%eax
cmp    $0x2c,%al
je     1310 <main+0x1f0>
cmp    $0x2e,%al
je     12b0 <main+0x190>
cmp    $0x49,%al
jne    12b3 <main+0x193>
add    $0x5,%esi
add    $0x1,%ebp
jmp    12b3 <main+0x193>
nopl   0x0(%rax)
add    $0x2,%esi
jmp    12b3 <main+0x193>
movl   $0x2,0x1c(%rsp)
xor    %eax,%eax
xor    %edi,%edi
xor    %ecx,%ecx
jmp    133d <main+0x21d>
cs nopw 0x0(%rax,%rax,1)
nop
add    $0x1,%ecx
add    $0x2,%rax
cmp    $0x14,%rax
je     1395 <main+0x275>
movzbl 0x68(%rsp,%rax,1),%edx
cmp    $0x2c,%dl
je     1370 <main+0x250>
cmp    $0x2e,%dl
je     1360 <main+0x240>
cmp    $0x49,%dl
jne    1373 <main+0x253>
add    $0x5,%ecx
add    $0x1,%edi
jmp    1373 <main+0x253>
nopl   0x0(%rax)
add    $0x1,%ecx
jmp    1373 <main+0x253>
cs nopw 0x0(%rax,%rax,1)
nop
add    $0x2,%ecx
movzbl 0x69(%rsp,%rax,1),%edx
cmp    $0x2c,%dl
je     1390 <main+0x270>
cmp    $0x2e,%dl
je     1330 <main+0x210>
cmp    $0x49,%dl
jne    1333 <main+0x213>
add    $0x5,%ecx
add    $0x1,%edi
jmp    1333 <main+0x213>
nop
add    $0x2,%ecx
jmp    1333 <main+0x213>
movl   $0x3,0x28(%rsp)
xor    %eax,%eax
test   %edi,%edi
cmovns %edi,%eax
cmp    %eax,%ebp
cmovge %ebp,%eax
cmp    %esi,%ebx
jle    13f4 <main+0x2d4>
movl   $0x1,0x1c(%rsp)
mov    %ebx,0x20(%rsp)
mov    %r8d,0x24(%rsp)
movl   $0x2,0x10(%rsp)
mov    $0x2,%r10d
mov    $0x1,%r11d
mov    %r8d,%r9d
mov    %ebx,%edx
mov    %esi,%ebx
cmp    %ecx,%ebx
jg     140c <main+0x2ec>
mov    %ebp,%esi
mov    %edi,%ebp
mov    $0x3,%r10d
mov    %ecx,%ebx
cmp    %ebx,%edx
jg     141f <main+0x2ff>
mov    %ebp,%ecx
mov    %r9d,%ebp
jmp    1435 <main+0x315>
mov    $0x1,%r10d
mov    $0x2,%r11d
mov    %ebp,%r9d
mov    %esi,%edx
mov    %r8d,%ebp
cmp    %ecx,%ebx
jle    13dd <main+0x2bd>
mov    %r10d,0x28(%rsp)
movl   $0x3,0x10(%rsp)
mov    %edi,%esi
cmp    %ebx,%edx
jle    13ed <main+0x2cd>
mov    %r11d,0x28(%rsp)
mov    %edx,0x2c(%rsp)
mov    %r9d,0x30(%rsp)
mov    %r10d,0x1c(%rsp)
mov    %r9d,%ecx
cmp    %eax,%r8d
cmovl  %eax,%r8d
add    $0xfffffffd,%r8d
cmp    %r8d,%esi
jge    145b <main+0x33b>
mov    $0x1,%eax
cmp    %r8d,%ebp
jge    145d <main+0x33d>
mov    $0x2,%eax
cmp    %r8d,%ecx
jge    145d <main+0x33d>
jmp    1471 <main+0x351>
xor    %eax,%eax
lea    (%rax,%rax,2),%rax
mov    0x10(%rsp,%rax,4),%esi
lea    0xb98(%rip),%rdi
call   1030 <printf@plt>
xor    %eax,%eax
add    $0x88,%rsp
pop    %rbx
pop    %r14
pop    %r15
pop    %rbp
ret

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

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