; LLVM IR from UtkarshPathrabe/Competitive-Coding :: Google APAC/2015 APAC Test Round A/Problem B Super 2048 (Super 2048)

; 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.std::basic_ofstream" = type { %"class.std::basic_ostream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::basic_filebuf" = type { %"class.std::basic_streambuf", %union.pthread_mutex_t, %"class.std::__basic_file", i32, %struct.__mbstate_t, %struct.__mbstate_t, %struct.__mbstate_t, ptr, i64, i8, i8, i8, i8, ptr, ptr, i8, ptr, ptr, i64, ptr, ptr }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::__basic_file" = type <{ ptr, i8, [7 x i8] }>
%struct.__mbstate_t = type { i32, %union.anon }
%union.anon = type { i32 }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::basic_ifstream" = type { %"class.std::basic_istream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon.0 }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon.0 = type { i64, [8 x i8] }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = 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.4" = type { %"struct.std::_Vector_base.5" }
%"struct.std::_Vector_base.5" = 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.__gnu_cxx::__normal_iterator.9" = type { ptr }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }

@.str = external hidden unnamed_addr constant [21 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [2 x i8], align 1

; Function Attrs: mustprogress norecurse uwtable
define dso_local noundef i32 @main() #0 personality ptr @__gxx_personality_v0 {
  %1 = alloca i32, align 4
  %2 = alloca %"class.std::basic_ofstream", align 8
  %3 = alloca %"class.std::basic_ifstream", align 8
  %4 = alloca ptr, align 8
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.std::vector", align 8
  %12 = alloca %"class.std::vector.4", align 8
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca %"class.__gnu_cxx::__normal_iterator.9", align 8
  %17 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %18 = alloca %"class.__gnu_cxx::__normal_iterator.9", align 8
  %19 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %20 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  store i32 0, ptr %1, align 4
  call void @llvm.lifetime.start.p0(i64 512, ptr %2) #7
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(248) %2)
  call void @llvm.lifetime.start.p0(i64 520, ptr %3) #7
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256) %3)
          to label %43 unwind label %53

43:                                               ; preds = %0
  invoke void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(248) %2, ptr noundef @.str, i32 noundef 16)
          to label %44 unwind label %57

44:                                               ; preds = %43
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %3, ptr noundef @.str.1, i32 noundef 8)
          to label %45 unwind label %57

45:                                               ; preds = %44
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #7
  %46 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 4 dereferenceable(4) %6)
          to label %47 unwind label %61

47:                                               ; preds = %45
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #7
  store i32 1, ptr %7, align 4, !tbaa !5
  br label %48

48:                                               ; preds = %820, %47
  %49 = load i32, ptr %7, align 4, !tbaa !5
  %50 = load i32, ptr %6, align 4, !tbaa !5
  %51 = icmp sle i32 %49, %50
  br i1 %51, label %65, label %52

52:                                               ; preds = %48
  store i32 2, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #7
  br label %825

53:                                               ; preds = %0
  %54 = landingpad { ptr, i32 }
          cleanup
  %55 = extractvalue { ptr, i32 } %54, 0
  store ptr %55, ptr %4, align 8
  %56 = extractvalue { ptr, i32 } %54, 1
  store i32 %56, ptr %5, align 4
  br label %831

57:                                               ; preds = %44, %43
  %58 = landingpad { ptr, i32 }
          cleanup
  %59 = extractvalue { ptr, i32 } %58, 0
  store ptr %59, ptr %4, align 8
  %60 = extractvalue { ptr, i32 } %58, 1
  store i32 %60, ptr %5, align 4
  br label %830

61:                                               ; preds = %826, %825, %45
  %62 = landingpad { ptr, i32 }
          cleanup
  %63 = extractvalue { ptr, i32 } %62, 0
  store ptr %63, ptr %4, align 8
  %64 = extractvalue { ptr, i32 } %62, 1
  store i32 %64, ptr %5, align 4
  br label %829

65:                                               ; preds = %48
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %10) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  %66 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %67 unwind label %75

67:                                               ; preds = %65
  %68 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %66, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %69 unwind label %75

69:                                               ; preds = %67
  call void @llvm.lifetime.start.p0(i64 24, ptr %11) #7
  call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %12) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #7
  store i32 0, ptr %13, align 4, !tbaa !5
  br label %70

70:                                               ; preds = %109, %69
  %71 = load i32, ptr %13, align 4, !tbaa !5
  %72 = load i32, ptr %9, align 4, !tbaa !5
  %73 = icmp slt i32 %71, %72
  br i1 %73, label %79, label %74

74:                                               ; preds = %70
  store i32 5, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #7
  br label %121

75:                                               ; preds = %67, %65
  %76 = landingpad { ptr, i32 }
          cleanup
  %77 = extractvalue { ptr, i32 } %76, 0
  store ptr %77, ptr %4, align 8
  %78 = extractvalue { ptr, i32 } %76, 1
  store i32 %78, ptr %5, align 4
  br label %824

79:                                               ; preds = %70
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #7
  store i32 0, ptr %14, align 4, !tbaa !5
  br label %80

80:                                               ; preds = %89, %79
  %81 = load i32, ptr %14, align 4, !tbaa !5
  %82 = load i32, ptr %9, align 4, !tbaa !5
  %83 = icmp slt i32 %81, %82
  br i1 %83, label %85, label %84

84:                                               ; preds = %80
  store i32 8, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #7
  br label %96

85:                                               ; preds = %80
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #7
  %86 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 4 dereferenceable(4) %15)
          to label %87 unwind label %92

87:                                               ; preds = %85
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 4 dereferenceable(4) %15)
          to label %88 unwind label %92

88:                                               ; preds = %87
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #7
  br label %89

89:                                               ; preds = %88
  %90 = load i32, ptr %14, align 4, !tbaa !5
  %91 = add nsw i32 %90, 1
  store i32 %91, ptr %14, align 4, !tbaa !5
  br label %80, !llvm.loop !9

92:                                               ; preds = %87, %85
  %93 = landingpad { ptr, i32 }
          cleanup
  %94 = extractvalue { ptr, i32 } %93, 0
  store ptr %94, ptr %4, align 8
  %95 = extractvalue { ptr, i32 } %93, 1
  store i32 %95, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #7
  br label %120

96:                                               ; preds = %84
  invoke void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %12)
          to label %97 unwind label %112

97:                                               ; preds = %96
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #7
  %98 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  %99 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %17, i32 0, i32 0
  store ptr %98, ptr %99, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2IPivEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %17) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #7
  %100 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  %101 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %19, i32 0, i32 0
  store ptr %100, ptr %101, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2IPivEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 8 dereferenceable(8) %19) #7
  %102 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.9", ptr %16, i32 0, i32 0
  %103 = load ptr, ptr %102, align 8
  %104 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.9", ptr %18, i32 0, i32 0
  %105 = load ptr, ptr %104, align 8
  %106 = invoke ptr @_ZNSt6vectorIiSaIiEE5eraseEN9__gnu_cxx17__normal_iteratorIPKiS1_EES6_(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr %103, ptr %105)
          to label %107 unwind label %116

107:                                              ; preds = %97
  %108 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %20, i32 0, i32 0
  store ptr %106, ptr %108, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #7
  br label %109

109:                                              ; preds = %107
  %110 = load i32, ptr %13, align 4, !tbaa !5
  %111 = add nsw i32 %110, 1
  store i32 %111, ptr %13, align 4, !tbaa !5
  br label %70, !llvm.loop !11

112:                                              ; preds = %96
  %113 = landingpad { ptr, i32 }
          cleanup
  %114 = extractvalue { ptr, i32 } %113, 0
  store ptr %114, ptr %4, align 8
  %115 = extractvalue { ptr, i32 } %113, 1
  store i32 %115, ptr %5, align 4
  br label %120

116:                                              ; preds = %97
  %117 = landingpad { ptr, i32 }
          cleanup
  %118 = extractvalue { ptr, i32 } %117, 0
  store ptr %118, ptr %4, align 8
  %119 = extractvalue { ptr, i32 } %117, 1
  store i32 %119, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #7
  br label %120

120:                                              ; preds = %116, %112, %92
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #7
  br label %823

121:                                              ; preds = %74
  %122 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef @.str.2) #7
  %123 = icmp eq i32 %122, 0
  br i1 %123, label %124, label %282

124:                                              ; preds = %121
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #7
  store i32 0, ptr %21, align 4, !tbaa !5
  br label %125

125:                                              ; preds = %278, %124
  %126 = load i32, ptr %21, align 4, !tbaa !5
  %127 = load i32, ptr %9, align 4, !tbaa !5
  %128 = icmp slt i32 %126, %127
  br i1 %128, label %130, label %129

129:                                              ; preds = %125
  store i32 11, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #7
  br label %281

130:                                              ; preds = %125
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #7
  %131 = load i32, ptr %9, align 4, !tbaa !5
  %132 = sub nsw i32 %131, 1
  store i32 %132, ptr %22, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #7
  %133 = load i32, ptr %9, align 4, !tbaa !5
  %134 = sub nsw i32 %133, 2
  store i32 %134, ptr %23, align 4, !tbaa !5
  br label %135

135:                                              ; preds = %203, %130
  %136 = load i32, ptr %22, align 4, !tbaa !5
  %137 = icmp sge i32 %136, 0
  br i1 %137, label %138, label %141

138:                                              ; preds = %135
  %139 = load i32, ptr %23, align 4, !tbaa !5
  %140 = icmp sge i32 %139, 0
  br label %141

141:                                              ; preds = %138, %135
  %142 = phi i1 [ false, %135 ], [ %140, %138 ]
  br i1 %142, label %144, label %143

143:                                              ; preds = %141
  store i32 14, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #7
  br label %204

144:                                              ; preds = %141
  %145 = load i32, ptr %21, align 4, !tbaa !5
  %146 = sext i32 %145 to i64
  %147 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %146) #7
  %148 = load i32, ptr %22, align 4, !tbaa !5
  %149 = sext i32 %148 to i64
  %150 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %147, i64 noundef %149) #7
  %151 = load i32, ptr %150, align 4, !tbaa !5
  %152 = load i32, ptr %21, align 4, !tbaa !5
  %153 = sext i32 %152 to i64
  %154 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %153) #7
  %155 = load i32, ptr %23, align 4, !tbaa !5
  %156 = sext i32 %155 to i64
  %157 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %154, i64 noundef %156) #7
  %158 = load i32, ptr %157, align 4, !tbaa !5
  %159 = icmp eq i32 %151, %158
  br i1 %159, label %160, label %186

160:                                              ; preds = %144
  %161 = load i32, ptr %21, align 4, !tbaa !5
  %162 = sext i32 %161 to i64
  %163 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %162) #7
  %164 = load i32, ptr %23, align 4, !tbaa !5
  %165 = sext i32 %164 to i64
  %166 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %163, i64 noundef %165) #7
  %167 = load i32, ptr %166, align 4, !tbaa !5
  %168 = load i32, ptr %21, align 4, !tbaa !5
  %169 = sext i32 %168 to i64
  %170 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %169) #7
  %171 = load i32, ptr %22, align 4, !tbaa !5
  %172 = sext i32 %171 to i64
  %173 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %170, i64 noundef %172) #7
  %174 = load i32, ptr %173, align 4, !tbaa !5
  %175 = add nsw i32 %174, %167
  store i32 %175, ptr %173, align 4, !tbaa !5
  %176 = load i32, ptr %21, align 4, !tbaa !5
  %177 = sext i32 %176 to i64
  %178 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %177) #7
  %179 = load i32, ptr %23, align 4, !tbaa !5
  %180 = sext i32 %179 to i64
  %181 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %178, i64 noundef %180) #7
  store i32 0, ptr %181, align 4, !tbaa !5
  %182 = load i32, ptr %23, align 4, !tbaa !5
  %183 = sub nsw i32 %182, 1
  store i32 %183, ptr %22, align 4, !tbaa !5
  %184 = load i32, ptr %22, align 4, !tbaa !5
  %185 = sub nsw i32 %184, 1
  store i32 %185, ptr %23, align 4, !tbaa !5
  br label %203

186:                                              ; preds = %144
  %187 = load i32, ptr %21, align 4, !tbaa !5
  %188 = sext i32 %187 to i64
  %189 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %188) #7
  %190 = load i32, ptr %23, align 4, !tbaa !5
  %191 = sext i32 %190 to i64
  %192 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %189, i64 noundef %191) #7
  %193 = load i32, ptr %192, align 4, !tbaa !5
  %194 = icmp eq i32 %193, 0
  br i1 %194, label %195, label %198

195:                                              ; preds = %186
  %196 = load i32, ptr %23, align 4, !tbaa !5
  %197 = add nsw i32 %196, -1
  store i32 %197, ptr %23, align 4, !tbaa !5
  br label %202

198:                                              ; preds = %186
  %199 = load i32, ptr %23, align 4, !tbaa !5
  store i32 %199, ptr %22, align 4, !tbaa !5
  %200 = load i32, ptr %23, align 4, !tbaa !5
  %201 = add nsw i32 %200, -1
  store i32 %201, ptr %23, align 4, !tbaa !5
  br label %202

202:                                              ; preds = %198, %195
  br label %203

203:                                              ; preds = %202, %160
  br label %135, !llvm.loop !12

204:                                              ; preds = %143
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #7
  %205 = load i32, ptr %9, align 4, !tbaa !5
  %206 = sub nsw i32 %205, 1
  store i32 %206, ptr %24, align 4, !tbaa !5
  br label %207

207:                                              ; preds = %273, %204
  %208 = load i32, ptr %24, align 4, !tbaa !5
  %209 = icmp sge i32 %208, 0
  br i1 %209, label %211, label %210

210:                                              ; preds = %207
  store i32 16, ptr %8, align 4
  br label %276

211:                                              ; preds = %207
  %212 = load i32, ptr %21, align 4, !tbaa !5
  %213 = sext i32 %212 to i64
  %214 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %213) #7
  %215 = load i32, ptr %24, align 4, !tbaa !5
  %216 = sext i32 %215 to i64
  %217 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %214, i64 noundef %216) #7
  %218 = load i32, ptr %217, align 4, !tbaa !5
  %219 = icmp eq i32 %218, 0
  br i1 %219, label %220, label %262

220:                                              ; preds = %211
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #7
  %221 = load i32, ptr %24, align 4, !tbaa !5
  %222 = sub nsw i32 %221, 1
  store i32 %222, ptr %25, align 4, !tbaa !5
  br label %223

223:                                              ; preds = %257, %220
  %224 = load i32, ptr %25, align 4, !tbaa !5
  %225 = icmp sge i32 %224, 0
  br i1 %225, label %227, label %226

226:                                              ; preds = %223
  store i32 19, ptr %8, align 4
  br label %260

227:                                              ; preds = %223
  %228 = load i32, ptr %21, align 4, !tbaa !5
  %229 = sext i32 %228 to i64
  %230 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %229) #7
  %231 = load i32, ptr %25, align 4, !tbaa !5
  %232 = sext i32 %231 to i64
  %233 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %230, i64 noundef %232) #7
  %234 = load i32, ptr %233, align 4, !tbaa !5
  %235 = icmp ne i32 %234, 0
  br i1 %235, label %236, label %256

236:                                              ; preds = %227
  %237 = load i32, ptr %21, align 4, !tbaa !5
  %238 = sext i32 %237 to i64
  %239 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %238) #7
  %240 = load i32, ptr %25, align 4, !tbaa !5
  %241 = sext i32 %240 to i64
  %242 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %239, i64 noundef %241) #7
  %243 = load i32, ptr %242, align 4, !tbaa !5
  %244 = load i32, ptr %21, align 4, !tbaa !5
  %245 = sext i32 %244 to i64
  %246 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %245) #7
  %247 = load i32, ptr %24, align 4, !tbaa !5
  %248 = sext i32 %247 to i64
  %249 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %246, i64 noundef %248) #7
  store i32 %243, ptr %249, align 4, !tbaa !5
  %250 = load i32, ptr %21, align 4, !tbaa !5
  %251 = sext i32 %250 to i64
  %252 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %251) #7
  %253 = load i32, ptr %25, align 4, !tbaa !5
  %254 = sext i32 %253 to i64
  %255 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %252, i64 noundef %254) #7
  store i32 0, ptr %255, align 4, !tbaa !5
  store i32 19, ptr %8, align 4
  br label %260

256:                                              ; preds = %227
  br label %257

257:                                              ; preds = %256
  %258 = load i32, ptr %25, align 4, !tbaa !5
  %259 = add nsw i32 %258, -1
  store i32 %259, ptr %25, align 4, !tbaa !5
  br label %223, !llvm.loop !13

260:                                              ; preds = %236, %226
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #7
  br label %261

261:                                              ; preds = %260
  br label %262

262:                                              ; preds = %261, %211
  %263 = load i32, ptr %21, align 4, !tbaa !5
  %264 = sext i32 %263 to i64
  %265 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %264) #7
  %266 = load i32, ptr %24, align 4, !tbaa !5
  %267 = sext i32 %266 to i64
  %268 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %265, i64 noundef %267) #7
  %269 = load i32, ptr %268, align 4, !tbaa !5
  %270 = icmp eq i32 %269, 0
  br i1 %270, label %271, label %272

271:                                              ; preds = %262
  store i32 16, ptr %8, align 4
  br label %276

272:                                              ; preds = %262
  br label %273

273:                                              ; preds = %272
  %274 = load i32, ptr %24, align 4, !tbaa !5
  %275 = add nsw i32 %274, -1
  store i32 %275, ptr %24, align 4, !tbaa !5
  br label %207, !llvm.loop !14

276:                                              ; preds = %271, %210
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #7
  br label %277

277:                                              ; preds = %276
  br label %278

278:                                              ; preds = %277
  %279 = load i32, ptr %21, align 4, !tbaa !5
  %280 = add nsw i32 %279, 1
  store i32 %280, ptr %21, align 4, !tbaa !5
  br label %125, !llvm.loop !15

281:                                              ; preds = %129
  br label %764

282:                                              ; preds = %121
  %283 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef @.str.3) #7
  %284 = icmp eq i32 %283, 0
  br i1 %284, label %285, label %441

285:                                              ; preds = %282
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #7
  store i32 0, ptr %26, align 4, !tbaa !5
  br label %286

286:                                              ; preds = %437, %285
  %287 = load i32, ptr %26, align 4, !tbaa !5
  %288 = load i32, ptr %9, align 4, !tbaa !5
  %289 = icmp slt i32 %287, %288
  br i1 %289, label %291, label %290

290:                                              ; preds = %286
  store i32 22, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #7
  br label %440

291:                                              ; preds = %286
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #7
  store i32 0, ptr %27, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #7
  store i32 1, ptr %28, align 4, !tbaa !5
  br label %292

292:                                              ; preds = %362, %291
  %293 = load i32, ptr %27, align 4, !tbaa !5
  %294 = load i32, ptr %9, align 4, !tbaa !5
  %295 = icmp slt i32 %293, %294
  br i1 %295, label %296, label %300

296:                                              ; preds = %292
  %297 = load i32, ptr %28, align 4, !tbaa !5
  %298 = load i32, ptr %9, align 4, !tbaa !5
  %299 = icmp slt i32 %297, %298
  br label %300

300:                                              ; preds = %296, %292
  %301 = phi i1 [ false, %292 ], [ %299, %296 ]
  br i1 %301, label %303, label %302

302:                                              ; preds = %300
  store i32 25, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #7
  br label %363

303:                                              ; preds = %300
  %304 = load i32, ptr %26, align 4, !tbaa !5
  %305 = sext i32 %304 to i64
  %306 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %305) #7
  %307 = load i32, ptr %27, align 4, !tbaa !5
  %308 = sext i32 %307 to i64
  %309 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %306, i64 noundef %308) #7
  %310 = load i32, ptr %309, align 4, !tbaa !5
  %311 = load i32, ptr %26, align 4, !tbaa !5
  %312 = sext i32 %311 to i64
  %313 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %312) #7
  %314 = load i32, ptr %28, align 4, !tbaa !5
  %315 = sext i32 %314 to i64
  %316 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %313, i64 noundef %315) #7
  %317 = load i32, ptr %316, align 4, !tbaa !5
  %318 = icmp eq i32 %310, %317
  br i1 %318, label %319, label %345

319:                                              ; preds = %303
  %320 = load i32, ptr %26, align 4, !tbaa !5
  %321 = sext i32 %320 to i64
  %322 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %321) #7
  %323 = load i32, ptr %28, align 4, !tbaa !5
  %324 = sext i32 %323 to i64
  %325 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %322, i64 noundef %324) #7
  %326 = load i32, ptr %325, align 4, !tbaa !5
  %327 = load i32, ptr %26, align 4, !tbaa !5
  %328 = sext i32 %327 to i64
  %329 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %328) #7
  %330 = load i32, ptr %27, align 4, !tbaa !5
  %331 = sext i32 %330 to i64
  %332 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %329, i64 noundef %331) #7
  %333 = load i32, ptr %332, align 4, !tbaa !5
  %334 = add nsw i32 %333, %326
  store i32 %334, ptr %332, align 4, !tbaa !5
  %335 = load i32, ptr %26, align 4, !tbaa !5
  %336 = sext i32 %335 to i64
  %337 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %336) #7
  %338 = load i32, ptr %28, align 4, !tbaa !5
  %339 = sext i32 %338 to i64
  %340 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %337, i64 noundef %339) #7
  store i32 0, ptr %340, align 4, !tbaa !5
  %341 = load i32, ptr %28, align 4, !tbaa !5
  %342 = add nsw i32 %341, 1
  store i32 %342, ptr %27, align 4, !tbaa !5
  %343 = load i32, ptr %27, align 4, !tbaa !5
  %344 = add nsw i32 %343, 1
  store i32 %344, ptr %28, align 4, !tbaa !5
  br label %362

345:                                              ; preds = %303
  %346 = load i32, ptr %26, align 4, !tbaa !5
  %347 = sext i32 %346 to i64
  %348 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %347) #7
  %349 = load i32, ptr %28, align 4, !tbaa !5
  %350 = sext i32 %349 to i64
  %351 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %348, i64 noundef %350) #7
  %352 = load i32, ptr %351, align 4, !tbaa !5
  %353 = icmp eq i32 %352, 0
  br i1 %353, label %354, label %357

354:                                              ; preds = %345
  %355 = load i32, ptr %28, align 4, !tbaa !5
  %356 = add nsw i32 %355, 1
  store i32 %356, ptr %28, align 4, !tbaa !5
  br label %361

357:                                              ; preds = %345
  %358 = load i32, ptr %28, align 4, !tbaa !5
  store i32 %358, ptr %27, align 4, !tbaa !5
  %359 = load i32, ptr %28, align 4, !tbaa !5
  %360 = add nsw i32 %359, 1
  store i32 %360, ptr %28, align 4, !tbaa !5
  br label %361

361:                                              ; preds = %357, %354
  br label %362

362:                                              ; preds = %361, %319
  br label %292, !llvm.loop !16

363:                                              ; preds = %302
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #7
  store i32 0, ptr %29, align 4, !tbaa !5
  br label %364

364:                                              ; preds = %432, %363
  %365 = load i32, ptr %29, align 4, !tbaa !5
  %366 = load i32, ptr %9, align 4, !tbaa !5
  %367 = icmp slt i32 %365, %366
  br i1 %367, label %369, label %368

368:                                              ; preds = %364
  store i32 27, ptr %8, align 4
  br label %435

369:                                              ; preds = %364
  %370 = load i32, ptr %26, align 4, !tbaa !5
  %371 = sext i32 %370 to i64
  %372 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %371) #7
  %373 = load i32, ptr %29, align 4, !tbaa !5
  %374 = sext i32 %373 to i64
  %375 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %372, i64 noundef %374) #7
  %376 = load i32, ptr %375, align 4, !tbaa !5
  %377 = icmp eq i32 %376, 0
  br i1 %377, label %378, label %421

378:                                              ; preds = %369
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #7
  %379 = load i32, ptr %29, align 4, !tbaa !5
  %380 = add nsw i32 %379, 1
  store i32 %380, ptr %30, align 4, !tbaa !5
  br label %381

381:                                              ; preds = %416, %378
  %382 = load i32, ptr %30, align 4, !tbaa !5
  %383 = load i32, ptr %9, align 4, !tbaa !5
  %384 = icmp slt i32 %382, %383
  br i1 %384, label %386, label %385

385:                                              ; preds = %381
  store i32 30, ptr %8, align 4
  br label %419

386:                                              ; preds = %381
  %387 = load i32, ptr %26, align 4, !tbaa !5
  %388 = sext i32 %387 to i64
  %389 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %388) #7
  %390 = load i32, ptr %30, align 4, !tbaa !5
  %391 = sext i32 %390 to i64
  %392 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %389, i64 noundef %391) #7
  %393 = load i32, ptr %392, align 4, !tbaa !5
  %394 = icmp ne i32 %393, 0
  br i1 %394, label %395, label %415

395:                                              ; preds = %386
  %396 = load i32, ptr %26, align 4, !tbaa !5
  %397 = sext i32 %396 to i64
  %398 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %397) #7
  %399 = load i32, ptr %30, align 4, !tbaa !5
  %400 = sext i32 %399 to i64
  %401 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %398, i64 noundef %400) #7
  %402 = load i32, ptr %401, align 4, !tbaa !5
  %403 = load i32, ptr %26, align 4, !tbaa !5
  %404 = sext i32 %403 to i64
  %405 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %404) #7
  %406 = load i32, ptr %29, align 4, !tbaa !5
  %407 = sext i32 %406 to i64
  %408 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %405, i64 noundef %407) #7
  store i32 %402, ptr %408, align 4, !tbaa !5
  %409 = load i32, ptr %26, align 4, !tbaa !5
  %410 = sext i32 %409 to i64
  %411 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %410) #7
  %412 = load i32, ptr %30, align 4, !tbaa !5
  %413 = sext i32 %412 to i64
  %414 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %411, i64 noundef %413) #7
  store i32 0, ptr %414, align 4, !tbaa !5
  store i32 30, ptr %8, align 4
  br label %419

415:                                              ; preds = %386
  br label %416

416:                                              ; preds = %415
  %417 = load i32, ptr %30, align 4, !tbaa !5
  %418 = add nsw i32 %417, 1
  store i32 %418, ptr %30, align 4, !tbaa !5
  br label %381, !llvm.loop !17

419:                                              ; preds = %395, %385
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #7
  br label %420

420:                                              ; preds = %419
  br label %421

421:                                              ; preds = %420, %369
  %422 = load i32, ptr %26, align 4, !tbaa !5
  %423 = sext i32 %422 to i64
  %424 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %423) #7
  %425 = load i32, ptr %29, align 4, !tbaa !5
  %426 = sext i32 %425 to i64
  %427 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %424, i64 noundef %426) #7
  %428 = load i32, ptr %427, align 4, !tbaa !5
  %429 = icmp eq i32 %428, 0
  br i1 %429, label %430, label %431

430:                                              ; preds = %421
  store i32 27, ptr %8, align 4
  br label %435

431:                                              ; preds = %421
  br label %432

432:                                              ; preds = %431
  %433 = load i32, ptr %29, align 4, !tbaa !5
  %434 = add nsw i32 %433, 1
  store i32 %434, ptr %29, align 4, !tbaa !5
  br label %364, !llvm.loop !18

435:                                              ; preds = %430, %368
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #7
  br label %436

436:                                              ; preds = %435
  br label %437

437:                                              ; preds = %436
  %438 = load i32, ptr %26, align 4, !tbaa !5
  %439 = add nsw i32 %438, 1
  store i32 %439, ptr %26, align 4, !tbaa !5
  br label %286, !llvm.loop !19

440:                                              ; preds = %290
  br label %763

441:                                              ; preds = %282
  %442 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef @.str.4) #7
  %443 = icmp eq i32 %442, 0
  br i1 %443, label %444, label %600

444:                                              ; preds = %441
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #7
  store i32 0, ptr %31, align 4, !tbaa !5
  br label %445

445:                                              ; preds = %596, %444
  %446 = load i32, ptr %31, align 4, !tbaa !5
  %447 = load i32, ptr %9, align 4, !tbaa !5
  %448 = icmp slt i32 %446, %447
  br i1 %448, label %450, label %449

449:                                              ; preds = %445
  store i32 33, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #7
  br label %599

450:                                              ; preds = %445
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #7
  store i32 0, ptr %32, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #7
  store i32 1, ptr %33, align 4, !tbaa !5
  br label %451

451:                                              ; preds = %521, %450
  %452 = load i32, ptr %32, align 4, !tbaa !5
  %453 = load i32, ptr %9, align 4, !tbaa !5
  %454 = icmp slt i32 %452, %453
  br i1 %454, label %455, label %459

455:                                              ; preds = %451
  %456 = load i32, ptr %33, align 4, !tbaa !5
  %457 = load i32, ptr %9, align 4, !tbaa !5
  %458 = icmp slt i32 %456, %457
  br label %459

459:                                              ; preds = %455, %451
  %460 = phi i1 [ false, %451 ], [ %458, %455 ]
  br i1 %460, label %462, label %461

461:                                              ; preds = %459
  store i32 36, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #7
  br label %522

462:                                              ; preds = %459
  %463 = load i32, ptr %32, align 4, !tbaa !5
  %464 = sext i32 %463 to i64
  %465 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %464) #7
  %466 = load i32, ptr %31, align 4, !tbaa !5
  %467 = sext i32 %466 to i64
  %468 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %465, i64 noundef %467) #7
  %469 = load i32, ptr %468, align 4, !tbaa !5
  %470 = load i32, ptr %33, align 4, !tbaa !5
  %471 = sext i32 %470 to i64
  %472 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %471) #7
  %473 = load i32, ptr %31, align 4, !tbaa !5
  %474 = sext i32 %473 to i64
  %475 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %472, i64 noundef %474) #7
  %476 = load i32, ptr %475, align 4, !tbaa !5
  %477 = icmp eq i32 %469, %476
  br i1 %477, label %478, label %504

478:                                              ; preds = %462
  %479 = load i32, ptr %33, align 4, !tbaa !5
  %480 = sext i32 %479 to i64
  %481 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %480) #7
  %482 = load i32, ptr %31, align 4, !tbaa !5
  %483 = sext i32 %482 to i64
  %484 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %481, i64 noundef %483) #7
  %485 = load i32, ptr %484, align 4, !tbaa !5
  %486 = load i32, ptr %32, align 4, !tbaa !5
  %487 = sext i32 %486 to i64
  %488 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %487) #7
  %489 = load i32, ptr %31, align 4, !tbaa !5
  %490 = sext i32 %489 to i64
  %491 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %488, i64 noundef %490) #7
  %492 = load i32, ptr %491, align 4, !tbaa !5
  %493 = add nsw i32 %492, %485
  store i32 %493, ptr %491, align 4, !tbaa !5
  %494 = load i32, ptr %33, align 4, !tbaa !5
  %495 = sext i32 %494 to i64
  %496 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %495) #7
  %497 = load i32, ptr %31, align 4, !tbaa !5
  %498 = sext i32 %497 to i64
  %499 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %496, i64 noundef %498) #7
  store i32 0, ptr %499, align 4, !tbaa !5
  %500 = load i32, ptr %33, align 4, !tbaa !5
  %501 = add nsw i32 %500, 1
  store i32 %501, ptr %32, align 4, !tbaa !5
  %502 = load i32, ptr %32, align 4, !tbaa !5
  %503 = add nsw i32 %502, 1
  store i32 %503, ptr %33, align 4, !tbaa !5
  br label %521

504:                                              ; preds = %462
  %505 = load i32, ptr %33, align 4, !tbaa !5
  %506 = sext i32 %505 to i64
  %507 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %506) #7
  %508 = load i32, ptr %31, align 4, !tbaa !5
  %509 = sext i32 %508 to i64
  %510 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %507, i64 noundef %509) #7
  %511 = load i32, ptr %510, align 4, !tbaa !5
  %512 = icmp eq i32 %511, 0
  br i1 %512, label %513, label %516

513:                                              ; preds = %504
  %514 = load i32, ptr %33, align 4, !tbaa !5
  %515 = add nsw i32 %514, 1
  store i32 %515, ptr %33, align 4, !tbaa !5
  br label %520

516:                                              ; preds = %504
  %517 = load i32, ptr %33, align 4, !tbaa !5
  store i32 %517, ptr %32, align 4, !tbaa !5
  %518 = load i32, ptr %33, align 4, !tbaa !5
  %519 = add nsw i32 %518, 1
  store i32 %519, ptr %33, align 4, !tbaa !5
  br label %520

520:                                              ; preds = %516, %513
  br label %521

521:                                              ; preds = %520, %478
  br label %451, !llvm.loop !20

522:                                              ; preds = %461
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #7
  store i32 0, ptr %34, align 4, !tbaa !5
  br label %523

523:                                              ; preds = %591, %522
  %524 = load i32, ptr %34, align 4, !tbaa !5
  %525 = load i32, ptr %9, align 4, !tbaa !5
  %526 = icmp slt i32 %524, %525
  br i1 %526, label %528, label %527

527:                                              ; preds = %523
  store i32 38, ptr %8, align 4
  br label %594

528:                                              ; preds = %523
  %529 = load i32, ptr %34, align 4, !tbaa !5
  %530 = sext i32 %529 to i64
  %531 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %530) #7
  %532 = load i32, ptr %31, align 4, !tbaa !5
  %533 = sext i32 %532 to i64
  %534 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %531, i64 noundef %533) #7
  %535 = load i32, ptr %534, align 4, !tbaa !5
  %536 = icmp eq i32 %535, 0
  br i1 %536, label %537, label %580

537:                                              ; preds = %528
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #7
  %538 = load i32, ptr %34, align 4, !tbaa !5
  %539 = add nsw i32 %538, 1
  store i32 %539, ptr %35, align 4, !tbaa !5
  br label %540

540:                                              ; preds = %575, %537
  %541 = load i32, ptr %35, align 4, !tbaa !5
  %542 = load i32, ptr %9, align 4, !tbaa !5
  %543 = icmp slt i32 %541, %542
  br i1 %543, label %545, label %544

544:                                              ; preds = %540
  store i32 41, ptr %8, align 4
  br label %578

545:                                              ; preds = %540
  %546 = load i32, ptr %35, align 4, !tbaa !5
  %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) %11, i64 noundef %547) #7
  %549 = load i32, ptr %31, align 4, !tbaa !5
  %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) #7
  %552 = load i32, ptr %551, align 4, !tbaa !5
  %553 = icmp ne i32 %552, 0
  br i1 %553, label %554, label %574

554:                                              ; preds = %545
  %555 = load i32, ptr %35, align 4, !tbaa !5
  %556 = sext i32 %555 to i64
  %557 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %556) #7
  %558 = load i32, ptr %31, align 4, !tbaa !5
  %559 = sext i32 %558 to i64
  %560 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %557, i64 noundef %559) #7
  %561 = load i32, ptr %560, align 4, !tbaa !5
  %562 = load i32, ptr %34, align 4, !tbaa !5
  %563 = sext i32 %562 to i64
  %564 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %563) #7
  %565 = load i32, ptr %31, align 4, !tbaa !5
  %566 = sext i32 %565 to i64
  %567 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %564, i64 noundef %566) #7
  store i32 %561, ptr %567, align 4, !tbaa !5
  %568 = load i32, ptr %35, align 4, !tbaa !5
  %569 = sext i32 %568 to i64
  %570 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %569) #7
  %571 = load i32, ptr %31, align 4, !tbaa !5
  %572 = sext i32 %571 to i64
  %573 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %570, i64 noundef %572) #7
  store i32 0, ptr %573, align 4, !tbaa !5
  store i32 41, ptr %8, align 4
  br label %578

574:                                              ; preds = %545
  br label %575

575:                                              ; preds = %574
  %576 = load i32, ptr %35, align 4, !tbaa !5
  %577 = add nsw i32 %576, 1
  store i32 %577, ptr %35, align 4, !tbaa !5
  br label %540, !llvm.loop !21

578:                                              ; preds = %554, %544
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #7
  br label %579

579:                                              ; preds = %578
  br label %580

580:                                              ; preds = %579, %528
  %581 = load i32, ptr %34, align 4, !tbaa !5
  %582 = sext i32 %581 to i64
  %583 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %582) #7
  %584 = load i32, ptr %31, align 4, !tbaa !5
  %585 = sext i32 %584 to i64
  %586 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %583, i64 noundef %585) #7
  %587 = load i32, ptr %586, align 4, !tbaa !5
  %588 = icmp eq i32 %587, 0
  br i1 %588, label %589, label %590

589:                                              ; preds = %580
  store i32 38, ptr %8, align 4
  br label %594

590:                                              ; preds = %580
  br label %591

591:                                              ; preds = %590
  %592 = load i32, ptr %34, align 4, !tbaa !5
  %593 = add nsw i32 %592, 1
  store i32 %593, ptr %34, align 4, !tbaa !5
  br label %523, !llvm.loop !22

594:                                              ; preds = %589, %527
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #7
  br label %595

595:                                              ; preds = %594
  br label %596

596:                                              ; preds = %595
  %597 = load i32, ptr %31, align 4, !tbaa !5
  %598 = add nsw i32 %597, 1
  store i32 %598, ptr %31, align 4, !tbaa !5
  br label %445, !llvm.loop !23

599:                                              ; preds = %449
  br label %762

600:                                              ; preds = %441
  %601 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef @.str.5) #7
  %602 = icmp eq i32 %601, 0
  br i1 %602, label %603, label %761

603:                                              ; preds = %600
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #7
  store i32 0, ptr %36, align 4, !tbaa !5
  br label %604

604:                                              ; preds = %757, %603
  %605 = load i32, ptr %36, align 4, !tbaa !5
  %606 = load i32, ptr %9, align 4, !tbaa !5
  %607 = icmp slt i32 %605, %606
  br i1 %607, label %609, label %608

608:                                              ; preds = %604
  store i32 44, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #7
  br label %760

609:                                              ; preds = %604
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #7
  %610 = load i32, ptr %9, align 4, !tbaa !5
  %611 = sub nsw i32 %610, 1
  store i32 %611, ptr %37, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #7
  %612 = load i32, ptr %9, align 4, !tbaa !5
  %613 = sub nsw i32 %612, 2
  store i32 %613, ptr %38, align 4, !tbaa !5
  br label %614

614:                                              ; preds = %682, %609
  %615 = load i32, ptr %37, align 4, !tbaa !5
  %616 = icmp sge i32 %615, 0
  br i1 %616, label %617, label %620

617:                                              ; preds = %614
  %618 = load i32, ptr %38, align 4, !tbaa !5
  %619 = icmp sge i32 %618, 0
  br label %620

620:                                              ; preds = %617, %614
  %621 = phi i1 [ false, %614 ], [ %619, %617 ]
  br i1 %621, label %623, label %622

622:                                              ; preds = %620
  store i32 47, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #7
  br label %683

623:                                              ; preds = %620
  %624 = load i32, ptr %37, align 4, !tbaa !5
  %625 = sext i32 %624 to i64
  %626 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %625) #7
  %627 = load i32, ptr %36, align 4, !tbaa !5
  %628 = sext i32 %627 to i64
  %629 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %626, i64 noundef %628) #7
  %630 = load i32, ptr %629, align 4, !tbaa !5
  %631 = load i32, ptr %38, align 4, !tbaa !5
  %632 = sext i32 %631 to i64
  %633 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %632) #7
  %634 = load i32, ptr %36, align 4, !tbaa !5
  %635 = sext i32 %634 to i64
  %636 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %633, i64 noundef %635) #7
  %637 = load i32, ptr %636, align 4, !tbaa !5
  %638 = icmp eq i32 %630, %637
  br i1 %638, label %639, label %665

639:                                              ; preds = %623
  %640 = load i32, ptr %38, align 4, !tbaa !5
  %641 = sext i32 %640 to i64
  %642 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %641) #7
  %643 = load i32, ptr %36, align 4, !tbaa !5
  %644 = sext i32 %643 to i64
  %645 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %642, i64 noundef %644) #7
  %646 = load i32, ptr %645, align 4, !tbaa !5
  %647 = load i32, ptr %37, align 4, !tbaa !5
  %648 = sext i32 %647 to i64
  %649 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %648) #7
  %650 = load i32, ptr %36, align 4, !tbaa !5
  %651 = sext i32 %650 to i64
  %652 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %649, i64 noundef %651) #7
  %653 = load i32, ptr %652, align 4, !tbaa !5
  %654 = add nsw i32 %653, %646
  store i32 %654, ptr %652, align 4, !tbaa !5
  %655 = load i32, ptr %38, align 4, !tbaa !5
  %656 = sext i32 %655 to i64
  %657 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %656) #7
  %658 = load i32, ptr %36, align 4, !tbaa !5
  %659 = sext i32 %658 to i64
  %660 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %657, i64 noundef %659) #7
  store i32 0, ptr %660, align 4, !tbaa !5
  %661 = load i32, ptr %38, align 4, !tbaa !5
  %662 = sub nsw i32 %661, 1
  store i32 %662, ptr %37, align 4, !tbaa !5
  %663 = load i32, ptr %37, align 4, !tbaa !5
  %664 = sub nsw i32 %663, 1
  store i32 %664, ptr %38, align 4, !tbaa !5
  br label %682

665:                                              ; preds = %623
  %666 = load i32, ptr %38, align 4, !tbaa !5
  %667 = sext i32 %666 to i64
  %668 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %667) #7
  %669 = load i32, ptr %36, align 4, !tbaa !5
  %670 = sext i32 %669 to i64
  %671 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %668, i64 noundef %670) #7
  %672 = load i32, ptr %671, align 4, !tbaa !5
  %673 = icmp eq i32 %672, 0
  br i1 %673, label %674, label %677

674:                                              ; preds = %665
  %675 = load i32, ptr %38, align 4, !tbaa !5
  %676 = add nsw i32 %675, -1
  store i32 %676, ptr %38, align 4, !tbaa !5
  br label %681

677:                                              ; preds = %665
  %678 = load i32, ptr %38, align 4, !tbaa !5
  store i32 %678, ptr %37, align 4, !tbaa !5
  %679 = load i32, ptr %38, align 4, !tbaa !5
  %680 = add nsw i32 %679, -1
  store i32 %680, ptr %38, align 4, !tbaa !5
  br label %681

681:                                              ; preds = %677, %674
  br label %682

682:                                              ; preds = %681, %639
  br label %614, !llvm.loop !24

683:                                              ; preds = %622
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #7
  %684 = load i32, ptr %9, align 4, !tbaa !5
  %685 = sub nsw i32 %684, 1
  store i32 %685, ptr %39, align 4, !tbaa !5
  br label %686

686:                                              ; preds = %752, %683
  %687 = load i32, ptr %39, align 4, !tbaa !5
  %688 = icmp sge i32 %687, 0
  br i1 %688, label %690, label %689

689:                                              ; preds = %686
  store i32 49, ptr %8, align 4
  br label %755

690:                                              ; preds = %686
  %691 = load i32, ptr %39, align 4, !tbaa !5
  %692 = sext i32 %691 to i64
  %693 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %692) #7
  %694 = load i32, ptr %36, align 4, !tbaa !5
  %695 = sext i32 %694 to i64
  %696 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %693, i64 noundef %695) #7
  %697 = load i32, ptr %696, align 4, !tbaa !5
  %698 = icmp eq i32 %697, 0
  br i1 %698, label %699, label %741

699:                                              ; preds = %690
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #7
  %700 = load i32, ptr %39, align 4, !tbaa !5
  %701 = sub nsw i32 %700, 1
  store i32 %701, ptr %40, align 4, !tbaa !5
  br label %702

702:                                              ; preds = %736, %699
  %703 = load i32, ptr %40, align 4, !tbaa !5
  %704 = icmp sge i32 %703, 0
  br i1 %704, label %706, label %705

705:                                              ; preds = %702
  store i32 52, ptr %8, align 4
  br label %739

706:                                              ; preds = %702
  %707 = load i32, ptr %40, align 4, !tbaa !5
  %708 = sext i32 %707 to i64
  %709 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %708) #7
  %710 = load i32, ptr %36, align 4, !tbaa !5
  %711 = sext i32 %710 to i64
  %712 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %709, i64 noundef %711) #7
  %713 = load i32, ptr %712, align 4, !tbaa !5
  %714 = icmp ne i32 %713, 0
  br i1 %714, label %715, label %735

715:                                              ; preds = %706
  %716 = load i32, ptr %40, align 4, !tbaa !5
  %717 = sext i32 %716 to i64
  %718 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %717) #7
  %719 = load i32, ptr %36, align 4, !tbaa !5
  %720 = sext i32 %719 to i64
  %721 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %718, i64 noundef %720) #7
  %722 = load i32, ptr %721, align 4, !tbaa !5
  %723 = load i32, ptr %39, align 4, !tbaa !5
  %724 = sext i32 %723 to i64
  %725 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %724) #7
  %726 = load i32, ptr %36, align 4, !tbaa !5
  %727 = sext i32 %726 to i64
  %728 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %725, i64 noundef %727) #7
  store i32 %722, ptr %728, align 4, !tbaa !5
  %729 = load i32, ptr %40, align 4, !tbaa !5
  %730 = sext i32 %729 to i64
  %731 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %730) #7
  %732 = load i32, ptr %36, align 4, !tbaa !5
  %733 = sext i32 %732 to i64
  %734 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %731, i64 noundef %733) #7
  store i32 0, ptr %734, align 4, !tbaa !5
  store i32 52, ptr %8, align 4
  br label %739

735:                                              ; preds = %706
  br label %736

736:                                              ; preds = %735
  %737 = load i32, ptr %40, align 4, !tbaa !5
  %738 = add nsw i32 %737, -1
  store i32 %738, ptr %40, align 4, !tbaa !5
  br label %702, !llvm.loop !25

739:                                              ; preds = %715, %705
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #7
  br label %740

740:                                              ; preds = %739
  br label %741

741:                                              ; preds = %740, %690
  %742 = load i32, ptr %39, align 4, !tbaa !5
  %743 = sext i32 %742 to i64
  %744 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %743) #7
  %745 = load i32, ptr %36, align 4, !tbaa !5
  %746 = sext i32 %745 to i64
  %747 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %744, i64 noundef %746) #7
  %748 = load i32, ptr %747, align 4, !tbaa !5
  %749 = icmp eq i32 %748, 0
  br i1 %749, label %750, label %751

750:                                              ; preds = %741
  store i32 49, ptr %8, align 4
  br label %755

751:                                              ; preds = %741
  br label %752

752:                                              ; preds = %751
  %753 = load i32, ptr %39, align 4, !tbaa !5
  %754 = add nsw i32 %753, -1
  store i32 %754, ptr %39, align 4, !tbaa !5
  br label %686, !llvm.loop !26

755:                                              ; preds = %750, %689
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #7
  br label %756

756:                                              ; preds = %755
  br label %757

757:                                              ; preds = %756
  %758 = load i32, ptr %36, align 4, !tbaa !5
  %759 = add nsw i32 %758, 1
  store i32 %759, ptr %36, align 4, !tbaa !5
  br label %604, !llvm.loop !27

760:                                              ; preds = %608
  br label %761

761:                                              ; preds = %760, %600
  br label %762

762:                                              ; preds = %761, %599
  br label %763

763:                                              ; preds = %762, %440
  br label %764

764:                                              ; preds = %763, %281
  %765 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef @.str.6)
          to label %766 unwind label %779

766:                                              ; preds = %764
  %767 = load i32, ptr %7, align 4, !tbaa !5
  %768 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %765, i32 noundef %767)
          to label %769 unwind label %779

769:                                              ; preds = %766
  %770 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %768, ptr noundef @.str.7)
          to label %771 unwind label %779

771:                                              ; preds = %769
  %772 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %770, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %773 unwind label %779

773:                                              ; preds = %771
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #7
  store i32 0, ptr %41, align 4, !tbaa !5
  br label %774

774:                                              ; preds = %811, %773
  %775 = load i32, ptr %41, align 4, !tbaa !5
  %776 = load i32, ptr %9, align 4, !tbaa !5
  %777 = icmp slt i32 %775, %776
  br i1 %777, label %783, label %778

778:                                              ; preds = %774
  store i32 55, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #7
  br label %819

779:                                              ; preds = %771, %769, %766, %764
  %780 = landingpad { ptr, i32 }
          cleanup
  %781 = extractvalue { ptr, i32 } %780, 0
  store ptr %781, ptr %4, align 8
  %782 = extractvalue { ptr, i32 } %780, 1
  store i32 %782, ptr %5, align 4
  br label %823

783:                                              ; preds = %774
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #7
  store i32 0, ptr %42, align 4, !tbaa !5
  br label %784

784:                                              ; preds = %801, %783
  %785 = load i32, ptr %42, align 4, !tbaa !5
  %786 = load i32, ptr %9, align 4, !tbaa !5
  %787 = icmp slt i32 %785, %786
  br i1 %787, label %789, label %788

788:                                              ; preds = %784
  store i32 58, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #7
  br label %808

789:                                              ; preds = %784
  %790 = load i32, ptr %41, align 4, !tbaa !5
  %791 = sext i32 %790 to i64
  %792 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %791) #7
  %793 = load i32, ptr %42, align 4, !tbaa !5
  %794 = sext i32 %793 to i64
  %795 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %792, i64 noundef %794) #7
  %796 = load i32, ptr %795, align 4, !tbaa !5
  %797 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2, i32 noundef %796)
          to label %798 unwind label %804

798:                                              ; preds = %789
  %799 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %797, ptr noundef @.str.8)
          to label %800 unwind label %804

800:                                              ; preds = %798
  br label %801

801:                                              ; preds = %800
  %802 = load i32, ptr %42, align 4, !tbaa !5
  %803 = add nsw i32 %802, 1
  store i32 %803, ptr %42, align 4, !tbaa !5
  br label %784, !llvm.loop !28

804:                                              ; preds = %798, %789
  %805 = landingpad { ptr, i32 }
          cleanup
  %806 = extractvalue { ptr, i32 } %805, 0
  store ptr %806, ptr %4, align 8
  %807 = extractvalue { ptr, i32 } %805, 1
  store i32 %807, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #7
  br label %818

808:                                              ; preds = %788
  %809 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %810 unwind label %814

810:                                              ; preds = %808
  br label %811

811:                                              ; preds = %810
  %812 = load i32, ptr %41, align 4, !tbaa !5
  %813 = add nsw i32 %812, 1
  store i32 %813, ptr %41, align 4, !tbaa !5
  br label %774, !llvm.loop !29

814:                                              ; preds = %808
  %815 = landingpad { ptr, i32 }
          cleanup
  %816 = extractvalue { ptr, i32 } %815, 0
  store ptr %816, ptr %4, align 8
  %817 = extractvalue { ptr, i32 } %815, 1
  store i32 %817, ptr %5, align 4
  br label %818

818:                                              ; preds = %814, %804
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #7
  br label %823

819:                                              ; preds = %778
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #7
  call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #7
  br label %820

820:                                              ; preds = %819
  %821 = load i32, ptr %7, align 4, !tbaa !5
  %822 = add nsw i32 %821, 1
  store i32 %822, ptr %7, align 4, !tbaa !5
  br label %48, !llvm.loop !30

823:                                              ; preds = %818, %779, %120
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #7
  call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #7
  br label %824

824:                                              ; preds = %823, %75
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #7
  br label %829

825:                                              ; preds = %52
  invoke void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(248) %2)
          to label %826 unwind label %61

826:                                              ; preds = %825
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256) %3)
          to label %827 unwind label %61

827:                                              ; preds = %826
  store i32 0, ptr %1, align 4
  store i32 1, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #7
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %3) #7
  call void @llvm.lifetime.end.p0(i64 520, ptr %3) #7
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248) %2) #7
  call void @llvm.lifetime.end.p0(i64 512, ptr %2) #7
  %828 = load i32, ptr %1, align 4
  ret i32 %828

829:                                              ; preds = %824, %61
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #7
  br label %830

830:                                              ; preds = %829, %57
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %3) #7
  br label %831

831:                                              ; preds = %830, %53
  call void @llvm.lifetime.end.p0(i64 520, ptr %3) #7
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248) %2) #7
  call void @llvm.lifetime.end.p0(i64 512, ptr %2) #7
  br label %832

832:                                              ; preds = %831
  %833 = load ptr, ptr %4, align 8
  %834 = load i32, ptr %5, align 4
  %835 = insertvalue { ptr, i32 } poison, ptr %833, 0
  %836 = insertvalue { ptr, i32 } %835, i32 %834, 1
  resume { ptr, i32 } %836
}

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

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(248)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256)) unnamed_addr #2 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(248), ptr noundef, i32 noundef) #2 align 2

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256), ptr noundef, i32 noundef) #2 align 2

declare noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 4 dereferenceable(4)) #3

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

declare noundef nonnull align 8 dereferenceable(16) ptr @_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(32)) #3

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #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)) #2 align 2

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

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

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

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

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

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

; Function Attrs: nounwind
declare noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #5

; 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 noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #4 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #6

declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) #3

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #6

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

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

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

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(248)) #2 align 2

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256)) #2 align 2

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

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

attributes #0 = { mustprogress norecurse uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { 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 #3 = { "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 = { 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 #6 = { inlinehint 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 #7 = { 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 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = distinct !{!9, !10}
!10 = !{!"llvm.loop.mustprogress"}
!11 = distinct !{!11, !10}
!12 = distinct !{!12, !10}
!13 = distinct !{!13, !10}
!14 = distinct !{!14, !10}
!15 = distinct !{!15, !10}
!16 = distinct !{!16, !10}
!17 = distinct !{!17, !10}
!18 = distinct !{!18, !10}
!19 = distinct !{!19, !10}
!20 = distinct !{!20, !10}
!21 = distinct !{!21, !10}
!22 = distinct !{!22, !10}
!23 = distinct !{!23, !10}
!24 = distinct !{!24, !10}
!25 = distinct !{!25, !10}
!26 = distinct !{!26, !10}
!27 = distinct !{!27, !10}
!28 = distinct !{!28, !10}
!29 = distinct !{!29, !10}
!30 = distinct !{!30, !10}


; 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.std::basic_ofstream" = type { %"class.std::basic_ostream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::basic_filebuf" = type { %"class.std::basic_streambuf", %union.pthread_mutex_t, %"class.std::__basic_file", i32, %struct.__mbstate_t, %struct.__mbstate_t, %struct.__mbstate_t, ptr, i64, i8, i8, i8, i8, ptr, ptr, i8, ptr, ptr, i64, ptr, ptr }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::__basic_file" = type <{ ptr, i8, [7 x i8] }>
%struct.__mbstate_t = type { i32, %union.anon }
%union.anon = type { i32 }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::basic_ifstream" = type { %"class.std::basic_istream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon.0 }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon.0 = type { i64, [8 x i8] }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = 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.4" = type { %"struct.std::_Vector_base.5" }
%"struct.std::_Vector_base.5" = 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.__gnu_cxx::__normal_iterator.9" = type { ptr }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }

@.str = external hidden unnamed_addr constant [21 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [2 x i8], align 1

; Function Attrs: mustprogress norecurse uwtable
define dso_local noundef i32 @main() local_unnamed_addr #0 personality ptr @__gxx_personality_v0 {
  %1 = alloca %"class.std::basic_ofstream", align 8
  %2 = alloca %"class.std::basic_ifstream", align 8
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca %"class.std::__cxx11::basic_string", align 8
  %6 = alloca %"class.std::vector", align 8
  %7 = alloca %"class.std::vector.4", align 8
  %8 = alloca i32, align 4
  %9 = alloca %"class.__gnu_cxx::__normal_iterator.9", align 8
  %10 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %11 = alloca %"class.__gnu_cxx::__normal_iterator.9", align 8
  %12 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  call void @llvm.lifetime.start.p0(i64 512, ptr nonnull %1) #7
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(248) %1)
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %2) #7
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256) %2)
          to label %13 unwind label %18

13:                                               ; preds = %0
  invoke void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(248) %1, ptr noundef nonnull @.str, i32 noundef 16)
          to label %14 unwind label %20

14:                                               ; preds = %13
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %2, ptr noundef nonnull @.str.1, i32 noundef 8)
          to label %15 unwind label %20

15:                                               ; preds = %14
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #7
  %16 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %2, ptr noundef nonnull align 4 dereferenceable(4) %3)
          to label %.preheader240 unwind label %22

.preheader240:                                    ; preds = %15
  %17 = load i32, ptr %3, align 4, !tbaa !5
  %.not290 = icmp slt i32 %17, 1
  br i1 %.not290, label %._crit_edge293, label %.lr.ph292

._crit_edge293:                                   ; preds = %._crit_edge289, %.preheader240
  invoke void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(248) %1)
          to label %371 unwind label %22

18:                                               ; preds = %0
  %19 = landingpad { ptr, i32 }
          cleanup
  br label %375

20:                                               ; preds = %14, %13
  %21 = landingpad { ptr, i32 }
          cleanup
  br label %374

22:                                               ; preds = %371, %._crit_edge293, %15
  %23 = landingpad { ptr, i32 }
          cleanup
  br label %373

.lr.ph292:                                        ; preds = %.preheader240, %._crit_edge289
  %.0197291 = phi i32 [ %346, %._crit_edge289 ], [ 1, %.preheader240 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #7
  %24 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %2, ptr noundef nonnull align 4 dereferenceable(4) %4)
          to label %25 unwind label %36

25:                                               ; preds = %.lr.ph292
  %26 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %24, ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %27 unwind label %36

27:                                               ; preds = %25
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #7
  call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  %28 = load i32, ptr %4, align 4, !tbaa !5
  %29 = icmp sgt i32 %28, 0
  br i1 %29, label %.preheader230, label %._crit_edge246

.preheader230:                                    ; preds = %27, %52
  %30 = phi i32 [ %54, %52 ], [ %28, %27 ]
  %.0196245 = phi i32 [ %53, %52 ], [ 0, %27 ]
  %31 = icmp sgt i32 %30, 0
  br i1 %31, label %.lr.ph, label %._crit_edge

._crit_edge246:                                   ; preds = %52, %27
  %32 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.2) #7
  %33 = icmp eq i32 %32, 0
  br i1 %33, label %.preheader232, label %129

.preheader232:                                    ; preds = %._crit_edge246
  %34 = load i32, ptr %4, align 4, !tbaa !5
  %35 = icmp sgt i32 %34, 0
  br i1 %35, label %.lr.ph284, label %.loopexit233

36:                                               ; preds = %25, %.lr.ph292
  %37 = landingpad { ptr, i32 }
          cleanup
  br label %370

._crit_edge:                                      ; preds = %40, %.preheader230
  invoke void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %7)
          to label %46 unwind label %56

.lr.ph:                                           ; preds = %.preheader230, %40
  %.0195244 = phi i32 [ %41, %40 ], [ 0, %.preheader230 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) #7
  %38 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %2, ptr noundef nonnull align 4 dereferenceable(4) %8)
          to label %39 unwind label %44

39:                                               ; preds = %.lr.ph
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 4 dereferenceable(4) %8)
          to label %40 unwind label %44

40:                                               ; preds = %39
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #7
  %41 = add nuw nsw i32 %.0195244, 1
  %42 = load i32, ptr %4, align 4, !tbaa !5
  %43 = icmp slt i32 %41, %42
  br i1 %43, label %.lr.ph, label %._crit_edge, !llvm.loop !9

44:                                               ; preds = %39, %.lr.ph
  %45 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #7
  br label %369

46:                                               ; preds = %._crit_edge
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #7
  %47 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  store ptr %47, ptr %10, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2IPivEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %10) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #7
  %48 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  store ptr %48, ptr %12, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2IPivEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull align 8 dereferenceable(8) %12) #7
  %49 = load ptr, ptr %9, align 8
  %50 = load ptr, ptr %11, align 8
  %51 = invoke ptr @_ZNSt6vectorIiSaIiEE5eraseEN9__gnu_cxx17__normal_iteratorIPKiS1_EES6_(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr %49, ptr %50)
          to label %52 unwind label %58

52:                                               ; preds = %46
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7
  %53 = add nuw nsw i32 %.0196245, 1
  %54 = load i32, ptr %4, align 4, !tbaa !5
  %55 = icmp slt i32 %53, %54
  br i1 %55, label %.preheader230, label %._crit_edge246, !llvm.loop !11

56:                                               ; preds = %._crit_edge
  %57 = landingpad { ptr, i32 }
          cleanup
  br label %369

58:                                               ; preds = %46
  %59 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7
  br label %369

.lr.ph284:                                        ; preds = %.preheader232, %125
  %indvars.iv348 = phi i64 [ %indvars.iv.next349, %125 ], [ 0, %.preheader232 ]
  %60 = phi i32 [ %126, %125 ], [ %34, %.preheader232 ]
  %61 = icmp sgt i32 %60, 1
  br i1 %61, label %.lr.ph278, label %._crit_edge279

.lr.ph278:                                        ; preds = %.lr.ph284
  %62 = add nsw i32 %60, -2
  %63 = add nsw i32 %60, -1
  br label %67

._crit_edge279.loopexit:                          ; preds = %92
  %.pre357 = load i32, ptr %4, align 4, !tbaa !5
  br label %._crit_edge279

._crit_edge279:                                   ; preds = %._crit_edge279.loopexit, %.lr.ph284
  %64 = phi i32 [ %.pre357, %._crit_edge279.loopexit ], [ %60, %.lr.ph284 ]
  %65 = add i32 %64, -2
  %66 = zext i32 %64 to i64
  br label %96

67:                                               ; preds = %.lr.ph278, %92
  %.0190276 = phi i32 [ %62, %.lr.ph278 ], [ %.1191, %92 ]
  %.0192275 = phi i32 [ %63, %.lr.ph278 ], [ %.1193, %92 ]
  %68 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv348) #7
  %69 = zext nneg i32 %.0192275 to i64
  %70 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %68, i64 noundef %69) #7
  %71 = load i32, ptr %70, align 4, !tbaa !5
  %72 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv348) #7
  %73 = zext nneg i32 %.0190276 to i64
  %74 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %72, i64 noundef %73) #7
  %75 = load i32, ptr %74, align 4, !tbaa !5
  %76 = icmp eq i32 %71, %75
  %77 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv348) #7
  %78 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef %73) #7
  %79 = load i32, ptr %78, align 4, !tbaa !5
  br i1 %76, label %80, label %89

80:                                               ; preds = %67
  %81 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv348) #7
  %82 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %81, i64 noundef %69) #7
  %83 = load i32, ptr %82, align 4, !tbaa !5
  %84 = add nsw i32 %83, %79
  store i32 %84, ptr %82, align 4, !tbaa !5
  %85 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv348) #7
  %86 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %85, i64 noundef %73) #7
  store i32 0, ptr %86, align 4, !tbaa !5
  %87 = add nsw i32 %.0190276, -1
  %88 = add nsw i32 %.0190276, -2
  br label %92

89:                                               ; preds = %67
  %90 = icmp eq i32 %79, 0
  %91 = add nsw i32 %.0190276, -1
  %.0192275..0190276 = select i1 %90, i32 %.0192275, i32 %.0190276
  br label %92

92:                                               ; preds = %89, %80
  %.1193 = phi i32 [ %87, %80 ], [ %.0192275..0190276, %89 ]
  %.1191 = phi i32 [ %88, %80 ], [ %91, %89 ]
  %93 = icmp sgt i32 %.1193, -1
  %94 = icmp sgt i32 %.1191, -1
  %95 = select i1 %93, i1 %94, i1 false
  br i1 %95, label %67, label %._crit_edge279.loopexit, !llvm.loop !12

96:                                               ; preds = %.loopexit, %._crit_edge279
  %indvars.iv344 = phi i64 [ %97, %.loopexit ], [ %66, %._crit_edge279 ]
  %indvars.iv339 = phi i32 [ %indvars.iv.next340, %.loopexit ], [ %65, %._crit_edge279 ]
  %97 = add nsw i64 %indvars.iv344, -1
  %98 = trunc nuw i64 %indvars.iv344 to i32
  %99 = icmp sgt i32 %98, 0
  br i1 %99, label %100, label %125

100:                                              ; preds = %96
  %101 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv348) #7
  %102 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %101, i64 noundef %97) #7
  %103 = load i32, ptr %102, align 4, !tbaa !5
  %104 = icmp eq i32 %103, 0
  %105 = icmp ne i64 %indvars.iv344, 1
  %or.cond = and i1 %104, %105
  br i1 %or.cond, label %.lr.ph282.preheader, label %.loopexit

.lr.ph282.preheader:                              ; preds = %100
  %106 = zext i32 %indvars.iv339 to i64
  br label %.lr.ph282

107:                                              ; preds = %.lr.ph282
  %indvars.iv.next342 = add nsw i64 %indvars.iv341, -1
  %108 = trunc nuw i64 %indvars.iv341 to i32
  %109 = icmp sgt i32 %108, 0
  br i1 %109, label %.lr.ph282, label %.loopexit, !llvm.loop !13

.lr.ph282:                                        ; preds = %.lr.ph282.preheader, %107
  %indvars.iv341 = phi i64 [ %indvars.iv.next342, %107 ], [ %106, %.lr.ph282.preheader ]
  %110 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv348) #7
  %111 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %110, i64 noundef %indvars.iv341) #7
  %112 = load i32, ptr %111, align 4, !tbaa !5
  %.not213 = icmp eq i32 %112, 0
  br i1 %.not213, label %107, label %113

113:                                              ; preds = %.lr.ph282
  %114 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv348) #7
  %115 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %114, i64 noundef %indvars.iv341) #7
  %116 = load i32, ptr %115, align 4, !tbaa !5
  %117 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv348) #7
  %118 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %117, i64 noundef %97) #7
  store i32 %116, ptr %118, align 4, !tbaa !5
  %119 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv348) #7
  %120 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %119, i64 noundef %indvars.iv341) #7
  store i32 0, ptr %120, align 4, !tbaa !5
  br label %.loopexit

.loopexit:                                        ; preds = %107, %113, %100
  %121 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv348) #7
  %122 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %121, i64 noundef %97) #7
  %123 = load i32, ptr %122, align 4, !tbaa !5
  %124 = icmp eq i32 %123, 0
  %indvars.iv.next340 = add i32 %indvars.iv339, -1
  br i1 %124, label %125, label %96, !llvm.loop !14

125:                                              ; preds = %.loopexit, %96
  %indvars.iv.next349 = add nuw nsw i64 %indvars.iv348, 1
  %126 = load i32, ptr %4, align 4, !tbaa !5
  %127 = sext i32 %126 to i64
  %128 = icmp slt i64 %indvars.iv.next349, %127
  br i1 %128, label %.lr.ph284, label %.loopexit233, !llvm.loop !15

129:                                              ; preds = %._crit_edge246
  %130 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.3) #7
  %131 = icmp eq i32 %130, 0
  br i1 %131, label %.preheader234, label %195

.preheader234:                                    ; preds = %129
  %132 = load i32, ptr %4, align 4
  %133 = icmp sgt i32 %132, 0
  br i1 %133, label %.preheader227, label %.loopexit233

.preheader227:                                    ; preds = %.preheader234, %._crit_edge270
  %134 = phi i32 [ %193, %._crit_edge270 ], [ %132, %.preheader234 ]
  %indvars.iv336 = phi i64 [ %indvars.iv.next337, %._crit_edge270 ], [ 0, %.preheader234 ]
  %135 = icmp sgt i32 %134, 1
  br i1 %135, label %.lr.ph267, label %.preheader226

.preheader226:                                    ; preds = %162, %.preheader227
  %136 = phi i32 [ %134, %.preheader227 ], [ %163, %162 ]
  %137 = icmp sgt i32 %136, 0
  br i1 %137, label %.lr.ph269, label %.preheader226.._crit_edge270_crit_edge

.preheader226.._crit_edge270_crit_edge:           ; preds = %.preheader226
  %.pre358 = sext i32 %136 to i64
  br label %._crit_edge270

.lr.ph267:                                        ; preds = %.preheader227, %162
  %.0183266 = phi i32 [ %.1184, %162 ], [ 1, %.preheader227 ]
  %.0185265 = phi i32 [ %.1186, %162 ], [ 0, %.preheader227 ]
  %138 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv336) #7
  %139 = sext i32 %.0185265 to i64
  %140 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %138, i64 noundef %139) #7
  %141 = load i32, ptr %140, align 4, !tbaa !5
  %142 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv336) #7
  %143 = sext i32 %.0183266 to i64
  %144 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %142, i64 noundef %143) #7
  %145 = load i32, ptr %144, align 4, !tbaa !5
  %146 = icmp eq i32 %141, %145
  %147 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv336) #7
  %148 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %147, i64 noundef %143) #7
  %149 = load i32, ptr %148, align 4, !tbaa !5
  br i1 %146, label %150, label %159

150:                                              ; preds = %.lr.ph267
  %151 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv336) #7
  %152 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %151, i64 noundef %139) #7
  %153 = load i32, ptr %152, align 4, !tbaa !5
  %154 = add nsw i32 %153, %149
  store i32 %154, ptr %152, align 4, !tbaa !5
  %155 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv336) #7
  %156 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %155, i64 noundef %143) #7
  store i32 0, ptr %156, align 4, !tbaa !5
  %157 = add nsw i32 %.0183266, 1
  %158 = add nsw i32 %.0183266, 2
  br label %162

159:                                              ; preds = %.lr.ph267
  %160 = icmp eq i32 %149, 0
  %161 = add nsw i32 %.0183266, 1
  %.0185265..0183266 = select i1 %160, i32 %.0185265, i32 %.0183266
  br label %162

162:                                              ; preds = %159, %150
  %.1186 = phi i32 [ %157, %150 ], [ %.0185265..0183266, %159 ]
  %.1184 = phi i32 [ %158, %150 ], [ %161, %159 ]
  %163 = load i32, ptr %4, align 4
  %164 = icmp slt i32 %.1186, %163
  %165 = icmp slt i32 %.1184, %163
  %166 = select i1 %164, i1 %165, i1 false
  br i1 %166, label %.lr.ph267, label %.preheader226, !llvm.loop !16

.lr.ph269:                                        ; preds = %.preheader226, %.loopexit221
  %indvars.iv330 = phi i64 [ %indvars.iv.next331, %.loopexit221 ], [ 0, %.preheader226 ]
  %167 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv336) #7
  %168 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %167, i64 noundef %indvars.iv330) #7
  %169 = load i32, ptr %168, align 4, !tbaa !5
  %170 = icmp eq i32 %169, 0
  br i1 %170, label %.preheader, label %.loopexit221

.preheader:                                       ; preds = %.lr.ph269, %174
  %indvars.iv332 = phi i64 [ %indvars.iv.next333, %174 ], [ %indvars.iv330, %.lr.ph269 ]
  %indvars.iv.next333 = add nuw nsw i64 %indvars.iv332, 1
  %171 = load i32, ptr %4, align 4, !tbaa !5
  %172 = sext i32 %171 to i64
  %173 = icmp slt i64 %indvars.iv.next333, %172
  br i1 %173, label %174, label %.loopexit221

174:                                              ; preds = %.preheader
  %175 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv336) #7
  %176 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %175, i64 noundef %indvars.iv.next333) #7
  %177 = load i32, ptr %176, align 4, !tbaa !5
  %.not211 = icmp eq i32 %177, 0
  br i1 %.not211, label %.preheader, label %178, !llvm.loop !17

178:                                              ; preds = %174
  %179 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv336) #7
  %180 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %179, i64 noundef %indvars.iv.next333) #7
  %181 = load i32, ptr %180, align 4, !tbaa !5
  %182 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv336) #7
  %183 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %182, i64 noundef %indvars.iv330) #7
  store i32 %181, ptr %183, align 4, !tbaa !5
  %184 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv336) #7
  %185 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %184, i64 noundef %indvars.iv.next333) #7
  store i32 0, ptr %185, align 4, !tbaa !5
  br label %.loopexit221

.loopexit221:                                     ; preds = %.preheader, %178, %.lr.ph269
  %186 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv336) #7
  %187 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %186, i64 noundef %indvars.iv330) #7
  %188 = load i32, ptr %187, align 4, !tbaa !5
  %189 = icmp ne i32 %188, 0
  %indvars.iv.next331 = add nuw nsw i64 %indvars.iv330, 1
  %190 = load i32, ptr %4, align 4
  %191 = sext i32 %190 to i64
  %192 = icmp slt i64 %indvars.iv.next331, %191
  %or.cond296 = select i1 %189, i1 %192, i1 false
  br i1 %or.cond296, label %.lr.ph269, label %._crit_edge270, !llvm.loop !18

._crit_edge270:                                   ; preds = %.loopexit221, %.preheader226.._crit_edge270_crit_edge
  %.pre-phi = phi i64 [ %.pre358, %.preheader226.._crit_edge270_crit_edge ], [ %191, %.loopexit221 ]
  %193 = phi i32 [ %136, %.preheader226.._crit_edge270_crit_edge ], [ %190, %.loopexit221 ]
  %indvars.iv.next337 = add nuw nsw i64 %indvars.iv336, 1
  %194 = icmp slt i64 %indvars.iv.next337, %.pre-phi
  br i1 %194, label %.preheader227, label %.loopexit233, !llvm.loop !19

195:                                              ; preds = %129
  %196 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.4) #7
  %197 = icmp eq i32 %196, 0
  br i1 %197, label %.preheader236, label %261

.preheader236:                                    ; preds = %195
  %198 = load i32, ptr %4, align 4
  %199 = icmp sgt i32 %198, 0
  br i1 %199, label %.preheader229, label %.loopexit233

.preheader229:                                    ; preds = %.preheader236, %._crit_edge262
  %200 = phi i32 [ %259, %._crit_edge262 ], [ %198, %.preheader236 ]
  %indvars.iv327 = phi i64 [ %indvars.iv.next328, %._crit_edge262 ], [ 0, %.preheader236 ]
  %201 = icmp sgt i32 %200, 1
  br i1 %201, label %.lr.ph259, label %.preheader228

.preheader228:                                    ; preds = %228, %.preheader229
  %202 = phi i32 [ %200, %.preheader229 ], [ %229, %228 ]
  %203 = icmp sgt i32 %202, 0
  br i1 %203, label %.lr.ph261, label %.preheader228.._crit_edge262_crit_edge

.preheader228.._crit_edge262_crit_edge:           ; preds = %.preheader228
  %.pre359 = sext i32 %202 to i64
  br label %._crit_edge262

.lr.ph259:                                        ; preds = %.preheader229, %228
  %.0176258 = phi i32 [ %.1177, %228 ], [ 1, %.preheader229 ]
  %.0178257 = phi i32 [ %.1179, %228 ], [ 0, %.preheader229 ]
  %204 = sext i32 %.0178257 to i64
  %205 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %204) #7
  %206 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %205, i64 noundef %indvars.iv327) #7
  %207 = load i32, ptr %206, align 4, !tbaa !5
  %208 = sext i32 %.0176258 to i64
  %209 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %208) #7
  %210 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %209, i64 noundef %indvars.iv327) #7
  %211 = load i32, ptr %210, align 4, !tbaa !5
  %212 = icmp eq i32 %207, %211
  %213 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %208) #7
  %214 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %213, i64 noundef %indvars.iv327) #7
  %215 = load i32, ptr %214, align 4, !tbaa !5
  br i1 %212, label %216, label %225

216:                                              ; preds = %.lr.ph259
  %217 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %204) #7
  %218 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %217, i64 noundef %indvars.iv327) #7
  %219 = load i32, ptr %218, align 4, !tbaa !5
  %220 = add nsw i32 %219, %215
  store i32 %220, ptr %218, align 4, !tbaa !5
  %221 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %208) #7
  %222 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %221, i64 noundef %indvars.iv327) #7
  store i32 0, ptr %222, align 4, !tbaa !5
  %223 = add nsw i32 %.0176258, 1
  %224 = add nsw i32 %.0176258, 2
  br label %228

225:                                              ; preds = %.lr.ph259
  %226 = icmp eq i32 %215, 0
  %227 = add nsw i32 %.0176258, 1
  %.0178257..0176258 = select i1 %226, i32 %.0178257, i32 %.0176258
  br label %228

228:                                              ; preds = %225, %216
  %.1179 = phi i32 [ %223, %216 ], [ %.0178257..0176258, %225 ]
  %.1177 = phi i32 [ %224, %216 ], [ %227, %225 ]
  %229 = load i32, ptr %4, align 4
  %230 = icmp slt i32 %.1179, %229
  %231 = icmp slt i32 %.1177, %229
  %232 = select i1 %230, i1 %231, i1 false
  br i1 %232, label %.lr.ph259, label %.preheader228, !llvm.loop !20

.lr.ph261:                                        ; preds = %.preheader228, %.loopexit223
  %indvars.iv321 = phi i64 [ %indvars.iv.next322, %.loopexit223 ], [ 0, %.preheader228 ]
  %233 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv321) #7
  %234 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %233, i64 noundef %indvars.iv327) #7
  %235 = load i32, ptr %234, align 4, !tbaa !5
  %236 = icmp eq i32 %235, 0
  br i1 %236, label %.preheader222, label %.loopexit223

.preheader222:                                    ; preds = %.lr.ph261, %240
  %indvars.iv323 = phi i64 [ %indvars.iv.next324, %240 ], [ %indvars.iv321, %.lr.ph261 ]
  %indvars.iv.next324 = add nuw nsw i64 %indvars.iv323, 1
  %237 = load i32, ptr %4, align 4, !tbaa !5
  %238 = sext i32 %237 to i64
  %239 = icmp slt i64 %indvars.iv.next324, %238
  br i1 %239, label %240, label %.loopexit223

240:                                              ; preds = %.preheader222
  %241 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv.next324) #7
  %242 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %241, i64 noundef %indvars.iv327) #7
  %243 = load i32, ptr %242, align 4, !tbaa !5
  %.not210 = icmp eq i32 %243, 0
  br i1 %.not210, label %.preheader222, label %244, !llvm.loop !21

244:                                              ; preds = %240
  %245 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv.next324) #7
  %246 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %245, i64 noundef %indvars.iv327) #7
  %247 = load i32, ptr %246, align 4, !tbaa !5
  %248 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv321) #7
  %249 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %248, i64 noundef %indvars.iv327) #7
  store i32 %247, ptr %249, align 4, !tbaa !5
  %250 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv.next324) #7
  %251 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %250, i64 noundef %indvars.iv327) #7
  store i32 0, ptr %251, align 4, !tbaa !5
  br label %.loopexit223

.loopexit223:                                     ; preds = %.preheader222, %244, %.lr.ph261
  %252 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv321) #7
  %253 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %252, i64 noundef %indvars.iv327) #7
  %254 = load i32, ptr %253, align 4, !tbaa !5
  %255 = icmp ne i32 %254, 0
  %indvars.iv.next322 = add nuw nsw i64 %indvars.iv321, 1
  %256 = load i32, ptr %4, align 4
  %257 = sext i32 %256 to i64
  %258 = icmp slt i64 %indvars.iv.next322, %257
  %or.cond298 = select i1 %255, i1 %258, i1 false
  br i1 %or.cond298, label %.lr.ph261, label %._crit_edge262, !llvm.loop !22

._crit_edge262:                                   ; preds = %.loopexit223, %.preheader228.._crit_edge262_crit_edge
  %.pre-phi360 = phi i64 [ %.pre359, %.preheader228.._crit_edge262_crit_edge ], [ %257, %.loopexit223 ]
  %259 = phi i32 [ %202, %.preheader228.._crit_edge262_crit_edge ], [ %256, %.loopexit223 ]
  %indvars.iv.next328 = add nuw nsw i64 %indvars.iv327, 1
  %260 = icmp slt i64 %indvars.iv.next328, %.pre-phi360
  br i1 %260, label %.preheader229, label %.loopexit233, !llvm.loop !23

261:                                              ; preds = %195
  %262 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.5) #7
  %263 = icmp eq i32 %262, 0
  %264 = load i32, ptr %4, align 4
  %265 = icmp sgt i32 %264, 0
  %or.cond300 = select i1 %263, i1 %265, i1 false
  br i1 %or.cond300, label %.lr.ph256, label %.loopexit233

.lr.ph256:                                        ; preds = %261, %331
  %indvars.iv318 = phi i64 [ %indvars.iv.next319, %331 ], [ 0, %261 ]
  %266 = phi i32 [ %332, %331 ], [ %264, %261 ]
  %267 = icmp sgt i32 %266, 1
  br i1 %267, label %.lr.ph250, label %._crit_edge251

.lr.ph250:                                        ; preds = %.lr.ph256
  %268 = add nsw i32 %266, -2
  %269 = add nsw i32 %266, -1
  br label %273

._crit_edge251.loopexit:                          ; preds = %298
  %.pre = load i32, ptr %4, align 4, !tbaa !5
  br label %._crit_edge251

._crit_edge251:                                   ; preds = %._crit_edge251.loopexit, %.lr.ph256
  %270 = phi i32 [ %.pre, %._crit_edge251.loopexit ], [ %266, %.lr.ph256 ]
  %271 = add i32 %270, -2
  %272 = zext i32 %270 to i64
  br label %302

273:                                              ; preds = %.lr.ph250, %298
  %.0170248 = phi i32 [ %268, %.lr.ph250 ], [ %.1, %298 ]
  %.0171247 = phi i32 [ %269, %.lr.ph250 ], [ %.1172, %298 ]
  %274 = zext nneg i32 %.0171247 to i64
  %275 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %274) #7
  %276 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %275, i64 noundef %indvars.iv318) #7
  %277 = load i32, ptr %276, align 4, !tbaa !5
  %278 = zext nneg i32 %.0170248 to i64
  %279 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %278) #7
  %280 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %279, i64 noundef %indvars.iv318) #7
  %281 = load i32, ptr %280, align 4, !tbaa !5
  %282 = icmp eq i32 %277, %281
  %283 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %278) #7
  %284 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %283, i64 noundef %indvars.iv318) #7
  %285 = load i32, ptr %284, align 4, !tbaa !5
  br i1 %282, label %286, label %295

286:                                              ; preds = %273
  %287 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %274) #7
  %288 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %287, i64 noundef %indvars.iv318) #7
  %289 = load i32, ptr %288, align 4, !tbaa !5
  %290 = add nsw i32 %289, %285
  store i32 %290, ptr %288, align 4, !tbaa !5
  %291 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %278) #7
  %292 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %291, i64 noundef %indvars.iv318) #7
  store i32 0, ptr %292, align 4, !tbaa !5
  %293 = add nsw i32 %.0170248, -1
  %294 = add nsw i32 %.0170248, -2
  br label %298

295:                                              ; preds = %273
  %296 = icmp eq i32 %285, 0
  %297 = add nsw i32 %.0170248, -1
  %.0171247..0170248 = select i1 %296, i32 %.0171247, i32 %.0170248
  br label %298

298:                                              ; preds = %295, %286
  %.1172 = phi i32 [ %293, %286 ], [ %.0171247..0170248, %295 ]
  %.1 = phi i32 [ %294, %286 ], [ %297, %295 ]
  %299 = icmp sgt i32 %.1172, -1
  %300 = icmp sgt i32 %.1, -1
  %301 = select i1 %299, i1 %300, i1 false
  br i1 %301, label %273, label %._crit_edge251.loopexit, !llvm.loop !24

302:                                              ; preds = %.loopexit224, %._crit_edge251
  %indvars.iv314 = phi i64 [ %303, %.loopexit224 ], [ %272, %._crit_edge251 ]
  %indvars.iv = phi i32 [ %indvars.iv.next, %.loopexit224 ], [ %271, %._crit_edge251 ]
  %303 = add nsw i64 %indvars.iv314, -1
  %304 = trunc nuw i64 %indvars.iv314 to i32
  %305 = icmp sgt i32 %304, 0
  br i1 %305, label %306, label %331

306:                                              ; preds = %302
  %307 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %303) #7
  %308 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %307, i64 noundef %indvars.iv318) #7
  %309 = load i32, ptr %308, align 4, !tbaa !5
  %310 = icmp eq i32 %309, 0
  %311 = icmp ne i64 %indvars.iv314, 1
  %or.cond302 = and i1 %310, %311
  br i1 %or.cond302, label %.lr.ph254.preheader, label %.loopexit224

.lr.ph254.preheader:                              ; preds = %306
  %312 = zext i32 %indvars.iv to i64
  br label %.lr.ph254

313:                                              ; preds = %.lr.ph254
  %indvars.iv.next312 = add nsw i64 %indvars.iv311, -1
  %314 = trunc nuw i64 %indvars.iv311 to i32
  %315 = icmp sgt i32 %314, 0
  br i1 %315, label %.lr.ph254, label %.loopexit224, !llvm.loop !25

.lr.ph254:                                        ; preds = %.lr.ph254.preheader, %313
  %indvars.iv311 = phi i64 [ %indvars.iv.next312, %313 ], [ %312, %.lr.ph254.preheader ]
  %316 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv311) #7
  %317 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %316, i64 noundef %indvars.iv318) #7
  %318 = load i32, ptr %317, align 4, !tbaa !5
  %.not209 = icmp eq i32 %318, 0
  br i1 %.not209, label %313, label %319

319:                                              ; preds = %.lr.ph254
  %320 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv311) #7
  %321 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %320, i64 noundef %indvars.iv318) #7
  %322 = load i32, ptr %321, align 4, !tbaa !5
  %323 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %303) #7
  %324 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %323, i64 noundef %indvars.iv318) #7
  store i32 %322, ptr %324, align 4, !tbaa !5
  %325 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv311) #7
  %326 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %325, i64 noundef %indvars.iv318) #7
  store i32 0, ptr %326, align 4, !tbaa !5
  br label %.loopexit224

.loopexit224:                                     ; preds = %313, %319, %306
  %327 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %303) #7
  %328 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %327, i64 noundef %indvars.iv318) #7
  %329 = load i32, ptr %328, align 4, !tbaa !5
  %330 = icmp eq i32 %329, 0
  %indvars.iv.next = add i32 %indvars.iv, -1
  br i1 %330, label %331, label %302, !llvm.loop !26

331:                                              ; preds = %.loopexit224, %302
  %indvars.iv.next319 = add nuw nsw i64 %indvars.iv318, 1
  %332 = load i32, ptr %4, align 4, !tbaa !5
  %333 = sext i32 %332 to i64
  %334 = icmp slt i64 %indvars.iv.next319, %333
  br i1 %334, label %.lr.ph256, label %.loopexit233, !llvm.loop !27

.loopexit233:                                     ; preds = %331, %._crit_edge262, %._crit_edge270, %125, %.preheader236, %.preheader234, %.preheader232, %261
  %335 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull @.str.6)
          to label %336 unwind label %348

336:                                              ; preds = %.loopexit233
  %337 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %335, i32 noundef %.0197291)
          to label %338 unwind label %348

338:                                              ; preds = %336
  %339 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %337, ptr noundef nonnull @.str.7)
          to label %340 unwind label %348

340:                                              ; preds = %338
  %341 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %339, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %.preheader231 unwind label %348

.preheader231:                                    ; preds = %340
  %342 = load i32, ptr %4, align 4, !tbaa !5
  %343 = icmp sgt i32 %342, 0
  br i1 %343, label %.preheader225, label %._crit_edge289

.preheader225:                                    ; preds = %.preheader231, %363
  %344 = phi i32 [ %364, %363 ], [ %342, %.preheader231 ]
  %indvars.iv354 = phi i64 [ %indvars.iv.next355, %363 ], [ 0, %.preheader231 ]
  %345 = icmp sgt i32 %344, 0
  br i1 %345, label %.lr.ph286, label %._crit_edge287

._crit_edge289:                                   ; preds = %363, %.preheader231
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #7
  call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #7
  %346 = add nuw nsw i32 %.0197291, 1
  %347 = load i32, ptr %3, align 4, !tbaa !5
  %.not.not = icmp slt i32 %.0197291, %347
  br i1 %.not.not, label %.lr.ph292, label %._crit_edge293, !llvm.loop !28

348:                                              ; preds = %340, %338, %336, %.loopexit233
  %349 = landingpad { ptr, i32 }
          cleanup
  br label %369

._crit_edge287:                                   ; preds = %357, %.preheader225
  %350 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %363 unwind label %367

.lr.ph286:                                        ; preds = %.preheader225, %357
  %indvars.iv351 = phi i64 [ %indvars.iv.next352, %357 ], [ 0, %.preheader225 ]
  %351 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv354) #7
  %352 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %351, i64 noundef %indvars.iv351) #7
  %353 = load i32, ptr %352, align 4, !tbaa !5
  %354 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1, i32 noundef %353)
          to label %355 unwind label %361

355:                                              ; preds = %.lr.ph286
  %356 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %354, ptr noundef nonnull @.str.8)
          to label %357 unwind label %361

357:                                              ; preds = %355
  %indvars.iv.next352 = add nuw nsw i64 %indvars.iv351, 1
  %358 = load i32, ptr %4, align 4, !tbaa !5
  %359 = sext i32 %358 to i64
  %360 = icmp slt i64 %indvars.iv.next352, %359
  br i1 %360, label %.lr.ph286, label %._crit_edge287, !llvm.loop !29

361:                                              ; preds = %355, %.lr.ph286
  %362 = landingpad { ptr, i32 }
          cleanup
  br label %369

363:                                              ; preds = %._crit_edge287
  %indvars.iv.next355 = add nuw nsw i64 %indvars.iv354, 1
  %364 = load i32, ptr %4, align 4, !tbaa !5
  %365 = sext i32 %364 to i64
  %366 = icmp slt i64 %indvars.iv.next355, %365
  br i1 %366, label %.preheader225, label %._crit_edge289, !llvm.loop !30

367:                                              ; preds = %._crit_edge287
  %368 = landingpad { ptr, i32 }
          cleanup
  br label %369

369:                                              ; preds = %361, %367, %44, %56, %58, %348
  %.pn214.pn = phi { ptr, i32 } [ %349, %348 ], [ %45, %44 ], [ %59, %58 ], [ %57, %56 ], [ %362, %361 ], [ %368, %367 ]
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #7
  call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #7
  br label %370

370:                                              ; preds = %369, %36
  %.pn214.pn.pn = phi { ptr, i32 } [ %.pn214.pn, %369 ], [ %37, %36 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #7
  br label %373

371:                                              ; preds = %._crit_edge293
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256) %2)
          to label %372 unwind label %22

372:                                              ; preds = %371
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #7
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %2) #7
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %2) #7
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248) %1) #7
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %1) #7
  ret i32 0

373:                                              ; preds = %370, %22
  %.pn214.pn.pn.pn = phi { ptr, i32 } [ %.pn214.pn.pn, %370 ], [ %23, %22 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #7
  br label %374

374:                                              ; preds = %373, %20
  %.pn214.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn214.pn.pn.pn, %373 ], [ %21, %20 ]
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %2) #7
  br label %375

375:                                              ; preds = %374, %18
  %.pn214.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn214.pn.pn.pn.pn, %374 ], [ %19, %18 ]
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %2) #7
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248) %1) #7
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %1) #7
  resume { ptr, i32 } %.pn214.pn.pn.pn.pn.pn
}

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

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(248)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256)) unnamed_addr #2 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(248), ptr noundef, i32 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256), ptr noundef, i32 noundef) local_unnamed_addr #2 align 2

declare noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #3

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

declare noundef nonnull align 8 dereferenceable(16) ptr @_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #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)) local_unnamed_addr #2 align 2

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

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

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

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

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

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

; Function Attrs: nounwind
declare noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #5

; 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 #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 #4 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #6

declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #6

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

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

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

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(248)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256)) local_unnamed_addr #2 align 2

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

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

attributes #0 = { mustprogress norecurse uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { 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 #3 = { "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 = { 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 #6 = { inlinehint 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 #7 = { 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 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = distinct !{!9, !10}
!10 = !{!"llvm.loop.mustprogress"}
!11 = distinct !{!11, !10}
!12 = distinct !{!12, !10}
!13 = distinct !{!13, !10}
!14 = distinct !{!14, !10}
!15 = distinct !{!15, !10}
!16 = distinct !{!16, !10}
!17 = distinct !{!17, !10}
!18 = distinct !{!18, !10}
!19 = distinct !{!19, !10}
!20 = distinct !{!20, !10}
!21 = distinct !{!21, !10}
!22 = distinct !{!22, !10}
!23 = distinct !{!23, !10}
!24 = distinct !{!24, !10}
!25 = distinct !{!25, !10}
!26 = distinct !{!26, !10}
!27 = distinct !{!27, !10}
!28 = distinct !{!28, !10}
!29 = distinct !{!29, !10}
!30 = distinct !{!30, !10}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopInstSimplifyPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,SROAPass,SimplifyCFGPass