  implicit none
  integer :: a(32),k

  a=(/1, 1, 1, 2, 1, 2, 1, 5, 2, 2, 1, 5, 1, 2, 1, 14, 1, 5, 1, 5, 2, 2, 1, 15, 2, 2, 5, 4, 1, 4, 1,&
       & 51/)
  read(*,*) K
  write(*,'(i0)') a(k)
end program

; 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"

@_QFEa = internal unnamed_addr global [32 x i32] undef
@_QQro.32xi4.f762e269081fb58bc2960c69efd35269 = internal unnamed_addr constant [32 x i32] [i32 1, i32 1, i32 1, i32 2, i32 1, i32 2, i32 1, i32 5, i32 2, i32 2, i32 1, i32 5, i32 1, i32 2, i32 1, i32 14, i32 1, i32 5, i32 1, i32 5, i32 2, i32 2, i32 1, i32 15, i32 2, i32 2, i32 5, i32 4, i32 1, i32 4, i32 1, i32 51]
@_QQcl.073fead0f5275e646dc1848ebc38d3f3 = linkonce constant [73 x i8] c"/home/ubuntu/Downloads/TheStack_IR/Collated/Fortran/Source_2087/source.f\00"
@_QQcl.28693029 = linkonce constant [4 x i8] c"(i0)"
@_QQEnvironmentDefaults = local_unnamed_addr constant ptr null

define void @_QQmain() local_unnamed_addr {
  %1 = alloca i32, align 4
  tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(128) @_QFEa, ptr noundef nonnull align 16 dereferenceable(128) @_QQro.32xi4.f762e269081fb58bc2960c69efd35269, i64 128, i1 false), !tbaa !3
  %2 = tail call ptr @_FortranAioBeginExternalListInput(i32 -1, ptr nonnull @_QQcl.073fead0f5275e646dc1848ebc38d3f3, i32 6)
  %3 = call i1 @_FortranAioInputInteger(ptr %2, ptr nonnull %1, i32 4)
  %4 = call i32 @_FortranAioEndIoStatement(ptr %2)
  %5 = call ptr @_FortranAioBeginExternalFormattedOutput(ptr nonnull @_QQcl.28693029, i64 4, ptr null, i32 -1, ptr nonnull @_QQcl.073fead0f5275e646dc1848ebc38d3f3, i32 7)
  %6 = load i32, ptr %1, align 4, !tbaa !3
  %7 = sext i32 %6 to i64
  %8 = add nsw i64 %7, -1
  %9 = getelementptr [32 x i32], ptr @_QFEa, i64 0, i64 %8
  %10 = load i32, ptr %9, align 4, !tbaa !3
  %11 = call i1 @_FortranAioOutputInteger32(ptr %5, i32 %10)
  %12 = call i32 @_FortranAioEndIoStatement(ptr %5)
  ret void
}

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

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

declare i32 @_FortranAioEndIoStatement(ptr) local_unnamed_addr

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

declare i1 @_FortranAioOutputInteger32(ptr, i32) local_unnamed_addr

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #0

attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }

!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"}
