#import <stdio.h>
int main() {
        int n;
        scanf("%d", &n);
        for(int i=1;i<=9;i++){
           for(int j=1;j<=9;j++){
               if (i*j==n){
                   puts("Yes");
                   return 0;
               }
           }
        }
    puts("No");
    return 0;
}

; ModuleID = '/data/TheStack_IR/OJ_Samples/Collated/ObjectiveC/Source_191/source.m'
source_filename = "/data/TheStack_IR/OJ_Samples/Collated/ObjectiveC/Source_191/source.m"
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"

@.str = private unnamed_addr constant [3 x i8] c"%d\00", align 1
@.str.1 = private unnamed_addr constant [4 x i8] c"Yes\00", align 1
@.str.2 = private unnamed_addr constant [3 x i8] c"No\00", align 1

; Function Attrs: nofree nounwind uwtable
define dso_local i32 @main() local_unnamed_addr #0 {
entry:
  %n = alloca i32, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %n) #3
  %call = call i32 (ptr, ...) @__isoc99_scanf(ptr noundef nonnull @.str, ptr noundef nonnull %n)
  %0 = load i32, ptr %n, align 4, !tbaa !5
  %.off = add i32 %0, -1
  %switch = icmp ult i32 %.off, 2
  br i1 %switch, label %cleanup9, label %for.cond1.1

for.cond1.1:                                      ; preds = %entry
  %1 = mul i32 %0, 954437177
  %2 = mul i32 %0, -1227133513
  %3 = insertelement <2 x i32> poison, i32 %0, i64 0
  %4 = shufflevector <2 x i32> %3, <2 x i32> poison, <2 x i32> zeroinitializer
  %5 = mul <2 x i32> %4, <i32 -1431655765, i32 -858993459>
  %6 = extractelement <2 x i32> %5, i64 0
  %exitcond = icmp eq i32 %6, 1
  %cmp5.3 = icmp eq i32 %0, 4
  %7 = extractelement <2 x i32> %5, i64 1
  %exitcond22 = icmp eq i32 %7, 1
  %cmp5.5 = icmp eq i32 %0, 6
  %exitcond23 = icmp eq i32 %2, 1
  %cmp5.7 = icmp eq i32 %0, 8
  %exitcond24 = icmp eq i32 %1, 1
  %exitcond.1 = icmp eq i32 %6, 2
  %exitcond22.1 = icmp eq i32 %7, 2
  %cmp5.5.1 = icmp eq i32 %0, 12
  %exitcond23.1 = icmp eq i32 %2, 2
  %cmp5.7.1 = icmp eq i32 %0, 16
  %exitcond24.1 = icmp eq i32 %1, 2
  %cmp5.2 = icmp eq i32 %0, 3
  %exitcond.2 = icmp eq i32 %6, 3
  %exitcond22.2 = icmp eq i32 %7, 3
  %cmp5.5.2 = icmp eq i32 %0, 18
  %exitcond23.2 = icmp eq i32 %2, 3
  %cmp5.7.2 = icmp eq i32 %0, 24
  %exitcond24.2 = icmp eq i32 %1, 3
  %exitcond.3 = icmp eq i32 %6, 4
  %exitcond22.3 = icmp eq i32 %7, 4
  %exitcond23.3 = icmp eq i32 %2, 4
  %8 = insertelement <8 x i32> poison, i32 %0, i64 0
  %9 = insertelement <8 x i32> %8, i32 %1, i64 1
  %10 = shufflevector <2 x i32> %5, <2 x i32> poison, <8 x i32> <i32 0, i32 1, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison>
  %11 = shufflevector <8 x i32> %9, <8 x i32> %10, <8 x i32> <i32 0, i32 1, i32 8, i32 9, i32 poison, i32 poison, i32 poison, i32 poison>
  %12 = shufflevector <8 x i32> %11, <8 x i32> poison, <8 x i32> <i32 0, i32 1, i32 0, i32 0, i32 2, i32 0, i32 3, i32 0>
  %13 = icmp eq <8 x i32> %12, <i32 32, i32 4, i32 5, i32 10, i32 5, i32 20, i32 5, i32 30>
  %exitcond23.4 = icmp eq i32 %2, 5
  %cmp5.7.4 = icmp eq i32 %0, 40
  %exitcond24.4 = icmp eq i32 %1, 5
  %exitcond.5 = icmp eq i32 %6, 6
  %14 = insertelement <8 x i32> %8, i32 %2, i64 1
  %15 = insertelement <8 x i32> %14, i32 %1, i64 2
  %16 = shufflevector <8 x i32> %15, <8 x i32> %10, <8 x i32> <i32 0, i32 1, i32 2, i32 8, i32 poison, i32 poison, i32 poison, i32 poison>
  %17 = shufflevector <8 x i32> %16, <8 x i32> poison, <8 x i32> <i32 0, i32 1, i32 0, i32 2, i32 0, i32 0, i32 3, i32 0>
  %18 = icmp eq <8 x i32> %17, <i32 36, i32 6, i32 48, i32 6, i32 7, i32 14, i32 7, i32 28>
  %cmp5.5.6 = icmp eq i32 %0, 42
  %exitcond23.6 = icmp eq i32 %2, 7
  %cmp5.7.6 = icmp eq i32 %0, 56
  %exitcond24.6 = icmp eq i32 %1, 7
  %19 = icmp eq <2 x i32> %5, <i32 8, i32 8>
  %exitcond23.7 = icmp eq i32 %2, 8
  %cmp5.7.7 = icmp eq i32 %0, 64
  %exitcond24.7 = icmp eq i32 %1, 8
  %cmp5.8 = icmp eq i32 %0, 9
  %exitcond.8 = icmp eq i32 %6, 9
  %exitcond22.8 = icmp eq i32 %7, 9
  %cmp5.5.8 = icmp eq i32 %0, 54
  %exitcond23.8 = icmp eq i32 %2, 9
  %cmp5.7.8 = icmp eq i32 %0, 72
  %exitcond24.8 = icmp eq i32 %1, 9
  %20 = or <8 x i1> %13, %18
  %21 = bitcast <8 x i1> %20 to i8
  %op.rdx = icmp ne i8 %21, 0
  %op.rdx97 = or i1 %op.rdx, %cmp5.3
  %op.rdx98 = or i1 %exitcond, %exitcond22
  %op.rdx99 = or i1 %cmp5.5, %exitcond23
  %op.rdx100 = or i1 %cmp5.7, %exitcond24
  %op.rdx101 = or i1 %exitcond.1, %exitcond22.1
  %op.rdx102 = or i1 %cmp5.5.1, %exitcond23.1
  %op.rdx103 = or i1 %cmp5.7.1, %exitcond24.1
  %op.rdx104 = or i1 %cmp5.2, %exitcond.2
  %op.rdx105 = or i1 %exitcond22.2, %cmp5.5.2
  %op.rdx106 = or i1 %exitcond23.2, %cmp5.7.2
  %op.rdx107 = or i1 %exitcond24.2, %exitcond.3
  %op.rdx108 = or i1 %exitcond22.3, %exitcond23.3
  %op.rdx109 = or i1 %exitcond23.4, %cmp5.7.4
  %op.rdx110 = or i1 %exitcond24.4, %exitcond.5
  %22 = and i32 %7, -2
  %op.rdx111 = icmp eq i32 %22, 6
  %op.rdx112 = or i1 %cmp5.5.6, %exitcond23.6
  %op.rdx113 = or i1 %cmp5.7.6, %exitcond24.6
  %shift = shufflevector <2 x i1> %19, <2 x i1> poison, <2 x i32> <i32 1, i32 poison>
  %23 = or <2 x i1> %19, %shift
  %op.rdx114 = extractelement <2 x i1> %23, i64 0
  %op.rdx115 = or i1 %exitcond23.7, %cmp5.7.7
  %op.rdx116 = or i1 %exitcond24.7, %cmp5.8
  %op.rdx117 = or i1 %exitcond.8, %exitcond22.8
  %op.rdx118 = or i1 %cmp5.5.8, %exitcond23.8
  %op.rdx119 = or i1 %cmp5.7.8, %exitcond24.8
  %op.rdx120 = or i1 %op.rdx97, %op.rdx98
  %op.rdx121 = or i1 %op.rdx99, %op.rdx100
  %op.rdx122 = or i1 %op.rdx101, %op.rdx102
  %op.rdx123 = or i1 %op.rdx103, %op.rdx104
  %op.rdx124 = or i1 %op.rdx105, %op.rdx106
  %op.rdx125 = or i1 %op.rdx107, %op.rdx108
  %op.rdx126 = or i1 %op.rdx109, %op.rdx110
  %op.rdx127 = or i1 %op.rdx111, %op.rdx112
  %op.rdx128 = or i1 %op.rdx113, %op.rdx114
  %op.rdx129 = or i1 %op.rdx115, %op.rdx116
  %op.rdx130 = or i1 %op.rdx117, %op.rdx118
  %op.rdx131 = or i1 %op.rdx120, %op.rdx121
  %op.rdx132 = or i1 %op.rdx122, %op.rdx123
  %op.rdx133 = or i1 %op.rdx124, %op.rdx125
  %op.rdx134 = or i1 %op.rdx126, %op.rdx127
  %op.rdx135 = or i1 %op.rdx128, %op.rdx129
  %op.rdx136 = or i1 %op.rdx130, %op.rdx119
  %op.rdx137 = or i1 %op.rdx131, %op.rdx132
  %op.rdx138 = or i1 %op.rdx133, %op.rdx134
  %op.rdx139 = or i1 %op.rdx135, %op.rdx136
  %op.rdx140 = or i1 %op.rdx137, %op.rdx138
  %op.rdx141 = or i1 %op.rdx140, %op.rdx139
  br i1 %op.rdx141, label %cleanup9, label %cleanup13

cleanup9:                                         ; preds = %entry, %for.cond1.1
  br label %cleanup13

cleanup13:                                        ; preds = %for.cond1.1, %cleanup9
  %.str.1.sink = phi ptr [ @.str.1, %cleanup9 ], [ @.str.2, %for.cond1.1 ]
  %call6 = call i32 @puts(ptr noundef nonnull dereferenceable(1) %.str.1.sink)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %n) #3
  ret i32 0
}

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1

; Function Attrs: nofree nounwind
declare noundef i32 @__isoc99_scanf(ptr nocapture noundef readonly, ...) local_unnamed_addr #2

; Function Attrs: nofree nounwind
declare noundef i32 @puts(ptr nocapture noundef readonly) local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1

attributes #0 = { nofree nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nounwind }

!llvm.linker.options = !{}
!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"Ubuntu clang version 18.0.0 (++20231007042255+8abb2ace888b-1~exp1~20231007042414.1230)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
