#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 *, char, char, char, ...);
int /*<<< orphan*/ scanf(char *, ...);
int main() {
  char str, str2[7];
  int i, something[7], first, second, third;
  scanf("%c", &str);
  if (str == 'h') {
    scanf("%s", str2);
    for (i = 0; i < 6; i++) {
      if (str2[i] == '0')
        something[i] = 0;
      else if (str2[i] == '1')
        something[i] = 1;
      else if (str2[i] == '2')
        something[i] = 2;
      else if (str2[i] == '3')
        something[i] = 3;
      else if (str2[i] == '4')
        something[i] = 4;
      else if (str2[i] == '5')
        something[i] = 5;
      else if (str2[i] == '6')
        something[i] = 6;
      else if (str2[i] == '7')
        something[i] = 7;
      else if (str2[i] == '8')
        something[i] = 8;
      else if (str2[i] == '9')
        something[i] = 9;
      else if (str2[i] == 'a')
        something[i] = 10;
      else if (str2[i] == 'b')
        something[i] = 11;
      else if (str2[i] == 'c')
        something[i] = 12;
      else if (str2[i] == 'd')
        something[i] = 13;
      else if (str2[i] == 'e')
        something[i] = 14;
      else if (str2[i] == 'f')
        something[i] = 15;
    }
    first = something[0] * 16 + something[1];
    second = something[2] * 16 + something[3];
    third = something[4] * 16 + something[5];
    printf("rgb(%d, %d, %d)", first, second, third);
  } else if (str == 'd') {
    for (i = 0; i < 6; i++)
      something[i] = 0;
    scanf("%d, %d, %d", &something[0], &something[2], &something[4]);
    for (i = 0; i < 6; i = i + 2) {
      something[i + 1] = something[i] % 16;
      something[i] = something[i] / 16;
    }
    for (i = 0; i < 6; i++) {
      if (something[i] == 0)
        str2[i] = '0';
      else if (something[i] == 1)
        str2[i] = '1';
      else if (something[i] == 2)
        str2[i] = '2';
      else if (something[i] == 3)
        str2[i] = '3';
      else if (something[i] == 4)
        str2[i] = '4';
      else if (something[i] == 5)
        str2[i] = '5';
      else if (something[i] == 6)
        str2[i] = '6';
      else if (something[i] == 7)
        str2[i] = '7';
      else if (something[i] == 8)
        str2[i] = '8';
      else if (something[i] == 9)
        str2[i] = '9';
      else if (something[i] == 10)
        str2[i] = 'a';
      else if (something[i] == 11)
        str2[i] = 'b';
      else if (something[i] == 12)
        str2[i] = 'c';
      else if (something[i] == 13)
        str2[i] = 'd';
      else if (something[i] == 14)
        str2[i] = 'e';
      else if (something[i] == 15)
        str2[i] = 'f';
    }
    printf("#%c%c%c%c%c%c", str2[0], str2[1], str2[2], str2[3], str2[4],
           str2[5]);
  }
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x50,%rsp
movl   $0x0,-0x4(%rbp)
lea    0xef3(%rip),%rdi
lea    -0x5(%rbp),%rsi
mov    $0x0,%al
call   1040 <scanf@plt>
movsbl -0x5(%rbp),%eax
cmp    $0x68,%eax
jne    1447 <main+0x327>
lea    -0xc(%rbp),%rsi
lea    0xea7(%rip),%rdi
mov    $0x0,%al
call   1040 <scanf@plt>
movl   $0x0,-0x10(%rbp)
cmpl   $0x6,-0x10(%rbp)
jge    13fa <main+0x2da>
movslq -0x10(%rbp),%rax
movsbl -0xc(%rbp,%rax,1),%eax
cmp    $0x30,%eax
jne    1194 <main+0x74>
movslq -0x10(%rbp),%rax
movl   $0x0,-0x30(%rbp,%rax,4)
jmp    13e7 <main+0x2c7>
movslq -0x10(%rbp),%rax
movsbl -0xc(%rbp,%rax,1),%eax
cmp    $0x31,%eax
jne    11b7 <main+0x97>
movslq -0x10(%rbp),%rax
movl   $0x1,-0x30(%rbp,%rax,4)
jmp    13e2 <main+0x2c2>
movslq -0x10(%rbp),%rax
movsbl -0xc(%rbp,%rax,1),%eax
cmp    $0x32,%eax
jne    11da <main+0xba>
movslq -0x10(%rbp),%rax
movl   $0x2,-0x30(%rbp,%rax,4)
jmp    13dd <main+0x2bd>
movslq -0x10(%rbp),%rax
movsbl -0xc(%rbp,%rax,1),%eax
cmp    $0x33,%eax
jne    11fd <main+0xdd>
movslq -0x10(%rbp),%rax
movl   $0x3,-0x30(%rbp,%rax,4)
jmp    13d8 <main+0x2b8>
movslq -0x10(%rbp),%rax
movsbl -0xc(%rbp,%rax,1),%eax
cmp    $0x34,%eax
jne    1220 <main+0x100>
movslq -0x10(%rbp),%rax
movl   $0x4,-0x30(%rbp,%rax,4)
jmp    13d3 <main+0x2b3>
movslq -0x10(%rbp),%rax
movsbl -0xc(%rbp,%rax,1),%eax
cmp    $0x35,%eax
jne    1243 <main+0x123>
movslq -0x10(%rbp),%rax
movl   $0x5,-0x30(%rbp,%rax,4)
jmp    13ce <main+0x2ae>
movslq -0x10(%rbp),%rax
movsbl -0xc(%rbp,%rax,1),%eax
cmp    $0x36,%eax
jne    1266 <main+0x146>
movslq -0x10(%rbp),%rax
movl   $0x6,-0x30(%rbp,%rax,4)
jmp    13c9 <main+0x2a9>
movslq -0x10(%rbp),%rax
movsbl -0xc(%rbp,%rax,1),%eax
cmp    $0x37,%eax
jne    1289 <main+0x169>
movslq -0x10(%rbp),%rax
movl   $0x7,-0x30(%rbp,%rax,4)
jmp    13c4 <main+0x2a4>
movslq -0x10(%rbp),%rax
movsbl -0xc(%rbp,%rax,1),%eax
cmp    $0x38,%eax
jne    12ac <main+0x18c>
movslq -0x10(%rbp),%rax
movl   $0x8,-0x30(%rbp,%rax,4)
jmp    13bf <main+0x29f>
movslq -0x10(%rbp),%rax
movsbl -0xc(%rbp,%rax,1),%eax
cmp    $0x39,%eax
jne    12cf <main+0x1af>
movslq -0x10(%rbp),%rax
movl   $0x9,-0x30(%rbp,%rax,4)
jmp    13ba <main+0x29a>
movslq -0x10(%rbp),%rax
movsbl -0xc(%rbp,%rax,1),%eax
cmp    $0x61,%eax
jne    12f2 <main+0x1d2>
movslq -0x10(%rbp),%rax
movl   $0xa,-0x30(%rbp,%rax,4)
jmp    13b5 <main+0x295>
movslq -0x10(%rbp),%rax
movsbl -0xc(%rbp,%rax,1),%eax
cmp    $0x62,%eax
jne    1315 <main+0x1f5>
movslq -0x10(%rbp),%rax
movl   $0xb,-0x30(%rbp,%rax,4)
jmp    13b0 <main+0x290>
movslq -0x10(%rbp),%rax
movsbl -0xc(%rbp,%rax,1),%eax
cmp    $0x63,%eax
jne    1338 <main+0x218>
movslq -0x10(%rbp),%rax
movl   $0xc,-0x30(%rbp,%rax,4)
jmp    13ab <main+0x28b>
movslq -0x10(%rbp),%rax
movsbl -0xc(%rbp,%rax,1),%eax
cmp    $0x64,%eax
jne    135b <main+0x23b>
movslq -0x10(%rbp),%rax
movl   $0xd,-0x30(%rbp,%rax,4)
jmp    13a6 <main+0x286>
movslq -0x10(%rbp),%rax
movsbl -0xc(%rbp,%rax,1),%eax
cmp    $0x65,%eax
jne    137e <main+0x25e>
movslq -0x10(%rbp),%rax
movl   $0xe,-0x30(%rbp,%rax,4)
jmp    13a1 <main+0x281>
movslq -0x10(%rbp),%rax
movsbl -0xc(%rbp,%rax,1),%eax
cmp    $0x66,%eax
jne    139c <main+0x27c>
movslq -0x10(%rbp),%rax
movl   $0xf,-0x30(%rbp,%rax,4)
jmp    13a1 <main+0x281>
jmp    13a6 <main+0x286>
jmp    13ab <main+0x28b>
jmp    13b0 <main+0x290>
jmp    13b5 <main+0x295>
jmp    13ba <main+0x29a>
jmp    13bf <main+0x29f>
jmp    13c4 <main+0x2a4>
jmp    13c9 <main+0x2a9>
jmp    13ce <main+0x2ae>
jmp    13d3 <main+0x2b3>
jmp    13d8 <main+0x2b8>
jmp    13dd <main+0x2bd>
jmp    13e2 <main+0x2c2>
jmp    13e7 <main+0x2c7>
jmp    13ec <main+0x2cc>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    1167 <main+0x47>
mov    -0x30(%rbp),%eax
shl    $0x4,%eax
add    -0x2c(%rbp),%eax
mov    %eax,-0x34(%rbp)
mov    -0x28(%rbp),%eax
shl    $0x4,%eax
add    -0x24(%rbp),%eax
mov    %eax,-0x38(%rbp)
mov    -0x20(%rbp),%eax
shl    $0x4,%eax
add    -0x1c(%rbp),%eax
mov    %eax,-0x3c(%rbp)
mov    -0x34(%rbp),%eax
mov    %al,%dl
mov    -0x38(%rbp),%eax
mov    %al,%cl
mov    -0x3c(%rbp),%eax
lea    0xbd1(%rip),%rdi
movsbl %dl,%esi
movsbl %cl,%edx
movsbl %al,%ecx
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1768 <main+0x648>
movsbl -0x5(%rbp),%eax
cmp    $0x64,%eax
jne    1763 <main+0x643>
movl   $0x0,-0x10(%rbp)
cmpl   $0x6,-0x10(%rbp)
jge    147f <main+0x35f>
movslq -0x10(%rbp),%rax
movl   $0x0,-0x30(%rbp,%rax,4)
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    145b <main+0x33b>
lea    -0x30(%rbp),%rsi
lea    -0x30(%rbp),%rdx
add    $0x8,%rdx
lea    -0x30(%rbp),%rcx
add    $0x10,%rcx
lea    0xb79(%rip),%rdi
mov    $0x0,%al
call   1040 <scanf@plt>
movl   $0x0,-0x10(%rbp)
cmpl   $0x6,-0x10(%rbp)
jge    14f6 <main+0x3d6>
movslq -0x10(%rbp),%rax
mov    -0x30(%rbp,%rax,4),%eax
mov    $0x10,%ecx
cltd
idiv   %ecx
mov    -0x10(%rbp),%eax
add    $0x1,%eax
cltq
mov    %edx,-0x30(%rbp,%rax,4)
movslq -0x10(%rbp),%rax
mov    -0x30(%rbp,%rax,4),%eax
mov    $0x10,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
movslq -0x10(%rbp),%rax
mov    %ecx,-0x30(%rbp,%rax,4)
mov    -0x10(%rbp),%eax
add    $0x2,%eax
mov    %eax,-0x10(%rbp)
jmp    14a8 <main+0x388>
movl   $0x0,-0x10(%rbp)
cmpl   $0x6,-0x10(%rbp)
jge    1730 <main+0x610>
movslq -0x10(%rbp),%rax
cmpl   $0x0,-0x30(%rbp,%rax,4)
jne    1524 <main+0x404>
movslq -0x10(%rbp),%rax
movb   $0x30,-0xc(%rbp,%rax,1)
jmp    171d <main+0x5fd>
movslq -0x10(%rbp),%rax
cmpl   $0x1,-0x30(%rbp,%rax,4)
jne    1541 <main+0x421>
movslq -0x10(%rbp),%rax
movb   $0x31,-0xc(%rbp,%rax,1)
jmp    1718 <main+0x5f8>
movslq -0x10(%rbp),%rax
cmpl   $0x2,-0x30(%rbp,%rax,4)
jne    155e <main+0x43e>
movslq -0x10(%rbp),%rax
movb   $0x32,-0xc(%rbp,%rax,1)
jmp    1713 <main+0x5f3>
movslq -0x10(%rbp),%rax
cmpl   $0x3,-0x30(%rbp,%rax,4)
jne    157b <main+0x45b>
movslq -0x10(%rbp),%rax
movb   $0x33,-0xc(%rbp,%rax,1)
jmp    170e <main+0x5ee>
movslq -0x10(%rbp),%rax
cmpl   $0x4,-0x30(%rbp,%rax,4)
jne    1598 <main+0x478>
movslq -0x10(%rbp),%rax
movb   $0x34,-0xc(%rbp,%rax,1)
jmp    1709 <main+0x5e9>
movslq -0x10(%rbp),%rax
cmpl   $0x5,-0x30(%rbp,%rax,4)
jne    15b5 <main+0x495>
movslq -0x10(%rbp),%rax
movb   $0x35,-0xc(%rbp,%rax,1)
jmp    1704 <main+0x5e4>
movslq -0x10(%rbp),%rax
cmpl   $0x6,-0x30(%rbp,%rax,4)
jne    15d2 <main+0x4b2>
movslq -0x10(%rbp),%rax
movb   $0x36,-0xc(%rbp,%rax,1)
jmp    16ff <main+0x5df>
movslq -0x10(%rbp),%rax
cmpl   $0x7,-0x30(%rbp,%rax,4)
jne    15ef <main+0x4cf>
movslq -0x10(%rbp),%rax
movb   $0x37,-0xc(%rbp,%rax,1)
jmp    16fa <main+0x5da>
movslq -0x10(%rbp),%rax
cmpl   $0x8,-0x30(%rbp,%rax,4)
jne    160c <main+0x4ec>
movslq -0x10(%rbp),%rax
movb   $0x38,-0xc(%rbp,%rax,1)
jmp    16f5 <main+0x5d5>
movslq -0x10(%rbp),%rax
cmpl   $0x9,-0x30(%rbp,%rax,4)
jne    1629 <main+0x509>
movslq -0x10(%rbp),%rax
movb   $0x39,-0xc(%rbp,%rax,1)
jmp    16f0 <main+0x5d0>
movslq -0x10(%rbp),%rax
cmpl   $0xa,-0x30(%rbp,%rax,4)
jne    1646 <main+0x526>
movslq -0x10(%rbp),%rax
movb   $0x61,-0xc(%rbp,%rax,1)
jmp    16eb <main+0x5cb>
movslq -0x10(%rbp),%rax
cmpl   $0xb,-0x30(%rbp,%rax,4)
jne    1663 <main+0x543>
movslq -0x10(%rbp),%rax
movb   $0x62,-0xc(%rbp,%rax,1)
jmp    16e6 <main+0x5c6>
movslq -0x10(%rbp),%rax
cmpl   $0xc,-0x30(%rbp,%rax,4)
jne    1680 <main+0x560>
movslq -0x10(%rbp),%rax
movb   $0x63,-0xc(%rbp,%rax,1)
jmp    16e1 <main+0x5c1>
movslq -0x10(%rbp),%rax
cmpl   $0xd,-0x30(%rbp,%rax,4)
jne    169d <main+0x57d>
movslq -0x10(%rbp),%rax
movb   $0x64,-0xc(%rbp,%rax,1)
jmp    16dc <main+0x5bc>
movslq -0x10(%rbp),%rax
cmpl   $0xe,-0x30(%rbp,%rax,4)
jne    16ba <main+0x59a>
movslq -0x10(%rbp),%rax
movb   $0x65,-0xc(%rbp,%rax,1)
jmp    16d7 <main+0x5b7>
movslq -0x10(%rbp),%rax
cmpl   $0xf,-0x30(%rbp,%rax,4)
jne    16d2 <main+0x5b2>
movslq -0x10(%rbp),%rax
movb   $0x66,-0xc(%rbp,%rax,1)
jmp    16d7 <main+0x5b7>
jmp    16dc <main+0x5bc>
jmp    16e1 <main+0x5c1>
jmp    16e6 <main+0x5c6>
jmp    16eb <main+0x5cb>
jmp    16f0 <main+0x5d0>
jmp    16f5 <main+0x5d5>
jmp    16fa <main+0x5da>
jmp    16ff <main+0x5df>
jmp    1704 <main+0x5e4>
jmp    1709 <main+0x5e9>
jmp    170e <main+0x5ee>
jmp    1713 <main+0x5f3>
jmp    1718 <main+0x5f8>
jmp    171d <main+0x5fd>
jmp    1722 <main+0x602>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    14fd <main+0x3dd>
mov    -0xc(%rbp),%sil
mov    -0xb(%rbp),%dl
mov    -0xa(%rbp),%cl
movsbl -0x9(%rbp),%r8d
movsbl -0x8(%rbp),%r9d
movsbl -0x7(%rbp),%eax
lea    0x8cf(%rip),%rdi
movsbl %sil,%esi
movsbl %dl,%edx
movsbl %cl,%ecx
mov    %eax,(%rsp)
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1768 <main+0x648>
xor    %eax,%eax
add    $0x50,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbx
sub    $0x30,%rsp
lea    0x1425(%rip),%rdi
xor    %ebx,%ebx
lea    0xf(%rsp),%rsi
xor    %eax,%eax
call   1040 <scanf@plt>
mov    0xf(%rsp),%al
cmp    $0x68,%al
je     129e <main+0x17e>
cmp    $0x64,%al
jne    1642 <main+0x522>
xorps  %xmm0,%xmm0
movaps %xmm0,0x10(%rsp)
movq   $0x0,0x20(%rsp)
lea    0x20(%rsp),%rcx
lea    0x18(%rsp),%rdx
lea    0x13cb(%rip),%rdi
lea    0x10(%rsp),%rsi
xor    %eax,%eax
call   1040 <scanf@plt>
mov    0x10(%rsp),%ecx
mov    0x18(%rsp),%edx
lea    0xf(%rcx),%eax
test   %ecx,%ecx
cmovns %ecx,%eax
mov    %eax,%esi
and    $0xfffffff0,%esi
sub    %esi,%ecx
mov    %ecx,0x14(%rsp)
sar    $0x4,%eax
mov    %eax,0x10(%rsp)
lea    0xf(%rdx),%ecx
test   %edx,%edx
cmovns %edx,%ecx
mov    %ecx,%esi
and    $0xfffffff0,%esi
sub    %esi,%edx
mov    %edx,0x1c(%rsp)
sar    $0x4,%ecx
mov    %ecx,0x18(%rsp)
mov    0x20(%rsp),%ecx
lea    0xf(%rcx),%edx
test   %ecx,%ecx
cmovns %ecx,%edx
mov    %edx,%esi
and    $0xfffffff0,%esi
sub    %esi,%ecx
mov    %ecx,0x24(%rsp)
sar    $0x4,%edx
mov    %edx,0x20(%rsp)
cmp    $0x10,%eax
jae    11eb <main+0xcb>
cltq
lea    0x1370(%rip),%rcx
mov    (%rax,%rcx,1),%al
mov    %al,0x8(%rsp)
movslq 0x14(%rsp),%rax
cmp    $0xf,%rax
ja     1204 <main+0xe4>
lea    0x1357(%rip),%rcx
mov    (%rax,%rcx,1),%al
mov    %al,0x9(%rsp)
movslq 0x18(%rsp),%rax
cmp    $0xf,%rax
ja     121d <main+0xfd>
lea    0x133e(%rip),%rcx
mov    (%rax,%rcx,1),%al
mov    %al,0xa(%rsp)
movslq 0x1c(%rsp),%rax
cmp    $0xf,%rax
ja     1236 <main+0x116>
lea    0x1325(%rip),%rcx
mov    (%rax,%rcx,1),%al
mov    %al,0xb(%rsp)
movslq 0x20(%rsp),%rax
cmp    $0xf,%rax
ja     124f <main+0x12f>
lea    0x130c(%rip),%rcx
mov    (%rax,%rcx,1),%al
mov    %al,0xc(%rsp)
movslq 0x24(%rsp),%rax
cmp    $0xf,%rax
ja     1268 <main+0x148>
lea    0x12f3(%rip),%rcx
mov    (%rax,%rcx,1),%al
mov    %al,0xd(%rsp)
movsbl 0x8(%rsp),%esi
movsbl 0x9(%rsp),%edx
movsbl 0xa(%rsp),%ecx
movsbl 0xb(%rsp),%r8d
movsbl 0xc(%rsp),%r9d
movsbl 0xd(%rsp),%eax
mov    %eax,(%rsp)
lea    0x12b4(%rip),%rdi
xor    %eax,%eax
call   1030 <printf@plt>
jmp    1642 <main+0x522>
lea    0x1283(%rip),%rdi
lea    0x8(%rsp),%rsi
xor    %eax,%eax
call   1040 <scanf@plt>
mov    0x8(%rsp),%al
add    $0xd0,%al
cmp    $0x36,%al
ja     1339 <main+0x219>
movzbl %al,%eax
lea    0xd3b(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    $0x1,%ebx
jmp    1335 <main+0x215>
mov    $0x2,%ebx
jmp    1335 <main+0x215>
mov    $0x3,%ebx
jmp    1335 <main+0x215>
mov    $0x4,%ebx
jmp    1335 <main+0x215>
mov    $0x5,%ebx
jmp    1335 <main+0x215>
mov    $0x6,%ebx
jmp    1335 <main+0x215>
mov    $0x7,%ebx
jmp    1335 <main+0x215>
mov    $0x9,%ebx
jmp    1335 <main+0x215>
mov    $0xa,%ebx
jmp    1335 <main+0x215>
mov    $0xb,%ebx
jmp    1335 <main+0x215>
mov    $0xc,%ebx
jmp    1335 <main+0x215>
mov    $0xd,%ebx
jmp    1335 <main+0x215>
mov    $0xe,%ebx
jmp    1335 <main+0x215>
mov    $0xf,%ebx
jmp    1335 <main+0x215>
mov    $0x8,%ebx
mov    %ebx,0x10(%rsp)
mov    0x9(%rsp),%cl
add    $0xd0,%cl
cmp    $0x36,%cl
ja     13c9 <main+0x2a9>
xor    %eax,%eax
movzbl %cl,%ecx
lea    0xd87(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
mov    $0x1,%eax
jmp    13c5 <main+0x2a5>
mov    $0x2,%eax
jmp    13c5 <main+0x2a5>
mov    $0x3,%eax
jmp    13c5 <main+0x2a5>
mov    $0x4,%eax
jmp    13c5 <main+0x2a5>
mov    $0x5,%eax
jmp    13c5 <main+0x2a5>
mov    $0x6,%eax
jmp    13c5 <main+0x2a5>
mov    $0x7,%eax
jmp    13c5 <main+0x2a5>
mov    $0x9,%eax
jmp    13c5 <main+0x2a5>
mov    $0xa,%eax
jmp    13c5 <main+0x2a5>
mov    $0xb,%eax
jmp    13c5 <main+0x2a5>
mov    $0xc,%eax
jmp    13c5 <main+0x2a5>
mov    $0xd,%eax
jmp    13c5 <main+0x2a5>
mov    $0xe,%eax
jmp    13c5 <main+0x2a5>
mov    $0xf,%eax
jmp    13c5 <main+0x2a5>
mov    $0x8,%eax
mov    %eax,0x14(%rsp)
mov    0xa(%rsp),%cl
add    $0xd0,%cl
cmp    $0x36,%cl
ja     1459 <main+0x339>
xor    %eax,%eax
movzbl %cl,%ecx
lea    0xdd3(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
mov    $0x1,%eax
jmp    1455 <main+0x335>
mov    $0x2,%eax
jmp    1455 <main+0x335>
mov    $0x3,%eax
jmp    1455 <main+0x335>
mov    $0x4,%eax
jmp    1455 <main+0x335>
mov    $0x5,%eax
jmp    1455 <main+0x335>
mov    $0x6,%eax
jmp    1455 <main+0x335>
mov    $0x7,%eax
jmp    1455 <main+0x335>
mov    $0x9,%eax
jmp    1455 <main+0x335>
mov    $0xa,%eax
jmp    1455 <main+0x335>
mov    $0xb,%eax
jmp    1455 <main+0x335>
mov    $0xc,%eax
jmp    1455 <main+0x335>
mov    $0xd,%eax
jmp    1455 <main+0x335>
mov    $0xe,%eax
jmp    1455 <main+0x335>
mov    $0xf,%eax
jmp    1455 <main+0x335>
mov    $0x8,%eax
mov    %eax,0x18(%rsp)
mov    0xb(%rsp),%cl
add    $0xd0,%cl
cmp    $0x36,%cl
ja     14e9 <main+0x3c9>
xor    %eax,%eax
movzbl %cl,%ecx
lea    0xe1f(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
mov    $0x1,%eax
jmp    14e5 <main+0x3c5>
mov    $0x2,%eax
jmp    14e5 <main+0x3c5>
mov    $0x3,%eax
jmp    14e5 <main+0x3c5>
mov    $0x4,%eax
jmp    14e5 <main+0x3c5>
mov    $0x5,%eax
jmp    14e5 <main+0x3c5>
mov    $0x6,%eax
jmp    14e5 <main+0x3c5>
mov    $0x7,%eax
jmp    14e5 <main+0x3c5>
mov    $0x9,%eax
jmp    14e5 <main+0x3c5>
mov    $0xa,%eax
jmp    14e5 <main+0x3c5>
mov    $0xb,%eax
jmp    14e5 <main+0x3c5>
mov    $0xc,%eax
jmp    14e5 <main+0x3c5>
mov    $0xd,%eax
jmp    14e5 <main+0x3c5>
mov    $0xe,%eax
jmp    14e5 <main+0x3c5>
mov    $0xf,%eax
jmp    14e5 <main+0x3c5>
mov    $0x8,%eax
mov    %eax,0x1c(%rsp)
mov    0xc(%rsp),%cl
add    $0xd0,%cl
cmp    $0x36,%cl
ja     1579 <main+0x459>
xor    %eax,%eax
movzbl %cl,%ecx
lea    0xe6b(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
mov    $0x1,%eax
jmp    1575 <main+0x455>
mov    $0x2,%eax
jmp    1575 <main+0x455>
mov    $0x3,%eax
jmp    1575 <main+0x455>
mov    $0x4,%eax
jmp    1575 <main+0x455>
mov    $0x5,%eax
jmp    1575 <main+0x455>
mov    $0x6,%eax
jmp    1575 <main+0x455>
mov    $0x7,%eax
jmp    1575 <main+0x455>
mov    $0x9,%eax
jmp    1575 <main+0x455>
mov    $0xa,%eax
jmp    1575 <main+0x455>
mov    $0xb,%eax
jmp    1575 <main+0x455>
mov    $0xc,%eax
jmp    1575 <main+0x455>
mov    $0xd,%eax
jmp    1575 <main+0x455>
mov    $0xe,%eax
jmp    1575 <main+0x455>
mov    $0xf,%eax
jmp    1575 <main+0x455>
mov    $0x8,%eax
mov    %eax,0x20(%rsp)
mov    0xd(%rsp),%cl
add    $0xd0,%cl
cmp    $0x36,%cl
ja     1609 <main+0x4e9>
xor    %eax,%eax
movzbl %cl,%ecx
lea    0xeb7(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
mov    $0x1,%eax
jmp    1605 <main+0x4e5>
mov    $0x2,%eax
jmp    1605 <main+0x4e5>
mov    $0x3,%eax
jmp    1605 <main+0x4e5>
mov    $0x4,%eax
jmp    1605 <main+0x4e5>
mov    $0x5,%eax
jmp    1605 <main+0x4e5>
mov    $0x6,%eax
jmp    1605 <main+0x4e5>
mov    $0x7,%eax
jmp    1605 <main+0x4e5>
mov    $0x9,%eax
jmp    1605 <main+0x4e5>
mov    $0xa,%eax
jmp    1605 <main+0x4e5>
mov    $0xb,%eax
jmp    1605 <main+0x4e5>
mov    $0xc,%eax
jmp    1605 <main+0x4e5>
mov    $0xd,%eax
jmp    1605 <main+0x4e5>
mov    $0xe,%eax
jmp    1605 <main+0x4e5>
mov    $0xf,%eax
jmp    1605 <main+0x4e5>
mov    $0x8,%eax
mov    %eax,0x24(%rsp)
mov    0x10(%rsp),%eax
shl    $0x4,%eax
add    0x14(%rsp),%eax
mov    0x18(%rsp),%ecx
shl    $0x4,%ecx
add    0x1c(%rsp),%ecx
mov    0x20(%rsp),%edi
shl    $0x4,%edi
add    0x24(%rsp),%edi
movsbl %al,%esi
movsbl %cl,%edx
movsbl %dil,%ecx
lea    0xef0(%rip),%rdi
xor    %eax,%eax
call   1030 <printf@plt>
xor    %eax,%eax
add    $0x30,%rsp
pop    %rbx
ret

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

LLVM IR (-O2):
@.str = [3 x i8] c"%c\00"
@.str.1 = [3 x i8] c"%s\00"
@.str.2 = [16 x i8] c"rgb(%d, %d, %d)\00"
@.str.3 = [11 x i8] c"%d, %d, %d\00"
@.str.4 = [14 x i8] c"#%c%c%c%c%c%c\00"
@switch.table.main = [16 x i8] c"0123456789abcdef"
define i32 @main() {
%1 = alloca i8
%2 = alloca [7 x i8]
%3 = alloca [7 x i32]
%4 = bitcast [7 x i32]* %3 to i8*
%5 = getelementptr inbounds [7 x i8], [7 x i8]* %2, i64 0, i64 0
%6 = call i32 (i8*, ...) @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i8* %1)
%7 = load i8, i8* %1
switch i8 %7, label %242 [
i8 104, label %26
i8 100, label %8
]
8: ; preds = %0
%9 = getelementptr inbounds [7 x i32], [7 x i32]* %3, i64 0, i64 0
%10 = getelementptr inbounds [7 x i32], [7 x i32]* %3, i64 0, i64 2
%11 = getelementptr inbounds [7 x i32], [7 x i32]* %3, i64 0, i64 4
%12 = call i32 (i8*, ...) @scanf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32* %9, i32* %10, i32* %11)
%13 = load i32, i32* %9
%14 = srem i32 %13, 16
%15 = getelementptr inbounds [7 x i32], [7 x i32]* %3, i64 0, i64 1
store i32 %14, i32* %15
%16 = sdiv i32 %13, 16
store i32 %16, i32* %9
%17 = load i32, i32* %10
%18 = srem i32 %17, 16
%19 = getelementptr inbounds [7 x i32], [7 x i32]* %3, i64 0, i64 3
store i32 %18, i32* %19
%20 = sdiv i32 %17, 16
store i32 %20, i32* %10
%21 = load i32, i32* %11
%22 = srem i32 %21, 16
%23 = getelementptr inbounds [7 x i32], [7 x i32]* %3, i64 0, i64 5
store i32 %22, i32* %23
%24 = sdiv i32 %21, 16
store i32 %24, i32* %11
%25 = icmp ult i32 %16, 16
br i1 %25, label %176, label %181
26: ; preds = %0
%27 = call i32 (i8*, ...) @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0), i8* %5)
%28 = getelementptr inbounds [7 x i8], [7 x i8]* %2, i64 0, i64 0
%29 = load i8, i8* %28
switch i8 %29, label %48 [
i8 48, label %45
i8 49, label %30
i8 50, label %31
i8 51, label %32
i8 52, label %33
i8 53, label %34
i8 54, label %35
i8 55, label %36
i8 56, label %37
i8 57, label %38
i8 97, label %39
i8 98, label %40
i8 99, label %41
i8 100, label %42
i8 101, label %43
i8 102, label %44
]
30: ; preds = %26
br label %45
31: ; preds = %26
br label %45
32: ; preds = %26
br label %45
33: ; preds = %26
br label %45
34: ; preds = %26
br label %45
35: ; preds = %26
br label %45
36: ; preds = %26
br label %45
37: ; preds = %26
br label %45
38: ; preds = %26
br label %45
39: ; preds = %26
br label %45
40: ; preds = %26
br label %45
41: ; preds = %26
br label %45
42: ; preds = %26
br label %45
43: ; preds = %26
br label %45
44: ; preds = %26
br label %45
45: ; preds = %26, %30, %32, %34, %36, %38, %40, %42, %44, %43, %41, %39, %37, %35, %33, %31
%46 = phi i32 [ 2, %31 ], [ 4, %33 ], [ 6, %35 ], [ 8, %37 ], [ 10, %39 ], [ 12, %41 ], [ 14, %43 ], [ 15, %44 ], [ 13, %42 ], [ 11, %40 ], [ 9, %38 ], [ 7, %36 ], [ 5, %34 ], [ 3, %32 ], [ 1, %30 ], [ 0, %26 ]
%47 = getelementptr inbounds [7 x i32], [7 x i32]* %3, i64 0, i64 0
store i32 %46, i32* %47
br label %48
48: ; preds = %45, %26
%49 = getelementptr inbounds [7 x i8], [7 x i8]* %2, i64 0, i64 1
%50 = load i8, i8* %49
switch i8 %50, label %69 [
i8 48, label %66
i8 49, label %65
i8 50, label %64
i8 51, label %63
i8 52, label %62
i8 53, label %61
i8 54, label %60
i8 55, label %59
i8 56, label %58
i8 57, label %57
i8 97, label %56
i8 98, label %55
i8 99, label %54
i8 100, label %53
i8 101, label %52
i8 102, label %51
]
51: ; preds = %48
br label %66
52: ; preds = %48
br label %66
53: ; preds = %48
br label %66
54: ; preds = %48
br label %66
55: ; preds = %48
br label %66
56: ; preds = %48
br label %66
57: ; preds = %48
br label %66
58: ; preds = %48
br label %66
59: ; preds = %48
br label %66
60: ; preds = %48
br label %66
61: ; preds = %48
br label %66
62: ; preds = %48
br label %66
63: ; preds = %48
br label %66
64: ; preds = %48
br label %66
65: ; preds = %48
br label %66
66: ; preds = %65, %64, %63, %62, %61, %60, %59, %58, %57, %56, %55, %54, %53, %52, %51, %48
%67 = phi i32 [ 2, %64 ], [ 4, %62 ], [ 6, %60 ], [ 8, %58 ], [ 10, %56 ], [ 12, %54 ], [ 14, %52 ], [ 15, %51 ], [ 13, %53 ], [ 11, %55 ], [ 9, %57 ], [ 7, %59 ], [ 5, %61 ], [ 3, %63 ], [ 1, %65 ], [ 0, %48 ]
%68 = getelementptr inbounds [7 x i32], [7 x i32]* %3, i64 0, i64 1
store i32 %67, i32* %68
br label %69
69: ; preds = %66, %48
%70 = getelementptr inbounds [7 x i8], [7 x i8]* %2, i64 0, i64 2
%71 = load i8, i8* %70
switch i8 %71, label %90 [
i8 48, label %87
i8 49, label %86
i8 50, label %85
i8 51, label %84
i8 52, label %83
i8 53, label %82
i8 54, label %81
i8 55, label %80
i8 56, label %79
i8 57, label %78
i8 97, label %77
i8 98, label %76
i8 99, label %75
i8 100, label %74
i8 101, label %73
i8 102, label %72
]
72: ; preds = %69
br label %87
73: ; preds = %69
br label %87
74: ; preds = %69
br label %87
75: ; preds = %69
br label %87
76: ; preds = %69
br label %87
77: ; preds = %69
br label %87
78: ; preds = %69
br label %87
79: ; preds = %69
br label %87
80: ; preds = %69
br label %87
81: ; preds = %69
br label %87
82: ; preds = %69
br label %87
83: ; preds = %69
br label %87
84: ; preds = %69
br label %87
85: ; preds = %69
br label %87
86: ; preds = %69
br label %87
87: ; preds = %86, %85, %84, %83, %82, %81, %80, %79, %78, %77, %76, %75, %74, %73, %72, %69
%88 = phi i32 [ 2, %85 ], [ 4, %83 ], [ 6, %81 ], [ 8, %79 ], [ 10, %77 ], [ 12, %75 ], [ 14, %73 ], [ 15, %72 ], [ 13, %74 ], [ 11, %76 ], [ 9, %78 ], [ 7, %80 ], [ 5, %82 ], [ 3, %84 ], [ 1, %86 ], [ 0, %69 ]
%89 = getelementptr inbounds [7 x i32], [7 x i32]* %3, i64 0, i64 2
store i32 %88, i32* %89
br label %90
90: ; preds = %87, %69
%91 = getelementptr inbounds [7 x i8], [7 x i8]* %2, i64 0, i64 3
%92 = load i8, i8* %91
switch i8 %92, label %111 [
i8 48, label %108
i8 49, label %107
i8 50, label %106
i8 51, label %105
i8 52, label %104
i8 53, label %103
i8 54, label %102
i8 55, label %101
i8 56, label %100
i8 57, label %99
i8 97, label %98
i8 98, label %97
i8 99, label %96
i8 100, label %95
i8 101, label %94
i8 102, label %93
]
93: ; preds = %90
br label %108
94: ; preds = %90
br label %108
95: ; preds = %90
br label %108
96: ; preds = %90
br label %108
97: ; preds = %90
br label %108
98: ; preds = %90
br label %108
99: ; preds = %90
br label %108
100: ; preds = %90
br label %108
101: ; preds = %90
br label %108
102: ; preds = %90
br label %108
103: ; preds = %90
br label %108
104: ; preds = %90
br label %108
105: ; preds = %90
br label %108
106: ; preds = %90
br label %108
107: ; preds = %90
br label %108
108: ; preds = %107, %106, %105, %104, %103, %102, %101, %100, %99, %98, %97, %96, %95, %94, %93, %90
%109 = phi i32 [ 2, %106 ], [ 4, %104 ], [ 6, %102 ], [ 8, %100 ], [ 10, %98 ], [ 12, %96 ], [ 14, %94 ], [ 15, %93 ], [ 13, %95 ], [ 11, %97 ], [ 9, %99 ], [ 7, %101 ], [ 5, %103 ], [ 3, %105 ], [ 1, %107 ], [ 0, %90 ]
%110 = getelementptr inbounds [7 x i32], [7 x i32]* %3, i64 0, i64 3
store i32 %109, i32* %110
br label %111
111: ; preds = %108, %90
%112 = getelementptr inbounds [7 x i8], [7 x i8]* %2, i64 0, i64 4
%113 = load i8, i8* %112
switch i8 %113, label %132 [
i8 48, label %129
i8 49, label %128
i8 50, label %127
i8 51, label %126
i8 52, label %125
i8 53, label %124
i8 54, label %123
i8 55, label %122
i8 56, label %121
i8 57, label %120
i8 97, label %119
i8 98, label %118
i8 99, label %117
i8 100, label %116
i8 101, label %115
i8 102, label %114
]
114: ; preds = %111
br label %129
115: ; preds = %111
br label %129
116: ; preds = %111
br label %129
117: ; preds = %111
br label %129
118: ; preds = %111
br label %129
119: ; preds = %111
br label %129
120: ; preds = %111
br label %129
121: ; preds = %111
br label %129
122: ; preds = %111
br label %129
123: ; preds = %111
br label %129
124: ; preds = %111
br label %129
125: ; preds = %111
br label %129
126: ; preds = %111
br label %129
127: ; preds = %111
br label %129
128: ; preds = %111
br label %129
129: ; preds = %128, %127, %126, %125, %124, %123, %122, %121, %120, %119, %118, %117, %116, %115, %114, %111
%130 = phi i32 [ 2, %127 ], [ 4, %125 ], [ 6, %123 ], [ 8, %121 ], [ 10, %119 ], [ 12, %117 ], [ 14, %115 ], [ 15, %114 ], [ 13, %116 ], [ 11, %118 ], [ 9, %120 ], [ 7, %122 ], [ 5, %124 ], [ 3, %126 ], [ 1, %128 ], [ 0, %111 ]
%131 = getelementptr inbounds [7 x i32], [7 x i32]* %3, i64 0, i64 4
store i32 %130, i32* %131
br label %132
132: ; preds = %129, %111
%133 = getelementptr inbounds [7 x i8], [7 x i8]* %2, i64 0, i64 5
%134 = load i8, i8* %133
switch i8 %134, label %153 [
i8 48, label %150
i8 49, label %149
i8 50, label %148
i8 51, label %147
i8 52, label %146
i8 53, label %145
i8 54, label %144
i8 55, label %143
i8 56, label %142
i8 57, label %141
i8 97, label %140
i8 98, label %139
i8 99, label %138
i8 100, label %137
i8 101, label %136
i8 102, label %135
]
135: ; preds = %132
br label %150
136: ; preds = %132
br label %150
137: ; preds = %132
br label %150
138: ; preds = %132
br label %150
139: ; preds = %132
br label %150
140: ; preds = %132
br label %150
141: ; preds = %132
br label %150
142: ; preds = %132
br label %150
143: ; preds = %132
br label %150
144: ; preds = %132
br label %150
145: ; preds = %132
br label %150
146: ; preds = %132
br label %150
147: ; preds = %132
br label %150
148: ; preds = %132
br label %150
149: ; preds = %132
br label %150
150: ; preds = %149, %148, %147, %146, %145, %144, %143, %142, %141, %140, %139, %138, %137, %136, %135, %132
%151 = phi i32 [ 2, %148 ], [ 4, %146 ], [ 6, %144 ], [ 8, %142 ], [ 10, %140 ], [ 12, %138 ], [ 14, %136 ], [ 15, %135 ], [ 13, %137 ], [ 11, %139 ], [ 9, %141 ], [ 7, %143 ], [ 5, %145 ], [ 3, %147 ], [ 1, %149 ], [ 0, %132 ]
%152 = getelementptr inbounds [7 x i32], [7 x i32]* %3, i64 0, i64 5
store i32 %151, i32* %152
br label %153
153: ; preds = %150, %132
%154 = getelementptr inbounds [7 x i32], [7 x i32]* %3, i64 0, i64 0
%155 = load i32, i32* %154
%156 = shl nsw i32 %155, 4
%157 = getelementptr inbounds [7 x i32], [7 x i32]* %3, i64 0, i64 1
%158 = load i32, i32* %157
%159 = add nsw i32 %156, %158
%160 = getelementptr inbounds [7 x i32], [7 x i32]* %3, i64 0, i64 2
%161 = load i32, i32* %160
%162 = shl nsw i32 %161, 4
%163 = getelementptr inbounds [7 x i32], [7 x i32]* %3, i64 0, i64 3
%164 = load i32, i32* %163
%165 = add nsw i32 %162, %164
%166 = getelementptr inbounds [7 x i32], [7 x i32]* %3, i64 0, i64 4
%167 = load i32, i32* %166
%168 = shl nsw i32 %167, 4
%169 = getelementptr inbounds [7 x i32], [7 x i32]* %3, i64 0, i64 5
%170 = load i32, i32* %169
%171 = add nsw i32 %168, %170
%172 = trunc i32 %159 to i8
%173 = trunc i32 %165 to i8
%174 = trunc i32 %171 to i8
%175 = call i32 (i8*, i8, i8, i8, ...) @printf(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.2, i64 0, i64 0), i8 signext %172, i8 signext %173, i8 signext %174)
br label %242
176: ; preds = %8
%177 = sext i32 %16 to i64
%178 = getelementptr inbounds [16 x i8], [16 x i8]* @switch.table.main, i64 0, i64 %177
%179 = load i8, i8* %178
%180 = getelementptr inbounds [7 x i8], [7 x i8]* %2, i64 0, i64 0
store i8 %179, i8* %180
br label %181
181: ; preds = %176, %8
%182 = getelementptr inbounds [7 x i32], [7 x i32]* %3, i64 0, i64 1
%183 = load i32, i32* %182
%184 = icmp ult i32 %183, 16
br i1 %184, label %185, label %190
185: ; preds = %181
%186 = sext i32 %183 to i64
%187 = getelementptr inbounds [16 x i8], [16 x i8]* @switch.table.main, i64 0, i64 %186
%188 = load i8, i8* %187
%189 = getelementptr inbounds [7 x i8], [7 x i8]* %2, i64 0, i64 1
store i8 %188, i8* %189
br label %190
190: ; preds = %181, %185
%191 = getelementptr inbounds [7 x i32], [7 x i32]* %3, i64 0, i64 2
%192 = load i32, i32* %191
%193 = icmp ult i32 %192, 16
br i1 %193, label %194, label %199
194: ; preds = %190
%195 = sext i32 %192 to i64
%196 = getelementptr inbounds [16 x i8], [16 x i8]* @switch.table.main, i64 0, i64 %195
%197 = load i8, i8* %196
%198 = getelementptr inbounds [7 x i8], [7 x i8]* %2, i64 0, i64 2
store i8 %197, i8* %198
br label %199
199: ; preds = %190, %194
%200 = getelementptr inbounds [7 x i32], [7 x i32]* %3, i64 0, i64 3
%201 = load i32, i32* %200
%202 = icmp ult i32 %201, 16
br i1 %202, label %203, label %208
203: ; preds = %199
%204 = sext i32 %201 to i64
%205 = getelementptr inbounds [16 x i8], [16 x i8]* @switch.table.main, i64 0, i64 %204
%206 = load i8, i8* %205
%207 = getelementptr inbounds [7 x i8], [7 x i8]* %2, i64 0, i64 3
store i8 %206, i8* %207
br label %208
208: ; preds = %199, %203
%209 = getelementptr inbounds [7 x i32], [7 x i32]* %3, i64 0, i64 4
%210 = load i32, i32* %209
%211 = icmp ult i32 %210, 16
br i1 %211, label %212, label %217
212: ; preds = %208
%213 = sext i32 %210 to i64
%214 = getelementptr inbounds [16 x i8], [16 x i8]* @switch.table.main, i64 0, i64 %213
%215 = load i8, i8* %214
%216 = getelementptr inbounds [7 x i8], [7 x i8]* %2, i64 0, i64 4
store i8 %215, i8* %216
br label %217
217: ; preds = %208, %212
%218 = getelementptr inbounds [7 x i32], [7 x i32]* %3, i64 0, i64 5
%219 = load i32, i32* %218
%220 = icmp ult i32 %219, 16
br i1 %220, label %221, label %226
221: ; preds = %217
%222 = sext i32 %219 to i64
%223 = getelementptr inbounds [16 x i8], [16 x i8]* @switch.table.main, i64 0, i64 %222
%224 = load i8, i8* %223
%225 = getelementptr inbounds [7 x i8], [7 x i8]* %2, i64 0, i64 5
store i8 %224, i8* %225
br label %226
226: ; preds = %217, %221
%227 = load i8, i8* %5
%228 = getelementptr inbounds [7 x i8], [7 x i8]* %2, i64 0, i64 1
%229 = load i8, i8* %228
%230 = getelementptr inbounds [7 x i8], [7 x i8]* %2, i64 0, i64 2
%231 = load i8, i8* %230
%232 = getelementptr inbounds [7 x i8], [7 x i8]* %2, i64 0, i64 3
%233 = load i8, i8* %232
%234 = sext i8 %233 to i32
%235 = getelementptr inbounds [7 x i8], [7 x i8]* %2, i64 0, i64 4
%236 = load i8, i8* %235
%237 = sext i8 %236 to i32
%238 = getelementptr inbounds [7 x i8], [7 x i8]* %2, i64 0, i64 5
%239 = load i8, i8* %238
%240 = sext i8 %239 to i32
%241 = call i32 (i8*, i8, i8, i8, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.4, i64 0, i64 0), i8 signext %227, i8 signext %229, i8 signext %231, i32 %234, i32 %237, i32 %240)
br label %242
242: ; preds = %0, %226, %153
ret i32 0
}