; LLVM IR from fdabrandao/vpsolver :: src/instance.ll (ZN8Instance4readEP8_IO_FILE5ftype)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%class.Item = type { %"class.std::vector", %"class.std::vector", i32, i32, i32, i32, i32, i32 }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator" = type { i8 }
%class.Instance = type { i32, i32, i32, i32, i32, %"class.std::vector.0", %"class.std::vector", %"class.std::vector", %"class.std::vector.5", i32, i8, i8, i8, %"class.std::vector.10", %"class.std::vector", %"class.std::vector" }
%"class.std::vector.0" = type { %"struct.std::_Vector_base.1" }
%"struct.std::_Vector_base.1" = type { %"struct.std::_Vector_base<std::vector<int>, std::allocator<std::vector<int>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::vector<int>, std::allocator<std::vector<int>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::vector<int>, std::allocator<std::vector<int>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::vector<int>, std::allocator<std::vector<int>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.5" = type { %"struct.std::_Vector_base.6" }
%"struct.std::_Vector_base.6" = type { %"struct.std::_Vector_base<Item, std::allocator<Item>>::_Vector_impl" }
%"struct.std::_Vector_base<Item, std::allocator<Item>>::_Vector_impl" = type { %"struct.std::_Vector_base<Item, std::allocator<Item>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Item, std::allocator<Item>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.10" = type { %"struct.std::_Vector_base.11" }
%"struct.std::_Vector_base.11" = type { %"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl" }
%"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl" = type { %"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl_data" }
%"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl_data" = type { ptr, ptr, ptr }

@.str = external hidden unnamed_addr constant [54 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [70 x i8], align 1
@_ZTISt13runtime_error = external constant ptr
@.str.8 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [36 x i8], align 1

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

; Function Attrs: nounwind
declare i32 @snprintf(ptr noundef, i64 noundef, ptr noundef, ...) #1

declare ptr @__cxa_allocate_exception(i64)

declare void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef) unnamed_addr #2

declare i32 @__gxx_personality_v0(...)

declare void @__cxa_free_exception(ptr)

; Function Attrs: nounwind
declare void @_ZNSt13runtime_errorD1Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1

declare void @__cxa_throw(ptr, ptr, ptr)

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN4ItemixEi(ptr noundef nonnull align 8 dereferenceable(72), i32 noundef) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #4 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN8Instance4readEP8_IO_FILE5ftype(ptr noundef nonnull align 8 dereferenceable(200) %0, ptr noundef %1, i32 noundef %2) #3 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca [256 x i8], align 16
  %8 = alloca ptr, align 8
  %9 = alloca i32, align 4
  %10 = alloca [256 x i8], align 16
  %11 = alloca [256 x i8], align 16
  %12 = alloca [256 x i8], align 16
  %13 = alloca [256 x i8], align 16
  %14 = alloca [256 x i8], align 16
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca [256 x i8], align 16
  %19 = alloca [256 x i8], align 16
  %20 = alloca [256 x i8], align 16
  %21 = alloca [256 x i8], align 16
  %22 = alloca i32, align 4
  %23 = alloca [256 x i8], align 16
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca [256 x i8], align 16
  %28 = alloca [256 x i8], align 16
  %29 = alloca [256 x i8], align 16
  %30 = alloca [256 x i8], align 16
  %31 = alloca i8, align 1
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca %class.Item, align 8
  %35 = alloca ptr, align 8
  %36 = alloca i32, align 4
  %37 = alloca [256 x i8], align 16
  %38 = alloca [256 x i8], align 16
  %39 = alloca [256 x i8], align 16
  %40 = alloca [256 x i8], align 16
  %41 = alloca [256 x i8], align 16
  %42 = alloca i32, align 4
  %43 = alloca %"class.std::vector", align 8
  %44 = alloca i32, align 4
  %45 = alloca %"class.std::allocator", align 1
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca i8, align 1
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca [256 x i8], align 16
  %53 = alloca [256 x i8], align 16
  %54 = alloca [256 x i8], align 16
  %55 = alloca [256 x i8], align 16
  %56 = alloca [256 x i8], align 16
  %57 = alloca [256 x i8], align 16
  %58 = alloca i32, align 4
  %59 = alloca [256 x i8], align 16
  %60 = alloca [256 x i8], align 16
  %61 = alloca i8, align 1
  %62 = alloca i8, align 1
  %63 = alloca [256 x i8], align 16
  %64 = alloca i8, align 1
  %65 = alloca [256 x i8], align 16
  %66 = alloca [256 x i8], align 16
  %67 = alloca [256 x i8], align 16
  %68 = alloca i32, align 4
  %69 = alloca [256 x i8], align 16
  %70 = alloca [256 x i8], align 16
  %71 = alloca i32, align 4
  %72 = alloca [256 x i8], align 16
  %73 = alloca [256 x i8], align 16
  %74 = alloca [256 x i8], align 16
  %75 = alloca i32, align 4
  %76 = alloca i32, align 4
  store ptr %0, ptr %4, align 8, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !5
  store i32 %2, ptr %6, align 4, !tbaa !9
  %77 = load ptr, ptr %4, align 8
  %78 = load ptr, ptr %5, align 8, !tbaa !5
  %79 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %78, ptr noundef @.str.17)
  %80 = icmp eq i32 %79, 0
  br i1 %80, label %91, label %81

81:                                               ; preds = %3
  call void @llvm.lifetime.start.p0(i64 256, ptr %7) #9
  %82 = getelementptr inbounds [256 x i8], ptr %7, i64 0, i64 0
  %83 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %82, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 107) #9
  %84 = call ptr @__cxa_allocate_exception(i64 16) #9
  %85 = getelementptr inbounds [256 x i8], ptr %7, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %84, ptr noundef %85)
          to label %86 unwind label %87

86:                                               ; preds = %81
  call void @__cxa_throw(ptr %84, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

87:                                               ; preds = %81
  %88 = landingpad { ptr, i32 }
          cleanup
  %89 = extractvalue { ptr, i32 } %88, 0
  store ptr %89, ptr %8, align 8
  %90 = extractvalue { ptr, i32 } %88, 1
  store i32 %90, ptr %9, align 4
  call void @__cxa_free_exception(ptr %84) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %7) #9
  br label %1079

91:                                               ; preds = %3
  %92 = load ptr, ptr %5, align 8, !tbaa !5
  %93 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %92, ptr noundef @.str.19)
  %94 = icmp eq i32 %93, 0
  br i1 %94, label %105, label %95

95:                                               ; preds = %91
  call void @llvm.lifetime.start.p0(i64 256, ptr %10) #9
  %96 = getelementptr inbounds [256 x i8], ptr %10, i64 0, i64 0
  %97 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %96, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.20, ptr noundef @.str.2, i32 noundef 108) #9
  %98 = call ptr @__cxa_allocate_exception(i64 16) #9
  %99 = getelementptr inbounds [256 x i8], ptr %10, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %98, ptr noundef %99)
          to label %100 unwind label %101

100:                                              ; preds = %95
  call void @__cxa_throw(ptr %98, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

101:                                              ; preds = %95
  %102 = landingpad { ptr, i32 }
          cleanup
  %103 = extractvalue { ptr, i32 } %102, 0
  store ptr %103, ptr %8, align 8
  %104 = extractvalue { ptr, i32 } %102, 1
  store i32 %104, ptr %9, align 4
  call void @__cxa_free_exception(ptr %98) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %10) #9
  br label %1079

105:                                              ; preds = %91
  %106 = load ptr, ptr %5, align 8, !tbaa !5
  %107 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 0
  %108 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %106, ptr noundef @.str.8, ptr noundef %107)
  %109 = icmp eq i32 %108, 1
  br i1 %109, label %120, label %110

110:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 256, ptr %11) #9
  %111 = getelementptr inbounds [256 x i8], ptr %11, i64 0, i64 0
  %112 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %111, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.21, ptr noundef @.str.2, i32 noundef 109) #9
  %113 = call ptr @__cxa_allocate_exception(i64 16) #9
  %114 = getelementptr inbounds [256 x i8], ptr %11, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %113, ptr noundef %114)
          to label %115 unwind label %116

115:                                              ; preds = %110
  call void @__cxa_throw(ptr %113, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

116:                                              ; preds = %110
  %117 = landingpad { ptr, i32 }
          cleanup
  %118 = extractvalue { ptr, i32 } %117, 0
  store ptr %118, ptr %8, align 8
  %119 = extractvalue { ptr, i32 } %117, 1
  store i32 %119, ptr %9, align 4
  call void @__cxa_free_exception(ptr %113) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %11) #9
  br label %1079

120:                                              ; preds = %105
  %121 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 0
  %122 = load i32, ptr %121, align 8, !tbaa !11
  %123 = icmp sge i32 %122, 1
  br i1 %123, label %134, label %124

124:                                              ; preds = %120
  call void @llvm.lifetime.start.p0(i64 256, ptr %12) #9
  %125 = getelementptr inbounds [256 x i8], ptr %12, i64 0, i64 0
  %126 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %125, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 110) #9
  %127 = call ptr @__cxa_allocate_exception(i64 16) #9
  %128 = getelementptr inbounds [256 x i8], ptr %12, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %127, ptr noundef %128)
          to label %129 unwind label %130

129:                                              ; preds = %124
  call void @__cxa_throw(ptr %127, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

130:                                              ; preds = %124
  %131 = landingpad { ptr, i32 }
          cleanup
  %132 = extractvalue { ptr, i32 } %131, 0
  store ptr %132, ptr %8, align 8
  %133 = extractvalue { ptr, i32 } %131, 1
  store i32 %133, ptr %9, align 4
  call void @__cxa_free_exception(ptr %127) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %12) #9
  br label %1079

134:                                              ; preds = %120
  %135 = load i32, ptr %6, align 4, !tbaa !9
  %136 = icmp eq i32 %135, 1
  br i1 %136, label %137, label %167

137:                                              ; preds = %134
  %138 = load ptr, ptr %5, align 8, !tbaa !5
  %139 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 1
  %140 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %138, ptr noundef @.str.8, ptr noundef %139)
  %141 = icmp eq i32 %140, 1
  br i1 %141, label %152, label %142

142:                                              ; preds = %137
  call void @llvm.lifetime.start.p0(i64 256, ptr %13) #9
  %143 = getelementptr inbounds [256 x i8], ptr %13, i64 0, i64 0
  %144 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %143, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 113) #9
  %145 = call ptr @__cxa_allocate_exception(i64 16) #9
  %146 = getelementptr inbounds [256 x i8], ptr %13, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %145, ptr noundef %146)
          to label %147 unwind label %148

147:                                              ; preds = %142
  call void @__cxa_throw(ptr %145, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

148:                                              ; preds = %142
  %149 = landingpad { ptr, i32 }
          cleanup
  %150 = extractvalue { ptr, i32 } %149, 0
  store ptr %150, ptr %8, align 8
  %151 = extractvalue { ptr, i32 } %149, 1
  store i32 %151, ptr %9, align 4
  call void @__cxa_free_exception(ptr %145) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %13) #9
  br label %1079

152:                                              ; preds = %137
  %153 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 1
  %154 = load i32, ptr %153, align 4, !tbaa !31
  %155 = icmp sge i32 %154, 1
  br i1 %155, label %166, label %156

156:                                              ; preds = %152
  call void @llvm.lifetime.start.p0(i64 256, ptr %14) #9
  %157 = getelementptr inbounds [256 x i8], ptr %14, i64 0, i64 0
  %158 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %157, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 114) #9
  %159 = call ptr @__cxa_allocate_exception(i64 16) #9
  %160 = getelementptr inbounds [256 x i8], ptr %14, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %159, ptr noundef %160)
          to label %161 unwind label %162

161:                                              ; preds = %156
  call void @__cxa_throw(ptr %159, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

162:                                              ; preds = %156
  %163 = landingpad { ptr, i32 }
          cleanup
  %164 = extractvalue { ptr, i32 } %163, 0
  store ptr %164, ptr %8, align 8
  %165 = extractvalue { ptr, i32 } %163, 1
  store i32 %165, ptr %9, align 4
  call void @__cxa_free_exception(ptr %159) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %14) #9
  br label %1079

166:                                              ; preds = %152
  br label %169

167:                                              ; preds = %134
  %168 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 1
  store i32 1, ptr %168, align 4, !tbaa !31
  br label %169

169:                                              ; preds = %167, %166
  %170 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 5
  %171 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 1
  %172 = load i32, ptr %171, align 4, !tbaa !31
  %173 = sext i32 %172 to i64
  call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %170, i64 noundef %173)
  %174 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 6
  %175 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 1
  %176 = load i32, ptr %175, align 4, !tbaa !31
  %177 = sext i32 %176 to i64
  call void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %174, i64 noundef %177)
  %178 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 7
  %179 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 1
  %180 = load i32, ptr %179, align 4, !tbaa !31
  %181 = sext i32 %180 to i64
  call void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %178, i64 noundef %181)
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #9
  store i32 0, ptr %15, align 4, !tbaa !32
  br label %182

182:                                              ; preds = %298, %169
  %183 = load i32, ptr %15, align 4, !tbaa !32
  %184 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 1
  %185 = load i32, ptr %184, align 4, !tbaa !31
  %186 = icmp slt i32 %183, %185
  br i1 %186, label %188, label %187

187:                                              ; preds = %182
  store i32 2, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #9
  br label %302

188:                                              ; preds = %182
  %189 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 5
  %190 = load i32, ptr %15, align 4, !tbaa !32
  %191 = sext i32 %190 to i64
  %192 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %189, i64 noundef %191) #9
  %193 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 0
  %194 = load i32, ptr %193, align 8, !tbaa !11
  %195 = sext i32 %194 to i64
  call void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %192, i64 noundef %195)
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #9
  store i32 0, ptr %17, align 4, !tbaa !32
  br label %196

196:                                              ; preds = %244, %188
  %197 = load i32, ptr %17, align 4, !tbaa !32
  %198 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 0
  %199 = load i32, ptr %198, align 8, !tbaa !11
  %200 = icmp slt i32 %197, %199
  br i1 %200, label %202, label %201

201:                                              ; preds = %196
  store i32 5, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #9
  br label %248

202:                                              ; preds = %196
  %203 = load ptr, ptr %5, align 8, !tbaa !5
  %204 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 5
  %205 = load i32, ptr %15, align 4, !tbaa !32
  %206 = sext i32 %205 to i64
  %207 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %204, i64 noundef %206) #9
  %208 = load i32, ptr %17, align 4, !tbaa !32
  %209 = sext i32 %208 to i64
  %210 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %207, i64 noundef %209) #9
  %211 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %203, ptr noundef @.str.8, ptr noundef %210)
  %212 = icmp eq i32 %211, 1
  br i1 %212, label %223, label %213

213:                                              ; preds = %202
  call void @llvm.lifetime.start.p0(i64 256, ptr %18) #9
  %214 = getelementptr inbounds [256 x i8], ptr %18, i64 0, i64 0
  %215 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %214, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.25, ptr noundef @.str.2, i32 noundef 125) #9
  %216 = call ptr @__cxa_allocate_exception(i64 16) #9
  %217 = getelementptr inbounds [256 x i8], ptr %18, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %216, ptr noundef %217)
          to label %218 unwind label %219

218:                                              ; preds = %213
  call void @__cxa_throw(ptr %216, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

219:                                              ; preds = %213
  %220 = landingpad { ptr, i32 }
          cleanup
  %221 = extractvalue { ptr, i32 } %220, 0
  store ptr %221, ptr %8, align 8
  %222 = extractvalue { ptr, i32 } %220, 1
  store i32 %222, ptr %9, align 4
  call void @__cxa_free_exception(ptr %216) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %18) #9
  br label %247

223:                                              ; preds = %202
  %224 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 5
  %225 = load i32, ptr %15, align 4, !tbaa !32
  %226 = sext i32 %225 to i64
  %227 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %224, i64 noundef %226) #9
  %228 = load i32, ptr %17, align 4, !tbaa !32
  %229 = sext i32 %228 to i64
  %230 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %227, i64 noundef %229) #9
  %231 = load i32, ptr %230, align 4, !tbaa !32
  %232 = icmp sge i32 %231, 0
  br i1 %232, label %243, label %233

233:                                              ; preds = %223
  call void @llvm.lifetime.start.p0(i64 256, ptr %19) #9
  %234 = getelementptr inbounds [256 x i8], ptr %19, i64 0, i64 0
  %235 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %234, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.26, ptr noundef @.str.2, i32 noundef 126) #9
  %236 = call ptr @__cxa_allocate_exception(i64 16) #9
  %237 = getelementptr inbounds [256 x i8], ptr %19, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %236, ptr noundef %237)
          to label %238 unwind label %239

238:                                              ; preds = %233
  call void @__cxa_throw(ptr %236, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

239:                                              ; preds = %233
  %240 = landingpad { ptr, i32 }
          cleanup
  %241 = extractvalue { ptr, i32 } %240, 0
  store ptr %241, ptr %8, align 8
  %242 = extractvalue { ptr, i32 } %240, 1
  store i32 %242, ptr %9, align 4
  call void @__cxa_free_exception(ptr %236) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %19) #9
  br label %247

243:                                              ; preds = %223
  br label %244

244:                                              ; preds = %243
  %245 = load i32, ptr %17, align 4, !tbaa !32
  %246 = add nsw i32 %245, 1
  store i32 %246, ptr %17, align 4, !tbaa !32
  br label %196, !llvm.loop !33

247:                                              ; preds = %239, %219
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #9
  br label %301

248:                                              ; preds = %201
  %249 = load i32, ptr %6, align 4, !tbaa !9
  %250 = icmp eq i32 %249, 1
  br i1 %250, label %251, label %288

251:                                              ; preds = %248
  %252 = load ptr, ptr %5, align 8, !tbaa !5
  %253 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 6
  %254 = load i32, ptr %15, align 4, !tbaa !32
  %255 = sext i32 %254 to i64
  %256 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %253, i64 noundef %255) #9
  %257 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %252, ptr noundef @.str.8, ptr noundef %256)
  %258 = icmp eq i32 %257, 1
  br i1 %258, label %269, label %259

259:                                              ; preds = %251
  call void @llvm.lifetime.start.p0(i64 256, ptr %20) #9
  %260 = getelementptr inbounds [256 x i8], ptr %20, i64 0, i64 0
  %261 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %260, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.27, ptr noundef @.str.2, i32 noundef 129) #9
  %262 = call ptr @__cxa_allocate_exception(i64 16) #9
  %263 = getelementptr inbounds [256 x i8], ptr %20, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %262, ptr noundef %263)
          to label %264 unwind label %265

264:                                              ; preds = %259
  call void @__cxa_throw(ptr %262, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

265:                                              ; preds = %259
  %266 = landingpad { ptr, i32 }
          cleanup
  %267 = extractvalue { ptr, i32 } %266, 0
  store ptr %267, ptr %8, align 8
  %268 = extractvalue { ptr, i32 } %266, 1
  store i32 %268, ptr %9, align 4
  call void @__cxa_free_exception(ptr %262) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %20) #9
  br label %301

269:                                              ; preds = %251
  %270 = load ptr, ptr %5, align 8, !tbaa !5
  %271 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 7
  %272 = load i32, ptr %15, align 4, !tbaa !32
  %273 = sext i32 %272 to i64
  %274 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %271, i64 noundef %273) #9
  %275 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %270, ptr noundef @.str.8, ptr noundef %274)
  %276 = icmp eq i32 %275, 1
  br i1 %276, label %287, label %277

277:                                              ; preds = %269
  call void @llvm.lifetime.start.p0(i64 256, ptr %21) #9
  %278 = getelementptr inbounds [256 x i8], ptr %21, i64 0, i64 0
  %279 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %278, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.28, ptr noundef @.str.2, i32 noundef 130) #9
  %280 = call ptr @__cxa_allocate_exception(i64 16) #9
  %281 = getelementptr inbounds [256 x i8], ptr %21, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %280, ptr noundef %281)
          to label %282 unwind label %283

282:                                              ; preds = %277
  call void @__cxa_throw(ptr %280, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

283:                                              ; preds = %277
  %284 = landingpad { ptr, i32 }
          cleanup
  %285 = extractvalue { ptr, i32 } %284, 0
  store ptr %285, ptr %8, align 8
  %286 = extractvalue { ptr, i32 } %284, 1
  store i32 %286, ptr %9, align 4
  call void @__cxa_free_exception(ptr %280) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %21) #9
  br label %301

287:                                              ; preds = %269
  br label %297

288:                                              ; preds = %248
  %289 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 6
  %290 = load i32, ptr %15, align 4, !tbaa !32
  %291 = sext i32 %290 to i64
  %292 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %289, i64 noundef %291) #9
  store i32 1, ptr %292, align 4, !tbaa !32
  %293 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 7
  %294 = load i32, ptr %15, align 4, !tbaa !32
  %295 = sext i32 %294 to i64
  %296 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %293, i64 noundef %295) #9
  store i32 -1, ptr %296, align 4, !tbaa !32
  br label %297

297:                                              ; preds = %288, %287
  br label %298

298:                                              ; preds = %297
  %299 = load i32, ptr %15, align 4, !tbaa !32
  %300 = add nsw i32 %299, 1
  store i32 %300, ptr %15, align 4, !tbaa !32
  br label %182, !llvm.loop !35

301:                                              ; preds = %283, %265, %247
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #9
  br label %1079

302:                                              ; preds = %187
  %303 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 8
  call void @_ZNSt6vectorI4ItemSaIS0_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %303) #9
  %304 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 14
  call void @_ZNSt6vectorIiSaIiEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %304) #9
  %305 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 13
  call void @_ZNSt6vectorIcSaIcEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %305) #9
  %306 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 15
  call void @_ZNSt6vectorIiSaIiEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %306) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #9
  store i32 0, ptr %22, align 4, !tbaa !32
  %307 = load ptr, ptr %5, align 8, !tbaa !5
  %308 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 3
  %309 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %307, ptr noundef @.str.8, ptr noundef %308)
  %310 = icmp eq i32 %309, 1
  br i1 %310, label %321, label %311

311:                                              ; preds = %302
  call void @llvm.lifetime.start.p0(i64 256, ptr %23) #9
  %312 = getelementptr inbounds [256 x i8], ptr %23, i64 0, i64 0
  %313 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %312, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 142) #9
  %314 = call ptr @__cxa_allocate_exception(i64 16) #9
  %315 = getelementptr inbounds [256 x i8], ptr %23, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %314, ptr noundef %315)
          to label %316 unwind label %317

316:                                              ; preds = %311
  call void @__cxa_throw(ptr %314, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

317:                                              ; preds = %311
  %318 = landingpad { ptr, i32 }
          cleanup
  %319 = extractvalue { ptr, i32 } %318, 0
  store ptr %319, ptr %8, align 8
  %320 = extractvalue { ptr, i32 } %318, 1
  store i32 %320, ptr %9, align 4
  call void @__cxa_free_exception(ptr %314) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %23) #9
  br label %1078

321:                                              ; preds = %302
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #9
  store i32 0, ptr %24, align 4, !tbaa !32
  br label %322

322:                                              ; preds = %704, %321
  %323 = load i32, ptr %24, align 4, !tbaa !32
  %324 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 3
  %325 = load i32, ptr %324, align 4, !tbaa !36
  %326 = icmp slt i32 %323, %325
  br i1 %326, label %328, label %327

327:                                              ; preds = %322
  store i32 8, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #9
  br label %709

328:                                              ; preds = %322
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #9
  %329 = load i32, ptr %6, align 4, !tbaa !9
  %330 = icmp eq i32 %329, 1
  br i1 %330, label %331, label %387

331:                                              ; preds = %328
  %332 = load ptr, ptr %5, align 8, !tbaa !5
  %333 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %332, ptr noundef @.str.8, ptr noundef %25)
  %334 = icmp eq i32 %333, 1
  br i1 %334, label %345, label %335

335:                                              ; preds = %331
  call void @llvm.lifetime.start.p0(i64 256, ptr %27) #9
  %336 = getelementptr inbounds [256 x i8], ptr %27, i64 0, i64 0
  %337 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %336, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 146) #9
  %338 = call ptr @__cxa_allocate_exception(i64 16) #9
  %339 = getelementptr inbounds [256 x i8], ptr %27, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %338, ptr noundef %339)
          to label %340 unwind label %341

340:                                              ; preds = %335
  call void @__cxa_throw(ptr %338, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

341:                                              ; preds = %335
  %342 = landingpad { ptr, i32 }
          cleanup
  %343 = extractvalue { ptr, i32 } %342, 0
  store ptr %343, ptr %8, align 8
  %344 = extractvalue { ptr, i32 } %342, 1
  store i32 %344, ptr %9, align 4
  call void @__cxa_free_exception(ptr %338) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %27) #9
  br label %708

345:                                              ; preds = %331
  %346 = load i32, ptr %25, align 4, !tbaa !32
  %347 = icmp sge i32 %346, 0
  br i1 %347, label %358, label %348

348:                                              ; preds = %345
  call void @llvm.lifetime.start.p0(i64 256, ptr %28) #9
  %349 = getelementptr inbounds [256 x i8], ptr %28, i64 0, i64 0
  %350 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %349, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 147) #9
  %351 = call ptr @__cxa_allocate_exception(i64 16) #9
  %352 = getelementptr inbounds [256 x i8], ptr %28, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %351, ptr noundef %352)
          to label %353 unwind label %354

353:                                              ; preds = %348
  call void @__cxa_throw(ptr %351, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

354:                                              ; preds = %348
  %355 = landingpad { ptr, i32 }
          cleanup
  %356 = extractvalue { ptr, i32 } %355, 0
  store ptr %356, ptr %8, align 8
  %357 = extractvalue { ptr, i32 } %355, 1
  store i32 %357, ptr %9, align 4
  call void @__cxa_free_exception(ptr %351) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %28) #9
  br label %708

358:                                              ; preds = %345
  %359 = load ptr, ptr %5, align 8, !tbaa !5
  %360 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %359, ptr noundef @.str.8, ptr noundef %26)
  %361 = icmp eq i32 %360, 1
  br i1 %361, label %372, label %362

362:                                              ; preds = %358
  call void @llvm.lifetime.start.p0(i64 256, ptr %29) #9
  %363 = getelementptr inbounds [256 x i8], ptr %29, i64 0, i64 0
  %364 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %363, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 148) #9
  %365 = call ptr @__cxa_allocate_exception(i64 16) #9
  %366 = getelementptr inbounds [256 x i8], ptr %29, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %365, ptr noundef %366)
          to label %367 unwind label %368

367:                                              ; preds = %362
  call void @__cxa_throw(ptr %365, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

368:                                              ; preds = %362
  %369 = landingpad { ptr, i32 }
          cleanup
  %370 = extractvalue { ptr, i32 } %369, 0
  store ptr %370, ptr %8, align 8
  %371 = extractvalue { ptr, i32 } %369, 1
  store i32 %371, ptr %9, align 4
  call void @__cxa_free_exception(ptr %365) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %29) #9
  br label %708

372:                                              ; preds = %358
  %373 = load i32, ptr %26, align 4, !tbaa !32
  %374 = icmp sge i32 %373, 0
  br i1 %374, label %385, label %375

375:                                              ; preds = %372
  call void @llvm.lifetime.start.p0(i64 256, ptr %30) #9
  %376 = getelementptr inbounds [256 x i8], ptr %30, i64 0, i64 0
  %377 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %376, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 149) #9
  %378 = call ptr @__cxa_allocate_exception(i64 16) #9
  %379 = getelementptr inbounds [256 x i8], ptr %30, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %378, ptr noundef %379)
          to label %380 unwind label %381

380:                                              ; preds = %375
  call void @__cxa_throw(ptr %378, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

381:                                              ; preds = %375
  %382 = landingpad { ptr, i32 }
          cleanup
  %383 = extractvalue { ptr, i32 } %382, 0
  store ptr %383, ptr %8, align 8
  %384 = extractvalue { ptr, i32 } %382, 1
  store i32 %384, ptr %9, align 4
  call void @__cxa_free_exception(ptr %378) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %30) #9
  br label %708

385:                                              ; preds = %372
  %386 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 15
  call void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %386, ptr noundef nonnull align 4 dereferenceable(4) %26)
  br label %388

387:                                              ; preds = %328
  store i32 1, ptr %25, align 4, !tbaa !32
  store i32 -1, ptr %26, align 4, !tbaa !32
  br label %388

388:                                              ; preds = %387, %385
  %389 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 14
  call void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %389, ptr noundef nonnull align 4 dereferenceable(4) %25)
  %390 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 13
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #9
  store i8 42, ptr %31, align 1, !tbaa !37
  call void @_ZNSt6vectorIcSaIcEE9push_backEOc(ptr noundef nonnull align 8 dereferenceable(24) %390, ptr noundef nonnull align 1 dereferenceable(1) %31)
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #9
  store i32 0, ptr %32, align 4, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #9
  store i32 0, ptr %33, align 4, !tbaa !32
  br label %391

391:                                              ; preds = %679, %388
  %392 = load i32, ptr %33, align 4, !tbaa !32
  %393 = load i32, ptr %25, align 4, !tbaa !32
  %394 = icmp slt i32 %392, %393
  br i1 %394, label %396, label %395

395:                                              ; preds = %391
  store i32 11, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #9
  br label %686

396:                                              ; preds = %391
  %397 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 8
  call void @llvm.lifetime.start.p0(i64 72, ptr %34) #9
  %398 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 0
  %399 = load i32, ptr %398, align 8, !tbaa !11
  call void @_ZN4ItemC2Ei(ptr noundef nonnull align 8 dereferenceable(72) %34, i32 noundef %399)
  invoke void @_ZNSt6vectorI4ItemSaIS0_EE9push_backEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %397, ptr noundef nonnull align 8 dereferenceable(72) %34)
          to label %400 unwind label %409

400:                                              ; preds = %396
  call void @_ZN4ItemD2Ev(ptr noundef nonnull align 8 dereferenceable(72) %34) #9
  call void @llvm.lifetime.end.p0(i64 72, ptr %34) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #9
  %401 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 8
  %402 = call noundef nonnull align 8 dereferenceable(72) ptr @_ZNSt6vectorI4ItemSaIS0_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %401) #9
  store ptr %402, ptr %35, align 8, !tbaa !5
  %403 = load i32, ptr %25, align 4, !tbaa !32
  %404 = icmp sgt i32 %403, 1
  br i1 %404, label %405, label %413

405:                                              ; preds = %400
  %406 = load i32, ptr %33, align 4, !tbaa !32
  %407 = load ptr, ptr %35, align 8, !tbaa !5
  %408 = getelementptr inbounds %class.Item, ptr %407, i32 0, i32 4
  store i32 %406, ptr %408, align 8, !tbaa !38
  br label %416

409:                                              ; preds = %396
  %410 = landingpad { ptr, i32 }
          cleanup
  %411 = extractvalue { ptr, i32 } %410, 0
  store ptr %411, ptr %8, align 8
  %412 = extractvalue { ptr, i32 } %410, 1
  store i32 %412, ptr %9, align 4
  call void @_ZN4ItemD2Ev(ptr noundef nonnull align 8 dereferenceable(72) %34) #9
  call void @llvm.lifetime.end.p0(i64 72, ptr %34) #9
  br label %685

413:                                              ; preds = %400
  %414 = load ptr, ptr %35, align 8, !tbaa !5
  %415 = getelementptr inbounds %class.Item, ptr %414, i32 0, i32 4
  store i32 -1, ptr %415, align 8, !tbaa !38
  br label %416

416:                                              ; preds = %413, %405
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #9
  store i32 0, ptr %36, align 4, !tbaa !32
  br label %417

417:                                              ; preds = %466, %416
  %418 = load i32, ptr %36, align 4, !tbaa !32
  %419 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 0
  %420 = load i32, ptr %419, align 8, !tbaa !11
  %421 = icmp slt i32 %418, %420
  br i1 %421, label %423, label %422

422:                                              ; preds = %417
  store i32 14, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #9
  br label %470

423:                                              ; preds = %417
  %424 = load ptr, ptr %5, align 8, !tbaa !5
  %425 = load ptr, ptr %35, align 8, !tbaa !5
  %426 = load i32, ptr %36, align 4, !tbaa !32
  %427 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN4ItemixEi(ptr noundef nonnull align 8 dereferenceable(72) %425, i32 noundef %426)
  %428 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %424, ptr noundef @.str.8, ptr noundef %427)
  %429 = icmp eq i32 %428, 1
  br i1 %429, label %440, label %430

430:                                              ; preds = %423
  call void @llvm.lifetime.start.p0(i64 256, ptr %37) #9
  %431 = getelementptr inbounds [256 x i8], ptr %37, i64 0, i64 0
  %432 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %431, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 169) #9
  %433 = call ptr @__cxa_allocate_exception(i64 16) #9
  %434 = getelementptr inbounds [256 x i8], ptr %37, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %433, ptr noundef %434)
          to label %435 unwind label %436

435:                                              ; preds = %430
  call void @__cxa_throw(ptr %433, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

436:                                              ; preds = %430
  %437 = landingpad { ptr, i32 }
          cleanup
  %438 = extractvalue { ptr, i32 } %437, 0
  store ptr %438, ptr %8, align 8
  %439 = extractvalue { ptr, i32 } %437, 1
  store i32 %439, ptr %9, align 4
  call void @__cxa_free_exception(ptr %433) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %37) #9
  br label %469

440:                                              ; preds = %423
  %441 = load ptr, ptr %35, align 8, !tbaa !5
  %442 = load i32, ptr %36, align 4, !tbaa !32
  %443 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN4ItemixEi(ptr noundef nonnull align 8 dereferenceable(72) %441, i32 noundef %442)
  %444 = load i32, ptr %443, align 4, !tbaa !32
  %445 = icmp sge i32 %444, 0
  br i1 %445, label %456, label %446

446:                                              ; preds = %440
  call void @llvm.lifetime.start.p0(i64 256, ptr %38) #9
  %447 = getelementptr inbounds [256 x i8], ptr %38, i64 0, i64 0
  %448 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %447, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 170) #9
  %449 = call ptr @__cxa_allocate_exception(i64 16) #9
  %450 = getelementptr inbounds [256 x i8], ptr %38, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %449, ptr noundef %450)
          to label %451 unwind label %452

451:                                              ; preds = %446
  call void @__cxa_throw(ptr %449, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

452:                                              ; preds = %446
  %453 = landingpad { ptr, i32 }
          cleanup
  %454 = extractvalue { ptr, i32 } %453, 0
  store ptr %454, ptr %8, align 8
  %455 = extractvalue { ptr, i32 } %453, 1
  store i32 %455, ptr %9, align 4
  call void @__cxa_free_exception(ptr %449) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %38) #9
  br label %469

456:                                              ; preds = %440
  %457 = load ptr, ptr %35, align 8, !tbaa !5
  %458 = load i32, ptr %36, align 4, !tbaa !32
  %459 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN4ItemixEi(ptr noundef nonnull align 8 dereferenceable(72) %457, i32 noundef %458)
  %460 = load i32, ptr %459, align 4, !tbaa !32
  %461 = icmp ne i32 %460, 0
  br i1 %461, label %462, label %465

462:                                              ; preds = %456
  %463 = load ptr, ptr %35, align 8, !tbaa !5
  %464 = getelementptr inbounds %class.Item, ptr %463, i32 0, i32 1
  call void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %464, ptr noundef nonnull align 4 dereferenceable(4) %36)
  br label %465

465:                                              ; preds = %462, %456
  br label %466

466:                                              ; preds = %465
  %467 = load i32, ptr %36, align 4, !tbaa !32
  %468 = add nsw i32 %467, 1
  store i32 %468, ptr %36, align 4, !tbaa !32
  br label %417, !llvm.loop !40

469:                                              ; preds = %452, %436
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #9
  br label %684

470:                                              ; preds = %422
  %471 = load ptr, ptr %35, align 8, !tbaa !5
  %472 = getelementptr inbounds %class.Item, ptr %471, i32 0, i32 1
  %473 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %472) #9
  br i1 %473, label %474, label %484

474:                                              ; preds = %470
  call void @llvm.lifetime.start.p0(i64 256, ptr %39) #9
  %475 = getelementptr inbounds [256 x i8], ptr %39, i64 0, i64 0
  %476 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %475, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 175) #9
  %477 = call ptr @__cxa_allocate_exception(i64 16) #9
  %478 = getelementptr inbounds [256 x i8], ptr %39, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %477, ptr noundef %478)
          to label %479 unwind label %480

479:                                              ; preds = %474
  call void @__cxa_throw(ptr %477, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

480:                                              ; preds = %474
  %481 = landingpad { ptr, i32 }
          cleanup
  %482 = extractvalue { ptr, i32 } %481, 0
  store ptr %482, ptr %8, align 8
  %483 = extractvalue { ptr, i32 } %481, 1
  store i32 %483, ptr %9, align 4
  call void @__cxa_free_exception(ptr %477) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %39) #9
  br label %684

484:                                              ; preds = %470
  %485 = load i32, ptr %6, align 4, !tbaa !9
  %486 = icmp eq i32 %485, 0
  br i1 %486, label %487, label %516

487:                                              ; preds = %484
  %488 = load ptr, ptr %5, align 8, !tbaa !5
  %489 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %488, ptr noundef @.str.8, ptr noundef %26)
  %490 = icmp eq i32 %489, 1
  br i1 %490, label %501, label %491

491:                                              ; preds = %487
  call void @llvm.lifetime.start.p0(i64 256, ptr %40) #9
  %492 = getelementptr inbounds [256 x i8], ptr %40, i64 0, i64 0
  %493 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %492, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 178) #9
  %494 = call ptr @__cxa_allocate_exception(i64 16) #9
  %495 = getelementptr inbounds [256 x i8], ptr %40, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %494, ptr noundef %495)
          to label %496 unwind label %497

496:                                              ; preds = %491
  call void @__cxa_throw(ptr %494, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

497:                                              ; preds = %491
  %498 = landingpad { ptr, i32 }
          cleanup
  %499 = extractvalue { ptr, i32 } %498, 0
  store ptr %499, ptr %8, align 8
  %500 = extractvalue { ptr, i32 } %498, 1
  store i32 %500, ptr %9, align 4
  call void @__cxa_free_exception(ptr %494) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %40) #9
  br label %684

501:                                              ; preds = %487
  %502 = load i32, ptr %26, align 4, !tbaa !32
  %503 = icmp sge i32 %502, 0
  br i1 %503, label %514, label %504

504:                                              ; preds = %501
  call void @llvm.lifetime.start.p0(i64 256, ptr %41) #9
  %505 = getelementptr inbounds [256 x i8], ptr %41, i64 0, i64 0
  %506 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %505, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 179) #9
  %507 = call ptr @__cxa_allocate_exception(i64 16) #9
  %508 = getelementptr inbounds [256 x i8], ptr %41, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %507, ptr noundef %508)
          to label %509 unwind label %510

509:                                              ; preds = %504
  call void @__cxa_throw(ptr %507, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

510:                                              ; preds = %504
  %511 = landingpad { ptr, i32 }
          cleanup
  %512 = extractvalue { ptr, i32 } %511, 0
  store ptr %512, ptr %8, align 8
  %513 = extractvalue { ptr, i32 } %511, 1
  store i32 %513, ptr %9, align 4
  call void @__cxa_free_exception(ptr %507) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %41) #9
  br label %684

514:                                              ; preds = %501
  %515 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 15
  call void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %515, ptr noundef nonnull align 4 dereferenceable(4) %26)
  br label %516

516:                                              ; preds = %514, %484
  %517 = load i32, ptr %26, align 4, !tbaa !32
  %518 = load ptr, ptr %35, align 8, !tbaa !5
  %519 = getelementptr inbounds %class.Item, ptr %518, i32 0, i32 6
  store i32 %517, ptr %519, align 8, !tbaa !41
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #9
  store i32 0, ptr %42, align 4, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 24, ptr %43) #9
  %520 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 0
  %521 = load i32, ptr %520, align 8, !tbaa !11
  %522 = sext i32 %521 to i64
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #9
  store i32 0, ptr %44, align 4, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 1, ptr %45) #9
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #9
  invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %43, i64 noundef %522, ptr noundef nonnull align 4 dereferenceable(4) %44, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %523 unwind label %530

523:                                              ; preds = %516
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #9
  store i32 0, ptr %46, align 4, !tbaa !32
  br label %524

524:                                              ; preds = %566, %523
  %525 = load i32, ptr %46, align 4, !tbaa !32
  %526 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 0
  %527 = load i32, ptr %526, align 8, !tbaa !11
  %528 = icmp slt i32 %525, %527
  br i1 %528, label %534, label %529

529:                                              ; preds = %524
  store i32 17, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #9
  br label %569

530:                                              ; preds = %516
  %531 = landingpad { ptr, i32 }
          cleanup
  %532 = extractvalue { ptr, i32 } %531, 0
  store ptr %532, ptr %8, align 8
  %533 = extractvalue { ptr, i32 } %531, 1
  store i32 %533, ptr %9, align 4
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #9
  br label %683

534:                                              ; preds = %524
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #9
  store i32 0, ptr %47, align 4, !tbaa !32
  br label %535

535:                                              ; preds = %558, %534
  %536 = load i32, ptr %47, align 4, !tbaa !32
  %537 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 1
  %538 = load i32, ptr %537, align 4, !tbaa !31
  %539 = icmp slt i32 %536, %538
  br i1 %539, label %541, label %540

540:                                              ; preds = %535
  store i32 20, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #9
  br label %565

541:                                              ; preds = %535
  %542 = load i32, ptr %46, align 4, !tbaa !32
  %543 = sext i32 %542 to i64
  %544 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %43, i64 noundef %543) #9
  %545 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 5
  %546 = load i32, ptr %47, align 4, !tbaa !32
  %547 = sext i32 %546 to i64
  %548 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %545, i64 noundef %547) #9
  %549 = load i32, ptr %46, align 4, !tbaa !32
  %550 = sext i32 %549 to i64
  %551 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %548, i64 noundef %550) #9
  %552 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %544, ptr noundef nonnull align 4 dereferenceable(4) %551)
          to label %553 unwind label %561

553:                                              ; preds = %541
  %554 = load i32, ptr %552, align 4, !tbaa !32
  %555 = load i32, ptr %46, align 4, !tbaa !32
  %556 = sext i32 %555 to i64
  %557 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %43, i64 noundef %556) #9
  store i32 %554, ptr %557, align 4, !tbaa !32
  br label %558

558:                                              ; preds = %553
  %559 = load i32, ptr %47, align 4, !tbaa !32
  %560 = add nsw i32 %559, 1
  store i32 %560, ptr %47, align 4, !tbaa !32
  br label %535, !llvm.loop !42

561:                                              ; preds = %541
  %562 = landingpad { ptr, i32 }
          cleanup
  %563 = extractvalue { ptr, i32 } %562, 0
  store ptr %563, ptr %8, align 8
  %564 = extractvalue { ptr, i32 } %562, 1
  store i32 %564, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #9
  br label %682

565:                                              ; preds = %540
  br label %566

566:                                              ; preds = %565
  %567 = load i32, ptr %46, align 4, !tbaa !32
  %568 = add nsw i32 %567, 1
  store i32 %568, ptr %46, align 4, !tbaa !32
  br label %524, !llvm.loop !43

569:                                              ; preds = %529
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #9
  store i32 0, ptr %48, align 4, !tbaa !32
  br label %570

570:                                              ; preds = %606, %569
  %571 = load i32, ptr %48, align 4, !tbaa !32
  %572 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 0
  %573 = load i32, ptr %572, align 8, !tbaa !11
  %574 = icmp slt i32 %571, %573
  br i1 %574, label %576, label %575

575:                                              ; preds = %570
  store i32 23, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #9
  br label %609

576:                                              ; preds = %570
  %577 = load i32, ptr %48, align 4, !tbaa !32
  %578 = sext i32 %577 to i64
  %579 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %43, i64 noundef %578) #9
  %580 = load i32, ptr %579, align 4, !tbaa !32
  %581 = icmp sgt i32 %580, 0
  br i1 %581, label %582, label %605

582:                                              ; preds = %576
  %583 = load ptr, ptr %35, align 8, !tbaa !5
  %584 = load i32, ptr %48, align 4, !tbaa !32
  %585 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN4ItemixEi(ptr noundef nonnull align 8 dereferenceable(72) %583, i32 noundef %584)
          to label %586 unwind label %601

586:                                              ; preds = %582
  %587 = load i32, ptr %585, align 4, !tbaa !32
  %588 = sitofp i32 %587 to double
  %589 = load i32, ptr %48, align 4, !tbaa !32
  %590 = sext i32 %589 to i64
  %591 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %43, i64 noundef %590) #9
  %592 = load i32, ptr %591, align 4, !tbaa !32
  %593 = sitofp i32 %592 to double
  %594 = fdiv double %588, %593
  %595 = fmul double %594, 1.000000e+04
  %596 = call double @llvm.round.f64(double %595)
  %597 = load i32, ptr %42, align 4, !tbaa !32
  %598 = sitofp i32 %597 to double
  %599 = fadd double %598, %596
  %600 = fptosi double %599 to i32
  store i32 %600, ptr %42, align 4, !tbaa !32
  br label %605

601:                                              ; preds = %582
  %602 = landingpad { ptr, i32 }
          cleanup
  %603 = extractvalue { ptr, i32 } %602, 0
  store ptr %603, ptr %8, align 8
  %604 = extractvalue { ptr, i32 } %602, 1
  store i32 %604, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #9
  br label %682

605:                                              ; preds = %586, %576
  br label %606

606:                                              ; preds = %605
  %607 = load i32, ptr %48, align 4, !tbaa !32
  %608 = add nsw i32 %607, 1
  store i32 %608, ptr %48, align 4, !tbaa !32
  br label %570, !llvm.loop !44

609:                                              ; preds = %575
  %610 = load ptr, ptr %35, align 8, !tbaa !5
  %611 = getelementptr inbounds %class.Item, ptr %610, i32 0, i32 6
  %612 = load i32, ptr %611, align 8, !tbaa !41
  %613 = icmp sgt i32 %612, 0
  br i1 %613, label %614, label %668

614:                                              ; preds = %609
  call void @llvm.lifetime.start.p0(i64 1, ptr %49) #9
  store i8 0, ptr %49, align 1, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #9
  store i32 0, ptr %50, align 4, !tbaa !32
  br label %615

615:                                              ; preds = %658, %614
  %616 = load i32, ptr %50, align 4, !tbaa !32
  %617 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 1
  %618 = load i32, ptr %617, align 4, !tbaa !31
  %619 = icmp slt i32 %616, %618
  br i1 %619, label %621, label %620

620:                                              ; preds = %615
  store i32 26, ptr %16, align 4
  br label %661

621:                                              ; preds = %615
  store i8 1, ptr %49, align 1, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #9
  store i32 0, ptr %51, align 4, !tbaa !32
  br label %622

622:                                              ; preds = %649, %621
  %623 = load i32, ptr %51, align 4, !tbaa !32
  %624 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 0
  %625 = load i32, ptr %624, align 8, !tbaa !11
  %626 = icmp slt i32 %623, %625
  br i1 %626, label %628, label %627

627:                                              ; preds = %622
  store i32 29, ptr %16, align 4
  br label %652

628:                                              ; preds = %622
  %629 = load ptr, ptr %35, align 8, !tbaa !5
  %630 = load i32, ptr %51, align 4, !tbaa !32
  %631 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN4ItemixEi(ptr noundef nonnull align 8 dereferenceable(72) %629, i32 noundef %630)
          to label %632 unwind label %644

632:                                              ; preds = %628
  %633 = load i32, ptr %631, align 4, !tbaa !32
  %634 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 5
  %635 = load i32, ptr %50, align 4, !tbaa !32
  %636 = sext i32 %635 to i64
  %637 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %634, i64 noundef %636) #9
  %638 = load i32, ptr %51, align 4, !tbaa !32
  %639 = sext i32 %638 to i64
  %640 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %637, i64 noundef %639) #9
  %641 = load i32, ptr %640, align 4, !tbaa !32
  %642 = icmp sgt i32 %633, %641
  br i1 %642, label %643, label %648

643:                                              ; preds = %632
  store i8 0, ptr %49, align 1, !tbaa !45
  store i32 29, ptr %16, align 4
  br label %652

644:                                              ; preds = %628
  %645 = landingpad { ptr, i32 }
          cleanup
  %646 = extractvalue { ptr, i32 } %645, 0
  store ptr %646, ptr %8, align 8
  %647 = extractvalue { ptr, i32 } %645, 1
  store i32 %647, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #9
  br label %682

648:                                              ; preds = %632
  br label %649

649:                                              ; preds = %648
  %650 = load i32, ptr %51, align 4, !tbaa !32
  %651 = add nsw i32 %650, 1
  store i32 %651, ptr %51, align 4, !tbaa !32
  br label %622, !llvm.loop !46

652:                                              ; preds = %643, %627
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #9
  br label %653

653:                                              ; preds = %652
  %654 = load i8, ptr %49, align 1, !tbaa !45, !range !47, !noundef !48
  %655 = trunc i8 %654 to i1
  br i1 %655, label %656, label %657

656:                                              ; preds = %653
  store i32 26, ptr %16, align 4
  br label %661

657:                                              ; preds = %653
  br label %658

658:                                              ; preds = %657
  %659 = load i32, ptr %50, align 4, !tbaa !32
  %660 = add nsw i32 %659, 1
  store i32 %660, ptr %50, align 4, !tbaa !32
  br label %615, !llvm.loop !49

661:                                              ; preds = %656, %620
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #9
  br label %662

662:                                              ; preds = %661
  %663 = load i8, ptr %49, align 1, !tbaa !45, !range !47, !noundef !48
  %664 = trunc i8 %663 to i1
  %665 = zext i1 %664 to i32
  %666 = load i32, ptr %32, align 4, !tbaa !32
  %667 = add nsw i32 %666, %665
  store i32 %667, ptr %32, align 4, !tbaa !32
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #9
  br label %668

668:                                              ; preds = %662, %609
  %669 = load i32, ptr %42, align 4, !tbaa !32
  %670 = load ptr, ptr %35, align 8, !tbaa !5
  %671 = getelementptr inbounds %class.Item, ptr %670, i32 0, i32 7
  store i32 %669, ptr %671, align 4, !tbaa !50
  %672 = load i32, ptr %24, align 4, !tbaa !32
  %673 = load ptr, ptr %35, align 8, !tbaa !5
  %674 = getelementptr inbounds %class.Item, ptr %673, i32 0, i32 3
  store i32 %672, ptr %674, align 4, !tbaa !51
  %675 = load i32, ptr %22, align 4, !tbaa !32
  %676 = add nsw i32 %675, 1
  store i32 %676, ptr %22, align 4, !tbaa !32
  %677 = load ptr, ptr %35, align 8, !tbaa !5
  %678 = getelementptr inbounds %class.Item, ptr %677, i32 0, i32 2
  store i32 %675, ptr %678, align 8, !tbaa !52
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %43) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #9
  br label %679

679:                                              ; preds = %668
  %680 = load i32, ptr %33, align 4, !tbaa !32
  %681 = add nsw i32 %680, 1
  store i32 %681, ptr %33, align 4, !tbaa !32
  br label %391, !llvm.loop !53

682:                                              ; preds = %644, %601, %561
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #9
  br label %683

683:                                              ; preds = %682, %530
  call void @llvm.lifetime.end.p0(i64 24, ptr %43) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #9
  br label %684

684:                                              ; preds = %683, %510, %497, %480, %469
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #9
  br label %685

685:                                              ; preds = %684, %409
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #9
  br label %707

686:                                              ; preds = %395
  %687 = load i32, ptr %26, align 4, !tbaa !32
  %688 = icmp sgt i32 %687, 0
  br i1 %688, label %689, label %703

689:                                              ; preds = %686
  %690 = load i32, ptr %32, align 4, !tbaa !32
  %691 = icmp sge i32 %690, 1
  br i1 %691, label %702, label %692

692:                                              ; preds = %689
  call void @llvm.lifetime.start.p0(i64 256, ptr %52) #9
  %693 = getelementptr inbounds [256 x i8], ptr %52, i64 0, i64 0
  %694 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %693, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.37, ptr noundef @.str.2, i32 noundef 218) #9
  %695 = call ptr @__cxa_allocate_exception(i64 16) #9
  %696 = getelementptr inbounds [256 x i8], ptr %52, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %695, ptr noundef %696)
          to label %697 unwind label %698

697:                                              ; preds = %692
  call void @__cxa_throw(ptr %695, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

698:                                              ; preds = %692
  %699 = landingpad { ptr, i32 }
          cleanup
  %700 = extractvalue { ptr, i32 } %699, 0
  store ptr %700, ptr %8, align 8
  %701 = extractvalue { ptr, i32 } %699, 1
  store i32 %701, ptr %9, align 4
  call void @__cxa_free_exception(ptr %695) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %52) #9
  br label %707

702:                                              ; preds = %689
  br label %703

703:                                              ; preds = %702, %686
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #9
  br label %704

704:                                              ; preds = %703
  %705 = load i32, ptr %24, align 4, !tbaa !32
  %706 = add nsw i32 %705, 1
  store i32 %706, ptr %24, align 4, !tbaa !32
  br label %322, !llvm.loop !54

707:                                              ; preds = %698, %685
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #9
  br label %708

708:                                              ; preds = %707, %381, %368, %354, %341
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #9
  br label %1078

709:                                              ; preds = %327
  %710 = load ptr, ptr %5, align 8, !tbaa !5
  %711 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %710, ptr noundef @.str.38)
  %712 = icmp sle i32 %711, 0
  br i1 %712, label %723, label %713

713:                                              ; preds = %709
  call void @llvm.lifetime.start.p0(i64 256, ptr %53) #9
  %714 = getelementptr inbounds [256 x i8], ptr %53, i64 0, i64 0
  %715 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %714, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.39, ptr noundef @.str.2, i32 noundef 221) #9
  %716 = call ptr @__cxa_allocate_exception(i64 16) #9
  %717 = getelementptr inbounds [256 x i8], ptr %53, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %716, ptr noundef %717)
          to label %718 unwind label %719

718:                                              ; preds = %713
  call void @__cxa_throw(ptr %716, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

719:                                              ; preds = %713
  %720 = landingpad { ptr, i32 }
          cleanup
  %721 = extractvalue { ptr, i32 } %720, 0
  store ptr %721, ptr %8, align 8
  %722 = extractvalue { ptr, i32 } %720, 1
  store i32 %722, ptr %9, align 4
  call void @__cxa_free_exception(ptr %716) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %53) #9
  br label %1078

723:                                              ; preds = %709
  call void @llvm.lifetime.start.p0(i64 256, ptr %54) #9
  br label %724

724:                                              ; preds = %1005, %723
  %725 = load ptr, ptr %5, align 8, !tbaa !5
  %726 = getelementptr inbounds [256 x i8], ptr %54, i64 0, i64 0
  %727 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %725, ptr noundef @.str.40, ptr noundef %726)
  %728 = icmp eq i32 %727, 1
  br i1 %728, label %729, label %1006

729:                                              ; preds = %724
  %730 = getelementptr inbounds [256 x i8], ptr %54, i64 0, i64 0
  %731 = call i32 @strcmp(ptr noundef %730, ptr noundef @.str.41) #11
  %732 = icmp ne i32 %731, 0
  br i1 %732, label %772, label %733

733:                                              ; preds = %729
  %734 = load ptr, ptr %5, align 8, !tbaa !5
  %735 = getelementptr inbounds [256 x i8], ptr %54, i64 0, i64 0
  %736 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %734, ptr noundef @.str.42, ptr noundef %735)
  %737 = icmp eq i32 %736, 1
  br i1 %737, label %748, label %738

738:                                              ; preds = %733
  call void @llvm.lifetime.start.p0(i64 256, ptr %55) #9
  %739 = getelementptr inbounds [256 x i8], ptr %55, i64 0, i64 0
  %740 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %739, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.43, ptr noundef @.str.2, i32 noundef 226) #9
  %741 = call ptr @__cxa_allocate_exception(i64 16) #9
  %742 = getelementptr inbounds [256 x i8], ptr %55, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %741, ptr noundef %742)
          to label %743 unwind label %744

743:                                              ; preds = %738
  call void @__cxa_throw(ptr %741, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

744:                                              ; preds = %738
  %745 = landingpad { ptr, i32 }
          cleanup
  %746 = extractvalue { ptr, i32 } %745, 0
  store ptr %746, ptr %8, align 8
  %747 = extractvalue { ptr, i32 } %745, 1
  store i32 %747, ptr %9, align 4
  call void @__cxa_free_exception(ptr %741) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %55) #9
  br label %1077

748:                                              ; preds = %733
  %749 = getelementptr inbounds [256 x i8], ptr %54, i64 0, i64 0
  %750 = load i8, ptr %749, align 16, !tbaa !37
  %751 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 12
  store i8 %750, ptr %751, align 2, !tbaa !55
  %752 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 12
  %753 = load i8, ptr %752, align 2, !tbaa !55
  %754 = sext i8 %753 to i32
  %755 = icmp eq i32 %754, 67
  br i1 %755, label %771, label %756

756:                                              ; preds = %748
  %757 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 12
  %758 = load i8, ptr %757, align 2, !tbaa !55
  %759 = sext i8 %758 to i32
  %760 = icmp eq i32 %759, 73
  br i1 %760, label %771, label %761

761:                                              ; preds = %756
  call void @llvm.lifetime.start.p0(i64 256, ptr %56) #9
  %762 = getelementptr inbounds [256 x i8], ptr %56, i64 0, i64 0
  %763 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %762, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 228) #9
  %764 = call ptr @__cxa_allocate_exception(i64 16) #9
  %765 = getelementptr inbounds [256 x i8], ptr %56, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %764, ptr noundef %765)
          to label %766 unwind label %767

766:                                              ; preds = %761
  call void @__cxa_throw(ptr %764, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

767:                                              ; preds = %761
  %768 = landingpad { ptr, i32 }
          cleanup
  %769 = extractvalue { ptr, i32 } %768, 0
  store ptr %769, ptr %8, align 8
  %770 = extractvalue { ptr, i32 } %768, 1
  store i32 %770, ptr %9, align 4
  call void @__cxa_free_exception(ptr %764) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %56) #9
  br label %1077

771:                                              ; preds = %756, %748
  br label %1005

772:                                              ; preds = %729
  %773 = getelementptr inbounds [256 x i8], ptr %54, i64 0, i64 0
  %774 = call i32 @strcmp(ptr noundef %773, ptr noundef @.str.45) #11
  %775 = icmp ne i32 %774, 0
  br i1 %775, label %880, label %776

776:                                              ; preds = %772
  %777 = load ptr, ptr %5, align 8, !tbaa !5
  %778 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %777, ptr noundef @.str.46)
  %779 = icmp eq i32 %778, 0
  br i1 %779, label %790, label %780

780:                                              ; preds = %776
  call void @llvm.lifetime.start.p0(i64 256, ptr %57) #9
  %781 = getelementptr inbounds [256 x i8], ptr %57, i64 0, i64 0
  %782 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %781, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.47, ptr noundef @.str.2, i32 noundef 230) #9
  %783 = call ptr @__cxa_allocate_exception(i64 16) #9
  %784 = getelementptr inbounds [256 x i8], ptr %57, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %783, ptr noundef %784)
          to label %785 unwind label %786

785:                                              ; preds = %780
  call void @__cxa_throw(ptr %783, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

786:                                              ; preds = %780
  %787 = landingpad { ptr, i32 }
          cleanup
  %788 = extractvalue { ptr, i32 } %787, 0
  store ptr %788, ptr %8, align 8
  %789 = extractvalue { ptr, i32 } %787, 1
  store i32 %789, ptr %9, align 4
  call void @__cxa_free_exception(ptr %783) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %57) #9
  br label %1077

790:                                              ; preds = %776
  %791 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 13
  call void @_ZNSt6vectorIcSaIcEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %791) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #9
  store i32 0, ptr %58, align 4, !tbaa !32
  br label %792

792:                                              ; preds = %861, %790
  %793 = load i32, ptr %58, align 4, !tbaa !32
  %794 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 3
  %795 = load i32, ptr %794, align 4, !tbaa !36
  %796 = icmp slt i32 %793, %795
  br i1 %796, label %798, label %797

797:                                              ; preds = %792
  store i32 34, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #9
  br label %865

798:                                              ; preds = %792
  %799 = load i32, ptr %58, align 4, !tbaa !32
  %800 = icmp ne i32 %799, 0
  br i1 %800, label %801, label %816

801:                                              ; preds = %798
  %802 = load ptr, ptr %5, align 8, !tbaa !5
  %803 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %802, ptr noundef @.str.48)
  %804 = icmp eq i32 %803, 0
  br i1 %804, label %815, label %805

805:                                              ; preds = %801
  call void @llvm.lifetime.start.p0(i64 256, ptr %59) #9
  %806 = getelementptr inbounds [256 x i8], ptr %59, i64 0, i64 0
  %807 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %806, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.49, ptr noundef @.str.2, i32 noundef 233) #9
  %808 = call ptr @__cxa_allocate_exception(i64 16) #9
  %809 = getelementptr inbounds [256 x i8], ptr %59, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %808, ptr noundef %809)
          to label %810 unwind label %811

810:                                              ; preds = %805
  call void @__cxa_throw(ptr %808, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

811:                                              ; preds = %805
  %812 = landingpad { ptr, i32 }
          cleanup
  %813 = extractvalue { ptr, i32 } %812, 0
  store ptr %813, ptr %8, align 8
  %814 = extractvalue { ptr, i32 } %812, 1
  store i32 %814, ptr %9, align 4
  call void @__cxa_free_exception(ptr %808) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %59) #9
  br label %864

815:                                              ; preds = %801
  br label %816

816:                                              ; preds = %815, %798
  %817 = load ptr, ptr %5, align 8, !tbaa !5
  %818 = getelementptr inbounds [256 x i8], ptr %54, i64 0, i64 0
  %819 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %817, ptr noundef @.str.50, ptr noundef %818)
  %820 = icmp eq i32 %819, 1
  br i1 %820, label %831, label %821

821:                                              ; preds = %816
  call void @llvm.lifetime.start.p0(i64 256, ptr %60) #9
  %822 = getelementptr inbounds [256 x i8], ptr %60, i64 0, i64 0
  %823 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %822, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.51, ptr noundef @.str.2, i32 noundef 234) #9
  %824 = call ptr @__cxa_allocate_exception(i64 16) #9
  %825 = getelementptr inbounds [256 x i8], ptr %60, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %824, ptr noundef %825)
          to label %826 unwind label %827

826:                                              ; preds = %821
  call void @__cxa_throw(ptr %824, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

827:                                              ; preds = %821
  %828 = landingpad { ptr, i32 }
          cleanup
  %829 = extractvalue { ptr, i32 } %828, 0
  store ptr %829, ptr %8, align 8
  %830 = extractvalue { ptr, i32 } %828, 1
  store i32 %830, ptr %9, align 4
  call void @__cxa_free_exception(ptr %824) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %60) #9
  br label %864

831:                                              ; preds = %816
  %832 = getelementptr inbounds [256 x i8], ptr %54, i64 0, i64 0
  %833 = call i32 @strcmp(ptr noundef %832, ptr noundef @.str.52) #11
  %834 = icmp ne i32 %833, 0
  br i1 %834, label %837, label %835

835:                                              ; preds = %831
  %836 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 13
  call void @llvm.lifetime.start.p0(i64 1, ptr %61) #9
  store i8 62, ptr %61, align 1, !tbaa !37
  call void @_ZNSt6vectorIcSaIcEE9push_backEOc(ptr noundef nonnull align 8 dereferenceable(24) %836, ptr noundef nonnull align 1 dereferenceable(1) %61)
  call void @llvm.lifetime.end.p0(i64 1, ptr %61) #9
  br label %860

837:                                              ; preds = %831
  %838 = getelementptr inbounds [256 x i8], ptr %54, i64 0, i64 0
  %839 = call i32 @strcmp(ptr noundef %838, ptr noundef @.str.53) #11
  %840 = icmp ne i32 %839, 0
  br i1 %840, label %843, label %841

841:                                              ; preds = %837
  %842 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 13
  call void @llvm.lifetime.start.p0(i64 1, ptr %62) #9
  store i8 61, ptr %62, align 1, !tbaa !37
  call void @_ZNSt6vectorIcSaIcEE9push_backEOc(ptr noundef nonnull align 8 dereferenceable(24) %842, ptr noundef nonnull align 1 dereferenceable(1) %62)
  call void @llvm.lifetime.end.p0(i64 1, ptr %62) #9
  br label %859

843:                                              ; preds = %837
  %844 = getelementptr inbounds [256 x i8], ptr %54, i64 0, i64 0
  %845 = call i32 @strcmp(ptr noundef %844, ptr noundef @.str.54) #11
  %846 = icmp ne i32 %845, 0
  br i1 %846, label %847, label %857

847:                                              ; preds = %843
  call void @llvm.lifetime.start.p0(i64 256, ptr %63) #9
  %848 = getelementptr inbounds [256 x i8], ptr %63, i64 0, i64 0
  %849 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %848, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.55, ptr noundef @.str.2, i32 noundef 240) #9
  %850 = call ptr @__cxa_allocate_exception(i64 16) #9
  %851 = getelementptr inbounds [256 x i8], ptr %63, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %850, ptr noundef %851)
          to label %852 unwind label %853

852:                                              ; preds = %847
  call void @__cxa_throw(ptr %850, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

853:                                              ; preds = %847
  %854 = landingpad { ptr, i32 }
          cleanup
  %855 = extractvalue { ptr, i32 } %854, 0
  store ptr %855, ptr %8, align 8
  %856 = extractvalue { ptr, i32 } %854, 1
  store i32 %856, ptr %9, align 4
  call void @__cxa_free_exception(ptr %850) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %63) #9
  br label %864

857:                                              ; preds = %843
  %858 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 13
  call void @llvm.lifetime.start.p0(i64 1, ptr %64) #9
  store i8 42, ptr %64, align 1, !tbaa !37
  call void @_ZNSt6vectorIcSaIcEE9push_backEOc(ptr noundef nonnull align 8 dereferenceable(24) %858, ptr noundef nonnull align 1 dereferenceable(1) %64)
  call void @llvm.lifetime.end.p0(i64 1, ptr %64) #9
  br label %859

859:                                              ; preds = %857, %841
  br label %860

860:                                              ; preds = %859, %835
  br label %861

861:                                              ; preds = %860
  %862 = load i32, ptr %58, align 4, !tbaa !32
  %863 = add nsw i32 %862, 1
  store i32 %863, ptr %58, align 4, !tbaa !32
  br label %792, !llvm.loop !56

864:                                              ; preds = %853, %827, %811
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #9
  br label %1077

865:                                              ; preds = %797
  %866 = load ptr, ptr %5, align 8, !tbaa !5
  %867 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %866, ptr noundef @.str.38)
  %868 = icmp eq i32 %867, 0
  br i1 %868, label %879, label %869

869:                                              ; preds = %865
  call void @llvm.lifetime.start.p0(i64 256, ptr %65) #9
  %870 = getelementptr inbounds [256 x i8], ptr %65, i64 0, i64 0
  %871 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %870, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.56, ptr noundef @.str.2, i32 noundef 244) #9
  %872 = call ptr @__cxa_allocate_exception(i64 16) #9
  %873 = getelementptr inbounds [256 x i8], ptr %65, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %872, ptr noundef %873)
          to label %874 unwind label %875

874:                                              ; preds = %869
  call void @__cxa_throw(ptr %872, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

875:                                              ; preds = %869
  %876 = landingpad { ptr, i32 }
          cleanup
  %877 = extractvalue { ptr, i32 } %876, 0
  store ptr %877, ptr %8, align 8
  %878 = extractvalue { ptr, i32 } %876, 1
  store i32 %878, ptr %9, align 4
  call void @__cxa_free_exception(ptr %872) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %65) #9
  br label %1077

879:                                              ; preds = %865
  br label %1004

880:                                              ; preds = %772
  %881 = getelementptr inbounds [256 x i8], ptr %54, i64 0, i64 0
  %882 = call i32 @strcmp(ptr noundef %881, ptr noundef @.str.57) #11
  %883 = icmp ne i32 %882, 0
  br i1 %883, label %918, label %884

884:                                              ; preds = %880
  %885 = load ptr, ptr %5, align 8, !tbaa !5
  %886 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 9
  %887 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %885, ptr noundef @.str.58, ptr noundef %886)
  %888 = icmp eq i32 %887, 1
  br i1 %888, label %899, label %889

889:                                              ; preds = %884
  call void @llvm.lifetime.start.p0(i64 256, ptr %66) #9
  %890 = getelementptr inbounds [256 x i8], ptr %66, i64 0, i64 0
  %891 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %890, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.59, ptr noundef @.str.2, i32 noundef 246) #9
  %892 = call ptr @__cxa_allocate_exception(i64 16) #9
  %893 = getelementptr inbounds [256 x i8], ptr %66, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %892, ptr noundef %893)
          to label %894 unwind label %895

894:                                              ; preds = %889
  call void @__cxa_throw(ptr %892, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

895:                                              ; preds = %889
  %896 = landingpad { ptr, i32 }
          cleanup
  %897 = extractvalue { ptr, i32 } %896, 0
  store ptr %897, ptr %8, align 8
  %898 = extractvalue { ptr, i32 } %896, 1
  store i32 %898, ptr %9, align 4
  call void @__cxa_free_exception(ptr %892) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %66) #9
  br label %1077

899:                                              ; preds = %884
  %900 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 9
  %901 = load i32, ptr %900, align 8, !tbaa !57
  %902 = icmp sge i32 %901, -3
  br i1 %902, label %903, label %907

903:                                              ; preds = %899
  %904 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 9
  %905 = load i32, ptr %904, align 8, !tbaa !57
  %906 = icmp sle i32 %905, -3
  br i1 %906, label %917, label %907

907:                                              ; preds = %903, %899
  call void @llvm.lifetime.start.p0(i64 256, ptr %67) #9
  %908 = getelementptr inbounds [256 x i8], ptr %67, i64 0, i64 0
  %909 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %908, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.60, ptr noundef @.str.2, i32 noundef 247) #9
  %910 = call ptr @__cxa_allocate_exception(i64 16) #9
  %911 = getelementptr inbounds [256 x i8], ptr %67, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %910, ptr noundef %911)
          to label %912 unwind label %913

912:                                              ; preds = %907
  call void @__cxa_throw(ptr %910, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

913:                                              ; preds = %907
  %914 = landingpad { ptr, i32 }
          cleanup
  %915 = extractvalue { ptr, i32 } %914, 0
  store ptr %915, ptr %8, align 8
  %916 = extractvalue { ptr, i32 } %914, 1
  store i32 %916, ptr %9, align 4
  call void @__cxa_free_exception(ptr %910) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %67) #9
  br label %1077

917:                                              ; preds = %903
  br label %1003

918:                                              ; preds = %880
  %919 = getelementptr inbounds [256 x i8], ptr %54, i64 0, i64 0
  %920 = call i32 @strcmp(ptr noundef %919, ptr noundef @.str.61) #11
  %921 = icmp ne i32 %920, 0
  br i1 %921, label %958, label %922

922:                                              ; preds = %918
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #9
  store i32 0, ptr %68, align 4, !tbaa !32
  %923 = load ptr, ptr %5, align 8, !tbaa !5
  %924 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %923, ptr noundef @.str.58, ptr noundef %68)
  %925 = icmp eq i32 %924, 1
  br i1 %925, label %936, label %926

926:                                              ; preds = %922
  call void @llvm.lifetime.start.p0(i64 256, ptr %69) #9
  %927 = getelementptr inbounds [256 x i8], ptr %69, i64 0, i64 0
  %928 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %927, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 250) #9
  %929 = call ptr @__cxa_allocate_exception(i64 16) #9
  %930 = getelementptr inbounds [256 x i8], ptr %69, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %929, ptr noundef %930)
          to label %931 unwind label %932

931:                                              ; preds = %926
  call void @__cxa_throw(ptr %929, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

932:                                              ; preds = %926
  %933 = landingpad { ptr, i32 }
          cleanup
  %934 = extractvalue { ptr, i32 } %933, 0
  store ptr %934, ptr %8, align 8
  %935 = extractvalue { ptr, i32 } %933, 1
  store i32 %935, ptr %9, align 4
  call void @__cxa_free_exception(ptr %929) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %69) #9
  br label %957

936:                                              ; preds = %922
  %937 = load i32, ptr %68, align 4, !tbaa !32
  %938 = icmp eq i32 %937, 0
  br i1 %938, label %952, label %939

939:                                              ; preds = %936
  %940 = load i32, ptr %68, align 4, !tbaa !32
  %941 = icmp eq i32 %940, 1
  br i1 %941, label %952, label %942

942:                                              ; preds = %939
  call void @llvm.lifetime.start.p0(i64 256, ptr %70) #9
  %943 = getelementptr inbounds [256 x i8], ptr %70, i64 0, i64 0
  %944 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %943, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.63, ptr noundef @.str.2, i32 noundef 251) #9
  %945 = call ptr @__cxa_allocate_exception(i64 16) #9
  %946 = getelementptr inbounds [256 x i8], ptr %70, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %945, ptr noundef %946)
          to label %947 unwind label %948

947:                                              ; preds = %942
  call void @__cxa_throw(ptr %945, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

948:                                              ; preds = %942
  %949 = landingpad { ptr, i32 }
          cleanup
  %950 = extractvalue { ptr, i32 } %949, 0
  store ptr %950, ptr %8, align 8
  %951 = extractvalue { ptr, i32 } %949, 1
  store i32 %951, ptr %9, align 4
  call void @__cxa_free_exception(ptr %945) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %70) #9
  br label %957

952:                                              ; preds = %939, %936
  %953 = load i32, ptr %68, align 4, !tbaa !32
  %954 = icmp ne i32 %953, 0
  %955 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 11
  %956 = zext i1 %954 to i8
  store i8 %956, ptr %955, align 1, !tbaa !58
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #9
  br label %1002

957:                                              ; preds = %948, %932
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #9
  br label %1077

958:                                              ; preds = %918
  %959 = getelementptr inbounds [256 x i8], ptr %54, i64 0, i64 0
  %960 = call i32 @strcmp(ptr noundef %959, ptr noundef @.str.64) #11
  %961 = icmp ne i32 %960, 0
  br i1 %961, label %998, label %962

962:                                              ; preds = %958
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #9
  store i32 0, ptr %71, align 4, !tbaa !32
  %963 = load ptr, ptr %5, align 8, !tbaa !5
  %964 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %963, ptr noundef @.str.58, ptr noundef %71)
  %965 = icmp eq i32 %964, 1
  br i1 %965, label %976, label %966

966:                                              ; preds = %962
  call void @llvm.lifetime.start.p0(i64 256, ptr %72) #9
  %967 = getelementptr inbounds [256 x i8], ptr %72, i64 0, i64 0
  %968 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %967, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 255) #9
  %969 = call ptr @__cxa_allocate_exception(i64 16) #9
  %970 = getelementptr inbounds [256 x i8], ptr %72, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %969, ptr noundef %970)
          to label %971 unwind label %972

971:                                              ; preds = %966
  call void @__cxa_throw(ptr %969, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

972:                                              ; preds = %966
  %973 = landingpad { ptr, i32 }
          cleanup
  %974 = extractvalue { ptr, i32 } %973, 0
  store ptr %974, ptr %8, align 8
  %975 = extractvalue { ptr, i32 } %973, 1
  store i32 %975, ptr %9, align 4
  call void @__cxa_free_exception(ptr %969) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %72) #9
  br label %997

976:                                              ; preds = %962
  %977 = load i32, ptr %71, align 4, !tbaa !32
  %978 = icmp eq i32 %977, 0
  br i1 %978, label %992, label %979

979:                                              ; preds = %976
  %980 = load i32, ptr %71, align 4, !tbaa !32
  %981 = icmp eq i32 %980, 1
  br i1 %981, label %992, label %982

982:                                              ; preds = %979
  call void @llvm.lifetime.start.p0(i64 256, ptr %73) #9
  %983 = getelementptr inbounds [256 x i8], ptr %73, i64 0, i64 0
  %984 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %983, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.66, ptr noundef @.str.2, i32 noundef 256) #9
  %985 = call ptr @__cxa_allocate_exception(i64 16) #9
  %986 = getelementptr inbounds [256 x i8], ptr %73, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %985, ptr noundef %986)
          to label %987 unwind label %988

987:                                              ; preds = %982
  call void @__cxa_throw(ptr %985, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

988:                                              ; preds = %982
  %989 = landingpad { ptr, i32 }
          cleanup
  %990 = extractvalue { ptr, i32 } %989, 0
  store ptr %990, ptr %8, align 8
  %991 = extractvalue { ptr, i32 } %989, 1
  store i32 %991, ptr %9, align 4
  call void @__cxa_free_exception(ptr %985) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %73) #9
  br label %997

992:                                              ; preds = %979, %976
  %993 = load i32, ptr %71, align 4, !tbaa !32
  %994 = icmp ne i32 %993, 0
  %995 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 10
  %996 = zext i1 %994 to i8
  store i8 %996, ptr %995, align 4, !tbaa !59
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #9
  br label %1001

997:                                              ; preds = %988, %972
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #9
  br label %1077

998:                                              ; preds = %958
  %999 = getelementptr inbounds [256 x i8], ptr %54, i64 0, i64 0
  %1000 = call i32 (ptr, ...) @printf(ptr noundef @.str.67, ptr noundef %999)
  call void @exit(i32 noundef 1) #12
  unreachable

1001:                                             ; preds = %992
  br label %1002

1002:                                             ; preds = %1001, %952
  br label %1003

1003:                                             ; preds = %1002, %917
  br label %1004

1004:                                             ; preds = %1003, %879
  br label %1005

1005:                                             ; preds = %1004, %771
  br label %724, !llvm.loop !60

1006:                                             ; preds = %724
  %1007 = load ptr, ptr %5, align 8, !tbaa !5
  %1008 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1007, ptr noundef @.str.68)
  %1009 = icmp sle i32 %1008, 0
  br i1 %1009, label %1020, label %1010

1010:                                             ; preds = %1006
  call void @llvm.lifetime.start.p0(i64 256, ptr %74) #9
  %1011 = getelementptr inbounds [256 x i8], ptr %74, i64 0, i64 0
  %1012 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %1011, i64 noundef 256, ptr noundef @.str, ptr noundef @.str.69, ptr noundef @.str.2, i32 noundef 263) #9
  %1013 = call ptr @__cxa_allocate_exception(i64 16) #9
  %1014 = getelementptr inbounds [256 x i8], ptr %74, i64 0, i64 0
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %1013, ptr noundef %1014)
          to label %1015 unwind label %1016

1015:                                             ; preds = %1010
  call void @__cxa_throw(ptr %1013, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
  unreachable

1016:                                             ; preds = %1010
  %1017 = landingpad { ptr, i32 }
          cleanup
  %1018 = extractvalue { ptr, i32 } %1017, 0
  store ptr %1018, ptr %8, align 8
  %1019 = extractvalue { ptr, i32 } %1017, 1
  store i32 %1019, ptr %9, align 4
  call void @__cxa_free_exception(ptr %1013) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %74) #9
  br label %1077

1020:                                             ; preds = %1006
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #9
  store i32 0, ptr %75, align 4, !tbaa !32
  br label %1021

1021:                                             ; preds = %1049, %1020
  %1022 = load i32, ptr %75, align 4, !tbaa !32
  %1023 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 3
  %1024 = load i32, ptr %1023, align 4, !tbaa !36
  %1025 = icmp slt i32 %1022, %1024
  br i1 %1025, label %1027, label %1026

1026:                                             ; preds = %1021
  store i32 37, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #9
  br label %1052

1027:                                             ; preds = %1021
  %1028 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 13
  %1029 = load i32, ptr %75, align 4, !tbaa !32
  %1030 = sext i32 %1029 to i64
  %1031 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIcSaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1028, i64 noundef %1030) #9
  %1032 = load i8, ptr %1031, align 1, !tbaa !37
  %1033 = sext i8 %1032 to i32
  %1034 = icmp eq i32 %1033, 42
  br i1 %1034, label %1035, label %1048

1035:                                             ; preds = %1027
  %1036 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 15
  %1037 = load i32, ptr %75, align 4, !tbaa !32
  %1038 = sext i32 %1037 to i64
  %1039 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1036, i64 noundef %1038) #9
  %1040 = load i32, ptr %1039, align 4, !tbaa !32
  %1041 = icmp sle i32 %1040, 1
  %1042 = zext i1 %1041 to i64
  %1043 = select i1 %1041, i8 61, i8 62
  %1044 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 13
  %1045 = load i32, ptr %75, align 4, !tbaa !32
  %1046 = sext i32 %1045 to i64
  %1047 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIcSaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1044, i64 noundef %1046) #9
  store i8 %1043, ptr %1047, align 1, !tbaa !37
  br label %1048

1048:                                             ; preds = %1035, %1027
  br label %1049

1049:                                             ; preds = %1048
  %1050 = load i32, ptr %75, align 4, !tbaa !32
  %1051 = add nsw i32 %1050, 1
  store i32 %1051, ptr %75, align 4, !tbaa !32
  br label %1021, !llvm.loop !61

1052:                                             ; preds = %1026
  %1053 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 4
  store i32 0, ptr %1053, align 8, !tbaa !62
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #9
  store i32 0, ptr %76, align 4, !tbaa !32
  br label %1054

1054:                                             ; preds = %1069, %1052
  %1055 = load i32, ptr %76, align 4, !tbaa !32
  %1056 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 3
  %1057 = load i32, ptr %1056, align 4, !tbaa !36
  %1058 = icmp slt i32 %1055, %1057
  br i1 %1058, label %1060, label %1059

1059:                                             ; preds = %1054
  store i32 40, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #9
  br label %1072

1060:                                             ; preds = %1054
  %1061 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 15
  %1062 = load i32, ptr %76, align 4, !tbaa !32
  %1063 = sext i32 %1062 to i64
  %1064 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1061, i64 noundef %1063) #9
  %1065 = load i32, ptr %1064, align 4, !tbaa !32
  %1066 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 4
  %1067 = load i32, ptr %1066, align 8, !tbaa !62
  %1068 = add nsw i32 %1067, %1065
  store i32 %1068, ptr %1066, align 8, !tbaa !62
  br label %1069

1069:                                             ; preds = %1060
  %1070 = load i32, ptr %76, align 4, !tbaa !32
  %1071 = add nsw i32 %1070, 1
  store i32 %1071, ptr %76, align 4, !tbaa !32
  br label %1054, !llvm.loop !63

1072:                                             ; preds = %1059
  %1073 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 8
  %1074 = call noundef i64 @_ZNKSt6vectorI4ItemSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1073) #9
  %1075 = trunc i64 %1074 to i32
  %1076 = getelementptr inbounds %class.Instance, ptr %77, i32 0, i32 2
  store i32 %1075, ptr %1076, align 8, !tbaa !64
  call void @llvm.lifetime.end.p0(i64 256, ptr %54) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #9
  ret void

1077:                                             ; preds = %1016, %997, %957, %913, %895, %875, %864, %786, %767, %744
  call void @llvm.lifetime.end.p0(i64 256, ptr %54) #9
  br label %1078

1078:                                             ; preds = %1077, %719, %708, %317
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #9
  br label %1079

1079:                                             ; preds = %1078, %301, %162, %148, %130, %116, %101, %87
  %1080 = load ptr, ptr %8, align 8
  %1081 = load i32, ptr %9, align 4
  %1082 = insertvalue { ptr, i32 } poison, ptr %1080, 0
  %1083 = insertvalue { ptr, i32 } %1082, i32 %1081, 1
  resume { ptr, i32 } %1083
}

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #4 align 2

declare i32 @printf(ptr noundef, ...) #2

declare i32 @__isoc99_fscanf(ptr noundef, ptr noundef, ...) #2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorI4ItemSaIS0_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24)) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorIiSaIiEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24)) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorIcSaIcEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24)) #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 4 dereferenceable(4)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIcSaIcEE9push_backEOc(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(1)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorI4ItemSaIS0_EE9push_backEOS0_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(72)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4ItemC2Ei(ptr noundef nonnull align 8 dereferenceable(72), i32 noundef) unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4ItemD2Ev(ptr noundef nonnull align 8 dereferenceable(72)) unnamed_addr #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(72) ptr @_ZNSt6vectorI4ItemSaIS0_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24)) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24)) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) #5

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.round.f64(double) #6

; Function Attrs: nounwind willreturn memory(read)
declare i32 @strcmp(ptr noundef, ptr noundef) #7

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #8

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIcSaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorI4ItemSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #4 align 2

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { "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 = { mustprogress 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 #4 = { mustprogress 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 #5 = { inlinehint mustprogress 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 #6 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { nounwind willreturn memory(read) "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 #8 = { noreturn 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 #9 = { nounwind }
attributes #10 = { noreturn }
attributes #11 = { nounwind willreturn memory(read) }
attributes #12 = { noreturn nounwind }

!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 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"_ZTS5ftype", !7, i64 0}
!11 = !{!12, !13, i64 0}
!12 = !{!"_ZTS8Instance", !13, i64 0, !13, i64 4, !13, i64 8, !13, i64 12, !13, i64 16, !14, i64 24, !18, i64 48, !18, i64 72, !22, i64 96, !13, i64 120, !26, i64 124, !26, i64 125, !7, i64 126, !27, i64 128, !18, i64 152, !18, i64 176}
!13 = !{!"int", !7, i64 0}
!14 = !{!"_ZTSSt6vectorIS_IiSaIiEESaIS1_EE", !15, i64 0}
!15 = !{!"_ZTSSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE", !16, i64 0}
!16 = !{!"_ZTSNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE12_Vector_implE", !17, i64 0}
!17 = !{!"_ZTSNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!18 = !{!"_ZTSSt6vectorIiSaIiEE", !19, i64 0}
!19 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !20, i64 0}
!20 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!22 = !{!"_ZTSSt6vectorI4ItemSaIS0_EE", !23, i64 0}
!23 = !{!"_ZTSSt12_Vector_baseI4ItemSaIS0_EE", !24, i64 0}
!24 = !{!"_ZTSNSt12_Vector_baseI4ItemSaIS0_EE12_Vector_implE", !25, i64 0}
!25 = !{!"_ZTSNSt12_Vector_baseI4ItemSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!26 = !{!"bool", !7, i64 0}
!27 = !{!"_ZTSSt6vectorIcSaIcEE", !28, i64 0}
!28 = !{!"_ZTSSt12_Vector_baseIcSaIcEE", !29, i64 0}
!29 = !{!"_ZTSNSt12_Vector_baseIcSaIcEE12_Vector_implE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseIcSaIcEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!31 = !{!12, !13, i64 4}
!32 = !{!13, !13, i64 0}
!33 = distinct !{!33, !34}
!34 = !{!"llvm.loop.mustprogress"}
!35 = distinct !{!35, !34}
!36 = !{!12, !13, i64 12}
!37 = !{!7, !7, i64 0}
!38 = !{!39, !13, i64 56}
!39 = !{!"_ZTS4Item", !18, i64 0, !18, i64 24, !13, i64 48, !13, i64 52, !13, i64 56, !13, i64 60, !13, i64 64, !13, i64 68}
!40 = distinct !{!40, !34}
!41 = !{!39, !13, i64 64}
!42 = distinct !{!42, !34}
!43 = distinct !{!43, !34}
!44 = distinct !{!44, !34}
!45 = !{!26, !26, i64 0}
!46 = distinct !{!46, !34}
!47 = !{i8 0, i8 2}
!48 = !{}
!49 = distinct !{!49, !34}
!50 = !{!39, !13, i64 68}
!51 = !{!39, !13, i64 52}
!52 = !{!39, !13, i64 48}
!53 = distinct !{!53, !34}
!54 = distinct !{!54, !34}
!55 = !{!12, !7, i64 126}
!56 = distinct !{!56, !34}
!57 = !{!12, !13, i64 120}
!58 = !{!12, !26, i64 125}
!59 = !{!12, !26, i64 124}
!60 = distinct !{!60, !34}
!61 = distinct !{!61, !34}
!62 = !{!12, !13, i64 16}
!63 = distinct !{!63, !34}
!64 = !{!12, !13, i64 8}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%class.Item = type { %"class.std::vector", %"class.std::vector", i32, i32, i32, i32, i32, i32 }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator" = type { i8 }

@.str = external hidden unnamed_addr constant [54 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [70 x i8], align 1
@_ZTISt13runtime_error = external constant ptr
@.str.8 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [36 x i8], align 1

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

; Function Attrs: nofree nounwind
declare noundef i32 @snprintf(ptr noalias nocapture noundef writeonly, i64 noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #1

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

declare void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef) unnamed_addr #2

declare i32 @__gxx_personality_v0(...)

declare void @__cxa_free_exception(ptr) local_unnamed_addr

; Function Attrs: nounwind
declare void @_ZNSt13runtime_errorD1Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3

declare void @__cxa_throw(ptr, ptr, ptr) local_unnamed_addr

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN4ItemixEi(ptr noundef nonnull align 8 dereferenceable(72), i32 noundef) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN8Instance4readEP8_IO_FILE5ftype(ptr noundef nonnull align 8 dereferenceable(200) %0, ptr noundef %1, i32 noundef %2) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca [256 x i8], align 16
  %5 = alloca [256 x i8], align 16
  %6 = alloca [256 x i8], align 16
  %7 = alloca [256 x i8], align 16
  %8 = alloca [256 x i8], align 16
  %9 = alloca [256 x i8], align 16
  %10 = alloca [256 x i8], align 16
  %11 = alloca [256 x i8], align 16
  %12 = alloca [256 x i8], align 16
  %13 = alloca [256 x i8], align 16
  %14 = alloca [256 x i8], align 16
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca [256 x i8], align 16
  %18 = alloca [256 x i8], align 16
  %19 = alloca [256 x i8], align 16
  %20 = alloca [256 x i8], align 16
  %21 = alloca i8, align 1
  %22 = alloca %class.Item, align 8
  %23 = alloca i32, align 4
  %24 = alloca [256 x i8], align 16
  %25 = alloca [256 x i8], align 16
  %26 = alloca [256 x i8], align 16
  %27 = alloca [256 x i8], align 16
  %28 = alloca [256 x i8], align 16
  %29 = alloca %"class.std::vector", align 8
  %30 = alloca i32, align 4
  %31 = alloca %"class.std::allocator", align 1
  %32 = alloca [256 x i8], align 16
  %33 = alloca [256 x i8], align 16
  %34 = alloca [256 x i8], align 16
  %35 = alloca [256 x i8], align 16
  %36 = alloca [256 x i8], align 16
  %37 = alloca [256 x i8], align 16
  %38 = alloca [256 x i8], align 16
  %39 = alloca [256 x i8], align 16
  %40 = alloca i8, align 1
  %41 = alloca i8, align 1
  %42 = alloca [256 x i8], align 16
  %43 = alloca i8, align 1
  %44 = alloca [256 x i8], align 16
  %45 = alloca [256 x i8], align 16
  %46 = alloca [256 x i8], align 16
  %47 = alloca i32, align 4
  %48 = alloca [256 x i8], align 16
  %49 = alloca [256 x i8], align 16
  %50 = alloca i32, align 4
  %51 = alloca [256 x i8], align 16
  %52 = alloca [256 x i8], align 16
  %53 = alloca [256 x i8], align 16
  %54 = tail call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.17)
  %55 = icmp eq i32 %54, 0
  br i1 %55, label %62, label %56

56:                                               ; preds = %3
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %4) #10
  %57 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %4, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 107) #10
  %58 = tail call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %58, ptr noundef nonnull %4)
          to label %59 unwind label %60

59:                                               ; preds = %56
  call void @__cxa_throw(ptr nonnull %58, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

60:                                               ; preds = %56
  %61 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %58) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %4) #10
  br label %620

62:                                               ; preds = %3
  %63 = tail call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.19)
  %64 = icmp eq i32 %63, 0
  br i1 %64, label %71, label %65

65:                                               ; preds = %62
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %5) #10
  %66 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %5, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.2, i32 noundef 108) #10
  %67 = tail call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %67, ptr noundef nonnull %5)
          to label %68 unwind label %69

68:                                               ; preds = %65
  call void @__cxa_throw(ptr nonnull %67, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

69:                                               ; preds = %65
  %70 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %67) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %5) #10
  br label %620

71:                                               ; preds = %62
  %72 = tail call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.8, ptr noundef nonnull %0)
  %73 = icmp eq i32 %72, 1
  br i1 %73, label %80, label %74

74:                                               ; preds = %71
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %6) #10
  %75 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %6, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.2, i32 noundef 109) #10
  %76 = tail call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %76, ptr noundef nonnull %6)
          to label %77 unwind label %78

77:                                               ; preds = %74
  call void @__cxa_throw(ptr nonnull %76, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

78:                                               ; preds = %74
  %79 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %76) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %6) #10
  br label %620

80:                                               ; preds = %71
  %81 = load i32, ptr %0, align 8, !tbaa !5
  %82 = icmp sgt i32 %81, 0
  br i1 %82, label %89, label %83

83:                                               ; preds = %80
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %7) #10
  %84 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %7, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 110) #10
  %85 = tail call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %85, ptr noundef nonnull %7)
          to label %86 unwind label %87

86:                                               ; preds = %83
  call void @__cxa_throw(ptr nonnull %85, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

87:                                               ; preds = %83
  %88 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %85) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %7) #10
  br label %620

89:                                               ; preds = %80
  %90 = icmp eq i32 %2, 1
  %91 = getelementptr inbounds i8, ptr %0, i64 4
  br i1 %90, label %92, label %110

92:                                               ; preds = %89
  %93 = tail call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.8, ptr noundef nonnull %91)
  %94 = icmp eq i32 %93, 1
  br i1 %94, label %101, label %95

95:                                               ; preds = %92
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %8) #10
  %96 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %8, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 113) #10
  %97 = tail call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %97, ptr noundef nonnull %8)
          to label %98 unwind label %99

98:                                               ; preds = %95
  call void @__cxa_throw(ptr nonnull %97, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

99:                                               ; preds = %95
  %100 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %97) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %8) #10
  br label %620

101:                                              ; preds = %92
  %102 = load i32, ptr %91, align 4, !tbaa !28
  %103 = icmp sgt i32 %102, 0
  br i1 %103, label %111, label %104

104:                                              ; preds = %101
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %9) #10
  %105 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %9, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.2, i32 noundef 114) #10
  %106 = tail call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %106, ptr noundef nonnull %9)
          to label %107 unwind label %108

107:                                              ; preds = %104
  call void @__cxa_throw(ptr nonnull %106, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

108:                                              ; preds = %104
  %109 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %106) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %9) #10
  br label %620

110:                                              ; preds = %89
  store i32 1, ptr %91, align 4, !tbaa !28
  br label %111

111:                                              ; preds = %101, %110
  %112 = phi i32 [ %102, %101 ], [ 1, %110 ]
  %113 = getelementptr inbounds i8, ptr %0, i64 24
  %114 = getelementptr inbounds i8, ptr %0, i64 4
  %115 = zext nneg i32 %112 to i64
  tail call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %113, i64 noundef %115)
  %116 = getelementptr inbounds i8, ptr %0, i64 48
  %117 = load i32, ptr %114, align 4, !tbaa !28
  %118 = sext i32 %117 to i64
  tail call void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %116, i64 noundef %118)
  %119 = getelementptr inbounds i8, ptr %0, i64 72
  %120 = load i32, ptr %114, align 4, !tbaa !28
  %121 = sext i32 %120 to i64
  tail call void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %119, i64 noundef %121)
  %122 = load i32, ptr %114, align 4, !tbaa !28
  %123 = icmp sgt i32 %122, 0
  br i1 %123, label %.lr.ph203, label %._crit_edge204

._crit_edge204:                                   ; preds = %186, %111
  %124 = getelementptr inbounds i8, ptr %0, i64 96
  tail call void @_ZNSt6vectorI4ItemSaIS0_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %124) #10
  %125 = getelementptr inbounds i8, ptr %0, i64 152
  tail call void @_ZNSt6vectorIiSaIiEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %125) #10
  %126 = getelementptr inbounds i8, ptr %0, i64 128
  tail call void @_ZNSt6vectorIcSaIcEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %126) #10
  %127 = getelementptr inbounds i8, ptr %0, i64 176
  tail call void @_ZNSt6vectorIiSaIiEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %127) #10
  %128 = getelementptr inbounds i8, ptr %0, i64 12
  %129 = tail call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.8, ptr noundef nonnull %128)
  %130 = icmp eq i32 %129, 1
  br i1 %130, label %.preheader180, label %190

.preheader180:                                    ; preds = %._crit_edge204
  %131 = load i32, ptr %128, align 4, !tbaa !29
  %132 = icmp sgt i32 %131, 0
  br i1 %132, label %.lr.ph230, label %._crit_edge231

.lr.ph230:                                        ; preds = %.preheader180
  %133 = icmp eq i32 %2, 0
  br label %198

.lr.ph203:                                        ; preds = %111, %186
  %indvars.iv249 = phi i64 [ %indvars.iv.next250, %186 ], [ 0, %111 ]
  %134 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %113, i64 noundef %indvars.iv249) #10
  %135 = load i32, ptr %0, align 8, !tbaa !5
  %136 = sext i32 %135 to i64
  tail call void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %134, i64 noundef %136)
  %137 = load i32, ptr %0, align 8, !tbaa !5
  %138 = icmp sgt i32 %137, 0
  br i1 %138, label %.lr.ph, label %._crit_edge

139:                                              ; preds = %154
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %140 = load i32, ptr %0, align 8, !tbaa !5
  %141 = sext i32 %140 to i64
  %142 = icmp slt i64 %indvars.iv.next, %141
  br i1 %142, label %.lr.ph, label %._crit_edge, !llvm.loop !30

._crit_edge:                                      ; preds = %139, %.lr.ph203
  %143 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %116, i64 noundef %indvars.iv249) #10
  br i1 %90, label %165, label %184

.lr.ph:                                           ; preds = %.lr.ph203, %139
  %indvars.iv = phi i64 [ %indvars.iv.next, %139 ], [ 0, %.lr.ph203 ]
  %144 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %113, i64 noundef %indvars.iv249) #10
  %145 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %144, i64 noundef %indvars.iv) #10
  %146 = tail call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.8, ptr noundef nonnull %145)
  %147 = icmp eq i32 %146, 1
  br i1 %147, label %154, label %148

148:                                              ; preds = %.lr.ph
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %10) #10
  %149 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %10, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.2, i32 noundef 125) #10
  %150 = tail call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %150, ptr noundef nonnull %10)
          to label %151 unwind label %152

151:                                              ; preds = %148
  call void @__cxa_throw(ptr nonnull %150, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

152:                                              ; preds = %148
  %153 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %150) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %10) #10
  br label %620

154:                                              ; preds = %.lr.ph
  %155 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %113, i64 noundef %indvars.iv249) #10
  %156 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %155, i64 noundef %indvars.iv) #10
  %157 = load i32, ptr %156, align 4, !tbaa !32
  %158 = icmp sgt i32 %157, -1
  br i1 %158, label %139, label %159

159:                                              ; preds = %154
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %11) #10
  %160 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %11, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.2, i32 noundef 126) #10
  %161 = tail call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %161, ptr noundef nonnull %11)
          to label %162 unwind label %163

162:                                              ; preds = %159
  call void @__cxa_throw(ptr nonnull %161, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

163:                                              ; preds = %159
  %164 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %161) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %11) #10
  br label %620

165:                                              ; preds = %._crit_edge
  %166 = tail call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.8, ptr noundef nonnull %143)
  %167 = icmp eq i32 %166, 1
  br i1 %167, label %174, label %168

168:                                              ; preds = %165
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %12) #10
  %169 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %12, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.2, i32 noundef 129) #10
  %170 = tail call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %170, ptr noundef nonnull %12)
          to label %171 unwind label %172

171:                                              ; preds = %168
  call void @__cxa_throw(ptr nonnull %170, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

172:                                              ; preds = %168
  %173 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %170) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %12) #10
  br label %620

174:                                              ; preds = %165
  %175 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %119, i64 noundef %indvars.iv249) #10
  %176 = tail call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.8, ptr noundef nonnull %175)
  %177 = icmp eq i32 %176, 1
  br i1 %177, label %186, label %178

178:                                              ; preds = %174
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %13) #10
  %179 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %13, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.2, i32 noundef 130) #10
  %180 = tail call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %180, ptr noundef nonnull %13)
          to label %181 unwind label %182

181:                                              ; preds = %178
  call void @__cxa_throw(ptr nonnull %180, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

182:                                              ; preds = %178
  %183 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %180) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %13) #10
  br label %620

184:                                              ; preds = %._crit_edge
  store i32 1, ptr %143, align 4, !tbaa !32
  %185 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %119, i64 noundef %indvars.iv249) #10
  store i32 -1, ptr %185, align 4, !tbaa !32
  br label %186

186:                                              ; preds = %184, %174
  %indvars.iv.next250 = add nuw nsw i64 %indvars.iv249, 1
  %187 = load i32, ptr %114, align 4, !tbaa !28
  %188 = sext i32 %187 to i64
  %189 = icmp slt i64 %indvars.iv.next250, %188
  br i1 %189, label %.lr.ph203, label %._crit_edge204, !llvm.loop !33

190:                                              ; preds = %._crit_edge204
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %14) #10
  %191 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %14, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.2, i32 noundef 142) #10
  %192 = tail call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %192, ptr noundef nonnull %14)
          to label %193 unwind label %194

193:                                              ; preds = %190
  call void @__cxa_throw(ptr nonnull %192, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

194:                                              ; preds = %190
  %195 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %192) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %14) #10
  br label %620

._crit_edge231:                                   ; preds = %408, %.preheader180
  %196 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.38)
  %197 = icmp slt i32 %196, 1
  br i1 %197, label %419, label %413

198:                                              ; preds = %.lr.ph230, %408
  %.0121229 = phi i32 [ 0, %.lr.ph230 ], [ %409, %408 ]
  %.0122228 = phi i32 [ 0, %.lr.ph230 ], [ %.1123.lcssa, %408 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #10
  br i1 %90, label %199, label %236

199:                                              ; preds = %198
  %200 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.8, ptr noundef nonnull %15)
  %201 = icmp eq i32 %200, 1
  br i1 %201, label %208, label %202

202:                                              ; preds = %199
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %17) #10
  %203 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %17, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 146) #10
  %204 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %204, ptr noundef nonnull %17)
          to label %205 unwind label %206

205:                                              ; preds = %202
  call void @__cxa_throw(ptr nonnull %204, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

206:                                              ; preds = %202
  %207 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %204) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %17) #10
  br label %412

208:                                              ; preds = %199
  %209 = load i32, ptr %15, align 4, !tbaa !32
  %210 = icmp sgt i32 %209, -1
  br i1 %210, label %217, label %211

211:                                              ; preds = %208
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %18) #10
  %212 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %18, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 147) #10
  %213 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %213, ptr noundef nonnull %18)
          to label %214 unwind label %215

214:                                              ; preds = %211
  call void @__cxa_throw(ptr nonnull %213, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

215:                                              ; preds = %211
  %216 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %213) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %18) #10
  br label %412

217:                                              ; preds = %208
  %218 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.8, ptr noundef nonnull %16)
  %219 = icmp eq i32 %218, 1
  br i1 %219, label %226, label %220

220:                                              ; preds = %217
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %19) #10
  %221 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %19, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 148) #10
  %222 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %222, ptr noundef nonnull %19)
          to label %223 unwind label %224

223:                                              ; preds = %220
  call void @__cxa_throw(ptr nonnull %222, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

224:                                              ; preds = %220
  %225 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %222) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %19) #10
  br label %412

226:                                              ; preds = %217
  %227 = load i32, ptr %16, align 4, !tbaa !32
  %228 = icmp sgt i32 %227, -1
  br i1 %228, label %235, label %229

229:                                              ; preds = %226
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %20) #10
  %230 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %20, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.2, i32 noundef 149) #10
  %231 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %231, ptr noundef nonnull %20)
          to label %232 unwind label %233

232:                                              ; preds = %229
  call void @__cxa_throw(ptr nonnull %231, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

233:                                              ; preds = %229
  %234 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %231) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %20) #10
  br label %412

235:                                              ; preds = %226
  call void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %127, ptr noundef nonnull align 4 dereferenceable(4) %16)
  br label %237

236:                                              ; preds = %198
  store i32 1, ptr %15, align 4, !tbaa !32
  store i32 -1, ptr %16, align 4, !tbaa !32
  br label %237

237:                                              ; preds = %236, %235
  call void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %125, ptr noundef nonnull align 4 dereferenceable(4) %15)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %21) #10
  store i8 42, ptr %21, align 1, !tbaa !34
  call void @_ZNSt6vectorIcSaIcEE9push_backEOc(ptr noundef nonnull align 8 dereferenceable(24) %126, ptr noundef nonnull align 1 dereferenceable(1) %21)
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #10
  %238 = load i32, ptr %15, align 4, !tbaa !32
  %239 = icmp sgt i32 %238, 0
  br i1 %239, label %.lr.ph224, label %._crit_edge225

._crit_edge225:                                   ; preds = %392, %237
  %.1123.lcssa = phi i32 [ %.0122228, %237 ], [ %395, %392 ]
  %.0119.lcssa = phi i32 [ 0, %237 ], [ %.1120, %392 ]
  %240 = load i32, ptr %16, align 4, !tbaa !32
  %241 = icmp slt i32 %240, 1
  %242 = icmp sgt i32 %.0119.lcssa, 0
  %or.cond5 = select i1 %241, i1 true, i1 %242
  br i1 %or.cond5, label %408, label %402

.lr.ph224:                                        ; preds = %237, %392
  %.0118222 = phi i32 [ %397, %392 ], [ 0, %237 ]
  %.0119221 = phi i32 [ %.1120, %392 ], [ 0, %237 ]
  %.1123220 = phi i32 [ %395, %392 ], [ %.0122228, %237 ]
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %22) #10
  %243 = load i32, ptr %0, align 8, !tbaa !5
  call void @_ZN4ItemC2Ei(ptr noundef nonnull align 8 dereferenceable(72) %22, i32 noundef %243)
  invoke void @_ZNSt6vectorI4ItemSaIS0_EE9push_backEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %124, ptr noundef nonnull align 8 dereferenceable(72) %22)
          to label %244 unwind label %251

244:                                              ; preds = %.lr.ph224
  call void @_ZN4ItemD2Ev(ptr noundef nonnull align 8 dereferenceable(72) %22) #10
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %22) #10
  %245 = call noundef nonnull align 8 dereferenceable(72) ptr @_ZNSt6vectorI4ItemSaIS0_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %124) #10
  %246 = load i32, ptr %15, align 4, !tbaa !32
  %247 = icmp sgt i32 %246, 1
  %spec.select = select i1 %247, i32 %.0118222, i32 -1
  %248 = getelementptr inbounds i8, ptr %245, i64 56
  store i32 %spec.select, ptr %248, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #10
  store i32 0, ptr %23, align 4, !tbaa !32
  %249 = load i32, ptr %0, align 8, !tbaa !5
  %250 = icmp sgt i32 %249, 0
  br i1 %250, label %.lr.ph207, label %._crit_edge208

251:                                              ; preds = %.lr.ph224
  %252 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4ItemD2Ev(ptr noundef nonnull align 8 dereferenceable(72) %22) #10
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %22) #10
  br label %412

.lr.ph207:                                        ; preds = %244
  %253 = getelementptr inbounds i8, ptr %245, i64 24
  br label %256

._crit_edge208:                                   ; preds = %282, %244
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #10
  %254 = getelementptr inbounds i8, ptr %245, i64 24
  %255 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %254) #10
  br i1 %255, label %288, label %294

256:                                              ; preds = %.lr.ph207, %282
  %storemerge205 = phi i32 [ 0, %.lr.ph207 ], [ %284, %282 ]
  %257 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN4ItemixEi(ptr noundef nonnull align 8 dereferenceable(72) %245, i32 noundef %storemerge205)
  %258 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.8, ptr noundef nonnull %257)
  %259 = icmp eq i32 %258, 1
  br i1 %259, label %266, label %260

260:                                              ; preds = %256
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %24) #10
  %261 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %24, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.2, i32 noundef 169) #10
  %262 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %262, ptr noundef nonnull %24)
          to label %263 unwind label %264

263:                                              ; preds = %260
  call void @__cxa_throw(ptr nonnull %262, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

264:                                              ; preds = %260
  %265 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %262) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %24) #10
  br label %287

266:                                              ; preds = %256
  %267 = load i32, ptr %23, align 4, !tbaa !32
  %268 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN4ItemixEi(ptr noundef nonnull align 8 dereferenceable(72) %245, i32 noundef %267)
  %269 = load i32, ptr %268, align 4, !tbaa !32
  %270 = icmp sgt i32 %269, -1
  br i1 %270, label %277, label %271

271:                                              ; preds = %266
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %25) #10
  %272 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %25, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.2, i32 noundef 170) #10
  %273 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %273, ptr noundef nonnull %25)
          to label %274 unwind label %275

274:                                              ; preds = %271
  call void @__cxa_throw(ptr nonnull %273, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

275:                                              ; preds = %271
  %276 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %273) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %25) #10
  br label %287

277:                                              ; preds = %266
  %278 = load i32, ptr %23, align 4, !tbaa !32
  %279 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN4ItemixEi(ptr noundef nonnull align 8 dereferenceable(72) %245, i32 noundef %278)
  %280 = load i32, ptr %279, align 4, !tbaa !32
  %.not168 = icmp eq i32 %280, 0
  br i1 %.not168, label %282, label %281

281:                                              ; preds = %277
  call void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %253, ptr noundef nonnull align 4 dereferenceable(4) %23)
  br label %282

282:                                              ; preds = %277, %281
  %283 = load i32, ptr %23, align 4, !tbaa !32
  %284 = add nsw i32 %283, 1
  store i32 %284, ptr %23, align 4, !tbaa !32
  %285 = load i32, ptr %0, align 8, !tbaa !5
  %286 = icmp slt i32 %284, %285
  br i1 %286, label %256, label %._crit_edge208, !llvm.loop !35

287:                                              ; preds = %275, %264
  %.pn161 = phi { ptr, i32 } [ %276, %275 ], [ %265, %264 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #10
  br label %412

288:                                              ; preds = %._crit_edge208
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %26) #10
  %289 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %26, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.2, i32 noundef 175) #10
  %290 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %290, ptr noundef nonnull %26)
          to label %291 unwind label %292

291:                                              ; preds = %288
  call void @__cxa_throw(ptr nonnull %290, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

292:                                              ; preds = %288
  %293 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %290) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %26) #10
  br label %412

294:                                              ; preds = %._crit_edge208
  br i1 %133, label %295, label %314

295:                                              ; preds = %294
  %296 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.8, ptr noundef nonnull %16)
  %297 = icmp eq i32 %296, 1
  br i1 %297, label %304, label %298

298:                                              ; preds = %295
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %27) #10
  %299 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %27, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 178) #10
  %300 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %300, ptr noundef nonnull %27)
          to label %301 unwind label %302

301:                                              ; preds = %298
  call void @__cxa_throw(ptr nonnull %300, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

302:                                              ; preds = %298
  %303 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %300) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %27) #10
  br label %412

304:                                              ; preds = %295
  %305 = load i32, ptr %16, align 4, !tbaa !32
  %306 = icmp sgt i32 %305, -1
  br i1 %306, label %313, label %307

307:                                              ; preds = %304
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %28) #10
  %308 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %28, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.2, i32 noundef 179) #10
  %309 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %309, ptr noundef nonnull %28)
          to label %310 unwind label %311

310:                                              ; preds = %307
  call void @__cxa_throw(ptr nonnull %309, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

311:                                              ; preds = %307
  %312 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %309) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %28) #10
  br label %412

313:                                              ; preds = %304
  call void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %127, ptr noundef nonnull align 4 dereferenceable(4) %16)
  br label %314

314:                                              ; preds = %313, %294
  %315 = load i32, ptr %16, align 4, !tbaa !32
  %316 = getelementptr inbounds i8, ptr %245, i64 64
  store i32 %315, ptr %316, align 8, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %29) #10
  %317 = load i32, ptr %0, align 8, !tbaa !5
  %318 = sext i32 %317 to i64
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %30) #10
  store i32 0, ptr %30, align 4, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #10
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #10
  invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %318, ptr noundef nonnull align 4 dereferenceable(4) %30, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %319 unwind label %328

319:                                              ; preds = %314
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #10
  %320 = load i32, ptr %0, align 8, !tbaa !5
  %321 = icmp sgt i32 %320, 0
  br i1 %321, label %.preheader176.lr.ph, label %._crit_edge216

.preheader176.lr.ph:                              ; preds = %319
  %322 = load i32, ptr %114, align 4, !tbaa !28
  %323 = icmp sgt i32 %322, 0
  br i1 %323, label %.preheader176, label %.lr.ph215.preheader

.preheader179:                                    ; preds = %._crit_edge211
  %324 = icmp sgt i32 %330, 0
  br i1 %324, label %.lr.ph215.preheader, label %._crit_edge216

.lr.ph215.preheader:                              ; preds = %.preheader176.lr.ph, %.preheader179
  br label %.lr.ph215

.preheader176:                                    ; preds = %.preheader176.lr.ph, %._crit_edge211
  %325 = phi i32 [ %330, %._crit_edge211 ], [ %320, %.preheader176.lr.ph ]
  %326 = phi i32 [ %331, %._crit_edge211 ], [ %322, %.preheader176.lr.ph ]
  %indvars.iv255 = phi i64 [ %indvars.iv.next256, %._crit_edge211 ], [ 0, %.preheader176.lr.ph ]
  %327 = icmp sgt i32 %326, 0
  br i1 %327, label %.lr.ph210, label %._crit_edge211

328:                                              ; preds = %314
  %329 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #10
  br label %401

._crit_edge211.loopexit:                          ; preds = %.lr.ph210
  %.pre = load i32, ptr %0, align 8, !tbaa !5
  br label %._crit_edge211

._crit_edge211:                                   ; preds = %._crit_edge211.loopexit, %.preheader176
  %330 = phi i32 [ %.pre, %._crit_edge211.loopexit ], [ %325, %.preheader176 ]
  %331 = phi i32 [ %340, %._crit_edge211.loopexit ], [ %326, %.preheader176 ]
  %indvars.iv.next256 = add nuw nsw i64 %indvars.iv255, 1
  %332 = sext i32 %330 to i64
  %333 = icmp slt i64 %indvars.iv.next256, %332
  br i1 %333, label %.preheader176, label %.preheader179, !llvm.loop !38

.lr.ph210:                                        ; preds = %.preheader176, %.lr.ph210
  %indvars.iv252 = phi i64 [ %indvars.iv.next253, %.lr.ph210 ], [ 0, %.preheader176 ]
  %334 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %indvars.iv255) #10
  %335 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %113, i64 noundef %indvars.iv252) #10
  %336 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %335, i64 noundef %indvars.iv255) #10
  %337 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %334, ptr noundef nonnull align 4 dereferenceable(4) %336)
  %338 = load i32, ptr %337, align 4, !tbaa !32
  %339 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %indvars.iv255) #10
  store i32 %338, ptr %339, align 4, !tbaa !32
  %indvars.iv.next253 = add nuw nsw i64 %indvars.iv252, 1
  %340 = load i32, ptr %114, align 4, !tbaa !28
  %341 = sext i32 %340 to i64
  %342 = icmp slt i64 %indvars.iv.next253, %341
  br i1 %342, label %.lr.ph210, label %._crit_edge211.loopexit, !llvm.loop !40

._crit_edge216:                                   ; preds = %367, %319, %.preheader179
  %.0113.lcssa = phi i32 [ 0, %.preheader179 ], [ 0, %319 ], [ %.1114, %367 ]
  %343 = load i32, ptr %316, align 8, !tbaa !36
  %344 = icmp sgt i32 %343, 0
  br i1 %344, label %.preheader177, label %392

.preheader177:                                    ; preds = %._crit_edge216
  %345 = load i32, ptr %114, align 4, !tbaa !28
  %346 = icmp sgt i32 %345, 0
  br i1 %346, label %.preheader175, label %.thread

.lr.ph215:                                        ; preds = %.lr.ph215.preheader, %367
  %indvars.iv258 = phi i64 [ %indvars.iv.next259, %367 ], [ 0, %.lr.ph215.preheader ]
  %.0113213 = phi i32 [ %.1114, %367 ], [ 0, %.lr.ph215.preheader ]
  %347 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %indvars.iv258) #10
  %348 = load i32, ptr %347, align 4, !tbaa !32
  %349 = icmp sgt i32 %348, 0
  br i1 %349, label %350, label %367

350:                                              ; preds = %.lr.ph215
  %351 = trunc nuw nsw i64 %indvars.iv258 to i32
  %352 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN4ItemixEi(ptr noundef nonnull align 8 dereferenceable(72) %245, i32 noundef %351)
          to label %353 unwind label %365

353:                                              ; preds = %350
  %354 = load i32, ptr %352, align 4, !tbaa !32
  %355 = sitofp i32 %354 to double
  %356 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %indvars.iv258) #10
  %357 = load i32, ptr %356, align 4, !tbaa !32
  %358 = sitofp i32 %357 to double
  %359 = fdiv double %355, %358
  %360 = fmul double %359, 1.000000e+04
  %361 = call double @llvm.round.f64(double %360)
  %362 = sitofp i32 %.0113213 to double
  %363 = fadd double %361, %362
  %364 = fptosi double %363 to i32
  br label %367

365:                                              ; preds = %350
  %366 = landingpad { ptr, i32 }
          cleanup
  br label %400

367:                                              ; preds = %.lr.ph215, %353
  %.1114 = phi i32 [ %364, %353 ], [ %.0113213, %.lr.ph215 ]
  %indvars.iv.next259 = add nuw nsw i64 %indvars.iv258, 1
  %368 = load i32, ptr %0, align 8, !tbaa !5
  %369 = sext i32 %368 to i64
  %370 = icmp slt i64 %indvars.iv.next259, %369
  br i1 %370, label %.lr.ph215, label %._crit_edge216, !llvm.loop !41

.preheader175:                                    ; preds = %.preheader177, %387
  %indvars.iv264 = phi i64 [ %indvars.iv.next265, %387 ], [ 0, %.preheader177 ]
  %371 = load i32, ptr %0, align 8, !tbaa !5
  %372 = icmp sgt i32 %371, 0
  br i1 %372, label %.lr.ph218, label %.thread

373:                                              ; preds = %379
  %indvars.iv.next262 = add nuw nsw i64 %indvars.iv261, 1
  %374 = load i32, ptr %0, align 8, !tbaa !5
  %375 = sext i32 %374 to i64
  %376 = icmp slt i64 %indvars.iv.next262, %375
  br i1 %376, label %.lr.ph218, label %.thread, !llvm.loop !42

.lr.ph218:                                        ; preds = %.preheader175, %373
  %indvars.iv261 = phi i64 [ %indvars.iv.next262, %373 ], [ 0, %.preheader175 ]
  %377 = trunc nuw nsw i64 %indvars.iv261 to i32
  %378 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN4ItemixEi(ptr noundef nonnull align 8 dereferenceable(72) %245, i32 noundef %377)
          to label %379 unwind label %385

379:                                              ; preds = %.lr.ph218
  %380 = load i32, ptr %378, align 4, !tbaa !32
  %381 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %113, i64 noundef %indvars.iv264) #10
  %382 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %381, i64 noundef %indvars.iv261) #10
  %383 = load i32, ptr %382, align 4, !tbaa !32
  %384 = icmp sgt i32 %380, %383
  br i1 %384, label %387, label %373

385:                                              ; preds = %.lr.ph218
  %386 = landingpad { ptr, i32 }
          cleanup
  br label %400

387:                                              ; preds = %379
  %indvars.iv.next265 = add nuw nsw i64 %indvars.iv264, 1
  %388 = load i32, ptr %114, align 4, !tbaa !28
  %389 = sext i32 %388 to i64
  %390 = icmp slt i64 %indvars.iv.next265, %389
  br i1 %390, label %.preheader175, label %.thread, !llvm.loop !43

.thread:                                          ; preds = %387, %.preheader175, %373, %.preheader177
  %.2 = phi i32 [ 0, %.preheader177 ], [ 1, %373 ], [ 1, %.preheader175 ], [ 0, %387 ]
  %391 = add nsw i32 %.2, %.0119221
  br label %392

392:                                              ; preds = %.thread, %._crit_edge216
  %.1120 = phi i32 [ %391, %.thread ], [ %.0119221, %._crit_edge216 ]
  %393 = getelementptr inbounds i8, ptr %245, i64 68
  store i32 %.0113.lcssa, ptr %393, align 4, !tbaa !44
  %394 = getelementptr inbounds i8, ptr %245, i64 52
  store i32 %.0121229, ptr %394, align 4, !tbaa !45
  %395 = add nsw i32 %.1123220, 1
  %396 = getelementptr inbounds i8, ptr %245, i64 48
  store i32 %.1123220, ptr %396, align 8, !tbaa !46
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #10
  %397 = add nuw nsw i32 %.0118222, 1
  %398 = load i32, ptr %15, align 4, !tbaa !32
  %399 = icmp slt i32 %397, %398
  br i1 %399, label %.lr.ph224, label %._crit_edge225, !llvm.loop !47

400:                                              ; preds = %385, %365
  %.pn158 = phi { ptr, i32 } [ %366, %365 ], [ %386, %385 ]
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #10
  br label %401

401:                                              ; preds = %400, %328
  %.pn158.pn = phi { ptr, i32 } [ %.pn158, %400 ], [ %329, %328 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #10
  br label %412

402:                                              ; preds = %._crit_edge225
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %32) #10
  %403 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %32, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.2, i32 noundef 218) #10
  %404 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %404, ptr noundef nonnull %32)
          to label %405 unwind label %406

405:                                              ; preds = %402
  call void @__cxa_throw(ptr nonnull %404, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

406:                                              ; preds = %402
  %407 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %404) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %32) #10
  br label %412

408:                                              ; preds = %._crit_edge225
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #10
  %409 = add nuw nsw i32 %.0121229, 1
  %410 = load i32, ptr %128, align 4, !tbaa !29
  %411 = icmp slt i32 %409, %410
  br i1 %411, label %198, label %._crit_edge231, !llvm.loop !48

412:                                              ; preds = %406, %287, %292, %302, %311, %401, %251, %233, %224, %215, %206
  %.pn161.pn.pn.pn.pn = phi { ptr, i32 } [ %234, %233 ], [ %225, %224 ], [ %216, %215 ], [ %207, %206 ], [ %407, %406 ], [ %252, %251 ], [ %.pn161, %287 ], [ %293, %292 ], [ %.pn158.pn, %401 ], [ %312, %311 ], [ %303, %302 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #10
  br label %620

413:                                              ; preds = %._crit_edge231
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %33) #10
  %414 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %33, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.2, i32 noundef 221) #10
  %415 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %415, ptr noundef nonnull %33)
          to label %416 unwind label %417

416:                                              ; preds = %413
  call void @__cxa_throw(ptr nonnull %415, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

417:                                              ; preds = %413
  %418 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %415) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %33) #10
  br label %620

419:                                              ; preds = %._crit_edge231
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %34) #10
  %420 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.40, ptr noundef nonnull %34)
  %421 = icmp eq i32 %420, 1
  br i1 %421, label %.lr.ph237, label %._crit_edge238

.lr.ph237:                                        ; preds = %419
  %422 = getelementptr inbounds i8, ptr %0, i64 124
  %423 = getelementptr inbounds i8, ptr %0, i64 125
  %424 = getelementptr inbounds i8, ptr %0, i64 120
  %425 = getelementptr inbounds i8, ptr %0, i64 126
  br label %426

426:                                              ; preds = %.lr.ph237, %580
  %427 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %34, ptr noundef nonnull dereferenceable(1) @.str.41) #12
  %.not = icmp eq i32 %427, 0
  br i1 %.not, label %428, label %445

428:                                              ; preds = %426
  %429 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.42, ptr noundef nonnull %34)
  %430 = icmp eq i32 %429, 1
  br i1 %430, label %437, label %431

431:                                              ; preds = %428
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %35) #10
  %432 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %35, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.2, i32 noundef 226) #10
  %433 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %433, ptr noundef nonnull %35)
          to label %434 unwind label %435

434:                                              ; preds = %431
  call void @__cxa_throw(ptr nonnull %433, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

435:                                              ; preds = %431
  %436 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %433) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %35) #10
  br label %619

437:                                              ; preds = %428
  %438 = load i8, ptr %34, align 16, !tbaa !34
  store i8 %438, ptr %425, align 2, !tbaa !49
  switch i8 %438, label %439 [
    i8 67, label %580
    i8 73, label %580
  ]

439:                                              ; preds = %437
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %36) #10
  %440 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %36, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.2, i32 noundef 228) #10
  %441 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %441, ptr noundef nonnull %36)
          to label %442 unwind label %443

442:                                              ; preds = %439
  call void @__cxa_throw(ptr nonnull %441, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

443:                                              ; preds = %439
  %444 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %441) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %36) #10
  br label %619

445:                                              ; preds = %426
  %446 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %34, ptr noundef nonnull dereferenceable(1) @.str.45) #12
  %.not144 = icmp eq i32 %446, 0
  br i1 %.not144, label %447, label %514

447:                                              ; preds = %445
  %448 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.46)
  %449 = icmp eq i32 %448, 0
  br i1 %449, label %456, label %450

450:                                              ; preds = %447
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %37) #10
  %451 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %37, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.2, i32 noundef 230) #10
  %452 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %452, ptr noundef nonnull %37)
          to label %453 unwind label %454

453:                                              ; preds = %450
  call void @__cxa_throw(ptr nonnull %452, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

454:                                              ; preds = %450
  %455 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %452) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %37) #10
  br label %619

456:                                              ; preds = %447
  call void @_ZNSt6vectorIcSaIcEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %126) #10
  %457 = load i32, ptr %128, align 4, !tbaa !29
  %458 = icmp sgt i32 %457, 0
  br i1 %458, label %.lr.ph234.preheader, label %._crit_edge235

.lr.ph234.preheader:                              ; preds = %456
  %459 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.50, ptr noundef nonnull %34)
  %460 = icmp eq i32 %459, 1
  br i1 %460, label %461, label %.loopexit268

461:                                              ; preds = %.lr.ph234.preheader
  %462 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %34, ptr noundef nonnull dereferenceable(1) @.str.52) #12
  %.not146.peel = icmp eq i32 %462, 0
  br i1 %.not146.peel, label %469, label %463

463:                                              ; preds = %461
  %464 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %34, ptr noundef nonnull dereferenceable(1) @.str.53) #12
  %.not147.peel = icmp eq i32 %464, 0
  br i1 %.not147.peel, label %468, label %465

465:                                              ; preds = %463
  %466 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %34, ptr noundef nonnull dereferenceable(1) @.str.54) #12
  %.not148.peel = icmp eq i32 %466, 0
  br i1 %.not148.peel, label %467, label %.loopexit269

467:                                              ; preds = %465
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %43) #10
  store i8 42, ptr %43, align 1, !tbaa !34
  call void @_ZNSt6vectorIcSaIcEE9push_backEOc(ptr noundef nonnull align 8 dereferenceable(24) %126, ptr noundef nonnull align 1 dereferenceable(1) %43)
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %43) #10
  br label %470

468:                                              ; preds = %463
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %41) #10
  store i8 61, ptr %41, align 1, !tbaa !34
  call void @_ZNSt6vectorIcSaIcEE9push_backEOc(ptr noundef nonnull align 8 dereferenceable(24) %126, ptr noundef nonnull align 1 dereferenceable(1) %41)
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %41) #10
  br label %470

469:                                              ; preds = %461
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %40) #10
  store i8 62, ptr %40, align 1, !tbaa !34
  call void @_ZNSt6vectorIcSaIcEE9push_backEOc(ptr noundef nonnull align 8 dereferenceable(24) %126, ptr noundef nonnull align 1 dereferenceable(1) %40)
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #10
  br label %470

470:                                              ; preds = %469, %468, %467
  %471 = load i32, ptr %128, align 4, !tbaa !29
  %472 = icmp sgt i32 %471, 1
  br i1 %472, label %.lr.ph234.peel.next, label %._crit_edge235

._crit_edge235:                                   ; preds = %504, %470, %456
  %473 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.38)
  %474 = icmp eq i32 %473, 0
  br i1 %474, label %580, label %508

.lr.ph234.peel.next:                              ; preds = %470, %504
  %.0106232 = phi i32 [ %505, %504 ], [ 1, %470 ]
  %475 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.48)
  %476 = icmp eq i32 %475, 0
  br i1 %476, label %482, label %.loopexit

.loopexit:                                        ; preds = %.lr.ph234.peel.next
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %38) #10
  %477 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %38, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.2, i32 noundef 233) #10
  %478 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %478, ptr noundef nonnull %38)
          to label %479 unwind label %480

479:                                              ; preds = %.loopexit
  call void @__cxa_throw(ptr nonnull %478, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

480:                                              ; preds = %.loopexit
  %481 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %478) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %38) #10
  br label %619

482:                                              ; preds = %.lr.ph234.peel.next
  %483 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.50, ptr noundef nonnull %34)
  %484 = icmp eq i32 %483, 1
  br i1 %484, label %490, label %.loopexit268

.loopexit268:                                     ; preds = %.lr.ph234.preheader, %482
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %39) #10
  %485 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %39, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.2, i32 noundef 234) #10
  %486 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %486, ptr noundef nonnull %39)
          to label %487 unwind label %488

487:                                              ; preds = %.loopexit268
  call void @__cxa_throw(ptr nonnull %486, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

488:                                              ; preds = %.loopexit268
  %489 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %486) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %39) #10
  br label %619

490:                                              ; preds = %482
  %491 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %34, ptr noundef nonnull dereferenceable(1) @.str.52) #12
  %.not146 = icmp eq i32 %491, 0
  br i1 %.not146, label %492, label %493

492:                                              ; preds = %490
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %40) #10
  store i8 62, ptr %40, align 1, !tbaa !34
  call void @_ZNSt6vectorIcSaIcEE9push_backEOc(ptr noundef nonnull align 8 dereferenceable(24) %126, ptr noundef nonnull align 1 dereferenceable(1) %40)
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #10
  br label %504

493:                                              ; preds = %490
  %494 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %34, ptr noundef nonnull dereferenceable(1) @.str.53) #12
  %.not147 = icmp eq i32 %494, 0
  br i1 %.not147, label %495, label %496

495:                                              ; preds = %493
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %41) #10
  store i8 61, ptr %41, align 1, !tbaa !34
  call void @_ZNSt6vectorIcSaIcEE9push_backEOc(ptr noundef nonnull align 8 dereferenceable(24) %126, ptr noundef nonnull align 1 dereferenceable(1) %41)
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %41) #10
  br label %504

496:                                              ; preds = %493
  %497 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %34, ptr noundef nonnull dereferenceable(1) @.str.54) #12
  %.not148 = icmp eq i32 %497, 0
  br i1 %.not148, label %503, label %.loopexit269

.loopexit269:                                     ; preds = %465, %496
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %42) #10
  %498 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %42, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.2, i32 noundef 240) #10
  %499 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %499, ptr noundef nonnull %42)
          to label %500 unwind label %501

500:                                              ; preds = %.loopexit269
  call void @__cxa_throw(ptr nonnull %499, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

501:                                              ; preds = %.loopexit269
  %502 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %499) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %42) #10
  br label %619

503:                                              ; preds = %496
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %43) #10
  store i8 42, ptr %43, align 1, !tbaa !34
  call void @_ZNSt6vectorIcSaIcEE9push_backEOc(ptr noundef nonnull align 8 dereferenceable(24) %126, ptr noundef nonnull align 1 dereferenceable(1) %43)
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %43) #10
  br label %504

504:                                              ; preds = %492, %503, %495
  %505 = add nuw nsw i32 %.0106232, 1
  %506 = load i32, ptr %128, align 4, !tbaa !29
  %507 = icmp slt i32 %505, %506
  br i1 %507, label %.lr.ph234.peel.next, label %._crit_edge235, !llvm.loop !50

508:                                              ; preds = %._crit_edge235
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %44) #10
  %509 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %44, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.2, i32 noundef 244) #10
  %510 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %510, ptr noundef nonnull %44)
          to label %511 unwind label %512

511:                                              ; preds = %508
  call void @__cxa_throw(ptr nonnull %510, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

512:                                              ; preds = %508
  %513 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %510) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %44) #10
  br label %619

514:                                              ; preds = %445
  %515 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %34, ptr noundef nonnull dereferenceable(1) @.str.57) #12
  %.not150 = icmp eq i32 %515, 0
  br i1 %.not150, label %516, label %534

516:                                              ; preds = %514
  %517 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.58, ptr noundef nonnull %424)
  %518 = icmp eq i32 %517, 1
  br i1 %518, label %525, label %519

519:                                              ; preds = %516
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %45) #10
  %520 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %45, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.2, i32 noundef 246) #10
  %521 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %521, ptr noundef nonnull %45)
          to label %522 unwind label %523

522:                                              ; preds = %519
  call void @__cxa_throw(ptr nonnull %521, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

523:                                              ; preds = %519
  %524 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %521) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %45) #10
  br label %619

525:                                              ; preds = %516
  %526 = load i32, ptr %424, align 8, !tbaa !52
  %527 = icmp eq i32 %526, -3
  br i1 %527, label %580, label %528

528:                                              ; preds = %525
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %46) #10
  %529 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %46, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.2, i32 noundef 247) #10
  %530 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %530, ptr noundef nonnull %46)
          to label %531 unwind label %532

531:                                              ; preds = %528
  call void @__cxa_throw(ptr nonnull %530, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

532:                                              ; preds = %528
  %533 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %530) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %46) #10
  br label %619

534:                                              ; preds = %514
  %535 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %34, ptr noundef nonnull dereferenceable(1) @.str.61) #12
  %.not151 = icmp eq i32 %535, 0
  br i1 %.not151, label %536, label %556

536:                                              ; preds = %534
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %47) #10
  store i32 0, ptr %47, align 4, !tbaa !32
  %537 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.58, ptr noundef nonnull %47)
  %538 = icmp eq i32 %537, 1
  br i1 %538, label %545, label %539

539:                                              ; preds = %536
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %48) #10
  %540 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %48, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.2, i32 noundef 250) #10
  %541 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %541, ptr noundef nonnull %48)
          to label %542 unwind label %543

542:                                              ; preds = %539
  call void @__cxa_throw(ptr nonnull %541, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

543:                                              ; preds = %539
  %544 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %541) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %48) #10
  br label %555

545:                                              ; preds = %536
  %546 = load i32, ptr %47, align 4
  %or.cond = icmp ult i32 %546, 2
  br i1 %or.cond, label %553, label %547

547:                                              ; preds = %545
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %49) #10
  %548 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %49, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.2, i32 noundef 251) #10
  %549 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %549, ptr noundef nonnull %49)
          to label %550 unwind label %551

550:                                              ; preds = %547
  call void @__cxa_throw(ptr nonnull %549, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

551:                                              ; preds = %547
  %552 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %549) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %49) #10
  br label %555

553:                                              ; preds = %545
  %554 = trunc nuw i32 %546 to i8
  store i8 %554, ptr %423, align 1, !tbaa !53
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #10
  br label %580

555:                                              ; preds = %551, %543
  %.pn152 = phi { ptr, i32 } [ %552, %551 ], [ %544, %543 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #10
  br label %619

556:                                              ; preds = %534
  %557 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %34, ptr noundef nonnull dereferenceable(1) @.str.64) #12
  %.not154 = icmp eq i32 %557, 0
  br i1 %.not154, label %558, label %578

558:                                              ; preds = %556
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %50) #10
  store i32 0, ptr %50, align 4, !tbaa !32
  %559 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.58, ptr noundef nonnull %50)
  %560 = icmp eq i32 %559, 1
  br i1 %560, label %567, label %561

561:                                              ; preds = %558
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %51) #10
  %562 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %51, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.2, i32 noundef 255) #10
  %563 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %563, ptr noundef nonnull %51)
          to label %564 unwind label %565

564:                                              ; preds = %561
  call void @__cxa_throw(ptr nonnull %563, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

565:                                              ; preds = %561
  %566 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %563) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %51) #10
  br label %577

567:                                              ; preds = %558
  %568 = load i32, ptr %50, align 4
  %or.cond3 = icmp ult i32 %568, 2
  br i1 %or.cond3, label %575, label %569

569:                                              ; preds = %567
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %52) #10
  %570 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %52, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.2, i32 noundef 256) #10
  %571 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %571, ptr noundef nonnull %52)
          to label %572 unwind label %573

572:                                              ; preds = %569
  call void @__cxa_throw(ptr nonnull %571, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

573:                                              ; preds = %569
  %574 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %571) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %52) #10
  br label %577

575:                                              ; preds = %567
  %576 = trunc nuw i32 %568 to i8
  store i8 %576, ptr %422, align 4, !tbaa !54
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %50) #10
  br label %580

577:                                              ; preds = %573, %565
  %.pn155 = phi { ptr, i32 } [ %574, %573 ], [ %566, %565 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %50) #10
  br label %619

578:                                              ; preds = %556
  %579 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.67, ptr noundef nonnull %34)
  call void @exit(i32 noundef 1) #13
  unreachable

580:                                              ; preds = %525, %437, %437, %._crit_edge235, %553, %575
  %581 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.40, ptr noundef nonnull %34)
  %582 = icmp eq i32 %581, 1
  br i1 %582, label %426, label %._crit_edge238, !llvm.loop !55

._crit_edge238:                                   ; preds = %580, %419
  %583 = call i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1, ptr noundef nonnull @.str.68)
  %584 = icmp slt i32 %583, 1
  br i1 %584, label %.preheader, label %588

.preheader:                                       ; preds = %._crit_edge238
  %585 = load i32, ptr %128, align 4, !tbaa !29
  %586 = icmp sgt i32 %585, 0
  br i1 %586, label %.lr.ph240, label %._crit_edge241.thread

._crit_edge241.thread:                            ; preds = %.preheader
  %587 = getelementptr inbounds i8, ptr %0, i64 16
  store i32 0, ptr %587, align 8, !tbaa !56
  br label %._crit_edge245

588:                                              ; preds = %._crit_edge238
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %53) #10
  %589 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %53, i64 noundef 256, ptr noundef nonnull @.str, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.2, i32 noundef 263) #10
  %590 = call ptr @__cxa_allocate_exception(i64 16) #10
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %590, ptr noundef nonnull %53)
          to label %591 unwind label %592

591:                                              ; preds = %588
  call void @__cxa_throw(ptr nonnull %590, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #11
  unreachable

592:                                              ; preds = %588
  %593 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %590) #10
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %53) #10
  br label %619

._crit_edge241:                                   ; preds = %605
  %594 = icmp sgt i32 %606, 0
  %595 = getelementptr inbounds i8, ptr %0, i64 16
  store i32 0, ptr %595, align 8, !tbaa !56
  br i1 %594, label %.lr.ph244, label %._crit_edge245

.lr.ph240:                                        ; preds = %.preheader, %605
  %indvars.iv273 = phi i64 [ %indvars.iv.next274, %605 ], [ 0, %.preheader ]
  %596 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIcSaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %126, i64 noundef %indvars.iv273) #10
  %597 = load i8, ptr %596, align 1, !tbaa !34
  %598 = icmp eq i8 %597, 42
  br i1 %598, label %599, label %605

599:                                              ; preds = %.lr.ph240
  %600 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %127, i64 noundef %indvars.iv273) #10
  %601 = load i32, ptr %600, align 4, !tbaa !32
  %602 = icmp slt i32 %601, 2
  %603 = select i1 %602, i8 61, i8 62
  %604 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIcSaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %126, i64 noundef %indvars.iv273) #10
  store i8 %603, ptr %604, align 1, !tbaa !34
  br label %605

605:                                              ; preds = %.lr.ph240, %599
  %indvars.iv.next274 = add nuw nsw i64 %indvars.iv273, 1
  %606 = load i32, ptr %128, align 4, !tbaa !29
  %607 = sext i32 %606 to i64
  %608 = icmp slt i64 %indvars.iv.next274, %607
  br i1 %608, label %.lr.ph240, label %._crit_edge241, !llvm.loop !57

._crit_edge245:                                   ; preds = %.lr.ph244, %._crit_edge241.thread, %._crit_edge241
  %609 = call noundef i64 @_ZNKSt6vectorI4ItemSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %124) #10
  %610 = trunc i64 %609 to i32
  %611 = getelementptr inbounds i8, ptr %0, i64 8
  store i32 %610, ptr %611, align 8, !tbaa !58
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %34) #10
  ret void

.lr.ph244:                                        ; preds = %._crit_edge241, %.lr.ph244
  %indvars.iv276 = phi i64 [ %indvars.iv.next277, %.lr.ph244 ], [ 0, %._crit_edge241 ]
  %612 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %127, i64 noundef %indvars.iv276) #10
  %613 = load i32, ptr %612, align 4, !tbaa !32
  %614 = load i32, ptr %595, align 8, !tbaa !56
  %615 = add nsw i32 %614, %613
  store i32 %615, ptr %595, align 8, !tbaa !56
  %indvars.iv.next277 = add nuw nsw i64 %indvars.iv276, 1
  %616 = load i32, ptr %128, align 4, !tbaa !29
  %617 = sext i32 %616 to i64
  %618 = icmp slt i64 %indvars.iv.next277, %617
  br i1 %618, label %.lr.ph244, label %._crit_edge245, !llvm.loop !59

619:                                              ; preds = %480, %488, %501, %592, %577, %555, %532, %523, %512, %454, %443, %435
  %.pn155.pn = phi { ptr, i32 } [ %.pn155, %577 ], [ %.pn152, %555 ], [ %533, %532 ], [ %524, %523 ], [ %513, %512 ], [ %455, %454 ], [ %444, %443 ], [ %436, %435 ], [ %593, %592 ], [ %502, %501 ], [ %489, %488 ], [ %481, %480 ]
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %34) #10
  br label %620

620:                                              ; preds = %194, %412, %417, %619, %172, %182, %163, %152, %108, %99, %87, %78, %69, %60
  %.pn169.pn.pn = phi { ptr, i32 } [ %109, %108 ], [ %100, %99 ], [ %88, %87 ], [ %79, %78 ], [ %70, %69 ], [ %61, %60 ], [ %183, %182 ], [ %173, %172 ], [ %164, %163 ], [ %153, %152 ], [ %.pn161.pn.pn.pn.pn, %412 ], [ %.pn155.pn, %619 ], [ %418, %417 ], [ %195, %194 ]
  resume { ptr, i32 } %.pn169.pn.pn
}

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #5 align 2

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

declare i32 @__isoc99_fscanf(ptr noundef, ptr noundef, ...) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorI4ItemSaIS0_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorIiSaIiEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorIcSaIcEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIcSaIcEE9push_backEOc(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorI4ItemSaIS0_EE9push_backEOS0_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(72)) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4ItemC2Ei(ptr noundef nonnull align 8 dereferenceable(72), i32 noundef) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4ItemD2Ev(ptr noundef nonnull align 8 dereferenceable(72)) unnamed_addr #6 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(72) ptr @_ZNSt6vectorI4ItemSaIS0_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #6

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.round.f64(double) #7

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i32 @strcmp(ptr nocapture noundef, ptr nocapture noundef) local_unnamed_addr #8

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #9

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIcSaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorI4ItemSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #5 align 2

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { "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 "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 #4 = { mustprogress 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 #5 = { mustprogress 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 #6 = { inlinehint mustprogress 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 #7 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #8 = { mustprogress nofree nounwind willreturn memory(argmem: read) "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 #9 = { noreturn 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 #10 = { nounwind }
attributes #11 = { noreturn }
attributes #12 = { nounwind willreturn memory(read) }
attributes #13 = { noreturn nounwind }

!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 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !7, i64 0}
!6 = !{!"_ZTS8Instance", !7, i64 0, !7, i64 4, !7, i64 8, !7, i64 12, !7, i64 16, !10, i64 24, !15, i64 48, !15, i64 72, !19, i64 96, !7, i64 120, !23, i64 124, !23, i64 125, !8, i64 126, !24, i64 128, !15, i64 152, !15, i64 176}
!7 = !{!"int", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"_ZTSSt6vectorIS_IiSaIiEESaIS1_EE", !11, i64 0}
!11 = !{!"_ZTSSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE", !12, i64 0}
!12 = !{!"_ZTSNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE12_Vector_implE", !13, i64 0}
!13 = !{!"_ZTSNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!14 = !{!"any pointer", !8, i64 0}
!15 = !{!"_ZTSSt6vectorIiSaIiEE", !16, i64 0}
!16 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !17, i64 0}
!17 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !18, i64 0}
!18 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!19 = !{!"_ZTSSt6vectorI4ItemSaIS0_EE", !20, i64 0}
!20 = !{!"_ZTSSt12_Vector_baseI4ItemSaIS0_EE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseI4ItemSaIS0_EE12_Vector_implE", !22, i64 0}
!22 = !{!"_ZTSNSt12_Vector_baseI4ItemSaIS0_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!23 = !{!"bool", !8, i64 0}
!24 = !{!"_ZTSSt6vectorIcSaIcEE", !25, i64 0}
!25 = !{!"_ZTSSt12_Vector_baseIcSaIcEE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseIcSaIcEE12_Vector_implE", !27, i64 0}
!27 = !{!"_ZTSNSt12_Vector_baseIcSaIcEE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!28 = !{!6, !7, i64 4}
!29 = !{!6, !7, i64 12}
!30 = distinct !{!30, !31}
!31 = !{!"llvm.loop.mustprogress"}
!32 = !{!7, !7, i64 0}
!33 = distinct !{!33, !31}
!34 = !{!8, !8, i64 0}
!35 = distinct !{!35, !31}
!36 = !{!37, !7, i64 64}
!37 = !{!"_ZTS4Item", !15, i64 0, !15, i64 24, !7, i64 48, !7, i64 52, !7, i64 56, !7, i64 60, !7, i64 64, !7, i64 68}
!38 = distinct !{!38, !31, !39}
!39 = !{!"llvm.loop.unswitch.partial.disable"}
!40 = distinct !{!40, !31}
!41 = distinct !{!41, !31}
!42 = distinct !{!42, !31}
!43 = distinct !{!43, !31}
!44 = !{!37, !7, i64 68}
!45 = !{!37, !7, i64 52}
!46 = !{!37, !7, i64 48}
!47 = distinct !{!47, !31}
!48 = distinct !{!48, !31}
!49 = !{!6, !8, i64 126}
!50 = distinct !{!50, !31, !51}
!51 = !{!"llvm.loop.peeled.count", i32 1}
!52 = !{!6, !7, i64 120}
!53 = !{!6, !23, i64 125}
!54 = !{!6, !23, i64 124}
!55 = distinct !{!55, !31}
!56 = !{!6, !7, i64 16}
!57 = distinct !{!57, !31}
!58 = !{!6, !7, i64 8}
!59 = distinct !{!59, !31}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopFullUnrollPass,LoopInstSimplifyPass,LoopRotatePass,LoopSimplifyCFGPass,LoopSimplifyPass,LoopUnrollPass,MergedLoadStoreMotionPass,ReassociatePass,SCCPPass,SROAPass,SimpleLoopUnswitchPass,SimplifyCFGPass,TailCallElimPass