program main
  implicit none
  integer :: N
  integer :: i,j

  read(*,*) N
  do i = 1,9
     do j = 1,9
        if (i*j == N) then
           write(*,*) 'Yes'
           stop
        end if
     end do
  end do
  write(*,*) 'No'
  stop
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.ea5968e29113b20df1bb542e2c67e948 = linkonce constant [73 x i8] c"/home/ubuntu/Downloads/TheStack_IR/Collated/Fortran/Source_3056/source.f\00"
@_QQcl.596573 = linkonce constant [3 x i8] c"Yes"
@_QQcl.4E6F = linkonce constant [2 x i8] c"No"
@_QQEnvironmentDefaults = local_unnamed_addr constant ptr null

; Function Attrs: noreturn
define void @_QQmain() local_unnamed_addr #0 {
.preheader:
  %0 = alloca i32, align 4
  %1 = tail call ptr @_FortranAioBeginExternalListInput(i32 -1, ptr nonnull @_QQcl.ea5968e29113b20df1bb542e2c67e948, i32 6)
  %2 = call i1 @_FortranAioInputInteger(ptr %1, ptr nonnull %0, i32 4)
  %3 = call i32 @_FortranAioEndIoStatement(ptr %1)
  %4 = load i32, ptr %0, align 4, !tbaa !3
  %.off = add i32 %4, -1
  %switch = icmp ult i32 %.off, 2
  br i1 %switch, label %5, label %10

5:                                                ; preds = %.preheader, %10
  %6 = call ptr @_FortranAioBeginExternalListOutput(i32 -1, ptr nonnull @_QQcl.ea5968e29113b20df1bb542e2c67e948, i32 10)
  %7 = call i1 @_FortranAioOutputAscii(ptr %6, ptr nonnull @_QQcl.596573, i64 3)
  %8 = call i32 @_FortranAioEndIoStatement(ptr %6)
  %9 = call {} @_FortranAStopStatement(i32 0, i1 false, i1 false)
  unreachable

10:                                               ; preds = %.preheader
  %11 = mul i32 %4, 954437177
  %12 = mul i32 %4, -1227133513
  %13 = mul i32 %4, -858993459
  %14 = mul i32 %4, -1431655765
  %exitcond = icmp eq i32 %14, 1
  %15 = icmp eq i32 %4, 4
  %or.cond = or i1 %exitcond, %15
  %exitcond15 = icmp eq i32 %13, 1
  %or.cond32 = or i1 %or.cond, %exitcond15
  %16 = icmp eq i32 %4, 6
  %or.cond33 = or i1 %or.cond32, %16
  %exitcond16 = icmp eq i32 %12, 1
  %or.cond34 = or i1 %or.cond33, %exitcond16
  %17 = icmp eq i32 %4, 8
  %or.cond35 = or i1 %or.cond34, %17
  %exitcond17 = icmp eq i32 %11, 1
  %or.cond36 = or i1 %or.cond35, %exitcond17
  %exitcond.1 = icmp eq i32 %14, 2
  %or.cond37 = or i1 %or.cond36, %exitcond.1
  %exitcond15.1 = icmp eq i32 %13, 2
  %or.cond38 = or i1 %or.cond37, %exitcond15.1
  %18 = icmp eq i32 %4, 12
  %or.cond39 = or i1 %or.cond38, %18
  %exitcond16.1 = icmp eq i32 %12, 2
  %or.cond40 = or i1 %or.cond39, %exitcond16.1
  %19 = icmp eq i32 %4, 16
  %or.cond41 = or i1 %or.cond40, %19
  %exitcond17.1 = icmp eq i32 %11, 2
  %or.cond42 = or i1 %or.cond41, %exitcond17.1
  %20 = icmp eq i32 %4, 3
  %or.cond43 = or i1 %or.cond42, %20
  %exitcond.2 = icmp eq i32 %14, 3
  %or.cond44 = or i1 %or.cond43, %exitcond.2
  %exitcond15.2 = icmp eq i32 %13, 3
  %or.cond45 = or i1 %or.cond44, %exitcond15.2
  %21 = icmp eq i32 %4, 18
  %or.cond46 = or i1 %or.cond45, %21
  %exitcond16.2 = icmp eq i32 %12, 3
  %or.cond47 = or i1 %or.cond46, %exitcond16.2
  %22 = icmp eq i32 %4, 24
  %or.cond48 = or i1 %or.cond47, %22
  %exitcond17.2 = icmp eq i32 %11, 3
  %or.cond49 = or i1 %or.cond48, %exitcond17.2
  %exitcond.3 = icmp eq i32 %14, 4
  %or.cond50 = or i1 %or.cond49, %exitcond.3
  %exitcond15.3 = icmp eq i32 %13, 4
  %or.cond51 = or i1 %or.cond50, %exitcond15.3
  %exitcond16.3 = icmp eq i32 %12, 4
  %or.cond52 = or i1 %or.cond51, %exitcond16.3
  %23 = icmp eq i32 %4, 32
  %or.cond53 = or i1 %or.cond52, %23
  %exitcond17.3 = icmp eq i32 %11, 4
  %or.cond54 = or i1 %or.cond53, %exitcond17.3
  %24 = icmp eq i32 %4, 5
  %or.cond55 = or i1 %or.cond54, %24
  %25 = icmp eq i32 %4, 10
  %or.cond56 = or i1 %or.cond55, %25
  %exitcond.4 = icmp eq i32 %14, 5
  %or.cond57 = or i1 %or.cond56, %exitcond.4
  %26 = icmp eq i32 %4, 20
  %or.cond58 = or i1 %or.cond57, %26
  %exitcond15.4 = icmp eq i32 %13, 5
  %or.cond59 = or i1 %or.cond58, %exitcond15.4
  %27 = icmp eq i32 %4, 30
  %or.cond60 = or i1 %or.cond59, %27
  %exitcond16.4 = icmp eq i32 %12, 5
  %or.cond61 = or i1 %or.cond60, %exitcond16.4
  %28 = icmp eq i32 %4, 40
  %or.cond62 = or i1 %or.cond61, %28
  %exitcond17.4 = icmp eq i32 %11, 5
  %or.cond63 = or i1 %or.cond62, %exitcond17.4
  %exitcond.5 = icmp eq i32 %14, 6
  %or.cond64 = or i1 %or.cond63, %exitcond.5
  %exitcond15.5 = icmp eq i32 %13, 6
  %or.cond65 = or i1 %or.cond64, %exitcond15.5
  %29 = icmp eq i32 %4, 36
  %or.cond66 = or i1 %or.cond65, %29
  %exitcond16.5 = icmp eq i32 %12, 6
  %or.cond67 = or i1 %or.cond66, %exitcond16.5
  %30 = icmp eq i32 %4, 48
  %or.cond68 = or i1 %or.cond67, %30
  %exitcond17.5 = icmp eq i32 %11, 6
  %or.cond69 = or i1 %or.cond68, %exitcond17.5
  %31 = icmp eq i32 %4, 7
  %or.cond70 = or i1 %or.cond69, %31
  %32 = icmp eq i32 %4, 14
  %or.cond71 = or i1 %or.cond70, %32
  %exitcond.6 = icmp eq i32 %14, 7
  %or.cond72 = or i1 %or.cond71, %exitcond.6
  %33 = icmp eq i32 %4, 28
  %or.cond73 = or i1 %or.cond72, %33
  %exitcond15.6 = icmp eq i32 %13, 7
  %or.cond74 = or i1 %or.cond73, %exitcond15.6
  %34 = icmp eq i32 %4, 42
  %or.cond75 = or i1 %or.cond74, %34
  %exitcond16.6 = icmp eq i32 %12, 7
  %or.cond76 = or i1 %or.cond75, %exitcond16.6
  %35 = icmp eq i32 %4, 56
  %or.cond77 = or i1 %or.cond76, %35
  %exitcond17.6 = icmp eq i32 %11, 7
  %or.cond78 = or i1 %or.cond77, %exitcond17.6
  %exitcond.7 = icmp eq i32 %14, 8
  %or.cond79 = or i1 %or.cond78, %exitcond.7
  %exitcond15.7 = icmp eq i32 %13, 8
  %or.cond80 = or i1 %or.cond79, %exitcond15.7
  %exitcond16.7 = icmp eq i32 %12, 8
  %or.cond81 = or i1 %or.cond80, %exitcond16.7
  %36 = icmp eq i32 %4, 64
  %or.cond82 = or i1 %or.cond81, %36
  %exitcond17.7 = icmp eq i32 %11, 8
  %or.cond83 = or i1 %or.cond82, %exitcond17.7
  %37 = icmp eq i32 %4, 9
  %or.cond84 = or i1 %or.cond83, %37
  %exitcond.8 = icmp eq i32 %14, 9
  %or.cond85 = or i1 %or.cond84, %exitcond.8
  %exitcond15.8 = icmp eq i32 %13, 9
  %or.cond86 = or i1 %or.cond85, %exitcond15.8
  %38 = icmp eq i32 %4, 54
  %or.cond87 = or i1 %or.cond86, %38
  %exitcond16.8 = icmp eq i32 %12, 9
  %or.cond88 = or i1 %or.cond87, %exitcond16.8
  %39 = icmp eq i32 %4, 72
  %or.cond89 = or i1 %or.cond88, %39
  %exitcond17.8 = icmp eq i32 %11, 9
  %or.cond90 = or i1 %or.cond89, %exitcond17.8
  br i1 %or.cond90, label %5, label %40

40:                                               ; preds = %10
  %41 = call ptr @_FortranAioBeginExternalListOutput(i32 -1, ptr nonnull @_QQcl.ea5968e29113b20df1bb542e2c67e948, i32 15)
  %42 = call i1 @_FortranAioOutputAscii(ptr %41, ptr nonnull @_QQcl.4E6F, i64 2)
  %43 = call i32 @_FortranAioEndIoStatement(ptr %41)
  %44 = call {} @_FortranAStopStatement(i32 0, i1 false, i1 false)
  unreachable
}

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 @_FortranAioBeginExternalListOutput(i32, ptr, i32) local_unnamed_addr

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

declare {} @_FortranAStopStatement(i32, i1, i1) 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"}
