program bbb

implicit none
integer :: n,i,co,res
integer,dimension(6) :: a

read*, n

a(1)=int(n/(10**5))
a(2)=int(n/(10**4)-a(1)*10**1)
a(3)=int(n/(10**3)-a(1)*10**2-a(2)*10**1)
a(4)=int(n/(10**2)-a(1)*10**3-a(2)*10**2-a(3)*10**1)
a(5)=int(n/(10**1)-a(1)*10**4-a(2)*10**3-a(3)*10**2-a(4)*10**1)
a(6)=int(n/(10**0)-a(1)*10**5-a(2)*10**4-a(3)*10**3-a(4)*10**2-a(5)*10**1)

do i=1,6
if (a(i)==0) cycle
co=i
exit
end do

res=0

if (co==5) res=9
if (co==3) res=909
if (co==1) res=90909
if (co==6) res=a(6)
if (co==4) then
res=((a(4)-1)*10**2+a(5)*10+a(6)+10)
end if
if (co==2) then
res=((a(2)-1)*10**4+a(3)*10**3+a(4)*10**2+a(5)*10+a(6)+910)
end if

write(*,'(i0)') res

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"

@_QQcl.bc800b17b2170df511b80eeebe19d9b3 = linkonce constant [73 x i8] c"/home/ubuntu/Downloads/TheStack_IR/Collated/Fortran/Source_3586/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
  %2 = tail call ptr @_FortranAioBeginExternalListInput(i32 -1, ptr nonnull @_QQcl.bc800b17b2170df511b80eeebe19d9b3, i32 7)
  %3 = call i1 @_FortranAioInputInteger(ptr %2, ptr nonnull %1, i32 4)
  %4 = call i32 @_FortranAioEndIoStatement(ptr %2)
  %5 = load i32, ptr %1, align 4, !tbaa !3
  %6 = sdiv i32 %5, 100000
  %7 = sdiv i32 %5, 10000
  %.neg = mul nsw i32 %6, -10
  %8 = add nsw i32 %.neg, %7
  %9 = sdiv i32 %5, 1000
  %.neg17 = mul nsw i32 %6, -100
  %10 = add nsw i32 %.neg17, %9
  %.neg18 = mul nsw i32 %8, -10
  %11 = add nsw i32 %10, %.neg18
  %12 = sdiv i32 %5, 100
  %.neg19 = mul nsw i32 %6, -1000
  %13 = add nsw i32 %.neg19, %12
  %.neg20 = mul nsw i32 %8, -100
  %14 = add nsw i32 %13, %.neg20
  %.neg21 = mul nsw i32 %11, -10
  %15 = add nsw i32 %14, %.neg21
  %16 = sdiv i32 %5, 10
  %.neg22 = mul nsw i32 %6, -10000
  %17 = add nsw i32 %.neg22, %16
  %.neg23 = mul nsw i32 %8, -1000
  %18 = add nsw i32 %17, %.neg23
  %.neg24 = mul nsw i32 %11, -100
  %19 = add nsw i32 %18, %.neg24
  %.neg25 = mul nsw i32 %15, -10
  %20 = add i32 %19, %.neg25
  %.neg26 = mul nsw i32 %6, -100000
  %21 = add i32 %.neg26, %5
  %.neg27 = mul i32 %8, -10000
  %22 = add i32 %21, %.neg27
  %.neg28 = mul i32 %11, -1000
  %23 = add i32 %22, %.neg28
  %.neg29 = mul i32 %15, -100
  %24 = add i32 %23, %.neg29
  %.neg30 = mul i32 %20, -10
  %25 = add i32 %24, %.neg30
  %26 = add i32 %5, -100000
  %.not = icmp ult i32 %26, -199999
  br i1 %.not, label %.thread34, label %27

27:                                               ; preds = %0
  %.not.1 = icmp eq i32 %8, 0
  br i1 %.not.1, label %28, label %36

28:                                               ; preds = %27
  %.not.2 = icmp eq i32 %11, 0
  br i1 %.not.2, label %29, label %.thread34

29:                                               ; preds = %28
  %.not.3 = icmp eq i32 %15, 0
  br i1 %.not.3, label %30, label %.thread

30:                                               ; preds = %29
  %.not.4 = icmp eq i32 %20, 0
  %spec.select = select i1 %.not.4, i32 %25, i32 9
  br label %.thread34

.thread:                                          ; preds = %29
  %31 = mul i32 %15, 100
  %32 = mul i32 %20, 10
  %33 = add i32 %31, -90
  %34 = add i32 %33, %32
  %35 = add i32 %34, %25
  br label %.thread34

36:                                               ; preds = %27
  %37 = mul i32 %8, 10000
  %38 = mul i32 %11, 1000
  %39 = mul i32 %15, 100
  %40 = mul i32 %20, 10
  %41 = add i32 %37, -9090
  %42 = add i32 %41, %38
  %43 = add i32 %42, %39
  %44 = add i32 %43, %40
  %45 = add i32 %44, %25
  br label %.thread34

.thread34:                                        ; preds = %30, %0, %28, %.thread, %36
  %.2 = phi i32 [ %45, %36 ], [ %35, %.thread ], [ 90909, %0 ], [ 909, %28 ], [ %spec.select, %30 ]
  %46 = call ptr @_FortranAioBeginExternalFormattedOutput(ptr nonnull @_QQcl.28693029, i64 4, ptr null, i32 -1, ptr nonnull @_QQcl.bc800b17b2170df511b80eeebe19d9b3, i32 35)
  %47 = call i1 @_FortranAioOutputInteger32(ptr %46, i32 %.2)
  %48 = call i32 @_FortranAioEndIoStatement(ptr %46)
  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

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