#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 i, j, aluno_p2[45], aluno_p3[30];
  for (i = 0; i < 45; ++i) {
    scanf("%d ", &aluno_p2[i]);
  }
  for (i = 0; i < 30; ++i) {
    scanf("%d ", &aluno_p3[i]);
  }
  for (i = 0; i < 45; ++i) {
    for (j = 0; j < 30; ++j) {
      if (aluno_p2[i] == aluno_p3[j]) {
        printf("%d ", aluno_p2[i]);
        j = 30;
      }
    }
  }
  printf("\n");
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x140,%rsp
movl   $0x0,-0x4(%rbp)
movl   $0x0,-0x8(%rbp)
cmpl   $0x2d,-0x8(%rbp)
jge    116f <main+0x4f>
movslq -0x8(%rbp),%rax
lea    -0xc0(%rbp),%rsi
shl    $0x2,%rax
add    %rax,%rsi
lea    0xea4(%rip),%rdi
call   1040 <scanf@plt>
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    1139 <main+0x19>
movl   $0x0,-0x8(%rbp)
cmpl   $0x1e,-0x8(%rbp)
jge    11ac <main+0x8c>
movslq -0x8(%rbp),%rax
lea    -0x140(%rbp),%rsi
shl    $0x2,%rax
add    %rax,%rsi
lea    0xe67(%rip),%rdi
call   1040 <scanf@plt>
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    1176 <main+0x56>
movl   $0x0,-0x8(%rbp)
cmpl   $0x2d,-0x8(%rbp)
jge    1230 <main+0x110>
movl   $0x0,-0xc(%rbp)
cmpl   $0x1e,-0xc(%rbp)
jge    121d <main+0xfd>
movslq -0x8(%rbp),%rax
mov    -0xc0(%rbp,%rax,4),%eax
movslq -0xc(%rbp),%rcx
cmp    -0x140(%rbp,%rcx,4),%eax
jne    120a <main+0xea>
movslq -0x8(%rbp),%rax
mov    -0xc0(%rbp,%rax,4),%esi
lea    0xe04(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movl   $0x1e,-0xc(%rbp)
jmp    120f <main+0xef>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    11c4 <main+0xa4>
jmp    1222 <main+0x102>
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    11b3 <main+0x93>
lea    0xdcd(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
xor    %eax,%eax
add    $0x140,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %r14
push   %rbx
sub    $0x138,%rsp
xor    %ebx,%ebx
lea    0xebd(%rip),%r14
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
lea    (%rsp,%rbx,1),%rsi
add    $0x80,%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
add    $0x4,%rbx
cmp    $0xb4,%rbx
jne    1150 <main+0x20>
lea    0xe89(%rip),%r14
mov    %rsp,%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x4(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x8(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0xc(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x10(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x14(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x18(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x1c(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x20(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x24(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x28(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x2c(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x30(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x34(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x38(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x3c(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x40(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x44(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x48(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x4c(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x50(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x54(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x58(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x5c(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x60(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x64(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x68(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x6c(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x70(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
lea    0x74(%rsp),%rsi
mov    %r14,%rdi
call   1050 <scanf@plt>
xor    %ebx,%ebx
jmp    1318 <main+0x1e8>
nop
mov    %r14,%rdi
xor    %eax,%eax
call   1040 <printf@plt>
add    $0x1,%rbx
cmp    $0x2d,%rbx
je     140f <main+0x2df>
mov    0x80(%rsp,%rbx,4),%esi
cmp    (%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x4(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x8(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0xc(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x10(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x14(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x18(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x1c(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x20(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x24(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x28(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x2c(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x30(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x34(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x38(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x3c(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x40(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x44(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x48(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x4c(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x50(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x54(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x58(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x5c(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x60(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x64(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x68(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x6c(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x70(%rsp),%esi
je     1300 <main+0x1d0>
cmp    0x74(%rsp),%esi
jne    130a <main+0x1da>
jmp    1300 <main+0x1d0>
mov    $0xa,%edi
call   1030 <putchar@plt>
xor    %eax,%eax
add    $0x138,%rsp
pop    %rbx
pop    %r14
ret

LLVM IR (-O0):
@.str = [4 x i8] c"%d \00"
@.str.1 = [2 x i8] c"\0A\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca i32
%3 = alloca i32
%4 = alloca [45 x i32]
%5 = alloca [30 x i32]
store i32 0, i32* %1
store i32 0, i32* %2
br label %6
6: ; preds = %14, %0
%7 = load i32, i32* %2
%8 = icmp slt i32 %7, 45
br i1 %8, label %9, label %17
9: ; preds = %6
%10 = load i32, i32* %2
%11 = sext i32 %10 to i64
%12 = getelementptr inbounds [45 x i32], [45 x i32]* %4, i64 0, i64 %11
%13 = call i32 @scanf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i32* %12)
br label %14
14: ; preds = %9
%15 = load i32, i32* %2
%16 = add nsw i32 %15, 1
store i32 %16, i32* %2
br label %6
17: ; preds = %6
store i32 0, i32* %2
br label %18
18: ; preds = %26, %17
%19 = load i32, i32* %2
%20 = icmp slt i32 %19, 30
br i1 %20, label %21, label %29
21: ; preds = %18
%22 = load i32, i32* %2
%23 = sext i32 %22 to i64
%24 = getelementptr inbounds [30 x i32], [30 x i32]* %5, i64 0, i64 %23
%25 = call i32 @scanf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i32* %24)
br label %26
26: ; preds = %21
%27 = load i32, i32* %2
%28 = add nsw i32 %27, 1
store i32 %28, i32* %2
br label %18
29: ; preds = %18
store i32 0, i32* %2
br label %30
30: ; preds = %58, %29
%31 = load i32, i32* %2
%32 = icmp slt i32 %31, 45
br i1 %32, label %33, label %61
33: ; preds = %30
store i32 0, i32* %3
br label %34
34: ; preds = %54, %33
%35 = load i32, i32* %3
%36 = icmp slt i32 %35, 30
br i1 %36, label %37, label %57
37: ; preds = %34
%38 = load i32, i32* %2
%39 = sext i32 %38 to i64
%40 = getelementptr inbounds [45 x i32], [45 x i32]* %4, i64 0, i64 %39
%41 = load i32, i32* %40
%42 = load i32, i32* %3
%43 = sext i32 %42 to i64
%44 = getelementptr inbounds [30 x i32], [30 x i32]* %5, i64 0, i64 %43
%45 = load i32, i32* %44
%46 = icmp eq i32 %41, %45
br i1 %46, label %47, label %53
47: ; preds = %37
%48 = load i32, i32* %2
%49 = sext i32 %48 to i64
%50 = getelementptr inbounds [45 x i32], [45 x i32]* %4, i64 0, i64 %49
%51 = load i32, i32* %50
%52 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i32 %51)
store i32 30, i32* %3
br label %53
53: ; preds = %47, %37
br label %54
54: ; preds = %53
%55 = load i32, i32* %3
%56 = add nsw i32 %55, 1
store i32 %56, i32* %3
br label %34
57: ; preds = %34
br label %58
58: ; preds = %57
%59 = load i32, i32* %2
%60 = add nsw i32 %59, 1
store i32 %60, i32* %2
br label %30
61: ; preds = %30
%62 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
ret i32 0
}

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