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

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ printf(char *, ...);
int /*<<< orphan*/ scanf(char *, int *, ...);
int main() {
  int t, h, m;
  scanf("%d", &t);
  while (t) {
    scanf("%d%*c%d", &h, &m);
    if (h >= 9 && h <= 12 && m == 0) {
      if (h == 9)
        h = 3;
      else if (h == 10)
        h = 2;
      else if (h == 11)
        h = 1;
    } else if (h >= 9 && h <= 12) {
      if (h == 9)
        h = 2;
      else if (h == 10)
        h = 1;
      else if (h == 11)
        h = 12;
      else if (h == 12)
        h = 11;
      m = 60 - m;
    } else if (h >= 6 && h < 9 && m == 0) {
      if (h == 7)
        h = 5;
      else if (h == 8)
        h = 4;
    } else if (h >= 6 && h < 9) {
      if (h == 7)
        h = 4;
      else if (h == 8)
        h = 3;
      else if (h == 6)
        h = 5;
      m = 60 - m;
    } else if (h >= 1 && h <= 3 && m == 0) {
      if (h == 1)
        h = 11;
      else if (h == 2)
        h = 10;
      else if (h == 3)
        h = 9;
    } else if (h >= 1 && h <= 3) {
      if (h == 1)
        h = 10;
      else if (h == 2)
        h = 9;
      else if (h == 3)
        h = 8;
      m = 60 - m;
    } else if (h > 3 && h < 6 && m == 0) {
      if (h == 4)
        h = 8;
      else if (h == 5)
        h = 7;
    } else if (h > 3 && h < 6) {
      if (h == 4)
        h = 7;
      else if (h == 5)
        h = 6;
      m = 60 - m;
    }
    if (h < 10)
      printf("0%d", h);
    else
      printf("%d", h);
    printf(":");
    if (m < 10)
      printf("0%d\n", m);
    else
      printf("%d\n", m);
    t--;
  }
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
movl   $0x0,-0x4(%rbp)
lea    0xed3(%rip),%rdi
lea    -0x8(%rbp),%rsi
mov    $0x0,%al
call   1040 <scanf@plt>
cmpl   $0x0,-0x8(%rbp)
je     151b <main+0x3fb>
lea    0xeae(%rip),%rdi
lea    -0xc(%rbp),%rsi
lea    -0x10(%rbp),%rdx
mov    $0x0,%al
call   1040 <scanf@plt>
cmpl   $0x9,-0xc(%rbp)
jl     11cb <main+0xab>
cmpl   $0xc,-0xc(%rbp)
jg     11cb <main+0xab>
cmpl   $0x0,-0x10(%rbp)
jne    11cb <main+0xab>
cmpl   $0x9,-0xc(%rbp)
jne    1195 <main+0x75>
movl   $0x3,-0xc(%rbp)
jmp    11c6 <main+0xa6>
cmpl   $0xa,-0xc(%rbp)
jne    11ab <main+0x8b>
movl   $0x2,-0xc(%rbp)
jmp    11c1 <main+0xa1>
cmpl   $0xb,-0xc(%rbp)
jne    11bc <main+0x9c>
movl   $0x1,-0xc(%rbp)
jmp    11c1 <main+0xa1>
jmp    11c6 <main+0xa6>
jmp    149d <main+0x37d>
cmpl   $0x9,-0xc(%rbp)
jl     1251 <main+0x131>
cmpl   $0xc,-0xc(%rbp)
jg     1251 <main+0x131>
cmpl   $0x9,-0xc(%rbp)
jne    11f5 <main+0xd5>
movl   $0x2,-0xc(%rbp)
jmp    1241 <main+0x121>
cmpl   $0xa,-0xc(%rbp)
jne    120b <main+0xeb>
movl   $0x1,-0xc(%rbp)
jmp    123c <main+0x11c>
cmpl   $0xb,-0xc(%rbp)
jne    1221 <main+0x101>
movl   $0xc,-0xc(%rbp)
jmp    1237 <main+0x117>
cmpl   $0xc,-0xc(%rbp)
jne    1232 <main+0x112>
movl   $0xb,-0xc(%rbp)
jmp    1237 <main+0x117>
jmp    123c <main+0x11c>
jmp    1241 <main+0x121>
mov    $0x3c,%eax
sub    -0x10(%rbp),%eax
mov    %eax,-0x10(%rbp)
jmp    1498 <main+0x378>
cmpl   $0x6,-0xc(%rbp)
jl     12a0 <main+0x180>
cmpl   $0x9,-0xc(%rbp)
jge    12a0 <main+0x180>
cmpl   $0x0,-0x10(%rbp)
jne    12a0 <main+0x180>
cmpl   $0x7,-0xc(%rbp)
jne    1285 <main+0x165>
movl   $0x5,-0xc(%rbp)
jmp    129b <main+0x17b>
cmpl   $0x8,-0xc(%rbp)
jne    1296 <main+0x176>
movl   $0x4,-0xc(%rbp)
jmp    129b <main+0x17b>
jmp    1493 <main+0x373>
cmpl   $0x6,-0xc(%rbp)
jl     130b <main+0x1eb>
cmpl   $0x9,-0xc(%rbp)
jge    130b <main+0x1eb>
cmpl   $0x7,-0xc(%rbp)
jne    12ca <main+0x1aa>
movl   $0x4,-0xc(%rbp)
jmp    12fb <main+0x1db>
cmpl   $0x8,-0xc(%rbp)
jne    12e0 <main+0x1c0>
movl   $0x3,-0xc(%rbp)
jmp    12f6 <main+0x1d6>
cmpl   $0x6,-0xc(%rbp)
jne    12f1 <main+0x1d1>
movl   $0x5,-0xc(%rbp)
jmp    12f6 <main+0x1d6>
jmp    12fb <main+0x1db>
mov    $0x3c,%eax
sub    -0x10(%rbp),%eax
mov    %eax,-0x10(%rbp)
jmp    148e <main+0x36e>
cmpl   $0x1,-0xc(%rbp)
jl     1375 <main+0x255>
cmpl   $0x3,-0xc(%rbp)
jg     1375 <main+0x255>
cmpl   $0x0,-0x10(%rbp)
jne    1375 <main+0x255>
cmpl   $0x1,-0xc(%rbp)
jne    133f <main+0x21f>
movl   $0xb,-0xc(%rbp)
jmp    1370 <main+0x250>
cmpl   $0x2,-0xc(%rbp)
jne    1355 <main+0x235>
movl   $0xa,-0xc(%rbp)
jmp    136b <main+0x24b>
cmpl   $0x3,-0xc(%rbp)
jne    1366 <main+0x246>
movl   $0x9,-0xc(%rbp)
jmp    136b <main+0x24b>
jmp    1370 <main+0x250>
jmp    1489 <main+0x369>
cmpl   $0x1,-0xc(%rbp)
jl     13e0 <main+0x2c0>
cmpl   $0x3,-0xc(%rbp)
jg     13e0 <main+0x2c0>
cmpl   $0x1,-0xc(%rbp)
jne    139f <main+0x27f>
movl   $0xa,-0xc(%rbp)
jmp    13d0 <main+0x2b0>
cmpl   $0x2,-0xc(%rbp)
jne    13b5 <main+0x295>
movl   $0x9,-0xc(%rbp)
jmp    13cb <main+0x2ab>
cmpl   $0x3,-0xc(%rbp)
jne    13c6 <main+0x2a6>
movl   $0x8,-0xc(%rbp)
jmp    13cb <main+0x2ab>
jmp    13d0 <main+0x2b0>
mov    $0x3c,%eax
sub    -0x10(%rbp),%eax
mov    %eax,-0x10(%rbp)
jmp    1484 <main+0x364>
cmpl   $0x3,-0xc(%rbp)
jle    142f <main+0x30f>
cmpl   $0x6,-0xc(%rbp)
jge    142f <main+0x30f>
cmpl   $0x0,-0x10(%rbp)
jne    142f <main+0x30f>
cmpl   $0x4,-0xc(%rbp)
jne    1414 <main+0x2f4>
movl   $0x8,-0xc(%rbp)
jmp    142a <main+0x30a>
cmpl   $0x5,-0xc(%rbp)
jne    1425 <main+0x305>
movl   $0x7,-0xc(%rbp)
jmp    142a <main+0x30a>
jmp    147f <main+0x35f>
cmpl   $0x3,-0xc(%rbp)
jle    147a <main+0x35a>
cmpl   $0x6,-0xc(%rbp)
jge    147a <main+0x35a>
cmpl   $0x4,-0xc(%rbp)
jne    1459 <main+0x339>
movl   $0x7,-0xc(%rbp)
jmp    146f <main+0x34f>
cmpl   $0x5,-0xc(%rbp)
jne    146a <main+0x34a>
movl   $0x6,-0xc(%rbp)
jmp    146f <main+0x34f>
mov    $0x3c,%eax
sub    -0x10(%rbp),%eax
mov    %eax,-0x10(%rbp)
jmp    147f <main+0x35f>
jmp    1484 <main+0x364>
jmp    1489 <main+0x369>
jmp    148e <main+0x36e>
jmp    1493 <main+0x373>
jmp    1498 <main+0x378>
jmp    149d <main+0x37d>
cmpl   $0xa,-0xc(%rbp)
jge    14bd <main+0x39d>
mov    -0xc(%rbp),%esi
lea    0xb57(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    14ce <main+0x3ae>
mov    -0xc(%rbp),%esi
lea    0xb42(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xb37(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
cmpl   $0xa,-0x10(%rbp)
jge    14fc <main+0x3dc>
mov    -0x10(%rbp),%esi
lea    0xb1e(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    150d <main+0x3ed>
mov    -0x10(%rbp),%esi
lea    0xb09(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x8(%rbp)
jmp    1141 <main+0x21>
xor    %eax,%eax
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x18,%rsp
lea    0xec4(%rip),%rdi
lea    0x14(%rsp),%rsi
xor    %eax,%eax
call   1050 <scanf@plt>
cmpl   $0x0,0x14(%rsp)
je     148c <main+0x35c>
lea    0xe9d(%rip),%r14
lea    0xc(%rsp),%r15
lea    0x10(%rsp),%rbx
lea    0xe94(%rip),%r12
lea    0xe91(%rip),%rbp
lea    0xe8b(%rip),%r13
jmp    11d8 <main+0xa8>
movl   $0xa,0xc(%rsp)
mov    $0xa,%esi
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
lea    0xe62(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    $0x3a,%edi
call   1030 <putchar@plt>
mov    0x10(%rsp),%esi
cmp    $0xa,%esi
mov    %r13,%rdi
cmovl  %rbp,%rdi
xor    %eax,%eax
call   1040 <printf@plt>
addl   $0xffffffff,0x14(%rsp)
je     148c <main+0x35c>
mov    %r14,%rdi
mov    %r15,%rsi
mov    %rbx,%rdx
xor    %eax,%eax
call   1050 <scanf@plt>
mov    0xc(%rsp),%esi
lea    -0x9(%rsi),%ecx
mov    0x10(%rsp),%eax
cmp    $0x3,%ecx
ja     1230 <main+0x100>
test   %eax,%eax
jne    1230 <main+0x100>
cmp    $0xb,%esi
je     12a8 <main+0x178>
cmp    $0xa,%esi
je     12bd <main+0x18d>
cmp    $0x9,%esi
mov    $0xc,%esi
jne    11a0 <main+0x70>
movl   $0x3,0xc(%rsp)
mov    $0x3,%esi
mov    %r12,%rdi
jmp    11a7 <main+0x77>
nopl   (%rax)
cmp    $0x3,%ecx
ja     1270 <main+0x140>
cmp    $0xb,%esi
je     1313 <main+0x1e3>
cmp    $0xa,%esi
je     1304 <main+0x1d4>
cmp    $0x9,%esi
jne    1322 <main+0x1f2>
movl   $0x2,0xc(%rsp)
mov    $0x2,%esi
jmp    132f <main+0x1ff>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
lea    -0x6(%rsi),%ecx
cmp    $0x2,%ecx
ja     12d2 <main+0x1a2>
test   %eax,%eax
jne    12d2 <main+0x1a2>
cmp    $0x8,%esi
je     137b <main+0x24b>
cmp    $0x7,%esi
mov    $0x6,%esi
jne    1343 <main+0x213>
movl   $0x5,0xc(%rsp)
mov    $0x5,%esi
mov    %r12,%rdi
jmp    11a7 <main+0x77>
movl   $0x1,0xc(%rsp)
mov    $0x1,%esi
mov    %r12,%rdi
jmp    11a7 <main+0x77>
movl   $0x2,0xc(%rsp)
mov    $0x2,%esi
mov    %r12,%rdi
jmp    11a7 <main+0x77>
cmp    $0x2,%ecx
ja     134b <main+0x21b>
cmp    $0x6,%esi
je     13f4 <main+0x2c4>
cmp    $0x8,%esi
je     13b9 <main+0x289>
cmp    $0x7,%esi
jne    1401 <main+0x2d1>
movl   $0x4,0xc(%rsp)
mov    $0x4,%esi
jmp    1401 <main+0x2d1>
movl   $0x1,0xc(%rsp)
mov    $0x1,%esi
jmp    132f <main+0x1ff>
movl   $0xc,0xc(%rsp)
mov    $0xc,%esi
jmp    132f <main+0x1ff>
movl   $0xb,0xc(%rsp)
mov    $0xb,%esi
mov    $0x3c,%ecx
sub    %eax,%ecx
mov    %ecx,0x10(%rsp)
cmp    $0x9,%esi
jg     11a0 <main+0x70>
mov    %r12,%rdi
jmp    11a7 <main+0x77>
lea    -0x1(%rsi),%ecx
cmp    $0x2,%ecx
ja     1390 <main+0x260>
test   %eax,%eax
jne    1390 <main+0x260>
cmp    $0x2,%esi
je     1184 <main+0x54>
cmp    $0x1,%esi
jne    1414 <main+0x2e4>
movl   $0xb,0xc(%rsp)
mov    $0xb,%esi
jmp    11a0 <main+0x70>
movl   $0x4,0xc(%rsp)
mov    $0x4,%esi
mov    %r12,%rdi
jmp    11a7 <main+0x77>
cmp    $0x2,%ecx
ja     13c8 <main+0x298>
cmp    $0x2,%esi
je     1453 <main+0x323>
cmp    $0x1,%esi
jne    1465 <main+0x335>
movl   $0xa,0xc(%rsp)
mov    $0xa,%esi
jmp    132f <main+0x1ff>
movl   $0x3,0xc(%rsp)
mov    $0x3,%esi
jmp    1401 <main+0x2d1>
mov    %esi,%ecx
and    $0xfffffffe,%ecx
cmp    $0x4,%ecx
jne    1429 <main+0x2f9>
test   %eax,%eax
jne    1429 <main+0x2f9>
cmp    $0x4,%esi
jne    1477 <main+0x347>
movl   $0x8,0xc(%rsp)
mov    $0x8,%esi
mov    %r12,%rdi
jmp    11a7 <main+0x77>
movl   $0x5,0xc(%rsp)
mov    $0x5,%esi
mov    $0x3c,%ecx
sub    %eax,%ecx
mov    %ecx,0x10(%rsp)
mov    %r12,%rdi
jmp    11a7 <main+0x77>
movl   $0x9,0xc(%rsp)
mov    $0x9,%esi
mov    %r12,%rdi
jmp    11a7 <main+0x77>
cmp    $0x4,%ecx
jne    133a <main+0x20a>
xor    %ecx,%ecx
cmp    $0x4,%esi
sete   %cl
or     $0x6,%ecx
mov    %ecx,0xc(%rsp)
mov    $0x3c,%edx
sub    %eax,%edx
mov    %edx,0x10(%rsp)
mov    %ecx,%esi
jmp    1343 <main+0x213>
movl   $0x9,0xc(%rsp)
mov    $0x9,%esi
jmp    132f <main+0x1ff>
movl   $0x8,0xc(%rsp)
mov    $0x8,%esi
jmp    132f <main+0x1ff>
movl   $0x7,0xc(%rsp)
mov    $0x7,%esi
mov    %r12,%rdi
jmp    11a7 <main+0x77>
xor    %eax,%eax
add    $0x18,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

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

LLVM IR (-O2):
@.str = [3 x i8] c"%d\00"
@.str.1 = [8 x i8] c"%d%*c%d\00"
@.str.2 = [4 x i8] c"0%d\00"
@.str.4 = [5 x i8] c"0%d\0A\00"
@.str.5 = [4 x i8] c"%d\0A\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca i32
%3 = alloca i32
%4 = bitcast i32* %1 to i8*
%5 = bitcast i32* %2 to i8*
%6 = bitcast i32* %3 to i8*
%7 = call i32 (i8*, i32*, ...) @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32* %1)
%8 = load i32, i32* %1
%9 = icmp eq i32 %8, 0
br i1 %9, label %93, label %10
10: ; preds = %0, %84
%11 = call i32 (i8*, i32*, ...) @scanf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1, i64 0, i64 0), i32* %2, i32* %3)
%12 = load i32, i32* %2
%13 = add i32 %12, -9
%14 = icmp ult i32 %13, 4
%15 = load i32, i32* %3
%16 = icmp eq i32 %15, 0
%17 = select i1 %14, i1 %16, i1 false
br i1 %17, label %18, label %22
18: ; preds = %10
switch i32 %12, label %81 [
i32 9, label %19
i32 10, label %20
i32 11, label %21
]
19: ; preds = %18
store i32 3, i32* %2
br label %78
20: ; preds = %18
store i32 2, i32* %2
br label %78
21: ; preds = %18
store i32 1, i32* %2
br label %78
22: ; preds = %10
br i1 %14, label %23, label %31
23: ; preds = %22
switch i32 %12, label %27 [
i32 9, label %24
i32 10, label %25
i32 11, label %26
]
24: ; preds = %23
store i32 2, i32* %2
br label %28
25: ; preds = %23
store i32 1, i32* %2
br label %28
26: ; preds = %23
store i32 12, i32* %2
br label %28
27: ; preds = %23
store i32 11, i32* %2
br label %28
28: ; preds = %25, %27, %26, %24
%29 = phi i32 [ 1, %25 ], [ 11, %27 ], [ 12, %26 ], [ 2, %24 ]
%30 = sub nsw i32 60, %15
store i32 %30, i32* %3
br label %75
31: ; preds = %22
%32 = add i32 %12, -6
%33 = icmp ult i32 %32, 3
%34 = select i1 %33, i1 %16, i1 false
br i1 %34, label %35, label %38
35: ; preds = %31
switch i32 %12, label %78 [
i32 7, label %36
i32 8, label %37
]
36: ; preds = %35
store i32 5, i32* %2
br label %78
37: ; preds = %35
store i32 4, i32* %2
br label %78
38: ; preds = %31
br i1 %33, label %39, label %46
39: ; preds = %38
switch i32 %12, label %43 [
i32 7, label %40
i32 8, label %41
i32 6, label %42
]
40: ; preds = %39
store i32 4, i32* %2
br label %43
41: ; preds = %39
store i32 3, i32* %2
br label %43
42: ; preds = %39
store i32 5, i32* %2
br label %43
43: ; preds = %39, %41, %42, %40
%44 = phi i32 [ %12, %39 ], [ 3, %41 ], [ 5, %42 ], [ 4, %40 ]
%45 = sub nsw i32 60, %15
store i32 %45, i32* %3
br label %78
46: ; preds = %38
%47 = add i32 %12, -1
%48 = icmp ult i32 %47, 3
%49 = select i1 %48, i1 %16, i1 false
br i1 %49, label %50, label %54
50: ; preds = %46
switch i32 %12, label %53 [
i32 1, label %51
i32 2, label %52
]
51: ; preds = %50
store i32 11, i32* %2
br label %81
52: ; preds = %50
store i32 10, i32* %2
br label %81
53: ; preds = %50
store i32 9, i32* %2
br label %78
54: ; preds = %46
br i1 %48, label %55, label %62
55: ; preds = %54
switch i32 %12, label %58 [
i32 1, label %56
i32 2, label %57
]
56: ; preds = %55
store i32 10, i32* %2
br label %59
57: ; preds = %55
store i32 9, i32* %2
br label %59
58: ; preds = %55
store i32 8, i32* %2
br label %59
59: ; preds = %57, %58, %56
%60 = phi i32 [ 9, %57 ], [ 8, %58 ], [ 10, %56 ]
%61 = sub nsw i32 60, %15
store i32 %61, i32* %3
br label %75
62: ; preds = %54
%63 = and i32 %12, -2
%64 = icmp eq i32 %63, 4
%65 = select i1 %64, i1 %16, i1 false
br i1 %65, label %66, label %70
66: ; preds = %62
%67 = icmp eq i32 %12, 4
br i1 %67, label %68, label %69
68: ; preds = %66
store i32 8, i32* %2
br label %78
69: ; preds = %66
store i32 7, i32* %2
br label %78
70: ; preds = %62
br i1 %64, label %71, label %75
71: ; preds = %70
%72 = icmp eq i32 %12, 4
%73 = select i1 %72, i32 7, i32 6
store i32 %73, i32* %2
%74 = sub nsw i32 60, %15
store i32 %74, i32* %3
br label %78
75: ; preds = %28, %59, %70
%76 = phi i32 [ %29, %28 ], [ %60, %59 ], [ %12, %70 ]
%77 = icmp slt i32 %76, 10
br i1 %77, label %78, label %81
78: ; preds = %43, %35, %20, %21, %19, %37, %36, %53, %69, %68, %71, %75
%79 = phi i32 [ %76, %75 ], [ 2, %20 ], [ 1, %21 ], [ 3, %19 ], [ 4, %37 ], [ 5, %36 ], [ 9, %53 ], [ 7, %69 ], [ 8, %68 ], [ %73, %71 ], [ %44, %43 ], [ 6, %35 ]
%80 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %79)
br label %84
81: ; preds = %18, %52, %51, %75
%82 = phi i32 [ %76, %75 ], [ 10, %52 ], [ 11, %51 ], [ 12, %18 ]
%83 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %82)
br label %84
84: ; preds = %81, %78
%85 = call i32 @putchar(i32 58)
%86 = load i32, i32* %3
%87 = icmp slt i32 %86, 10
%88 = select i1 %87, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.4, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.5, i64 0, i64 0)
%89 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) %88, i32 %86)
%90 = load i32, i32* %1
%91 = add nsw i32 %90, -1
store i32 %91, i32* %1
%92 = icmp eq i32 %91, 0
br i1 %92, label %93, label %10
93: ; preds = %84, %0
ret i32 0
}