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

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ fgets(char *, int, int /*<<< orphan*/);
int /*<<< orphan*/ printf(char *, ...);
int /*<<< orphan*/ stdin;
int strlen(char *);
int main() {
  char c[1000];
  int a = 0;
  int b = 0;
  int C = 0;
  int d = 0;
  int e = 0;
  int f = 0;
  int g = 0;
  int h = 0;
  int i = 0;
  int j = 0;
  int k = 0;
  int l = 0;
  int m = 0;
  int n = 0;
  int o = 0;
  int p = 0;
  int q = 0;
  int r = 0;
  int s = 0;
  int t = 0;
  int u = 0;
  int v = 0;
  int w = 0;
  int x = 0;
  int y = 0;
  int z = 0;
  int br;
  fgets(c, 1000, stdin);
  for (br = 0; br < 1000, br <= strlen(c); br++) {
    if (c[br] == 'a' || c[br] == 'A') {
      a = a + 1;
    }
    if (c[br] == 'b' || c[br] == 'B') {
      b = b + 1;
    }
    if (c[br] == 'c' || c[br] == 'C') {
      C = C + 1;
    }
    if (c[br] == 'd' || c[br] == 'D') {
      d = d + 1;
    }
    if (c[br] == 'e' || c[br] == 'E') {
      e = e + 1;
    }
    if (c[br] == 'f' || c[br] == 'F') {
      f = f + 1;
    }
    if (c[br] == 'g' || c[br] == 'G') {
      g = g + 1;
    }
    if (c[br] == 'h' || c[br] == 'H') {
      h = h + 1;
    }
    if (c[br] == 'i' || c[br] == 'I') {
      i = i + 1;
    }
    if (c[br] == 'j' || c[br] == 'J') {
      j = j + 1;
    }
    if (c[br] == 'k' || c[br] == 'K') {
      k = k + 1;
    }
    if (c[br] == 'l' || c[br] == 'L') {
      l = l + 1;
    }
    if (c[br] == 'm' || c[br] == 'M') {
      m = m + 1;
    }
    if (c[br] == 'n' || c[br] == 'N') {
      n = n + 1;
    }
    if (c[br] == 'o' || c[br] == 'O') {
      o = o + 1;
    }
    if (c[br] == 'p' || c[br] == 'P') {
      p = p + 1;
    }
    if (c[br] == 'q' || c[br] == 'Q') {
      q = q + 1;
    }
    if (c[br] == 'r' || c[br] == 'R') {
      r = r + 1;
    }
    if (c[br] == 's' || c[br] == 'S') {
      s = s + 1;
    }
    if (c[br] == 't' || c[br] == 'T') {
      t = t + 1;
    }
    if (c[br] == 'u' || c[br] == 'U') {
      u = u + 1;
    }
    if (c[br] == 'v' || c[br] == 'V') {
      v = v + 1;
    }
    if (c[br] == 'w' || c[br] == 'W') {
      w = w + 1;
    }
    if (c[br] == 'x' || c[br] == 'X') {
      x = x + 1;
    }
    if (c[br] == 'y' || c[br] == 'Y') {
      y = y + 1;
    }
    if (c[br] == 'z' || c[br] == 'Z') {
      z = z + 1;
    }
  }
  if (a > 0) {
    printf("\n a - ");
    printf("%d", a);
  }
  if (b > 0) {
    printf("\n b - ");
    printf("%d", b);
  }
  if (C > 0) {
    printf("\n c - ");
    printf("%d", C);
  }
  if (d > 0) {
    printf("\n d - ");
    printf("%d", d);
  }
  if (e > 0) {
    printf("\n e - ");
    printf("%d", e);
  }
  if (f > 0) {
    printf("\n f - ");
    printf("%d", f);
  }
  if (g > 0) {
    printf("\n g - ");
    printf("%d", g);
  }
  if (h > 0) {
    printf("\n h - ");
    printf("%d", h);
  }
  if (i > 0) {
    printf("\n i - ");
    printf("%d", i);
  }
  if (j > 0) {
    printf("\n j - ");
    printf("%d", j);
  }
  if (k > 0) {
    printf("\n k - ");
    printf("%d", k);
  }
  if (l > 0) {
    printf("\n l - ");
    printf("%d", l);
  }
  if (m > 0) {
    printf("\n m - ");
    printf("%d", m);
  }
  if (n > 0) {
    printf("\n n - ");
    printf("%d", n);
  }
  if (o > 0) {
    printf("\n o - ");
    printf("%d", o);
  }
  if (p > 0) {
    printf("\n p - ");
    printf("%d", p);
  }
  if (q > 0) {
    printf("\n q - ");
    printf("%d", q);
  }
  if (r > 0) {
    printf("\n r - ");
    printf("%d", r);
  }
  if (s > 0) {
    printf("\n s - ");
    printf("%d", s);
  }
  if (t > 0) {
    printf("\n t - ");
    printf("%d", t);
  }
  if (u > 0) {
    printf("\n u - ");
    printf("%d", u);
  }
  if (v > 0) {
    printf("\n v - ");
    printf("%d", v);
  }
  if (w > 0) {
    printf("\n w - ");
    printf("%d", w);
  }
  if (x > 0) {
    printf("\n x - ");
    printf("%d", x);
  }
  if (y > 0) {
    printf("\n y - ");
    printf("%d", y);
  }
  if (z > 0) {
    printf("\n z - ");
    printf("%d", z);
  }
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x460,%rsp
movl   $0x0,-0x4(%rbp)
movl   $0x0,-0x3f4(%rbp)
movl   $0x0,-0x3f8(%rbp)
movl   $0x0,-0x3fc(%rbp)
movl   $0x0,-0x400(%rbp)
movl   $0x0,-0x404(%rbp)
movl   $0x0,-0x408(%rbp)
movl   $0x0,-0x40c(%rbp)
movl   $0x0,-0x410(%rbp)
movl   $0x0,-0x414(%rbp)
movl   $0x0,-0x418(%rbp)
movl   $0x0,-0x41c(%rbp)
movl   $0x0,-0x420(%rbp)
movl   $0x0,-0x424(%rbp)
movl   $0x0,-0x428(%rbp)
movl   $0x0,-0x42c(%rbp)
movl   $0x0,-0x430(%rbp)
movl   $0x0,-0x434(%rbp)
movl   $0x0,-0x438(%rbp)
movl   $0x0,-0x43c(%rbp)
movl   $0x0,-0x440(%rbp)
movl   $0x0,-0x444(%rbp)
movl   $0x0,-0x448(%rbp)
movl   $0x0,-0x44c(%rbp)
movl   $0x0,-0x450(%rbp)
movl   $0x0,-0x454(%rbp)
movl   $0x0,-0x458(%rbp)
lea    -0x3f0(%rbp),%rdi
mov    0x2d94(%rip),%rax
mov    (%rax),%edx
mov    $0x3e8,%esi
call   1050 <fgets@plt>
movl   $0x0,-0x45c(%rbp)
mov    -0x45c(%rbp),%eax
mov    %eax,-0x460(%rbp)
lea    -0x3f0(%rbp),%rdi
call   1030 <strlen@plt>
mov    %eax,%ecx
mov    -0x460(%rbp),%eax
cmp    %ecx,%eax
jg     1911 <main+0x7e1>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x61,%eax
je     12c2 <main+0x192>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x41,%eax
jne    12d1 <main+0x1a1>
mov    -0x3f4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3f4(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x62,%eax
je     1301 <main+0x1d1>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x42,%eax
jne    1310 <main+0x1e0>
mov    -0x3f8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3f8(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x63,%eax
je     1340 <main+0x210>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x43,%eax
jne    134f <main+0x21f>
mov    -0x3fc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3fc(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x64,%eax
je     137f <main+0x24f>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x44,%eax
jne    138e <main+0x25e>
mov    -0x400(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x400(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x65,%eax
je     13be <main+0x28e>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x45,%eax
jne    13cd <main+0x29d>
mov    -0x404(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x404(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x66,%eax
je     13fd <main+0x2cd>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x46,%eax
jne    140c <main+0x2dc>
mov    -0x408(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x408(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x67,%eax
je     143c <main+0x30c>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x47,%eax
jne    144b <main+0x31b>
mov    -0x40c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x40c(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x68,%eax
je     147b <main+0x34b>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x48,%eax
jne    148a <main+0x35a>
mov    -0x410(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x410(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x69,%eax
je     14ba <main+0x38a>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x49,%eax
jne    14c9 <main+0x399>
mov    -0x414(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x414(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x6a,%eax
je     14f9 <main+0x3c9>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x4a,%eax
jne    1508 <main+0x3d8>
mov    -0x418(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x418(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x6b,%eax
je     1538 <main+0x408>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x4b,%eax
jne    1547 <main+0x417>
mov    -0x41c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x41c(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x6c,%eax
je     1577 <main+0x447>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x4c,%eax
jne    1586 <main+0x456>
mov    -0x420(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x420(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x6d,%eax
je     15b6 <main+0x486>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x4d,%eax
jne    15c5 <main+0x495>
mov    -0x424(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x424(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x6e,%eax
je     15f5 <main+0x4c5>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x4e,%eax
jne    1604 <main+0x4d4>
mov    -0x428(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x428(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x6f,%eax
je     1634 <main+0x504>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x4f,%eax
jne    1643 <main+0x513>
mov    -0x42c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x42c(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x70,%eax
je     1673 <main+0x543>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x50,%eax
jne    1682 <main+0x552>
mov    -0x430(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x430(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x71,%eax
je     16b2 <main+0x582>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x51,%eax
jne    16c1 <main+0x591>
mov    -0x434(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x434(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x72,%eax
je     16f1 <main+0x5c1>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x52,%eax
jne    1700 <main+0x5d0>
mov    -0x438(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x438(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x73,%eax
je     1730 <main+0x600>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x53,%eax
jne    173f <main+0x60f>
mov    -0x43c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x43c(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x74,%eax
je     176f <main+0x63f>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x54,%eax
jne    177e <main+0x64e>
mov    -0x440(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x440(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x75,%eax
je     17ae <main+0x67e>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x55,%eax
jne    17bd <main+0x68d>
mov    -0x444(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x444(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x76,%eax
je     17ed <main+0x6bd>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x56,%eax
jne    17fc <main+0x6cc>
mov    -0x448(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x448(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x77,%eax
je     182c <main+0x6fc>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x57,%eax
jne    183b <main+0x70b>
mov    -0x44c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44c(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x78,%eax
je     186b <main+0x73b>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x58,%eax
jne    187a <main+0x74a>
mov    -0x450(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x450(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x79,%eax
je     18aa <main+0x77a>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x59,%eax
jne    18b9 <main+0x789>
mov    -0x454(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x454(%rbp)
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x7a,%eax
je     18e9 <main+0x7b9>
movslq -0x45c(%rbp),%rax
movsbl -0x3f0(%rbp,%rax,1),%eax
ff
cmp    $0x5a,%eax
jne    18f8 <main+0x7c8>
mov    -0x458(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x458(%rbp)
jmp    18fd <main+0x7cd>
mov    -0x45c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x45c(%rbp)
jmp    126a <main+0x13a>
cmpl   $0x0,-0x3f4(%rbp)
jle    1940 <main+0x810>
lea    0x6db(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x3f4(%rbp),%esi
lea    0x6ce(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x3f8(%rbp)
jle    196f <main+0x83f>
lea    0x6b6(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x3f8(%rbp),%esi
lea    0x69f(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x3fc(%rbp)
jle    199e <main+0x86e>
lea    0x68e(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x3fc(%rbp),%esi
lea    0x670(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x400(%rbp)
jle    19cd <main+0x89d>
lea    0x666(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x400(%rbp),%esi
lea    0x641(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x404(%rbp)
jle    19fc <main+0x8cc>
lea    0x63e(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x404(%rbp),%esi
lea    0x612(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x408(%rbp)
jle    1a2b <main+0x8fb>
lea    0x616(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x408(%rbp),%esi
lea    0x5e3(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x40c(%rbp)
jle    1a5a <main+0x92a>
lea    0x5ee(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x40c(%rbp),%esi
lea    0x5b4(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x410(%rbp)
jle    1a89 <main+0x959>
lea    0x5c6(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x410(%rbp),%esi
lea    0x585(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x414(%rbp)
jle    1ab8 <main+0x988>
lea    0x59e(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x414(%rbp),%esi
lea    0x556(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x418(%rbp)
jle    1ae7 <main+0x9b7>
lea    0x576(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x418(%rbp),%esi
lea    0x527(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x41c(%rbp)
jle    1b16 <main+0x9e6>
lea    0x54e(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x41c(%rbp),%esi
lea    0x4f8(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x420(%rbp)
jle    1b45 <main+0xa15>
lea    0x526(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x420(%rbp),%esi
lea    0x4c9(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x424(%rbp)
jle    1b74 <main+0xa44>
lea    0x4fe(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x424(%rbp),%esi
lea    0x49a(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x428(%rbp)
jle    1ba3 <main+0xa73>
lea    0x4d6(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x428(%rbp),%esi
lea    0x46b(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x42c(%rbp)
jle    1bd2 <main+0xaa2>
lea    0x4ae(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x42c(%rbp),%esi
lea    0x43c(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x430(%rbp)
jle    1c01 <main+0xad1>
lea    0x486(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x430(%rbp),%esi
lea    0x40d(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x434(%rbp)
jle    1c30 <main+0xb00>
lea    0x45e(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x434(%rbp),%esi
lea    0x3de(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x438(%rbp)
jle    1c5f <main+0xb2f>
lea    0x436(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x438(%rbp),%esi
lea    0x3af(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x43c(%rbp)
jle    1c8e <main+0xb5e>
lea    0x40e(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x43c(%rbp),%esi
lea    0x380(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x440(%rbp)
jle    1cbd <main+0xb8d>
lea    0x3e6(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x440(%rbp),%esi
lea    0x351(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x444(%rbp)
jle    1cec <main+0xbbc>
lea    0x3be(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x444(%rbp),%esi
lea    0x322(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x448(%rbp)
jle    1d1b <main+0xbeb>
lea    0x396(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x448(%rbp),%esi
lea    0x2f3(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x44c(%rbp)
jle    1d4a <main+0xc1a>
lea    0x36e(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x44c(%rbp),%esi
lea    0x2c4(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x450(%rbp)
jle    1d79 <main+0xc49>
lea    0x346(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x450(%rbp),%esi
lea    0x295(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x454(%rbp)
jle    1da8 <main+0xc78>
lea    0x31e(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x454(%rbp),%esi
lea    0x266(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
cmpl   $0x0,-0x458(%rbp)
jle    1dd7 <main+0xca7>
lea    0x2f6(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x458(%rbp),%esi
lea    0x237(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
xor    %eax,%eax
add    $0x460,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x448,%rsp
mov    0x2ea0(%rip),%rax
mov    (%rax),%edx
lea    0x60(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x3e8,%esi
call   1050 <fgets@plt>
mov    %rbx,%rdi
call   1030 <strlen@plt>
test   %eax,%eax
js     1744 <main+0x614>
movl   $0x0,0x58(%rsp)
mov    $0xffffffffffffffff,%r12
movl   $0x0,0x54(%rsp)
movl   $0x0,0x50(%rsp)
xor    %r13d,%r13d
xor    %ebx,%ebx
movl   $0x0,0x4c(%rsp)
movl   $0x0,0x48(%rsp)
movl   $0x0,0x44(%rsp)
movl   $0x0,0x40(%rsp)
movl   $0x0,0x3c(%rsp)
movl   $0x0,0x38(%rsp)
movl   $0x0,0x34(%rsp)
movl   $0x0,0x30(%rsp)
movl   $0x0,0x2c(%rsp)
movl   $0x0,0x28(%rsp)
movl   $0x0,0x24(%rsp)
movl   $0x0,0x20(%rsp)
movl   $0x0,0x1c(%rsp)
movl   $0x0,0x18(%rsp)
movl   $0x0,0x14(%rsp)
movl   $0x0,0x10(%rsp)
movl   $0x0,0xc(%rsp)
movl   $0x0,0x8(%rsp)
xor    %ebp,%ebp
xor    %r14d,%r14d
xor    %r15d,%r15d
jmp    1249 <main+0x119>
nopw   0x0(%rax,%rax,1)
lea    0x60(%rsp),%rdi
call   1030 <strlen@plt>
cltq
add    $0x1,%r12
cmp    %rax,%r12
jge    133d <main+0x20d>
movzbl 0x61(%rsp,%r12,1),%eax
or     $0x20,%al
cmp    $0x61,%al
jne    1259 <main+0x129>
add    $0x1,%r15d
cmp    $0x62,%al
jne    1261 <main+0x131>
add    $0x1,%r14d
cmp    $0x63,%al
jne    1268 <main+0x138>
add    $0x1,%ebp
cmp    $0x64,%al
jne    1271 <main+0x141>
addl   $0x1,0x8(%rsp)
cmp    $0x65,%al
jne    127a <main+0x14a>
addl   $0x1,0xc(%rsp)
cmp    $0x66,%al
jne    1283 <main+0x153>
addl   $0x1,0x10(%rsp)
cmp    $0x67,%al
jne    128c <main+0x15c>
addl   $0x1,0x14(%rsp)
cmp    $0x68,%al
jne    1295 <main+0x165>
addl   $0x1,0x18(%rsp)
cmp    $0x69,%al
jne    129e <main+0x16e>
addl   $0x1,0x1c(%rsp)
cmp    $0x6a,%al
jne    12a7 <main+0x177>
addl   $0x1,0x20(%rsp)
cmp    $0x6b,%al
jne    12b0 <main+0x180>
addl   $0x1,0x24(%rsp)
cmp    $0x6c,%al
jne    12b9 <main+0x189>
addl   $0x1,0x28(%rsp)
cmp    $0x6d,%al
jne    12c2 <main+0x192>
addl   $0x1,0x2c(%rsp)
cmp    $0x6e,%al
jne    12cb <main+0x19b>
addl   $0x1,0x30(%rsp)
cmp    $0x6f,%al
jne    12d4 <main+0x1a4>
addl   $0x1,0x34(%rsp)
cmp    $0x70,%al
jne    12dd <main+0x1ad>
addl   $0x1,0x38(%rsp)
cmp    $0x71,%al
jne    12e6 <main+0x1b6>
addl   $0x1,0x3c(%rsp)
cmp    $0x72,%al
jne    12ef <main+0x1bf>
addl   $0x1,0x40(%rsp)
cmp    $0x73,%al
jne    12f8 <main+0x1c8>
addl   $0x1,0x44(%rsp)
cmp    $0x74,%al
jne    1301 <main+0x1d1>
addl   $0x1,0x48(%rsp)
cmp    $0x75,%al
jne    130a <main+0x1da>
addl   $0x1,0x4c(%rsp)
cmp    $0x76,%al
jne    1311 <main+0x1e1>
add    $0x1,%ebx
cmp    $0x77,%al
jne    1319 <main+0x1e9>
add    $0x1,%r13d
cmp    $0x78,%al
jne    1322 <main+0x1f2>
addl   $0x1,0x50(%rsp)
cmp    $0x79,%al
jne    132b <main+0x1fb>
addl   $0x1,0x54(%rsp)
cmp    $0x7a,%al
jne    1230 <main+0x100>
addl   $0x1,0x58(%rsp)
jmp    1230 <main+0x100>
test   %r15d,%r15d
jle    1361 <main+0x231>
lea    0xcb7(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xcb0(%rip),%rdi
mov    %r15d,%esi
xor    %eax,%eax
call   1040 <printf@plt>
test   %r14d,%r14d
jle    1385 <main+0x255>
lea    0xc9d(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xc8c(%rip),%rdi
mov    %r14d,%esi
xor    %eax,%eax
call   1040 <printf@plt>
mov    %ebx,0x5c(%rsp)
test   %ebp,%ebp
jle    13ab <main+0x27b>
lea    0xc7d(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xc65(%rip),%rdi
mov    %ebp,%esi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x8(%rsp),%ebx
test   %ebx,%ebx
mov    0x1c(%rsp),%r14d
mov    0x18(%rsp),%r15d
mov    0x14(%rsp),%r12d
mov    0xc(%rsp),%ebp
jle    13e4 <main+0x2b4>
lea    0xc4b(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xc2c(%rip),%rdi
mov    %ebx,%esi
xor    %eax,%eax
call   1040 <printf@plt>
mov    %r13d,0x8(%rsp)
test   %ebp,%ebp
jle    140b <main+0x2db>
lea    0xc2b(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xc05(%rip),%rdi
mov    %ebp,%esi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x10(%rsp),%r13d
test   %r13d,%r13d
jle    1434 <main+0x304>
lea    0xc0a(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xbdd(%rip),%rdi
mov    %r13d,%esi
xor    %eax,%eax
call   1040 <printf@plt>
test   %r12d,%r12d
jle    1458 <main+0x328>
lea    0xbed(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xbb9(%rip),%rdi
mov    %r12d,%esi
xor    %eax,%eax
call   1040 <printf@plt>
test   %r15d,%r15d
jle    147c <main+0x34c>
lea    0xbd0(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xb95(%rip),%rdi
mov    %r15d,%esi
xor    %eax,%eax
call   1040 <printf@plt>
test   %r14d,%r14d
jle    14a0 <main+0x370>
lea    0xbb3(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xb71(%rip),%rdi
mov    %r14d,%esi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x20(%rsp),%r14d
test   %r14d,%r14d
mov    0x2c(%rsp),%r15d
mov    0x28(%rsp),%ebx
jle    14d2 <main+0x3a2>
lea    0xb88(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xb3f(%rip),%rdi
mov    %r14d,%esi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x24(%rsp),%ebp
test   %ebp,%ebp
jle    14f8 <main+0x3c8>
lea    0xb68(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xb18(%rip),%rdi
mov    %ebp,%esi
xor    %eax,%eax
call   1040 <printf@plt>
test   %ebx,%ebx
mov    0x3c(%rsp),%r14d
mov    0x38(%rsp),%r12d
mov    0x34(%rsp),%ebp
jle    1528 <main+0x3f8>
lea    0xb3f(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xae8(%rip),%rdi
mov    %ebx,%esi
xor    %eax,%eax
call   1040 <printf@plt>
test   %r15d,%r15d
jle    154c <main+0x41c>
lea    0xb23(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xac5(%rip),%rdi
mov    %r15d,%esi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x30(%rsp),%r13d
test   %r13d,%r13d
jle    1575 <main+0x445>
lea    0xb01(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xa9c(%rip),%rdi
mov    %r13d,%esi
xor    %eax,%eax
call   1040 <printf@plt>
test   %ebp,%ebp
jle    1597 <main+0x467>
lea    0xae5(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xa79(%rip),%rdi
mov    %ebp,%esi
xor    %eax,%eax
call   1040 <printf@plt>
test   %r12d,%r12d
mov    0x8(%rsp),%r15d
jle    15c0 <main+0x490>
lea    0xac4(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xa51(%rip),%rdi
mov    %r12d,%esi
xor    %eax,%eax
call   1040 <printf@plt>
test   %r14d,%r14d
mov    0x44(%rsp),%ebx
jle    15e8 <main+0x4b8>
lea    0xaa3(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xa29(%rip),%rdi
mov    %r14d,%esi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x40(%rsp),%r14d
test   %r14d,%r14d
mov    0x5c(%rsp),%r12d
jle    1616 <main+0x4e6>
lea    0xa7c(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x9fb(%rip),%rdi
mov    %r14d,%esi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x58(%rsp),%r14d
test   %ebx,%ebx
jle    163d <main+0x50d>
lea    0xa5b(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x9d3(%rip),%rdi
mov    %ebx,%esi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x48(%rsp),%ebp
test   %ebp,%ebp
mov    0x50(%rsp),%ebx
jle    1667 <main+0x537>
lea    0xa38(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x9a9(%rip),%rdi
mov    %ebp,%esi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x4c(%rsp),%ebp
test   %ebp,%ebp
jle    168d <main+0x55d>
lea    0xa19(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x983(%rip),%rdi
mov    %ebp,%esi
xor    %eax,%eax
call   1040 <printf@plt>
test   %r12d,%r12d
mov    0x54(%rsp),%ebp
jle    16b5 <main+0x585>
lea    0x9f9(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x95c(%rip),%rdi
mov    %r12d,%esi
xor    %eax,%eax
call   1040 <printf@plt>
test   %r15d,%r15d
jle    16d9 <main+0x5a9>
lea    0x9dc(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x938(%rip),%rdi
mov    %r15d,%esi
xor    %eax,%eax
call   1040 <printf@plt>
test   %ebx,%ebx
jle    16fb <main+0x5cb>
lea    0x9c0(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x915(%rip),%rdi
mov    %ebx,%esi
xor    %eax,%eax
call   1040 <printf@plt>
test   %ebp,%ebp
jle    171d <main+0x5ed>
lea    0x9a5(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x8f3(%rip),%rdi
mov    %ebp,%esi
xor    %eax,%eax
call   1040 <printf@plt>
test   %r14d,%r14d
jle    1744 <main+0x614>
mov    %r14d,%ebx
lea    0x986(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x8cd(%rip),%rdi
mov    %r14d,%esi
xor    %eax,%eax
call   1040 <printf@plt>
xor    %eax,%eax
add    $0x448,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

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

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