program main
  implicit none
  character(len=4) :: Ain
  integer :: A(4)
  integer :: ans(8)
  integer :: i
  read(*,*) Ain
  do i = 1,4
     read(Ain(i:i),*) A(i)
  end do
  ans(1) = A(1) + A(2) + A(3) + A(4)
  ans(2) = A(1) + A(2) + A(3) - A(4)
  ans(3) = A(1) + A(2) - A(3) + A(4)
  ans(4) = A(1) + A(2) - A(3) - A(4)
  ans(5) = A(1) - A(2) + A(3) + A(4)
  ans(6) = A(1) - A(2) + A(3) - A(4)
  ans(7) = A(1) - A(2) - A(3) + A(4)
  ans(8) = A(1) - A(2) - A(3) - A(4)

  do i = 1,8
     if (ans(i) == 7) then
        call output(i,a)
        stop
     end if
  end do
  stop

contains
  subroutine output(i,a)
    integer,intent(in) :: i
    integer,intent(in) :: a(4)
    select case(i)
    case(1)
       write(*,'(i0,"+",i0,"+",i0,"+",i0,"=7")') a
    case(2)
       write(*,'(i0,"+",i0,"+",i0,"-",i0,"=7")') a
    case(3)
       write(*,'(i0,"+",i0,"-",i0,"+",i0,"=7")') a
    case(4)
       write(*,'(i0,"+",i0,"-",i0,"-",i0,"=7")') a
    case(5)
       write(*,'(i0,"-",i0,"+",i0,"+",i0,"=7")') a
    case(6)
       write(*,'(i0,"-",i0,"+",i0,"-",i0,"=7")') a
    case(7)
       write(*,'(i0,"-",i0,"-",i0,"+",i0,"=7")') a
    case(8)
       write(*,'(i0,"-",i0,"-",i0,"-",i0,"=7")') a
    end select
  end subroutine output
end program main

; ModuleID = 'FIRModule'
source_filename = "FIRModule"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-linux-gnu"

@_QQcl.33bb20e85709138ad2a340c809bcfa06 = linkonce constant [73 x i8] c"/home/ubuntu/Downloads/TheStack_IR/Collated/Fortran/Source_6710/source.f\00"
@_QQcl.2869302C222B222C69302C222B222C69302C222B222C69302C223D372229 = linkonce constant [30 x i8] c"(i0,\22+\22,i0,\22+\22,i0,\22+\22,i0,\22=7\22)"
@_QQcl.2869302C222B222C69302C222B222C69302C222D222C69302C223D372229 = linkonce constant [30 x i8] c"(i0,\22+\22,i0,\22+\22,i0,\22-\22,i0,\22=7\22)"
@_QQcl.2869302C222B222C69302C222D222C69302C222B222C69302C223D372229 = linkonce constant [30 x i8] c"(i0,\22+\22,i0,\22-\22,i0,\22+\22,i0,\22=7\22)"
@_QQcl.2869302C222B222C69302C222D222C69302C222D222C69302C223D372229 = linkonce constant [30 x i8] c"(i0,\22+\22,i0,\22-\22,i0,\22-\22,i0,\22=7\22)"
@_QQcl.2869302C222D222C69302C222B222C69302C222B222C69302C223D372229 = linkonce constant [30 x i8] c"(i0,\22-\22,i0,\22+\22,i0,\22+\22,i0,\22=7\22)"
@_QQcl.2869302C222D222C69302C222B222C69302C222D222C69302C223D372229 = linkonce constant [30 x i8] c"(i0,\22-\22,i0,\22+\22,i0,\22-\22,i0,\22=7\22)"
@_QQcl.2869302C222D222C69302C222D222C69302C222B222C69302C223D372229 = linkonce constant [30 x i8] c"(i0,\22-\22,i0,\22-\22,i0,\22+\22,i0,\22=7\22)"
@_QQcl.2869302C222D222C69302C222D222C69302C222D222C69302C223D372229 = linkonce constant [30 x i8] c"(i0,\22-\22,i0,\22-\22,i0,\22-\22,i0,\22=7\22)"
@_QQEnvironmentDefaults = local_unnamed_addr constant ptr null

; Function Attrs: noreturn
define void @_QQmain() local_unnamed_addr #0 {
  %1 = alloca [4 x i32], align 4
  %2 = alloca [4 x i8], align 1
  %3 = alloca i32, align 4
  %4 = tail call ptr @_FortranAioBeginExternalListInput(i32 -1, ptr nonnull @_QQcl.33bb20e85709138ad2a340c809bcfa06, i32 7)
  %5 = call i1 @_FortranAioInputAscii(ptr %4, ptr nonnull %2, i64 4)
  %6 = call i32 @_FortranAioEndIoStatement(ptr %4)
  %7 = call ptr @_FortranAioBeginInternalListInput(ptr nonnull %2, i64 1, ptr null, i64 0, ptr nonnull @_QQcl.33bb20e85709138ad2a340c809bcfa06, i32 9)
  %8 = call i1 @_FortranAioInputInteger(ptr %7, ptr nonnull %1, i32 4)
  %9 = call i32 @_FortranAioEndIoStatement(ptr %7)
  %10 = getelementptr inbounds [4 x [1 x i8]], ptr %2, i64 0, i64 1
  %11 = call ptr @_FortranAioBeginInternalListInput(ptr nonnull %10, i64 1, ptr null, i64 0, ptr nonnull @_QQcl.33bb20e85709138ad2a340c809bcfa06, i32 9)
  %12 = getelementptr inbounds [4 x i32], ptr %1, i64 0, i64 1
  %13 = call i1 @_FortranAioInputInteger(ptr %11, ptr nonnull %12, i32 4)
  %14 = call i32 @_FortranAioEndIoStatement(ptr %11)
  %15 = getelementptr inbounds [4 x [1 x i8]], ptr %2, i64 0, i64 2
  %16 = call ptr @_FortranAioBeginInternalListInput(ptr nonnull %15, i64 1, ptr null, i64 0, ptr nonnull @_QQcl.33bb20e85709138ad2a340c809bcfa06, i32 9)
  %17 = getelementptr inbounds [4 x i32], ptr %1, i64 0, i64 2
  %18 = call i1 @_FortranAioInputInteger(ptr %16, ptr nonnull %17, i32 4)
  %19 = call i32 @_FortranAioEndIoStatement(ptr %16)
  %20 = getelementptr inbounds [4 x [1 x i8]], ptr %2, i64 0, i64 3
  %21 = call ptr @_FortranAioBeginInternalListInput(ptr nonnull %20, i64 1, ptr null, i64 0, ptr nonnull @_QQcl.33bb20e85709138ad2a340c809bcfa06, i32 9)
  %22 = getelementptr inbounds [4 x i32], ptr %1, i64 0, i64 3
  %23 = call i1 @_FortranAioInputInteger(ptr %21, ptr nonnull %22, i32 4)
  %24 = call i32 @_FortranAioEndIoStatement(ptr %21)
  %25 = load i32, ptr %1, align 4, !tbaa !3
  %26 = load i32, ptr %12, align 4, !tbaa !3
  %27 = add i32 %26, %25
  %28 = load i32, ptr %17, align 4, !tbaa !3
  %29 = add i32 %27, %28
  %30 = load i32, ptr %22, align 4, !tbaa !3
  %31 = add i32 %29, %30
  %32 = sub i32 %27, %28
  %33 = add i32 %32, %30
  %34 = add i32 %28, %30
  %35 = sub i32 %27, %34
  %36 = add i32 %34, %25
  %37 = sub i32 %36, %26
  %38 = add i32 %25, %28
  %39 = add i32 %26, %30
  %40 = sub i32 %38, %39
  %41 = add i32 %28, %26
  %42 = sub i32 %25, %41
  %43 = add i32 %42, %30
  %44 = add i32 %30, %41
  %45 = sub i32 %25, %44
  %46 = icmp eq i32 %31, 7
  br i1 %46, label %47, label %49

47:                                               ; preds = %62, %60, %58, %56, %54, %52, %49, %0
  %storemerge11.lcssa = phi i32 [ 1, %0 ], [ 2, %49 ], [ 3, %52 ], [ 4, %54 ], [ 5, %56 ], [ 6, %58 ], [ 7, %60 ], [ 8, %62 ]
  store i32 %storemerge11.lcssa, ptr %3, align 4, !tbaa !3
  call void @_QFPoutput(ptr nonnull %3, ptr nonnull %1)
  %48 = call {} @_FortranAStopStatement(i32 0, i1 false, i1 false)
  unreachable

49:                                               ; preds = %0
  %50 = sub i32 %29, %30
  %51 = icmp eq i32 %50, 7
  br i1 %51, label %47, label %52

52:                                               ; preds = %49
  %53 = icmp eq i32 %33, 7
  br i1 %53, label %47, label %54

54:                                               ; preds = %52
  %55 = icmp eq i32 %35, 7
  br i1 %55, label %47, label %56

56:                                               ; preds = %54
  %57 = icmp eq i32 %37, 7
  br i1 %57, label %47, label %58

58:                                               ; preds = %56
  %59 = icmp eq i32 %40, 7
  br i1 %59, label %47, label %60

60:                                               ; preds = %58
  %61 = icmp eq i32 %43, 7
  br i1 %61, label %47, label %62

62:                                               ; preds = %60
  %63 = icmp eq i32 %45, 7
  br i1 %63, label %47, label %64

64:                                               ; preds = %62
  %65 = call {} @_FortranAStopStatement(i32 0, i1 false, i1 false)
  unreachable
}

define void @_QFPoutput(ptr nocapture readonly %0, ptr %1) local_unnamed_addr {
  %3 = alloca { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, align 8
  %4 = alloca { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, align 8
  %5 = alloca { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, align 8
  %6 = alloca { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, align 8
  %7 = alloca { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, align 8
  %8 = alloca { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, align 8
  %9 = alloca { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, align 8
  %10 = alloca { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, align 8
  %11 = load i32, ptr %0, align 4, !tbaa !3
  switch i32 %11, label %37 [
    i32 1, label %12
    i32 2, label %15
    i32 3, label %18
    i32 4, label %21
    i32 5, label %24
    i32 6, label %27
    i32 7, label %30
    i32 8, label %33
  ]

12:                                               ; preds = %2
  %13 = tail call ptr @_FortranAioBeginExternalFormattedOutput(ptr nonnull @_QQcl.2869302C222B222C69302C222B222C69302C222B222C69302C223D372229, i64 30, ptr null, i32 -1, ptr nonnull @_QQcl.33bb20e85709138ad2a340c809bcfa06, i32 34)
  store ptr %1, ptr %3, align 8, !tbaa !7
  %.fca.1.gep124 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %3, i64 0, i32 1
  store i64 4, ptr %.fca.1.gep124, align 8, !tbaa !7
  %.fca.2.gep126 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %3, i64 0, i32 2
  store i32 20180515, ptr %.fca.2.gep126, align 8, !tbaa !7
  %.fca.3.gep128 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %3, i64 0, i32 3
  store i8 1, ptr %.fca.3.gep128, align 4, !tbaa !7
  %.fca.4.gep130 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %3, i64 0, i32 4
  store i8 9, ptr %.fca.4.gep130, align 1, !tbaa !7
  %.fca.5.gep132 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %3, i64 0, i32 5
  store i8 0, ptr %.fca.5.gep132, align 2, !tbaa !7
  %.fca.6.gep134 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %3, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep134, align 1, !tbaa !7
  %.fca.7.0.0.gep136 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %3, i64 0, i32 7, i64 0, i64 0
  store i64 1, ptr %.fca.7.0.0.gep136, align 8, !tbaa !7
  %.fca.7.0.1.gep138 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %3, i64 0, i32 7, i64 0, i64 1
  store i64 4, ptr %.fca.7.0.1.gep138, align 8, !tbaa !7
  %.fca.7.0.2.gep140 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %3, i64 0, i32 7, i64 0, i64 2
  store i64 4, ptr %.fca.7.0.2.gep140, align 8, !tbaa !7
  %14 = call i1 @_FortranAioOutputDescriptor(ptr %13, ptr nonnull %3)
  br label %.sink.split

15:                                               ; preds = %2
  %16 = tail call ptr @_FortranAioBeginExternalFormattedOutput(ptr nonnull @_QQcl.2869302C222B222C69302C222B222C69302C222D222C69302C223D372229, i64 30, ptr null, i32 -1, ptr nonnull @_QQcl.33bb20e85709138ad2a340c809bcfa06, i32 36)
  store ptr %1, ptr %4, align 8, !tbaa !7
  %.fca.1.gep104 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %4, i64 0, i32 1
  store i64 4, ptr %.fca.1.gep104, align 8, !tbaa !7
  %.fca.2.gep106 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %4, i64 0, i32 2
  store i32 20180515, ptr %.fca.2.gep106, align 8, !tbaa !7
  %.fca.3.gep108 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %4, i64 0, i32 3
  store i8 1, ptr %.fca.3.gep108, align 4, !tbaa !7
  %.fca.4.gep110 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %4, i64 0, i32 4
  store i8 9, ptr %.fca.4.gep110, align 1, !tbaa !7
  %.fca.5.gep112 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %4, i64 0, i32 5
  store i8 0, ptr %.fca.5.gep112, align 2, !tbaa !7
  %.fca.6.gep114 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %4, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep114, align 1, !tbaa !7
  %.fca.7.0.0.gep116 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %4, i64 0, i32 7, i64 0, i64 0
  store i64 1, ptr %.fca.7.0.0.gep116, align 8, !tbaa !7
  %.fca.7.0.1.gep118 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %4, i64 0, i32 7, i64 0, i64 1
  store i64 4, ptr %.fca.7.0.1.gep118, align 8, !tbaa !7
  %.fca.7.0.2.gep120 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %4, i64 0, i32 7, i64 0, i64 2
  store i64 4, ptr %.fca.7.0.2.gep120, align 8, !tbaa !7
  %17 = call i1 @_FortranAioOutputDescriptor(ptr %16, ptr nonnull %4)
  br label %.sink.split

18:                                               ; preds = %2
  %19 = tail call ptr @_FortranAioBeginExternalFormattedOutput(ptr nonnull @_QQcl.2869302C222B222C69302C222D222C69302C222B222C69302C223D372229, i64 30, ptr null, i32 -1, ptr nonnull @_QQcl.33bb20e85709138ad2a340c809bcfa06, i32 38)
  store ptr %1, ptr %5, align 8, !tbaa !7
  %.fca.1.gep84 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %5, i64 0, i32 1
  store i64 4, ptr %.fca.1.gep84, align 8, !tbaa !7
  %.fca.2.gep86 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %5, i64 0, i32 2
  store i32 20180515, ptr %.fca.2.gep86, align 8, !tbaa !7
  %.fca.3.gep88 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %5, i64 0, i32 3
  store i8 1, ptr %.fca.3.gep88, align 4, !tbaa !7
  %.fca.4.gep90 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %5, i64 0, i32 4
  store i8 9, ptr %.fca.4.gep90, align 1, !tbaa !7
  %.fca.5.gep92 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %5, i64 0, i32 5
  store i8 0, ptr %.fca.5.gep92, align 2, !tbaa !7
  %.fca.6.gep94 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %5, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep94, align 1, !tbaa !7
  %.fca.7.0.0.gep96 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %5, i64 0, i32 7, i64 0, i64 0
  store i64 1, ptr %.fca.7.0.0.gep96, align 8, !tbaa !7
  %.fca.7.0.1.gep98 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %5, i64 0, i32 7, i64 0, i64 1
  store i64 4, ptr %.fca.7.0.1.gep98, align 8, !tbaa !7
  %.fca.7.0.2.gep100 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %5, i64 0, i32 7, i64 0, i64 2
  store i64 4, ptr %.fca.7.0.2.gep100, align 8, !tbaa !7
  %20 = call i1 @_FortranAioOutputDescriptor(ptr %19, ptr nonnull %5)
  br label %.sink.split

21:                                               ; preds = %2
  %22 = tail call ptr @_FortranAioBeginExternalFormattedOutput(ptr nonnull @_QQcl.2869302C222B222C69302C222D222C69302C222D222C69302C223D372229, i64 30, ptr null, i32 -1, ptr nonnull @_QQcl.33bb20e85709138ad2a340c809bcfa06, i32 40)
  store ptr %1, ptr %6, align 8, !tbaa !7
  %.fca.1.gep64 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %6, i64 0, i32 1
  store i64 4, ptr %.fca.1.gep64, align 8, !tbaa !7
  %.fca.2.gep66 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %6, i64 0, i32 2
  store i32 20180515, ptr %.fca.2.gep66, align 8, !tbaa !7
  %.fca.3.gep68 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %6, i64 0, i32 3
  store i8 1, ptr %.fca.3.gep68, align 4, !tbaa !7
  %.fca.4.gep70 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %6, i64 0, i32 4
  store i8 9, ptr %.fca.4.gep70, align 1, !tbaa !7
  %.fca.5.gep72 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %6, i64 0, i32 5
  store i8 0, ptr %.fca.5.gep72, align 2, !tbaa !7
  %.fca.6.gep74 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %6, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep74, align 1, !tbaa !7
  %.fca.7.0.0.gep76 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %6, i64 0, i32 7, i64 0, i64 0
  store i64 1, ptr %.fca.7.0.0.gep76, align 8, !tbaa !7
  %.fca.7.0.1.gep78 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %6, i64 0, i32 7, i64 0, i64 1
  store i64 4, ptr %.fca.7.0.1.gep78, align 8, !tbaa !7
  %.fca.7.0.2.gep80 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %6, i64 0, i32 7, i64 0, i64 2
  store i64 4, ptr %.fca.7.0.2.gep80, align 8, !tbaa !7
  %23 = call i1 @_FortranAioOutputDescriptor(ptr %22, ptr nonnull %6)
  br label %.sink.split

24:                                               ; preds = %2
  %25 = tail call ptr @_FortranAioBeginExternalFormattedOutput(ptr nonnull @_QQcl.2869302C222D222C69302C222B222C69302C222B222C69302C223D372229, i64 30, ptr null, i32 -1, ptr nonnull @_QQcl.33bb20e85709138ad2a340c809bcfa06, i32 42)
  store ptr %1, ptr %7, align 8, !tbaa !7
  %.fca.1.gep44 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %7, i64 0, i32 1
  store i64 4, ptr %.fca.1.gep44, align 8, !tbaa !7
  %.fca.2.gep46 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %7, i64 0, i32 2
  store i32 20180515, ptr %.fca.2.gep46, align 8, !tbaa !7
  %.fca.3.gep48 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %7, i64 0, i32 3
  store i8 1, ptr %.fca.3.gep48, align 4, !tbaa !7
  %.fca.4.gep50 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %7, i64 0, i32 4
  store i8 9, ptr %.fca.4.gep50, align 1, !tbaa !7
  %.fca.5.gep52 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %7, i64 0, i32 5
  store i8 0, ptr %.fca.5.gep52, align 2, !tbaa !7
  %.fca.6.gep54 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %7, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep54, align 1, !tbaa !7
  %.fca.7.0.0.gep56 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %7, i64 0, i32 7, i64 0, i64 0
  store i64 1, ptr %.fca.7.0.0.gep56, align 8, !tbaa !7
  %.fca.7.0.1.gep58 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %7, i64 0, i32 7, i64 0, i64 1
  store i64 4, ptr %.fca.7.0.1.gep58, align 8, !tbaa !7
  %.fca.7.0.2.gep60 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %7, i64 0, i32 7, i64 0, i64 2
  store i64 4, ptr %.fca.7.0.2.gep60, align 8, !tbaa !7
  %26 = call i1 @_FortranAioOutputDescriptor(ptr %25, ptr nonnull %7)
  br label %.sink.split

27:                                               ; preds = %2
  %28 = tail call ptr @_FortranAioBeginExternalFormattedOutput(ptr nonnull @_QQcl.2869302C222D222C69302C222B222C69302C222D222C69302C223D372229, i64 30, ptr null, i32 -1, ptr nonnull @_QQcl.33bb20e85709138ad2a340c809bcfa06, i32 44)
  store ptr %1, ptr %8, align 8, !tbaa !7
  %.fca.1.gep24 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %8, i64 0, i32 1
  store i64 4, ptr %.fca.1.gep24, align 8, !tbaa !7
  %.fca.2.gep26 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %8, i64 0, i32 2
  store i32 20180515, ptr %.fca.2.gep26, align 8, !tbaa !7
  %.fca.3.gep28 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %8, i64 0, i32 3
  store i8 1, ptr %.fca.3.gep28, align 4, !tbaa !7
  %.fca.4.gep30 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %8, i64 0, i32 4
  store i8 9, ptr %.fca.4.gep30, align 1, !tbaa !7
  %.fca.5.gep32 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %8, i64 0, i32 5
  store i8 0, ptr %.fca.5.gep32, align 2, !tbaa !7
  %.fca.6.gep34 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %8, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep34, align 1, !tbaa !7
  %.fca.7.0.0.gep36 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %8, i64 0, i32 7, i64 0, i64 0
  store i64 1, ptr %.fca.7.0.0.gep36, align 8, !tbaa !7
  %.fca.7.0.1.gep38 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %8, i64 0, i32 7, i64 0, i64 1
  store i64 4, ptr %.fca.7.0.1.gep38, align 8, !tbaa !7
  %.fca.7.0.2.gep40 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %8, i64 0, i32 7, i64 0, i64 2
  store i64 4, ptr %.fca.7.0.2.gep40, align 8, !tbaa !7
  %29 = call i1 @_FortranAioOutputDescriptor(ptr %28, ptr nonnull %8)
  br label %.sink.split

30:                                               ; preds = %2
  %31 = tail call ptr @_FortranAioBeginExternalFormattedOutput(ptr nonnull @_QQcl.2869302C222D222C69302C222D222C69302C222B222C69302C223D372229, i64 30, ptr null, i32 -1, ptr nonnull @_QQcl.33bb20e85709138ad2a340c809bcfa06, i32 46)
  store ptr %1, ptr %9, align 8, !tbaa !7
  %.fca.1.gep4 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %9, i64 0, i32 1
  store i64 4, ptr %.fca.1.gep4, align 8, !tbaa !7
  %.fca.2.gep6 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %9, i64 0, i32 2
  store i32 20180515, ptr %.fca.2.gep6, align 8, !tbaa !7
  %.fca.3.gep8 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %9, i64 0, i32 3
  store i8 1, ptr %.fca.3.gep8, align 4, !tbaa !7
  %.fca.4.gep10 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %9, i64 0, i32 4
  store i8 9, ptr %.fca.4.gep10, align 1, !tbaa !7
  %.fca.5.gep12 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %9, i64 0, i32 5
  store i8 0, ptr %.fca.5.gep12, align 2, !tbaa !7
  %.fca.6.gep14 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %9, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep14, align 1, !tbaa !7
  %.fca.7.0.0.gep16 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %9, i64 0, i32 7, i64 0, i64 0
  store i64 1, ptr %.fca.7.0.0.gep16, align 8, !tbaa !7
  %.fca.7.0.1.gep18 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %9, i64 0, i32 7, i64 0, i64 1
  store i64 4, ptr %.fca.7.0.1.gep18, align 8, !tbaa !7
  %.fca.7.0.2.gep20 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %9, i64 0, i32 7, i64 0, i64 2
  store i64 4, ptr %.fca.7.0.2.gep20, align 8, !tbaa !7
  %32 = call i1 @_FortranAioOutputDescriptor(ptr %31, ptr nonnull %9)
  br label %.sink.split

33:                                               ; preds = %2
  %34 = tail call ptr @_FortranAioBeginExternalFormattedOutput(ptr nonnull @_QQcl.2869302C222D222C69302C222D222C69302C222D222C69302C223D372229, i64 30, ptr null, i32 -1, ptr nonnull @_QQcl.33bb20e85709138ad2a340c809bcfa06, i32 48)
  store ptr %1, ptr %10, align 8, !tbaa !7
  %.fca.1.gep = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %10, i64 0, i32 1
  store i64 4, ptr %.fca.1.gep, align 8, !tbaa !7
  %.fca.2.gep = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %10, i64 0, i32 2
  store i32 20180515, ptr %.fca.2.gep, align 8, !tbaa !7
  %.fca.3.gep = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %10, i64 0, i32 3
  store i8 1, ptr %.fca.3.gep, align 4, !tbaa !7
  %.fca.4.gep = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %10, i64 0, i32 4
  store i8 9, ptr %.fca.4.gep, align 1, !tbaa !7
  %.fca.5.gep = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %10, i64 0, i32 5
  store i8 0, ptr %.fca.5.gep, align 2, !tbaa !7
  %.fca.6.gep = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %10, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep, align 1, !tbaa !7
  %.fca.7.0.0.gep = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %10, i64 0, i32 7, i64 0, i64 0
  store i64 1, ptr %.fca.7.0.0.gep, align 8, !tbaa !7
  %.fca.7.0.1.gep = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %10, i64 0, i32 7, i64 0, i64 1
  store i64 4, ptr %.fca.7.0.1.gep, align 8, !tbaa !7
  %.fca.7.0.2.gep = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %10, i64 0, i32 7, i64 0, i64 2
  store i64 4, ptr %.fca.7.0.2.gep, align 8, !tbaa !7
  %35 = call i1 @_FortranAioOutputDescriptor(ptr %34, ptr nonnull %10)
  br label %.sink.split

.sink.split:                                      ; preds = %33, %30, %27, %24, %21, %18, %15, %12
  %.sink = phi ptr [ %13, %12 ], [ %16, %15 ], [ %19, %18 ], [ %22, %21 ], [ %25, %24 ], [ %28, %27 ], [ %31, %30 ], [ %34, %33 ]
  %36 = call i32 @_FortranAioEndIoStatement(ptr %.sink)
  br label %37

37:                                               ; preds = %.sink.split, %2
  ret void
}

declare ptr @_FortranAioBeginExternalListInput(i32, ptr, i32) local_unnamed_addr

declare i1 @_FortranAioInputAscii(ptr, ptr, i64) local_unnamed_addr

declare i32 @_FortranAioEndIoStatement(ptr) local_unnamed_addr

declare ptr @_FortranAioBeginInternalListInput(ptr, i64, ptr, i64, ptr, i32) local_unnamed_addr

declare i1 @_FortranAioInputInteger(ptr, ptr, i32) local_unnamed_addr

declare {} @_FortranAStopStatement(i32, i1, i1) local_unnamed_addr

declare ptr @_FortranAioBeginExternalFormattedOutput(ptr, i64, ptr, i32, ptr, i32) local_unnamed_addr

declare i1 @_FortranAioOutputDescriptor(ptr, ptr) local_unnamed_addr

attributes #0 = { noreturn }

!llvm.module.flags = !{!0, !1, !2}

!0 = !{i32 2, !"Debug Info Version", i32 3}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{!4, !4, i64 0}
!4 = !{!"any data access", !5, i64 0}
!5 = !{!"any access", !6, i64 0}
!6 = !{!"Flang Type TBAA Root"}
!7 = !{!8, !8, i64 0}
!8 = !{!"descriptor member", !5, i64 0}
