int main() {
  char H[19][10] = {"pop",  "no",   "zip",   "zotz",  "tzec", "xul", "yoxkin",
                    "mol",  "chen", "yax",   "zac",   "ceh",  "mac", "kankin",
                    "muan", "pax",  "koyab", "cumhu", "uayet"};
  char T[20][10] = {"imix",  "ik",    "akbal", "kan",   "chicchan",
                    "cimi",  "manik", "lamat", "muluk", "ok",
                    "chuen", "eb",    "ben",   "ix",    "mem",
                    "cib",   "caban", "eznab", "canac", "ahau"};
  int n;
  scanf("%d", &n);
  int i, j;
  printf("%d\n", n);
  int day, year;
  char month[10];
  for (i = 0; i < n; i++) {
    scanf("%d. %s %d", &day, month, &year);
    for (j = 0; j < 19; j++) {
      if (strcmp(H[j], month) == 0) {
        break;
      }
    }
    int num = day + j * 20 + year * 365;
    int yeay_t = num / 260;
    int day_t = num % 260;
    printf("%d %s %d\n", (day_t % 13 + 1), T[day_t % 20], yeay_t);
  }
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x1d0,%rsp
movl   $0x0,-0x4(%rbp)
lea    -0xd0(%rbp),%rdi
lea    0xea0(%rip),%rsi
mov    $0xbe,%edx
call   1050 <memcpy@plt>
lea    -0x1a0(%rbp),%rdi
lea    0xf48(%rip),%rsi
mov    $0xc8,%edx
call   1050 <memcpy@plt>
lea    0x1006(%rip),%rdi
lea    -0x1a4(%rbp),%rsi
mov    $0x0,%al
call   1060 <scanf@plt>
mov    -0x1a4(%rbp),%esi
lea    0xff4(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movl   $0x0,-0x1a8(%rbp)
mov    -0x1a8(%rbp),%eax
cmp    -0x1a4(%rbp),%eax
jge    12ec <main+0x1ac>
lea    -0x1be(%rbp),%rdx
lea    0xfb3(%rip),%rdi
lea    -0x1b0(%rbp),%rsi
lea    -0x1b4(%rbp),%rcx
mov    $0x0,%al
call   1060 <scanf@plt>
movl   $0x0,-0x1ac(%rbp)
cmpl   $0x13,-0x1ac(%rbp)
jge    1249 <main+0x109>
movslq -0x1ac(%rbp),%rax
lea    -0xd0(%rbp),%rdi
imul   $0xa,%rax,%rax
add    %rax,%rdi
lea    -0x1be(%rbp),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    1230 <main+0xf0>
jmp    1249 <main+0x109>
jmp    1235 <main+0xf5>
mov    -0x1ac(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1ac(%rbp)
jmp    11f4 <main+0xb4>
mov    -0x1b0(%rbp),%eax
imul   $0x14,-0x1ac(%rbp),%ecx
add    %ecx,%eax
imul   $0x16d,-0x1b4(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    $0x104,%ecx
cltd
idiv   %ecx
mov    %eax,-0x1c8(%rbp)
mov    -0x1c4(%rbp),%eax
mov    $0x104,%ecx
cltd
idiv   %ecx
mov    %edx,-0x1cc(%rbp)
mov    -0x1cc(%rbp),%eax
mov    $0xd,%ecx
cltd
idiv   %ecx
mov    %edx,%esi
add    $0x1,%esi
mov    -0x1cc(%rbp),%eax
mov    $0x14,%ecx
cltd
idiv   %ecx
movslq %edx,%rax
lea    -0x1a0(%rbp),%rdx
imul   $0xa,%rax,%rax
add    %rax,%rdx
mov    -0x1c8(%rbp),%ecx
lea    0xec1(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x1a8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1a8(%rbp)
jmp    11b5 <main+0x75>
xor    %eax,%eax
add    $0x1d0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0xe8,%rsp
lea    0xf68(%rip),%rsi
lea    0x20(%rsp),%rdi
mov    $0xc8,%edx
call   1050 <memcpy@plt>
lea    0x1021(%rip),%rdi
lea    0x8(%rsp),%rsi
xor    %eax,%eax
call   1060 <scanf@plt>
mov    0x8(%rsp),%esi
lea    0x1013(%rip),%rdi
xor    %eax,%eax
call   1030 <printf@plt>
cmpl   $0x0,0x8(%rsp)
jle    14e8 <main+0x3a8>
lea    0x16(%rsp),%rbx
lea    0xc(%rsp),%r12
lea    0xe58(%rip),%r13
lea    0xfe3(%rip),%rbp
xor    %r14d,%r14d
jmp    125a <main+0x11a>
nopw   0x0(%rax,%rax,1)
mov    $0x14,%r15d
add    0x10(%rsp),%r15d
imul   $0x16d,0xc(%rsp),%eax
add    %r15d,%eax
cltq
imul   $0x7e07e07f,%rax,%rcx
mov    %rcx,%rdx
shr    $0x3f,%rdx
sar    $0x27,%rcx
add    %edx,%ecx
mov    %ecx,%edx
shl    $0x8,%edx
lea    (%rdx,%rcx,4),%edx
sub    %edx,%eax
movswl %ax,%edx
imul   $0x4ec5,%edx,%esi
mov    %esi,%edi
shr    $0x1f,%edi
sar    $0x12,%esi
add    %edi,%esi
lea    (%rsi,%rsi,2),%edi
lea    (%rsi,%rdi,4),%esi
neg    %esi
add    %eax,%esi
add    $0x1,%esi
movswl %si,%esi
imul   $0x6667,%edx,%edx
mov    %edx,%edi
shr    $0x1f,%edi
sar    $0x13,%edx
add    %edi,%edx
shl    $0x2,%edx
lea    (%rdx,%rdx,4),%edx
sub    %edx,%eax
movswq %ax,%rax
lea    (%rax,%rax,4),%rax
lea    (%rsp,%rax,2),%rdx
add    $0x20,%rdx
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <printf@plt>
add    $0x1,%r14d
cmp    0x8(%rsp),%r14d
jge    14e8 <main+0x3a8>
xor    %r15d,%r15d
lea    0xf24(%rip),%rdi
lea    0x10(%rsp),%rsi
mov    %rbx,%rdx
mov    %r12,%rcx
xor    %eax,%eax
call   1060 <scanf@plt>
mov    %r13,%rdi
mov    %rbx,%rsi
call   1040 <strcmp@plt>
test   %eax,%eax
je     11c6 <main+0x86>
lea    0xd7a(%rip),%rdi
mov    %rbx,%rsi
call   1040 <strcmp@plt>
test   %eax,%eax
je     11c0 <main+0x80>
lea    0xd6d(%rip),%rdi
mov    %rbx,%rsi
call   1040 <strcmp@plt>
test   %eax,%eax
je     1438 <main+0x2f8>
lea    0xd60(%rip),%rdi
mov    %rbx,%rsi
call   1040 <strcmp@plt>
test   %eax,%eax
je     1443 <main+0x303>
lea    0xd53(%rip),%rdi
mov    %rbx,%rsi
call   1040 <strcmp@plt>
test   %eax,%eax
je     144e <main+0x30e>
lea    0xd46(%rip),%rdi
mov    %rbx,%rsi
call   1040 <strcmp@plt>
test   %eax,%eax
je     1459 <main+0x319>
lea    0xd39(%rip),%rdi
mov    %rbx,%rsi
call   1040 <strcmp@plt>
test   %eax,%eax
je     1464 <main+0x324>
lea    0xd2c(%rip),%rdi
mov    %rbx,%rsi
call   1040 <strcmp@plt>
test   %eax,%eax
je     146f <main+0x32f>
lea    0xd1f(%rip),%rdi
mov    %rbx,%rsi
call   1040 <strcmp@plt>
test   %eax,%eax
je     147a <main+0x33a>
lea    0xd12(%rip),%rdi
mov    %rbx,%rsi
call   1040 <strcmp@plt>
test   %eax,%eax
je     1485 <main+0x345>
lea    0xd05(%rip),%rdi
mov    %rbx,%rsi
call   1040 <strcmp@plt>
test   %eax,%eax
je     1490 <main+0x350>
lea    0xcf8(%rip),%rdi
mov    %rbx,%rsi
call   1040 <strcmp@plt>
test   %eax,%eax
je     149b <main+0x35b>
lea    0xceb(%rip),%rdi
mov    %rbx,%rsi
call   1040 <strcmp@plt>
test   %eax,%eax
je     14a6 <main+0x366>
lea    0xcde(%rip),%rdi
mov    %rbx,%rsi
call   1040 <strcmp@plt>
test   %eax,%eax
je     14b1 <main+0x371>
lea    0xcd1(%rip),%rdi
mov    %rbx,%rsi
call   1040 <strcmp@plt>
test   %eax,%eax
je     14bc <main+0x37c>
lea    0xcc4(%rip),%rdi
mov    %rbx,%rsi
call   1040 <strcmp@plt>
test   %eax,%eax
je     14c7 <main+0x387>
lea    0xcb7(%rip),%rdi
mov    %rbx,%rsi
call   1040 <strcmp@plt>
test   %eax,%eax
je     14d2 <main+0x392>
lea    0xcaa(%rip),%rdi
mov    %rbx,%rsi
call   1040 <strcmp@plt>
test   %eax,%eax
je     14dd <main+0x39d>
lea    0xc9d(%rip),%rdi
mov    %rbx,%rsi
call   1040 <strcmp@plt>
mov    $0x168,%r15d
test   %eax,%eax
je     11c6 <main+0x86>
mov    $0x17c,%r15d
jmp    11c6 <main+0x86>
mov    $0x28,%r15d
jmp    11c6 <main+0x86>
mov    $0x3c,%r15d
jmp    11c6 <main+0x86>
mov    $0x50,%r15d
jmp    11c6 <main+0x86>
mov    $0x64,%r15d
jmp    11c6 <main+0x86>
mov    $0x78,%r15d
jmp    11c6 <main+0x86>
mov    $0x8c,%r15d
jmp    11c6 <main+0x86>
mov    $0xa0,%r15d
jmp    11c6 <main+0x86>
mov    $0xb4,%r15d
jmp    11c6 <main+0x86>
mov    $0xc8,%r15d
jmp    11c6 <main+0x86>
mov    $0xdc,%r15d
jmp    11c6 <main+0x86>
mov    $0xf0,%r15d
jmp    11c6 <main+0x86>
mov    $0x104,%r15d
jmp    11c6 <main+0x86>
mov    $0x118,%r15d
jmp    11c6 <main+0x86>
mov    $0x12c,%r15d
jmp    11c6 <main+0x86>
mov    $0x140,%r15d
jmp    11c6 <main+0x86>
mov    $0x154,%r15d
jmp    11c6 <main+0x86>
xor    %eax,%eax
add    $0xe8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
@__const.main.H = [19 x [10 x i8]] [[10 x i8] c"pop\00\00\00\00\00\00\00", [10 x i8] c"no\00\00\00\00\00\00\00\00", [10 x i8] c"zip\00\00\00\00\00\00\00", [10 x i8] c"zotz\00\00\00\00\00\00", [10 x i8] c"tzec\00\00\00\00\00\00", [10 x i8] c"xul\00\00\00\00\00\00\00", [10 x i8] c"yoxkin\00\00\00\00", [10 x i8] c"mol\00\00\00\00\00\00\00", [10 x i8] c"chen\00\00\00\00\00\00", [10 x i8] c"yax\00\00\00\00\00\00\00", [10 x i8] c"zac\00\00\00\00\00\00\00", [10 x i8] c"ceh\00\00\00\00\00\00\00", [10 x i8] c"mac\00\00\00\00\00\00\00", [10 x i8] c"kankin\00\00\00\00", [10 x i8] c"muan\00\00\00\00\00\00", [10 x i8] c"pax\00\00\00\00\00\00\00", [10 x i8] c"koyab\00\00\00\00\00", [10 x i8] c"cumhu\00\00\00\00\00", [10 x i8] c"uayet\00\00\00\00\00"]
@__const.main.T = [20 x [10 x i8]] [[10 x i8] c"imix\00\00\00\00\00\00", [10 x i8] c"ik\00\00\00\00\00\00\00\00", [10 x i8] c"akbal\00\00\00\00\00", [10 x i8] c"kan\00\00\00\00\00\00\00", [10 x i8] c"chicchan\00\00", [10 x i8] c"cimi\00\00\00\00\00\00", [10 x i8] c"manik\00\00\00\00\00", [10 x i8] c"lamat\00\00\00\00\00", [10 x i8] c"muluk\00\00\00\00\00", [10 x i8] c"ok\00\00\00\00\00\00\00\00", [10 x i8] c"chuen\00\00\00\00\00", [10 x i8] c"eb\00\00\00\00\00\00\00\00", [10 x i8] c"ben\00\00\00\00\00\00\00", [10 x i8] c"ix\00\00\00\00\00\00\00\00", [10 x i8] c"mem\00\00\00\00\00\00\00", [10 x i8] c"cib\00\00\00\00\00\00\00", [10 x i8] c"caban\00\00\00\00\00", [10 x i8] c"eznab\00\00\00\00\00", [10 x i8] c"canac\00\00\00\00\00", [10 x i8] c"ahau\00\00\00\00\00\00"]
@.str = [3 x i8] c"%d\00"
@.str.1 = [4 x i8] c"%d\0A\00"
@.str.2 = [10 x i8] c"%d. %s %d\00"
@.str.3 = [10 x i8] c"%d %s %d\0A\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca [19 x [10 x i8]]
%3 = alloca [20 x [10 x i8]]
%4 = alloca i32
%5 = alloca i32
%6 = alloca i32
%7 = alloca i32
%8 = alloca i32
%9 = alloca [10 x i8]
%10 = alloca i32
%11 = alloca i32
%12 = alloca i32
store i32 0, i32* %1
%13 = bitcast [19 x [10 x i8]]* %2 to i8*
%14 = bitcast [20 x [10 x i8]]* %3 to i8*
%15 = call i32 (i8*, ...) @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32* %4)
%16 = load i32, i32* %4
%17 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i32 %16)
store i32 0, i32* %5
br label %18
18: ; preds = %63, %0
%19 = load i32, i32* %5
%20 = load i32, i32* %4
%21 = icmp slt i32 %19, %20
br i1 %21, label %22, label %66
22: ; preds = %18
%23 = getelementptr inbounds [10 x i8], [10 x i8]* %9, i64 0, i64 0
%24 = call i32 (i8*, ...) @scanf(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.2, i64 0, i64 0), i32* %7, i8* %23, i32* %8)
store i32 0, i32* %6
br label %25
25: ; preds = %38, %22
%26 = load i32, i32* %6
%27 = icmp slt i32 %26, 19
br i1 %27, label %28, label %41
28: ; preds = %25
%29 = load i32, i32* %6
%30 = sext i32 %29 to i64
%31 = getelementptr inbounds [19 x [10 x i8]], [19 x [10 x i8]]* %2, i64 0, i64 %30
%32 = getelementptr inbounds [10 x i8], [10 x i8]* %31, i64 0, i64 0
%33 = getelementptr inbounds [10 x i8], [10 x i8]* %9, i64 0, i64 0
%34 = call i32 @strcmp(i8* %32, i8* %33)
%35 = icmp eq i32 %34, 0
br i1 %35, label %36, label %37
36: ; preds = %28
br label %41
37: ; preds = %28
br label %38
38: ; preds = %37
%39 = load i32, i32* %6
%40 = add nsw i32 %39, 1
store i32 %40, i32* %6
br label %25
41: ; preds = %36, %25
%42 = load i32, i32* %7
%43 = load i32, i32* %6
%44 = mul nsw i32 %43, 20
%45 = add nsw i32 %42, %44
%46 = load i32, i32* %8
%47 = mul nsw i32 %46, 365
%48 = add nsw i32 %45, %47
store i32 %48, i32* %10
%49 = load i32, i32* %10
%50 = sdiv i32 %49, 260
store i32 %50, i32* %11
%51 = load i32, i32* %10
%52 = srem i32 %51, 260
store i32 %52, i32* %12
%53 = load i32, i32* %12
%54 = srem i32 %53, 13
%55 = add nsw i32 %54, 1
%56 = load i32, i32* %12
%57 = srem i32 %56, 20
%58 = sext i32 %57 to i64
%59 = getelementptr inbounds [20 x [10 x i8]], [20 x [10 x i8]]* %3, i64 0, i64 %58
%60 = getelementptr inbounds [10 x i8], [10 x i8]* %59, i64 0, i64 0
%61 = load i32, i32* %11
%62 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.3, i64 0, i64 0), i32 %55, i8* %60, i32 %61)
br label %63
63: ; preds = %41
%64 = load i32, i32* %5
%65 = add nsw i32 %64, 1
store i32 %65, i32* %5
br label %18
66: ; preds = %18
ret i32 0
}

LLVM IR (-O2):
@__const.main.H = [19 x [10 x i8]] [[10 x i8] c"pop\00\00\00\00\00\00\00", [10 x i8] c"no\00\00\00\00\00\00\00\00", [10 x i8] c"zip\00\00\00\00\00\00\00", [10 x i8] c"zotz\00\00\00\00\00\00", [10 x i8] c"tzec\00\00\00\00\00\00", [10 x i8] c"xul\00\00\00\00\00\00\00", [10 x i8] c"yoxkin\00\00\00\00", [10 x i8] c"mol\00\00\00\00\00\00\00", [10 x i8] c"chen\00\00\00\00\00\00", [10 x i8] c"yax\00\00\00\00\00\00\00", [10 x i8] c"zac\00\00\00\00\00\00\00", [10 x i8] c"ceh\00\00\00\00\00\00\00", [10 x i8] c"mac\00\00\00\00\00\00\00", [10 x i8] c"kankin\00\00\00\00", [10 x i8] c"muan\00\00\00\00\00\00", [10 x i8] c"pax\00\00\00\00\00\00\00", [10 x i8] c"koyab\00\00\00\00\00", [10 x i8] c"cumhu\00\00\00\00\00", [10 x i8] c"uayet\00\00\00\00\00"]
@__const.main.T = [20 x [10 x i8]] [[10 x i8] c"imix\00\00\00\00\00\00", [10 x i8] c"ik\00\00\00\00\00\00\00\00", [10 x i8] c"akbal\00\00\00\00\00", [10 x i8] c"kan\00\00\00\00\00\00\00", [10 x i8] c"chicchan\00\00", [10 x i8] c"cimi\00\00\00\00\00\00", [10 x i8] c"manik\00\00\00\00\00", [10 x i8] c"lamat\00\00\00\00\00", [10 x i8] c"muluk\00\00\00\00\00", [10 x i8] c"ok\00\00\00\00\00\00\00\00", [10 x i8] c"chuen\00\00\00\00\00", [10 x i8] c"eb\00\00\00\00\00\00\00\00", [10 x i8] c"ben\00\00\00\00\00\00\00", [10 x i8] c"ix\00\00\00\00\00\00\00\00", [10 x i8] c"mem\00\00\00\00\00\00\00", [10 x i8] c"cib\00\00\00\00\00\00\00", [10 x i8] c"caban\00\00\00\00\00", [10 x i8] c"eznab\00\00\00\00\00", [10 x i8] c"canac\00\00\00\00\00", [10 x i8] c"ahau\00\00\00\00\00\00"]
@.str = [3 x i8] c"%d\00"
@.str.1 = [4 x i8] c"%d\0A\00"
@.str.2 = [10 x i8] c"%d. %s %d\00"
@.str.3 = [10 x i8] c"%d %s %d\0A\00"
define i32 @main() {
%1 = alloca [20 x [10 x i8]]
%2 = alloca i32
%3 = alloca i32
%4 = alloca i32
%5 = alloca [10 x i8]
%6 = getelementptr inbounds [20 x [10 x i8]], [20 x [10 x i8]]* %1, i64 0, i64 0, i64 0
%7 = bitcast i32* %2 to i8*
%8 = call i32 (i8*, ...) @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32* %2)
%9 = load i32, i32* %2
%10 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i32 %9)
%11 = bitcast i32* %3 to i8*
%12 = bitcast i32* %4 to i8*
%13 = getelementptr inbounds [10 x i8], [10 x i8]* %5, i64 0, i64 0
%14 = load i32, i32* %2
%15 = icmp sgt i32 %14, 0
br i1 %15, label %16, label %96
16: ; preds = %0, %76
%17 = phi i32 [ %93, %76 ], [ 0, %0 ]
%18 = call i32 (i8*, ...) @scanf(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.2, i64 0, i64 0), i32* %3, i8* %13, i32* %4)
%19 = call i32 @strcmp(i8* getelementptr inbounds ([19 x [10 x i8]], [19 x [10 x i8]]* @__const.main.H, i64 0, i64 0, i64 0), i8* %13)
%20 = icmp eq i32 %19, 0
br i1 %20, label %76, label %21
21: ; preds = %16
%22 = call i32 @strcmp(i8* getelementptr inbounds ([19 x [10 x i8]], [19 x [10 x i8]]* @__const.main.H, i64 0, i64 1, i64 0), i8* %13)
%23 = icmp eq i32 %22, 0
br i1 %23, label %76, label %24
24: ; preds = %21
%25 = call i32 @strcmp(i8* getelementptr inbounds ([19 x [10 x i8]], [19 x [10 x i8]]* @__const.main.H, i64 0, i64 2, i64 0), i8* %13)
%26 = icmp eq i32 %25, 0
br i1 %26, label %76, label %27
27: ; preds = %24
%28 = call i32 @strcmp(i8* getelementptr inbounds ([19 x [10 x i8]], [19 x [10 x i8]]* @__const.main.H, i64 0, i64 3, i64 0), i8* %13)
%29 = icmp eq i32 %28, 0
br i1 %29, label %76, label %30
30: ; preds = %27
%31 = call i32 @strcmp(i8* getelementptr inbounds ([19 x [10 x i8]], [19 x [10 x i8]]* @__const.main.H, i64 0, i64 4, i64 0), i8* %13)
%32 = icmp eq i32 %31, 0
br i1 %32, label %76, label %33
33: ; preds = %30
%34 = call i32 @strcmp(i8* getelementptr inbounds ([19 x [10 x i8]], [19 x [10 x i8]]* @__const.main.H, i64 0, i64 5, i64 0), i8* %13)
%35 = icmp eq i32 %34, 0
br i1 %35, label %76, label %36
36: ; preds = %33
%37 = call i32 @strcmp(i8* getelementptr inbounds ([19 x [10 x i8]], [19 x [10 x i8]]* @__const.main.H, i64 0, i64 6, i64 0), i8* %13)
%38 = icmp eq i32 %37, 0
br i1 %38, label %76, label %39
39: ; preds = %36
%40 = call i32 @strcmp(i8* getelementptr inbounds ([19 x [10 x i8]], [19 x [10 x i8]]* @__const.main.H, i64 0, i64 7, i64 0), i8* %13)
%41 = icmp eq i32 %40, 0
br i1 %41, label %76, label %42
42: ; preds = %39
%43 = call i32 @strcmp(i8* getelementptr inbounds ([19 x [10 x i8]], [19 x [10 x i8]]* @__const.main.H, i64 0, i64 8, i64 0), i8* %13)
%44 = icmp eq i32 %43, 0
br i1 %44, label %76, label %45
45: ; preds = %42
%46 = call i32 @strcmp(i8* getelementptr inbounds ([19 x [10 x i8]], [19 x [10 x i8]]* @__const.main.H, i64 0, i64 9, i64 0), i8* %13)
%47 = icmp eq i32 %46, 0
br i1 %47, label %76, label %48
48: ; preds = %45
%49 = call i32 @strcmp(i8* getelementptr inbounds ([19 x [10 x i8]], [19 x [10 x i8]]* @__const.main.H, i64 0, i64 10, i64 0), i8* %13)
%50 = icmp eq i32 %49, 0
br i1 %50, label %76, label %51
51: ; preds = %48
%52 = call i32 @strcmp(i8* getelementptr inbounds ([19 x [10 x i8]], [19 x [10 x i8]]* @__const.main.H, i64 0, i64 11, i64 0), i8* %13)
%53 = icmp eq i32 %52, 0
br i1 %53, label %76, label %54
54: ; preds = %51
%55 = call i32 @strcmp(i8* getelementptr inbounds ([19 x [10 x i8]], [19 x [10 x i8]]* @__const.main.H, i64 0, i64 12, i64 0), i8* %13)
%56 = icmp eq i32 %55, 0
br i1 %56, label %76, label %57
57: ; preds = %54
%58 = call i32 @strcmp(i8* getelementptr inbounds ([19 x [10 x i8]], [19 x [10 x i8]]* @__const.main.H, i64 0, i64 13, i64 0), i8* %13)
%59 = icmp eq i32 %58, 0
br i1 %59, label %76, label %60
60: ; preds = %57
%61 = call i32 @strcmp(i8* getelementptr inbounds ([19 x [10 x i8]], [19 x [10 x i8]]* @__const.main.H, i64 0, i64 14, i64 0), i8* %13)
%62 = icmp eq i32 %61, 0
br i1 %62, label %76, label %63
63: ; preds = %60
%64 = call i32 @strcmp(i8* getelementptr inbounds ([19 x [10 x i8]], [19 x [10 x i8]]* @__const.main.H, i64 0, i64 15, i64 0), i8* %13)
%65 = icmp eq i32 %64, 0
br i1 %65, label %76, label %66
66: ; preds = %63
%67 = call i32 @strcmp(i8* getelementptr inbounds ([19 x [10 x i8]], [19 x [10 x i8]]* @__const.main.H, i64 0, i64 16, i64 0), i8* %13)
%68 = icmp eq i32 %67, 0
br i1 %68, label %76, label %69
69: ; preds = %66
%70 = call i32 @strcmp(i8* getelementptr inbounds ([19 x [10 x i8]], [19 x [10 x i8]]* @__const.main.H, i64 0, i64 17, i64 0), i8* %13)
%71 = icmp eq i32 %70, 0
br i1 %71, label %76, label %72
72: ; preds = %69
%73 = call i32 @strcmp(i8* getelementptr inbounds ([19 x [10 x i8]], [19 x [10 x i8]]* @__const.main.H, i64 0, i64 18, i64 0), i8* %13)
%74 = icmp eq i32 %73, 0
%75 = select i1 %74, i32 360, i32 380
br label %76
76: ; preds = %72, %69, %66, %63, %60, %57, %54, %51, %48, %45, %42, %39, %36, %33, %30, %27, %24, %21, %16
%77 = phi i32 [ 0, %16 ], [ 20, %21 ], [ 40, %24 ], [ 60, %27 ], [ 80, %30 ], [ 100, %33 ], [ 120, %36 ], [ 140, %39 ], [ 160, %42 ], [ 180, %45 ], [ 200, %48 ], [ 220, %51 ], [ 240, %54 ], [ 260, %57 ], [ 280, %60 ], [ 300, %63 ], [ 320, %66 ], [ 340, %69 ], [ %75, %72 ]
%78 = load i32, i32* %3
%79 = add nsw i32 %78, %77
%80 = load i32, i32* %4
%81 = mul nsw i32 %80, 365
%82 = add nsw i32 %79, %81
%83 = sdiv i32 %82, 260
%84 = srem i32 %82, 260
%85 = trunc i32 %84 to i16
%86 = srem i16 %85, 13
%87 = add nsw i16 %86, 1
%88 = sext i16 %87 to i32
%89 = srem i16 %85, 20
%90 = sext i16 %89 to i64
%91 = getelementptr inbounds [20 x [10 x i8]], [20 x [10 x i8]]* %1, i64 0, i64 %90, i64 0
%92 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([10 x i8], [10 x i8]* @.str.3, i64 0, i64 0), i32 %88, i8* %91, i32 %83)
%93 = add nuw nsw i32 %17, 1
%94 = load i32, i32* %2
%95 = icmp slt i32 %93, %94
br i1 %95, label %16, label %96
96: ; preds = %76, %0
ret i32 0
}