#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 *);
int main() {
  int x, y, l1, l2, h1, h2, i, certo = 0;
  int figura[4][2];
  scanf("%d %d", &x, &y);
  scanf("%d %d", &l1, &h1);
  scanf("%d %d", &l2, &h2);
  if (x < y) {
    x ^= y;
    y ^= x;
    x ^= y;
  }
  if (l1 > l2) {
    figura[0][0] = l1;
    figura[0][1] = h1 + h2;
  } else {
    figura[0][0] = l2;
    figura[0][1] = h1 + h2;
  }
  if (h1 > l2) {
    figura[1][0] = h1;
    figura[1][1] = l1 + h2;
  } else {
    figura[1][0] = l2;
    figura[1][1] = l1 + h2;
  }
  if (l1 > h2) {
    figura[2][0] = l1;
    figura[2][1] = h1 + l2;
  } else {
    figura[2][0] = h2;
    figura[2][1] = h1 + l2;
  }
  if (h1 > h2) {
    figura[3][0] = h1;
    figura[3][1] = l1 + l2;
  } else {
    figura[3][0] = h2;
    figura[3][1] = l1 + l2;
  }
  for (i = 0; i < 4; i++) {
    if (figura[i][0] < figura[i][1]) {
      figura[i][0] ^= figura[i][1];
      figura[i][1] ^= figura[i][0];
      figura[i][0] ^= figura[i][1];
    }
    if (x >= figura[i][0] && y >= figura[i][1]) {
      certo = 1;
      break;
    }
  }
  if (certo) {
    printf("S");
  } else {
    printf("N");
  }
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x50,%rsp
movl   $0x0,-0x4(%rbp)
movl   $0x0,-0x24(%rbp)
lea    0xec3(%rip),%rdi
lea    -0x8(%rbp),%rsi
lea    -0xc(%rbp),%rdx
call   1040 <scanf@plt>
lea    0xeaf(%rip),%rdi
lea    -0x10(%rbp),%rsi
lea    -0x18(%rbp),%rdx
call   1040 <scanf@plt>
lea    0xe9b(%rip),%rdi
lea    -0x14(%rbp),%rsi
lea    -0x1c(%rbp),%rdx
call   1040 <scanf@plt>
mov    -0x8(%rbp),%eax
cmp    -0xc(%rbp),%eax
jge    1199 <main+0x79>
mov    -0xc(%rbp),%eax
xor    -0x8(%rbp),%eax
mov    %eax,-0x8(%rbp)
mov    -0x8(%rbp),%eax
xor    -0xc(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0xc(%rbp),%eax
xor    -0x8(%rbp),%eax
mov    %eax,-0x8(%rbp)
mov    -0x10(%rbp),%eax
cmp    -0x14(%rbp),%eax
jle    11b9 <main+0x99>
mov    -0x10(%rbp),%eax
mov    %eax,-0x50(%rbp)
mov    -0x18(%rbp),%eax
add    -0x1c(%rbp),%eax
mov    %eax,-0x4c(%rbp)
jmp    11c8 <main+0xa8>
mov    -0x14(%rbp),%eax
mov    %eax,-0x50(%rbp)
mov    -0x18(%rbp),%eax
add    -0x1c(%rbp),%eax
mov    %eax,-0x4c(%rbp)
mov    -0x18(%rbp),%eax
cmp    -0x14(%rbp),%eax
jle    11e8 <main+0xc8>
mov    -0x18(%rbp),%eax
mov    %eax,-0x48(%rbp)
mov    -0x10(%rbp),%eax
add    -0x1c(%rbp),%eax
mov    %eax,-0x44(%rbp)
jmp    11f7 <main+0xd7>
mov    -0x14(%rbp),%eax
mov    %eax,-0x48(%rbp)
mov    -0x10(%rbp),%eax
add    -0x1c(%rbp),%eax
mov    %eax,-0x44(%rbp)
mov    -0x10(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jle    1217 <main+0xf7>
mov    -0x10(%rbp),%eax
mov    %eax,-0x40(%rbp)
mov    -0x18(%rbp),%eax
add    -0x14(%rbp),%eax
mov    %eax,-0x3c(%rbp)
jmp    1226 <main+0x106>
mov    -0x1c(%rbp),%eax
mov    %eax,-0x40(%rbp)
mov    -0x18(%rbp),%eax
add    -0x14(%rbp),%eax
mov    %eax,-0x3c(%rbp)
mov    -0x18(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jle    1246 <main+0x126>
mov    -0x18(%rbp),%eax
mov    %eax,-0x38(%rbp)
mov    -0x10(%rbp),%eax
add    -0x14(%rbp),%eax
mov    %eax,-0x34(%rbp)
jmp    1255 <main+0x135>
mov    -0x1c(%rbp),%eax
mov    %eax,-0x38(%rbp)
mov    -0x10(%rbp),%eax
add    -0x14(%rbp),%eax
mov    %eax,-0x34(%rbp)
movl   $0x0,-0x20(%rbp)
cmpl   $0x4,-0x20(%rbp)
jge    12f9 <main+0x1d9>
movslq -0x20(%rbp),%rax
mov    -0x50(%rbp,%rax,8),%eax
movslq -0x20(%rbp),%rcx
cmp    -0x4c(%rbp,%rcx,8),%eax
jge    12b8 <main+0x198>
movslq -0x20(%rbp),%rax
mov    -0x4c(%rbp,%rax,8),%ecx
movslq -0x20(%rbp),%rax
xor    -0x50(%rbp,%rax,8),%ecx
mov    %ecx,-0x50(%rbp,%rax,8)
movslq -0x20(%rbp),%rax
mov    -0x50(%rbp,%rax,8),%ecx
movslq -0x20(%rbp),%rax
xor    -0x4c(%rbp,%rax,8),%ecx
mov    %ecx,-0x4c(%rbp,%rax,8)
movslq -0x20(%rbp),%rax
mov    -0x4c(%rbp,%rax,8),%ecx
movslq -0x20(%rbp),%rax
xor    -0x50(%rbp,%rax,8),%ecx
mov    %ecx,-0x50(%rbp,%rax,8)
mov    -0x8(%rbp),%eax
movslq -0x20(%rbp),%rcx
cmp    -0x50(%rbp,%rcx,8),%eax
jl     12e6 <main+0x1c6>
mov    -0xc(%rbp),%eax
movslq -0x20(%rbp),%rcx
cmp    -0x4c(%rbp,%rcx,8),%eax
jl     12e6 <main+0x1c6>
movl   $0x1,-0x24(%rbp)
jmp    12f9 <main+0x1d9>
jmp    12eb <main+0x1cb>
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
jmp    125c <main+0x13c>
cmpl   $0x0,-0x24(%rbp)
je     1314 <main+0x1f4>
lea    0xcfc(%rip),%rdi
call   1030 <printf@plt>
jmp    1320 <main+0x200>
lea    0xced(%rip),%rdi
call   1030 <printf@plt>
xor    %eax,%eax
add    $0x50,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %r14
push   %rbx
sub    $0x20,%rsp
lea    0xed1(%rip),%rbx
lea    0xc(%rsp),%rsi
lea    0x8(%rsp),%rdx
mov    %rbx,%rdi
call   1040 <scanf@plt>
lea    0x1c(%rsp),%rsi
lea    0x14(%rsp),%rdx
mov    %rbx,%rdi
call   1040 <scanf@plt>
lea    0x18(%rsp),%rsi
lea    0x10(%rsp),%rdx
mov    %rbx,%rdi
call   1040 <scanf@plt>
mov    0xc(%rsp),%eax
mov    0x8(%rsp),%r9d
cmp    %r9d,%eax
jge    1181 <main+0x61>
mov    %eax,0x8(%rsp)
mov    %r9d,0xc(%rsp)
mov    %eax,%r8d
jmp    1187 <main+0x67>
mov    %r9d,%r8d
mov    %eax,%r9d
mov    0x1c(%rsp),%r14d
mov    0x18(%rsp),%eax
cmp    %eax,%r14d
mov    %eax,%ebp
cmovg  %r14d,%ebp
mov    0x14(%rsp),%ebx
cmp    %eax,%ebx
mov    %eax,%edx
cmovg  %ebx,%edx
mov    0x10(%rsp),%edi
cmp    %edi,%r14d
mov    %edi,%r11d
cmovg  %r14d,%r11d
cmp    %edi,%ebx
mov    %edi,%r10d
cmovg  %ebx,%r10d
lea    (%rdi,%rbx,1),%ecx
cmp    %ecx,%ebp
mov    %ecx,%esi
cmovl  %ebp,%esi
cmovl  %ecx,%ebp
cmp    %ebp,%r9d
jl     11d2 <main+0xb2>
cmp    %esi,%r8d
jge    1221 <main+0x101>
add    %r14d,%edi
cmp    %edi,%edx
mov    %edi,%ecx
cmovl  %edx,%ecx
cmovge %edx,%edi
cmp    %edi,%r9d
jl     11e9 <main+0xc9>
cmp    %ecx,%r8d
jge    1221 <main+0x101>
add    %eax,%ebx
cmp    %ebx,%r11d
mov    %ebx,%ecx
cmovl  %r11d,%ecx
cmovge %r11d,%ebx
cmp    %ebx,%r9d
jl     1202 <main+0xe2>
cmp    %ecx,%r8d
jge    1221 <main+0x101>
add    %r14d,%eax
cmp    %eax,%r10d
mov    %eax,%ecx
cmovl  %r10d,%ecx
cmovge %r10d,%eax
mov    $0x4e,%edi
cmp    %eax,%r9d
jl     1226 <main+0x106>
cmp    %ecx,%r8d
jl     1226 <main+0x106>
mov    $0x53,%edi
call   1030 <putchar@plt>
xor    %eax,%eax
add    $0x20,%rsp
pop    %rbx
pop    %r14
pop    %rbp
ret

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

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