; LLVM IR from VastoLorde95/Competitive-Programming :: CodeChef/SHORT/COOK68/Problem E (lookatthiscode)

; 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_istream" = type { ptr, i64, %"class.std::basic_ios" }
%"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::locale" = type { ptr }
%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"struct.std::_Setprecision" = type { i32 }
%"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::allocator" = type { i8 }
%"class.std::vector.0" = type { %"struct.std::_Vector_base.1" }
%"struct.std::_Vector_base.1" = type { %"struct.std::_Vector_base<std::vector<long long>, std::allocator<std::vector<long long>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::vector<long long>, std::allocator<std::vector<long long>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::vector<long long>, std::allocator<std::vector<long long>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::vector<long long>, std::allocator<std::vector<long long>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.5" = type { %"struct.std::_Vector_base.6" }
%"struct.std::_Vector_base.6" = type { %"struct.std::_Vector_base<long long, std::allocator<long long>>::_Vector_impl" }
%"struct.std::_Vector_base<long long, std::allocator<long long>>::_Vector_impl" = type { %"struct.std::_Vector_base<long long, std::allocator<long long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<long long, std::allocator<long long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.7" = type { i8 }
%"class.std::allocator.2" = type { i8 }
%"class.std::vector.15" = type { %"struct.std::_Vector_base.16" }
%"struct.std::_Vector_base.16" = type { %"struct.std::_Vector_base<std::pair<int, int>, std::allocator<std::pair<int, int>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<int, int>, std::allocator<std::pair<int, int>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<int, int>, std::allocator<std::pair<int, int>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<int, int>, std::allocator<std::pair<int, int>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"struct.std::pair" = type { i32, i32 }
%"class.std::map" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::vector<int>, std::pair<const std::vector<int>, int>, std::_Select1st<std::pair<const std::vector<int>, int>>, std::less<std::vector<int>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::vector<int>, std::pair<const std::vector<int>, int>, std::_Select1st<std::pair<const std::vector<int>, int>>, std::less<std::vector<int>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.__gnu_cxx::__normal_iterator.23" = type { ptr }
%"class.std::vector.10" = type { %"struct.std::_Vector_base.11" }
%"struct.std::_Vector_base.11" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::initializer_list" = type { ptr, i64 }
%"class.std::allocator.12" = type { i8 }
%"struct.std::_Rb_tree_iterator" = type { ptr }
%"class.std::vector.26" = type { %"struct.std::_Bvector_base" }
%"struct.std::_Bvector_base" = type { %"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl" }
%"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl" = type { %"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl_data" }
%"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl_data" = type { %"struct.std::_Bit_iterator", %"struct.std::_Bit_iterator", ptr }
%"struct.std::_Bit_iterator" = type { %"struct.std::_Bit_iterator_base.base", [4 x i8] }
%"struct.std::_Bit_iterator_base.base" = type <{ ptr, i32 }>
%"class.std::allocator.30" = type { i8 }
%"struct.std::_Bit_reference" = type { ptr, i64 }
%"struct.std::pair.24" = type <{ %"class.std::vector.10", i32, [4 x i8] }>

@_ZSt3cin = external global %"class.std::basic_istream", align 8
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str = 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 %"struct.std::_Setprecision", align 4
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca %"class.std::vector", align 8
  %9 = alloca %"class.std::allocator", align 1
  %10 = alloca ptr, align 8
  %11 = alloca i32, align 4
  %12 = alloca %"class.std::vector.0", align 8
  %13 = alloca %"class.std::vector.5", align 8
  %14 = alloca i64, align 8
  %15 = alloca %"class.std::allocator.7", align 1
  %16 = alloca %"class.std::allocator.2", align 1
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca %"class.std::vector.15", align 8
  %21 = alloca i32, align 4
  %22 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %23 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %24 = alloca i64, align 8
  %25 = alloca i32, align 4
  %26 = alloca %"struct.std::pair", align 4
  %27 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %28 = alloca %"class.std::map", align 8
  %29 = alloca %"class.__gnu_cxx::__normal_iterator.23", align 8
  %30 = alloca %"class.__gnu_cxx::__normal_iterator.23", align 8
  %31 = alloca %"class.std::vector.10", align 8
  %32 = alloca i32, align 4
  %33 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %34 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %35 = alloca %"class.std::vector.10", align 8
  %36 = alloca %"class.std::initializer_list", align 8
  %37 = alloca [3 x i32], align 4
  %38 = alloca %"class.std::allocator.12", align 1
  %39 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %40 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %41 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %42 = alloca %"class.__gnu_cxx::__normal_iterator.23", align 8
  %43 = alloca i32, align 4
  %44 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %45 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %46 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %47 = alloca %"class.std::vector", align 8
  %48 = alloca %"class.std::allocator", align 1
  %49 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %50 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %51 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %52 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %53 = alloca i8, align 1
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %57 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %58 = alloca %"class.std::vector.10", align 8
  %59 = alloca %"class.std::vector.26", align 8
  %60 = alloca i8, align 1
  %61 = alloca %"class.std::allocator.30", align 1
  %62 = alloca %"class.std::vector.10", align 8
  %63 = alloca i32, align 4
  %64 = alloca %"class.std::allocator.12", align 1
  %65 = alloca %"class.std::vector.10", align 8
  %66 = alloca i32, align 4
  %67 = alloca %"class.std::allocator.12", align 1
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca %"struct.std::_Bit_reference", align 8
  %73 = alloca i32, align 4
  %74 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %75 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %76 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %77 = alloca %"class.std::vector.10", align 8
  %78 = alloca i32, align 4
  %79 = alloca %"class.std::allocator.12", align 1
  %80 = alloca %"class.std::vector.10", align 8
  %81 = alloca i32, align 4
  %82 = alloca %"class.std::allocator.12", align 1
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca %"class.std::vector.10", align 8
  %88 = alloca i32, align 4
  %89 = alloca %"class.std::allocator.12", align 1
  %90 = alloca i32, align 4
  %91 = alloca i32, align 4
  %92 = alloca i32, align 4
  %93 = alloca %"struct.std::_Bit_reference", align 8
  %94 = alloca %"class.std::vector.10", align 8
  %95 = alloca %"class.std::vector.10", align 8
  %96 = alloca i32, align 4
  %97 = alloca %"class.std::allocator.12", align 1
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %101 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %102 = alloca %"struct.std::_Bit_reference", align 8
  %103 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %104 = alloca i32, align 4
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca i8, align 1
  %108 = alloca i32, align 4
  %109 = alloca i32, align 4
  store i32 0, ptr %1, align 4
  %110 = call noundef zeroext i1 @_ZNSt8ios_base15sync_with_stdioEb(i1 noundef zeroext false)
  %111 = load ptr, ptr @_ZSt3cin, align 8, !tbaa !5
  %112 = getelementptr i8, ptr %111, i64 -24
  %113 = load i64, ptr %112, align 8
  %114 = getelementptr inbounds i8, ptr @_ZSt3cin, i64 %113
  %115 = call noundef ptr @_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo(ptr noundef nonnull align 8 dereferenceable(264) %114, ptr noundef null)
  %116 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSt8ios_baseS0_E(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @_ZSt5fixedRSt8ios_base)
  %117 = call i32 @_ZSt12setprecisioni(i32 noundef 10)
  %118 = getelementptr inbounds %"struct.std::_Setprecision", ptr %2, i32 0, i32 0
  store i32 %117, ptr %118, align 4
  %119 = getelementptr inbounds %"struct.std::_Setprecision", ptr %2, i32 0, i32 0
  %120 = load i32, ptr %119, align 4
  %121 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision(ptr noundef nonnull align 8 dereferenceable(8) %116, i32 %120)
  call void @llvm.lifetime.start.p0(i64 4, ptr %3) #7
  %122 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) @_ZSt3cin, ptr noundef nonnull align 4 dereferenceable(4) %3)
  call void @llvm.lifetime.start.p0(i64 4, ptr %4) #7
  store i32 0, ptr %4, align 4, !tbaa !8
  br label %123

123:                                              ; preds = %1027, %0
  %124 = load i32, ptr %4, align 4, !tbaa !8
  %125 = load i32, ptr %3, align 4, !tbaa !8
  %126 = icmp slt i32 %124, %125
  br i1 %126, label %128, label %127

127:                                              ; preds = %123
  store i32 2, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #7
  br label %1045

128:                                              ; preds = %123
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #7
  %129 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) @_ZSt3cin, ptr noundef nonnull align 4 dereferenceable(4) %6)
  %130 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %129, ptr noundef nonnull align 4 dereferenceable(4) %7)
  call void @llvm.lifetime.start.p0(i64 24, ptr %8) #7
  %131 = load i32, ptr %6, align 4, !tbaa !8
  %132 = sext i32 %131 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %9) #7
  call void @_ZNSaISt6vectorIiSaIiEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #7
  invoke void @_ZNSt6vectorIS_IiSaIiEESaIS1_EEC2EmRKS2_(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %132, ptr noundef nonnull align 1 dereferenceable(1) %9)
          to label %133 unwind label %147

133:                                              ; preds = %128
  call void @_ZNSt15__new_allocatorISt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %9) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %12) #7
  %134 = load i32, ptr %6, align 4, !tbaa !8
  %135 = sext i32 %134 to i64
  call void @llvm.lifetime.start.p0(i64 24, ptr %13) #7
  %136 = load i32, ptr %6, align 4, !tbaa !8
  %137 = sdiv i32 %136, 60
  %138 = add nsw i32 %137, 2
  %139 = sext i32 %138 to i64
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #7
  store i64 0, ptr %14, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %15) #7
  call void @_ZNSaIxEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #7
  invoke void @_ZNSt6vectorIxSaIxEEC2EmRKxRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %139, ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %140 unwind label %151

140:                                              ; preds = %133
  call void @llvm.lifetime.start.p0(i64 1, ptr %16) #7
  call void @_ZNSaISt6vectorIxSaIxEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #7
  invoke void @_ZNSt6vectorIS_IxSaIxEESaIS1_EEC2EmRKS1_RKS2_(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %135, ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 1 dereferenceable(1) %16)
          to label %141 unwind label %155

141:                                              ; preds = %140
  call void @_ZNSt15__new_allocatorISt6vectorIxSaIxEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #7
  call void @_ZNSt6vectorIxSaIxEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  call void @_ZNSt15__new_allocatorIxED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #7
  store i32 0, ptr %17, align 4, !tbaa !8
  br label %142

142:                                              ; preds = %202, %141
  %143 = load i32, ptr %17, align 4, !tbaa !8
  %144 = load i32, ptr %7, align 4, !tbaa !8
  %145 = icmp slt i32 %143, %144
  br i1 %145, label %160, label %146

146:                                              ; preds = %142
  store i32 5, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #7
  br label %209

147:                                              ; preds = %128
  %148 = landingpad { ptr, i32 }
          cleanup
  %149 = extractvalue { ptr, i32 } %148, 0
  store ptr %149, ptr %10, align 8
  %150 = extractvalue { ptr, i32 } %148, 1
  store i32 %150, ptr %11, align 4
  call void @_ZNSt15__new_allocatorISt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %9) #7
  br label %1044

151:                                              ; preds = %133
  %152 = landingpad { ptr, i32 }
          cleanup
  %153 = extractvalue { ptr, i32 } %152, 0
  store ptr %153, ptr %10, align 8
  %154 = extractvalue { ptr, i32 } %152, 1
  store i32 %154, ptr %11, align 4
  br label %159

155:                                              ; preds = %140
  %156 = landingpad { ptr, i32 }
          cleanup
  %157 = extractvalue { ptr, i32 } %156, 0
  store ptr %157, ptr %10, align 8
  %158 = extractvalue { ptr, i32 } %156, 1
  store i32 %158, ptr %11, align 4
  call void @_ZNSt15__new_allocatorISt6vectorIxSaIxEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #7
  call void @_ZNSt6vectorIxSaIxEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  br label %159

159:                                              ; preds = %155, %151
  call void @_ZNSt15__new_allocatorIxED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #7
  br label %1043

160:                                              ; preds = %142
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #7
  %161 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) @_ZSt3cin, ptr noundef nonnull align 4 dereferenceable(4) %18)
          to label %162 unwind label %205

162:                                              ; preds = %160
  %163 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %161, ptr noundef nonnull align 4 dereferenceable(4) %19)
          to label %164 unwind label %205

164:                                              ; preds = %162
  %165 = load i32, ptr %18, align 4, !tbaa !8
  %166 = add nsw i32 %165, -1
  store i32 %166, ptr %18, align 4, !tbaa !8
  %167 = sext i32 %166 to i64
  %168 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %167) #7
  %169 = load i32, ptr %19, align 4, !tbaa !8
  %170 = add nsw i32 %169, -1
  store i32 %170, ptr %19, align 4, !tbaa !8
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %168, ptr noundef nonnull align 4 dereferenceable(4) %19)
          to label %171 unwind label %205

171:                                              ; preds = %164
  %172 = load i32, ptr %19, align 4, !tbaa !8
  %173 = sext i32 %172 to i64
  %174 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %173) #7
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %174, ptr noundef nonnull align 4 dereferenceable(4) %18)
          to label %175 unwind label %205

175:                                              ; preds = %171
  %176 = load i32, ptr %19, align 4, !tbaa !8
  %177 = srem i32 %176, 60
  %178 = zext i32 %177 to i64
  %179 = shl i64 1, %178
  %180 = load i32, ptr %18, align 4, !tbaa !8
  %181 = sext i32 %180 to i64
  %182 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IxSaIxEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %181) #7
  %183 = load i32, ptr %19, align 4, !tbaa !8
  %184 = sdiv i32 %183, 60
  %185 = sext i32 %184 to i64
  %186 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIxSaIxEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %182, i64 noundef %185) #7
  %187 = load i64, ptr %186, align 8, !tbaa !11
  %188 = xor i64 %187, %179
  store i64 %188, ptr %186, align 8, !tbaa !11
  %189 = load i32, ptr %18, align 4, !tbaa !8
  %190 = srem i32 %189, 60
  %191 = zext i32 %190 to i64
  %192 = shl i64 1, %191
  %193 = load i32, ptr %19, align 4, !tbaa !8
  %194 = sext i32 %193 to i64
  %195 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IxSaIxEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %194) #7
  %196 = load i32, ptr %18, align 4, !tbaa !8
  %197 = sdiv i32 %196, 60
  %198 = sext i32 %197 to i64
  %199 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIxSaIxEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %195, i64 noundef %198) #7
  %200 = load i64, ptr %199, align 8, !tbaa !11
  %201 = xor i64 %200, %192
  store i64 %201, ptr %199, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #7
  br label %202

202:                                              ; preds = %175
  %203 = load i32, ptr %17, align 4, !tbaa !8
  %204 = add nsw i32 %203, 1
  store i32 %204, ptr %17, align 4, !tbaa !8
  br label %142, !llvm.loop !13

205:                                              ; preds = %171, %164, %162, %160
  %206 = landingpad { ptr, i32 }
          cleanup
  %207 = extractvalue { ptr, i32 } %206, 0
  store ptr %207, ptr %10, align 8
  %208 = extractvalue { ptr, i32 } %206, 1
  store i32 %208, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #7
  br label %1042

209:                                              ; preds = %146
  call void @llvm.lifetime.start.p0(i64 24, ptr %20) #7
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #7
  store i32 0, ptr %21, align 4, !tbaa !8
  br label %210

210:                                              ; preds = %281, %209
  %211 = load i32, ptr %21, align 4, !tbaa !8
  %212 = load i32, ptr %6, align 4, !tbaa !8
  %213 = icmp slt i32 %211, %212
  br i1 %213, label %215, label %214

214:                                              ; preds = %210
  store i32 8, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #7
  br label %284

215:                                              ; preds = %210
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #7
  %216 = load i32, ptr %21, align 4, !tbaa !8
  %217 = sext i32 %216 to i64
  %218 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %217) #7
  %219 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %218) #7
  %220 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %22, i32 0, i32 0
  store ptr %219, ptr %220, align 8
  br label %221

221:                                              ; preds = %277, %215
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #7
  %222 = load i32, ptr %21, align 4, !tbaa !8
  %223 = sext i32 %222 to i64
  %224 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %223) #7
  %225 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %224) #7
  %226 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %23, i32 0, i32 0
  store ptr %225, ptr %226, align 8
  %227 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 8 dereferenceable(8) %23) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #7
  br i1 %227, label %229, label %228

228:                                              ; preds = %221
  store i32 11, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #7
  br label %280

229:                                              ; preds = %221
  %230 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %22) #7
  %231 = load i32, ptr %230, align 4, !tbaa !8
  %232 = load i32, ptr %21, align 4, !tbaa !8
  %233 = icmp sgt i32 %231, %232
  br i1 %233, label %234, label %276

234:                                              ; preds = %229
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #7
  store i64 0, ptr %24, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #7
  store i32 0, ptr %25, align 4, !tbaa !8
  br label %235

235:                                              ; preds = %260, %234
  %236 = load i32, ptr %25, align 4, !tbaa !8
  %237 = load i32, ptr %6, align 4, !tbaa !8
  %238 = sdiv i32 %237, 60
  %239 = icmp sle i32 %236, %238
  br i1 %239, label %241, label %240

240:                                              ; preds = %235
  store i32 14, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #7
  br label %263

241:                                              ; preds = %235
  %242 = load i64, ptr %24, align 8, !tbaa !11
  %243 = load i32, ptr %21, align 4, !tbaa !8
  %244 = sext i32 %243 to i64
  %245 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IxSaIxEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %244) #7
  %246 = load i32, ptr %25, align 4, !tbaa !8
  %247 = sext i32 %246 to i64
  %248 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIxSaIxEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %245, i64 noundef %247) #7
  %249 = load i64, ptr %248, align 8, !tbaa !11
  %250 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %22) #7
  %251 = load i32, ptr %250, align 4, !tbaa !8
  %252 = sext i32 %251 to i64
  %253 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IxSaIxEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %252) #7
  %254 = load i32, ptr %25, align 4, !tbaa !8
  %255 = sext i32 %254 to i64
  %256 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIxSaIxEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %253, i64 noundef %255) #7
  %257 = load i64, ptr %256, align 8, !tbaa !11
  %258 = and i64 %249, %257
  %259 = or i64 %242, %258
  store i64 %259, ptr %24, align 8, !tbaa !11
  br label %260

260:                                              ; preds = %241
  %261 = load i32, ptr %25, align 4, !tbaa !8
  %262 = add nsw i32 %261, 1
  store i32 %262, ptr %25, align 4, !tbaa !8
  br label %235, !llvm.loop !15

263:                                              ; preds = %240
  %264 = load i64, ptr %24, align 8, !tbaa !11
  %265 = icmp sgt i64 %264, 0
  br i1 %265, label %266, label %275

266:                                              ; preds = %263
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #7
  %267 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %22) #7
  %268 = invoke i64 @_ZSt9make_pairIRiS0_ESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS2_INS3_IT0_E4typeEE6__typeEEOS4_OS9_(ptr noundef nonnull align 4 dereferenceable(4) %21, ptr noundef nonnull align 4 dereferenceable(4) %267)
          to label %269 unwind label %271

269:                                              ; preds = %266
  store i64 %268, ptr %26, align 4
  invoke void @_ZNSt6vectorISt4pairIiiESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 4 dereferenceable(8) %26)
          to label %270 unwind label %271

270:                                              ; preds = %269
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #7
  br label %275

271:                                              ; preds = %269, %266
  %272 = landingpad { ptr, i32 }
          cleanup
  %273 = extractvalue { ptr, i32 } %272, 0
  store ptr %273, ptr %10, align 8
  %274 = extractvalue { ptr, i32 } %272, 1
  store i32 %274, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #7
  br label %1041

275:                                              ; preds = %270, %263
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #7
  br label %276

276:                                              ; preds = %275, %229
  br label %277

277:                                              ; preds = %276
  %278 = call ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %22, i32 noundef 0) #7
  %279 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %27, i32 0, i32 0
  store ptr %278, ptr %279, align 8
  br label %221, !llvm.loop !16

280:                                              ; preds = %228
  br label %281

281:                                              ; preds = %280
  %282 = load i32, ptr %21, align 4, !tbaa !8
  %283 = add nsw i32 %282, 1
  store i32 %283, ptr %21, align 4, !tbaa !8
  br label %210, !llvm.loop !17

284:                                              ; preds = %214
  call void @llvm.lifetime.start.p0(i64 48, ptr %28) #7
  call void @_ZNSt3mapISt6vectorIiSaIiEEiSt4lessIS2_ESaISt4pairIKS2_iEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %28) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #7
  %285 = call ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #7
  %286 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.23", ptr %29, i32 0, i32 0
  store ptr %285, ptr %286, align 8
  br label %287

287:                                              ; preds = %405, %284
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #7
  %288 = call ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #7
  %289 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.23", ptr %30, i32 0, i32 0
  store ptr %288, ptr %289, align 8
  %290 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt4pairIiiESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef nonnull align 8 dereferenceable(8) %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #7
  br i1 %290, label %292, label %291

291:                                              ; preds = %287
  store i32 17, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #7
  br label %409

292:                                              ; preds = %287
  call void @llvm.lifetime.start.p0(i64 24, ptr %31) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #7
  store i32 0, ptr %32, align 4, !tbaa !8
  br label %293

293:                                              ; preds = %350, %292
  %294 = load i32, ptr %32, align 4, !tbaa !8
  %295 = load i32, ptr %6, align 4, !tbaa !8
  %296 = icmp slt i32 %294, %295
  br i1 %296, label %298, label %297

297:                                              ; preds = %293
  store i32 20, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #7
  br label %353

298:                                              ; preds = %293
  %299 = load i32, ptr %32, align 4, !tbaa !8
  %300 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  %301 = getelementptr inbounds %"struct.std::pair", ptr %300, i32 0, i32 0
  %302 = load i32, ptr %301, align 4, !tbaa !18
  %303 = icmp ne i32 %299, %302
  br i1 %303, label %304, label %349

304:                                              ; preds = %298
  %305 = load i32, ptr %32, align 4, !tbaa !8
  %306 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  %307 = getelementptr inbounds %"struct.std::pair", ptr %306, i32 0, i32 1
  %308 = load i32, ptr %307, align 4, !tbaa !20
  %309 = icmp ne i32 %305, %308
  br i1 %309, label %310, label %349

310:                                              ; preds = %304
  %311 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  %312 = getelementptr inbounds %"struct.std::pair", ptr %311, i32 0, i32 0
  %313 = load i32, ptr %312, align 4, !tbaa !18
  %314 = sext i32 %313 to i64
  %315 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IxSaIxEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %314) #7
  %316 = load i32, ptr %32, align 4, !tbaa !8
  %317 = sdiv i32 %316, 60
  %318 = sext i32 %317 to i64
  %319 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIxSaIxEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %315, i64 noundef %318) #7
  %320 = load i64, ptr %319, align 8, !tbaa !11
  %321 = load i32, ptr %32, align 4, !tbaa !8
  %322 = srem i32 %321, 60
  %323 = zext i32 %322 to i64
  %324 = ashr i64 %320, %323
  %325 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  %326 = getelementptr inbounds %"struct.std::pair", ptr %325, i32 0, i32 1
  %327 = load i32, ptr %326, align 4, !tbaa !20
  %328 = sext i32 %327 to i64
  %329 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IxSaIxEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %328) #7
  %330 = load i32, ptr %32, align 4, !tbaa !8
  %331 = sdiv i32 %330, 60
  %332 = sext i32 %331 to i64
  %333 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIxSaIxEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %329, i64 noundef %332) #7
  %334 = load i64, ptr %333, align 8, !tbaa !11
  %335 = load i32, ptr %32, align 4, !tbaa !8
  %336 = srem i32 %335, 60
  %337 = zext i32 %336 to i64
  %338 = ashr i64 %334, %337
  %339 = and i64 %324, %338
  %340 = and i64 %339, 1
  %341 = icmp ne i64 %340, 0
  br i1 %341, label %342, label %348

342:                                              ; preds = %310
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef nonnull align 4 dereferenceable(4) %32)
          to label %343 unwind label %344

343:                                              ; preds = %342
  br label %348

344:                                              ; preds = %342
  %345 = landingpad { ptr, i32 }
          cleanup
  %346 = extractvalue { ptr, i32 } %345, 0
  store ptr %346, ptr %10, align 8
  %347 = extractvalue { ptr, i32 } %345, 1
  store i32 %347, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #7
  br label %408

348:                                              ; preds = %343, %310
  br label %349

349:                                              ; preds = %348, %304, %298
  br label %350

350:                                              ; preds = %349
  %351 = load i32, ptr %32, align 4, !tbaa !8
  %352 = add nsw i32 %351, 1
  store i32 %352, ptr %32, align 4, !tbaa !8
  br label %293, !llvm.loop !21

353:                                              ; preds = %297
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #7
  %354 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %31) #7
  %355 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %33, i32 0, i32 0
  store ptr %354, ptr %355, align 8
  br label %356

356:                                              ; preds = %392, %353
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #7
  %357 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %31) #7
  %358 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %34, i32 0, i32 0
  store ptr %357, ptr %358, align 8
  %359 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %33, ptr noundef nonnull align 8 dereferenceable(8) %34) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #7
  br i1 %359, label %361, label %360

360:                                              ; preds = %356
  store i32 23, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #7
  br label %404

361:                                              ; preds = %356
  call void @llvm.lifetime.start.p0(i64 24, ptr %35) #7
  call void @llvm.lifetime.start.p0(i64 12, ptr %37) #7
  %362 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %33) #7
  %363 = load i32, ptr %362, align 4, !tbaa !8
  store i32 %363, ptr %37, align 4, !tbaa !8
  %364 = getelementptr inbounds i32, ptr %37, i64 1
  %365 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  %366 = getelementptr inbounds %"struct.std::pair", ptr %365, i32 0, i32 0
  %367 = load i32, ptr %366, align 4, !tbaa !18
  store i32 %367, ptr %364, align 4, !tbaa !8
  %368 = getelementptr inbounds i32, ptr %37, i64 2
  %369 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  %370 = getelementptr inbounds %"struct.std::pair", ptr %369, i32 0, i32 1
  %371 = load i32, ptr %370, align 4, !tbaa !20
  store i32 %371, ptr %368, align 4, !tbaa !8
  %372 = getelementptr inbounds %"class.std::initializer_list", ptr %36, i32 0, i32 0
  store ptr %37, ptr %372, align 8, !tbaa !22
  %373 = getelementptr inbounds %"class.std::initializer_list", ptr %36, i32 0, i32 1
  store i64 3, ptr %373, align 8, !tbaa !26
  call void @llvm.lifetime.start.p0(i64 1, ptr %38) #7
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #7
  %374 = getelementptr inbounds { ptr, i64 }, ptr %36, i32 0, i32 0
  %375 = load ptr, ptr %374, align 8
  %376 = getelementptr inbounds { ptr, i64 }, ptr %36, i32 0, i32 1
  %377 = load i64, ptr %376, align 8
  invoke void @_ZNSt6vectorIiSaIiEEC2ESt16initializer_listIiERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %35, ptr %375, i64 %377, ptr noundef nonnull align 1 dereferenceable(1) %38)
          to label %378 unwind label %395

378:                                              ; preds = %361
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %37) #7
  %379 = invoke ptr @_ZSt5beginISt6vectorIiSaIiEEEDTcldtfp_5beginEERT_(ptr noundef nonnull align 8 dereferenceable(24) %35)
          to label %380 unwind label %399

380:                                              ; preds = %378
  %381 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %39, i32 0, i32 0
  store ptr %379, ptr %381, align 8
  %382 = invoke ptr @_ZSt3endISt6vectorIiSaIiEEEDTcldtfp_3endEERT_(ptr noundef nonnull align 8 dereferenceable(24) %35)
          to label %383 unwind label %399

383:                                              ; preds = %380
  %384 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %40, i32 0, i32 0
  store ptr %382, ptr %384, align 8
  %385 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %39, i32 0, i32 0
  %386 = load ptr, ptr %385, align 8
  %387 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %40, i32 0, i32 0
  %388 = load ptr, ptr %387, align 8
  invoke void @_ZSt4sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEvT_S7_(ptr %386, ptr %388)
          to label %389 unwind label %399

389:                                              ; preds = %383
  %390 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapISt6vectorIiSaIiEEiSt4lessIS2_ESaISt4pairIKS2_iEEEixERS6_(ptr noundef nonnull align 8 dereferenceable(48) %28, ptr noundef nonnull align 8 dereferenceable(24) %35)
          to label %391 unwind label %399

391:                                              ; preds = %389
  store i32 0, ptr %390, align 4, !tbaa !8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %35) #7
  br label %392

392:                                              ; preds = %391
  %393 = call ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %33, i32 noundef 0) #7
  %394 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %41, i32 0, i32 0
  store ptr %393, ptr %394, align 8
  br label %356, !llvm.loop !27

395:                                              ; preds = %361
  %396 = landingpad { ptr, i32 }
          cleanup
  %397 = extractvalue { ptr, i32 } %396, 0
  store ptr %397, ptr %10, align 8
  %398 = extractvalue { ptr, i32 } %396, 1
  store i32 %398, ptr %11, align 4
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %37) #7
  br label %403

399:                                              ; preds = %389, %383, %380, %378
  %400 = landingpad { ptr, i32 }
          cleanup
  %401 = extractvalue { ptr, i32 } %400, 0
  store ptr %401, ptr %10, align 8
  %402 = extractvalue { ptr, i32 } %400, 1
  store i32 %402, ptr %11, align 4
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #7
  br label %403

403:                                              ; preds = %399, %395
  call void @llvm.lifetime.end.p0(i64 24, ptr %35) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #7
  br label %408

404:                                              ; preds = %360
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %31) #7
  br label %405

405:                                              ; preds = %404
  %406 = call ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %29, i32 noundef 0) #7
  %407 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.23", ptr %42, i32 0, i32 0
  store ptr %406, ptr %407, align 8
  br label %287, !llvm.loop !28

408:                                              ; preds = %403, %344
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %31) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #7
  br label %1040

409:                                              ; preds = %291
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #7
  store i32 0, ptr %43, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #7
  %410 = call ptr @_ZNSt3mapISt6vectorIiSaIiEEiSt4lessIS2_ESaISt4pairIKS2_iEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %28) #7
  %411 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %44, i32 0, i32 0
  store ptr %410, ptr %411, align 8
  br label %412

412:                                              ; preds = %422, %409
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #7
  %413 = call ptr @_ZNSt3mapISt6vectorIiSaIiEEiSt4lessIS2_ESaISt4pairIKS2_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %28) #7
  %414 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %45, i32 0, i32 0
  store ptr %413, ptr %414, align 8
  %415 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEES8_(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef nonnull align 8 dereferenceable(8) %45) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #7
  br i1 %415, label %417, label %416

416:                                              ; preds = %412
  store i32 26, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #7
  br label %425

417:                                              ; preds = %412
  %418 = load i32, ptr %43, align 4, !tbaa !8
  %419 = add nsw i32 %418, 1
  store i32 %419, ptr %43, align 4, !tbaa !8
  %420 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %44) #7
  %421 = getelementptr inbounds %"struct.std::pair.24", ptr %420, i32 0, i32 1
  store i32 %418, ptr %421, align 8, !tbaa !29
  br label %422

422:                                              ; preds = %417
  %423 = call ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %44, i32 noundef 0) #7
  %424 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %46, i32 0, i32 0
  store ptr %423, ptr %424, align 8
  br label %412, !llvm.loop !35

425:                                              ; preds = %416
  call void @llvm.lifetime.start.p0(i64 24, ptr %47) #7
  %426 = load i32, ptr %43, align 4, !tbaa !8
  %427 = sext i32 %426 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %48) #7
  call void @_ZNSaISt6vectorIiSaIiEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #7
  invoke void @_ZNSt6vectorIS_IiSaIiEESaIS1_EEC2EmRKS2_(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %427, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %428 unwind label %436

428:                                              ; preds = %425
  call void @_ZNSt15__new_allocatorISt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %48) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #7
  %429 = call ptr @_ZNSt3mapISt6vectorIiSaIiEEiSt4lessIS2_ESaISt4pairIKS2_iEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %28) #7
  %430 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %49, i32 0, i32 0
  store ptr %429, ptr %430, align 8
  br label %431

431:                                              ; preds = %522, %428
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #7
  %432 = call ptr @_ZNSt3mapISt6vectorIiSaIiEEiSt4lessIS2_ESaISt4pairIKS2_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %28) #7
  %433 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %50, i32 0, i32 0
  store ptr %432, ptr %433, align 8
  %434 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEES8_(ptr noundef nonnull align 8 dereferenceable(8) %49, ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #7
  br i1 %434, label %440, label %435

435:                                              ; preds = %431
  store i32 29, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #7
  br label %525

436:                                              ; preds = %425
  %437 = landingpad { ptr, i32 }
          cleanup
  %438 = extractvalue { ptr, i32 } %437, 0
  store ptr %438, ptr %10, align 8
  %439 = extractvalue { ptr, i32 } %437, 1
  store i32 %439, ptr %11, align 4
  call void @_ZNSt15__new_allocatorISt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %48) #7
  br label %1039

440:                                              ; preds = %431
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #7
  %441 = call ptr @_ZNSt3mapISt6vectorIiSaIiEEiSt4lessIS2_ESaISt4pairIKS2_iEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %28) #7
  %442 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %51, i32 0, i32 0
  store ptr %441, ptr %442, align 8
  br label %443

443:                                              ; preds = %517, %440
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #7
  %444 = call ptr @_ZNSt3mapISt6vectorIiSaIiEEiSt4lessIS2_ESaISt4pairIKS2_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %28) #7
  %445 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %52, i32 0, i32 0
  store ptr %444, ptr %445, align 8
  %446 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEES8_(ptr noundef nonnull align 8 dereferenceable(8) %51, ptr noundef nonnull align 8 dereferenceable(8) %52) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #7
  br i1 %446, label %448, label %447

447:                                              ; preds = %443
  store i32 32, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #7
  br label %521

448:                                              ; preds = %443
  %449 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %51) #7
  %450 = getelementptr inbounds %"struct.std::pair.24", ptr %449, i32 0, i32 0
  %451 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %49) #7
  %452 = getelementptr inbounds %"struct.std::pair.24", ptr %451, i32 0, i32 0
  %453 = invoke noundef zeroext i1 @_ZStgtIiSaIiEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %450, ptr noundef nonnull align 8 dereferenceable(24) %452)
          to label %454 unwind label %460

454:                                              ; preds = %448
  br i1 %453, label %455, label %516

455:                                              ; preds = %454
  call void @llvm.lifetime.start.p0(i64 1, ptr %53) #7
  store i8 0, ptr %53, align 1, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #7
  store i32 0, ptr %54, align 4, !tbaa !8
  br label %456

456:                                              ; preds = %512, %455
  %457 = load i32, ptr %54, align 4, !tbaa !8
  %458 = icmp slt i32 %457, 3
  br i1 %458, label %464, label %459

459:                                              ; preds = %456
  store i32 35, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #7
  br label %515

460:                                              ; preds = %448
  %461 = landingpad { ptr, i32 }
          cleanup
  %462 = extractvalue { ptr, i32 } %461, 0
  store ptr %462, ptr %10, align 8
  %463 = extractvalue { ptr, i32 } %461, 1
  store i32 %463, ptr %11, align 4
  br label %520

464:                                              ; preds = %456
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #7
  store i32 0, ptr %55, align 4, !tbaa !8
  br label %465

465:                                              ; preds = %508, %464
  %466 = load i32, ptr %55, align 4, !tbaa !8
  %467 = icmp slt i32 %466, 3
  br i1 %467, label %469, label %468

468:                                              ; preds = %465
  store i32 38, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #7
  br label %511

469:                                              ; preds = %465
  %470 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %49) #7
  %471 = getelementptr inbounds %"struct.std::pair.24", ptr %470, i32 0, i32 0
  %472 = load i32, ptr %54, align 4, !tbaa !8
  %473 = sext i32 %472 to i64
  %474 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %471, i64 noundef %473) #7
  %475 = load i32, ptr %474, align 4, !tbaa !8
  %476 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %51) #7
  %477 = getelementptr inbounds %"struct.std::pair.24", ptr %476, i32 0, i32 0
  %478 = load i32, ptr %55, align 4, !tbaa !8
  %479 = sext i32 %478 to i64
  %480 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %477, i64 noundef %479) #7
  %481 = load i32, ptr %480, align 4, !tbaa !8
  %482 = icmp eq i32 %475, %481
  br i1 %482, label %483, label %507

483:                                              ; preds = %469
  %484 = load i8, ptr %53, align 1, !tbaa !36, !range !38, !noundef !39
  %485 = trunc i8 %484 to i1
  br i1 %485, label %507, label %486

486:                                              ; preds = %483
  %487 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %49) #7
  %488 = getelementptr inbounds %"struct.std::pair.24", ptr %487, i32 0, i32 1
  %489 = load i32, ptr %488, align 8, !tbaa !29
  %490 = sext i32 %489 to i64
  %491 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %490) #7
  %492 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %51) #7
  %493 = getelementptr inbounds %"struct.std::pair.24", ptr %492, i32 0, i32 1
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %491, ptr noundef nonnull align 4 dereferenceable(4) %493)
          to label %494 unwind label %503

494:                                              ; preds = %486
  %495 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %51) #7
  %496 = getelementptr inbounds %"struct.std::pair.24", ptr %495, i32 0, i32 1
  %497 = load i32, ptr %496, align 8, !tbaa !29
  %498 = sext i32 %497 to i64
  %499 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %498) #7
  %500 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %49) #7
  %501 = getelementptr inbounds %"struct.std::pair.24", ptr %500, i32 0, i32 1
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %499, ptr noundef nonnull align 4 dereferenceable(4) %501)
          to label %502 unwind label %503

502:                                              ; preds = %494
  store i8 1, ptr %53, align 1, !tbaa !36
  br label %507

503:                                              ; preds = %494, %486
  %504 = landingpad { ptr, i32 }
          cleanup
  %505 = extractvalue { ptr, i32 } %504, 0
  store ptr %505, ptr %10, align 8
  %506 = extractvalue { ptr, i32 } %504, 1
  store i32 %506, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %53) #7
  br label %520

507:                                              ; preds = %502, %483, %469
  br label %508

508:                                              ; preds = %507
  %509 = load i32, ptr %55, align 4, !tbaa !8
  %510 = add nsw i32 %509, 1
  store i32 %510, ptr %55, align 4, !tbaa !8
  br label %465, !llvm.loop !40

511:                                              ; preds = %468
  br label %512

512:                                              ; preds = %511
  %513 = load i32, ptr %54, align 4, !tbaa !8
  %514 = add nsw i32 %513, 1
  store i32 %514, ptr %54, align 4, !tbaa !8
  br label %456, !llvm.loop !41

515:                                              ; preds = %459
  call void @llvm.lifetime.end.p0(i64 1, ptr %53) #7
  br label %516

516:                                              ; preds = %515, %454
  br label %517

517:                                              ; preds = %516
  %518 = call ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %51, i32 noundef 0) #7
  %519 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %56, i32 0, i32 0
  store ptr %518, ptr %519, align 8
  br label %443, !llvm.loop !42

520:                                              ; preds = %503, %460
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #7
  br label %1038

521:                                              ; preds = %447
  br label %522

522:                                              ; preds = %521
  %523 = call ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %49, i32 noundef 0) #7
  %524 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %57, i32 0, i32 0
  store ptr %523, ptr %524, align 8
  br label %431, !llvm.loop !43

525:                                              ; preds = %435
  call void @llvm.lifetime.start.p0(i64 24, ptr %58) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %58) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %59) #7
  %526 = load i32, ptr %43, align 4, !tbaa !8
  %527 = sext i32 %526 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %60) #7
  store i8 0, ptr %60, align 1, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 1, ptr %61) #7
  call void @_ZNSaIbEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #7
  invoke void @_ZNSt6vectorIbSaIbEEC2EmRKbRKS0_(ptr noundef nonnull align 8 dereferenceable(40) %59, i64 noundef %527, ptr noundef nonnull align 1 dereferenceable(1) %60, ptr noundef nonnull align 1 dereferenceable(1) %61)
          to label %528 unwind label %540

528:                                              ; preds = %525
  call void @_ZNSt15__new_allocatorIbED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %60) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %62) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #7
  store i32 0, ptr %63, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 1, ptr %64) #7
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #7
  invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %62, i64 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %63, ptr noundef nonnull align 1 dereferenceable(1) %64)
          to label %529 unwind label %544

529:                                              ; preds = %528
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %64) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %65) #7
  %530 = load i32, ptr %43, align 4, !tbaa !8
  %531 = sext i32 %530 to i64
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #7
  %532 = load i32, ptr %43, align 4, !tbaa !8
  %533 = add nsw i32 %532, 1
  store i32 %533, ptr %66, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 1, ptr %67) #7
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #7
  invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %65, i64 noundef %531, ptr noundef nonnull align 4 dereferenceable(4) %66, ptr noundef nonnull align 1 dereferenceable(1) %67)
          to label %534 unwind label %548

534:                                              ; preds = %529
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #7
  store i32 0, ptr %68, align 4, !tbaa !8
  br label %535

535:                                              ; preds = %990, %534
  %536 = load i32, ptr %68, align 4, !tbaa !8
  %537 = load i32, ptr %43, align 4, !tbaa !8
  %538 = icmp slt i32 %536, %537
  br i1 %538, label %552, label %539

539:                                              ; preds = %535
  store i32 41, ptr %5, align 4
  br label %1000

540:                                              ; preds = %525
  %541 = landingpad { ptr, i32 }
          cleanup
  %542 = extractvalue { ptr, i32 } %541, 0
  store ptr %542, ptr %10, align 8
  %543 = extractvalue { ptr, i32 } %541, 1
  store i32 %543, ptr %11, align 4
  call void @_ZNSt15__new_allocatorIbED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %60) #7
  br label %1037

544:                                              ; preds = %528
  %545 = landingpad { ptr, i32 }
          cleanup
  %546 = extractvalue { ptr, i32 } %545, 0
  store ptr %546, ptr %10, align 8
  %547 = extractvalue { ptr, i32 } %545, 1
  store i32 %547, ptr %11, align 4
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %64) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #7
  br label %1036

548:                                              ; preds = %529
  %549 = landingpad { ptr, i32 }
          cleanup
  %550 = extractvalue { ptr, i32 } %549, 0
  store ptr %550, ptr %10, align 8
  %551 = extractvalue { ptr, i32 } %549, 1
  store i32 %551, ptr %11, align 4
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #7
  br label %1035

552:                                              ; preds = %535
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #7
  store i32 -1, ptr %69, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #7
  %553 = load i32, ptr %43, align 4, !tbaa !8
  %554 = add nsw i32 %553, 1
  store i32 %554, ptr %70, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #7
  store i32 0, ptr %71, align 4, !tbaa !8
  br label %555

555:                                              ; preds = %622, %552
  %556 = load i32, ptr %71, align 4, !tbaa !8
  %557 = load i32, ptr %43, align 4, !tbaa !8
  %558 = icmp slt i32 %556, %557
  br i1 %558, label %560, label %559

559:                                              ; preds = %555
  store i32 44, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #7
  br label %626

560:                                              ; preds = %555
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #7
  %561 = load i32, ptr %71, align 4, !tbaa !8
  %562 = sext i32 %561 to i64
  %563 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %59, i64 noundef %562)
          to label %564 unwind label %594

564:                                              ; preds = %560
  %565 = getelementptr inbounds { ptr, i64 }, ptr %72, i32 0, i32 0
  %566 = extractvalue { ptr, i64 } %563, 0
  store ptr %566, ptr %565, align 8
  %567 = getelementptr inbounds { ptr, i64 }, ptr %72, i32 0, i32 1
  %568 = extractvalue { ptr, i64 } %563, 1
  store i64 %568, ptr %567, align 8
  %569 = call noundef zeroext i1 @_ZNKSt14_Bit_referencecvbEv(ptr noundef nonnull align 8 dereferenceable(16) %72) #7
  br i1 %569, label %576, label %570

570:                                              ; preds = %564
  %571 = load i32, ptr %71, align 4, !tbaa !8
  %572 = sext i32 %571 to i64
  %573 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %572) #7
  %574 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %573) #7
  %575 = xor i1 %574, true
  br label %576

576:                                              ; preds = %570, %564
  %577 = phi i1 [ false, %564 ], [ %575, %570 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr %72) #7
  br i1 %577, label %578, label %621

578:                                              ; preds = %576
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #7
  %579 = load i32, ptr %43, align 4, !tbaa !8
  %580 = add nsw i32 %579, 1
  store i32 %580, ptr %73, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #7
  %581 = load i32, ptr %71, align 4, !tbaa !8
  %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) %47, i64 noundef %582) #7
  %584 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %583) #7
  %585 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %74, i32 0, i32 0
  store ptr %584, ptr %585, align 8
  br label %586

586:                                              ; preds = %606, %578
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #7
  %587 = load i32, ptr %71, align 4, !tbaa !8
  %588 = sext i32 %587 to i64
  %589 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %588) #7
  %590 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %589) #7
  %591 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %75, i32 0, i32 0
  store ptr %590, ptr %591, align 8
  %592 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %74, ptr noundef nonnull align 8 dereferenceable(8) %75) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #7
  br i1 %592, label %598, label %593

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

594:                                              ; preds = %560
  %595 = landingpad { ptr, i32 }
          cleanup
  %596 = extractvalue { ptr, i32 } %595, 0
  store ptr %596, ptr %10, align 8
  %597 = extractvalue { ptr, i32 } %595, 1
  store i32 %597, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %72) #7
  br label %625

598:                                              ; preds = %586
  %599 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %74) #7
  %600 = load i32, ptr %599, align 4, !tbaa !8
  %601 = sext i32 %600 to i64
  %602 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %65, i64 noundef %601) #7
  %603 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3minIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %73, ptr noundef nonnull align 4 dereferenceable(4) %602)
          to label %604 unwind label %609

604:                                              ; preds = %598
  %605 = load i32, ptr %603, align 4, !tbaa !8
  store i32 %605, ptr %73, align 4, !tbaa !8
  br label %606

606:                                              ; preds = %604
  %607 = call ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %74, i32 noundef 0) #7
  %608 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %76, i32 0, i32 0
  store ptr %607, ptr %608, align 8
  br label %586, !llvm.loop !44

609:                                              ; preds = %598
  %610 = landingpad { ptr, i32 }
          cleanup
  %611 = extractvalue { ptr, i32 } %610, 0
  store ptr %611, ptr %10, align 8
  %612 = extractvalue { ptr, i32 } %610, 1
  store i32 %612, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #7
  br label %625

613:                                              ; preds = %593
  %614 = load i32, ptr %73, align 4, !tbaa !8
  %615 = load i32, ptr %70, align 4, !tbaa !8
  %616 = icmp sle i32 %614, %615
  br i1 %616, label %617, label %620

617:                                              ; preds = %613
  %618 = load i32, ptr %73, align 4, !tbaa !8
  store i32 %618, ptr %70, align 4, !tbaa !8
  %619 = load i32, ptr %71, align 4, !tbaa !8
  store i32 %619, ptr %69, align 4, !tbaa !8
  br label %620

620:                                              ; preds = %617, %613
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #7
  br label %621

621:                                              ; preds = %620, %576
  br label %622

622:                                              ; preds = %621
  %623 = load i32, ptr %71, align 4, !tbaa !8
  %624 = add nsw i32 %623, 1
  store i32 %624, ptr %71, align 4, !tbaa !8
  br label %555, !llvm.loop !45

625:                                              ; preds = %609, %594
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #7
  br label %999

626:                                              ; preds = %559
  %627 = load i32, ptr %69, align 4, !tbaa !8
  %628 = icmp eq i32 %627, -1
  br i1 %628, label %629, label %630

629:                                              ; preds = %626
  store i32 41, ptr %5, align 4
  br label %987

630:                                              ; preds = %626
  %631 = load i32, ptr %68, align 4, !tbaa !8
  %632 = load i32, ptr %69, align 4, !tbaa !8
  %633 = sext i32 %632 to i64
  %634 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %65, i64 noundef %633) #7
  store i32 %631, ptr %634, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 24, ptr %77) #7
  %635 = load i32, ptr %69, align 4, !tbaa !8
  %636 = sext i32 %635 to i64
  %637 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %636) #7
  %638 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %637) #7
  %639 = trunc i64 %638 to i32
  %640 = shl i32 1, %639
  %641 = sext i32 %640 to i64
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #7
  store i32 0, ptr %78, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 1, ptr %79) #7
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #7
  invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef %641, ptr noundef nonnull align 4 dereferenceable(4) %78, ptr noundef nonnull align 1 dereferenceable(1) %79)
          to label %642 unwind label %661

642:                                              ; preds = %630
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %80) #7
  %643 = load i32, ptr %69, align 4, !tbaa !8
  %644 = sext i32 %643 to i64
  %645 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %644) #7
  %646 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %645) #7
  %647 = trunc i64 %646 to i32
  %648 = shl i32 1, %647
  %649 = sext i32 %648 to i64
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #7
  store i32 0, ptr %81, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 1, ptr %82) #7
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #7
  invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %80, i64 noundef %649, ptr noundef nonnull align 4 dereferenceable(4) %81, ptr noundef nonnull align 1 dereferenceable(1) %82)
          to label %650 unwind label %665

650:                                              ; preds = %642
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %82) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #7
  store i32 0, ptr %83, align 4, !tbaa !8
  br label %651

651:                                              ; preds = %743, %650
  %652 = load i32, ptr %83, align 4, !tbaa !8
  %653 = load i32, ptr %69, align 4, !tbaa !8
  %654 = sext i32 %653 to i64
  %655 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %654) #7
  %656 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %655) #7
  %657 = trunc i64 %656 to i32
  %658 = shl i32 1, %657
  %659 = icmp slt i32 %652, %658
  br i1 %659, label %669, label %660

660:                                              ; preds = %651
  store i32 50, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #7
  br label %746

661:                                              ; preds = %630
  %662 = landingpad { ptr, i32 }
          cleanup
  %663 = extractvalue { ptr, i32 } %662, 0
  store ptr %663, ptr %10, align 8
  %664 = extractvalue { ptr, i32 } %662, 1
  store i32 %664, ptr %11, align 4
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #7
  br label %998

665:                                              ; preds = %642
  %666 = landingpad { ptr, i32 }
          cleanup
  %667 = extractvalue { ptr, i32 } %666, 0
  store ptr %667, ptr %10, align 8
  %668 = extractvalue { ptr, i32 } %666, 1
  store i32 %668, ptr %11, align 4
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %82) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #7
  br label %997

669:                                              ; preds = %651
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #7
  store i32 0, ptr %84, align 4, !tbaa !8
  br label %670

670:                                              ; preds = %724, %669
  %671 = load i32, ptr %84, align 4, !tbaa !8
  %672 = load i32, ptr %69, align 4, !tbaa !8
  %673 = sext i32 %672 to i64
  %674 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %673) #7
  %675 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %674) #7
  %676 = trunc i64 %675 to i32
  %677 = icmp slt i32 %671, %676
  br i1 %677, label %679, label %678

678:                                              ; preds = %670
  store i32 53, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #7
  br label %727

679:                                              ; preds = %670
  %680 = load i32, ptr %83, align 4, !tbaa !8
  %681 = load i32, ptr %84, align 4, !tbaa !8
  %682 = ashr i32 %680, %681
  %683 = and i32 %682, 1
  %684 = icmp ne i32 %683, 0
  br i1 %684, label %685, label %723

685:                                              ; preds = %679
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #7
  store i32 0, ptr %85, align 4, !tbaa !8
  br label %686

686:                                              ; preds = %719, %685
  %687 = load i32, ptr %85, align 4, !tbaa !8
  %688 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %58) #7
  %689 = trunc i64 %688 to i32
  %690 = icmp slt i32 %687, %689
  br i1 %690, label %692, label %691

691:                                              ; preds = %686
  store i32 56, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #7
  br label %722

692:                                              ; preds = %686
  %693 = load i32, ptr %85, align 4, !tbaa !8
  %694 = sext i32 %693 to i64
  %695 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %58, i64 noundef %694) #7
  %696 = load i32, ptr %695, align 4, !tbaa !8
  %697 = load i32, ptr %69, align 4, !tbaa !8
  %698 = sext i32 %697 to i64
  %699 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %698) #7
  %700 = load i32, ptr %84, align 4, !tbaa !8
  %701 = sext i32 %700 to i64
  %702 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %699, i64 noundef %701) #7
  %703 = load i32, ptr %702, align 4, !tbaa !8
  %704 = icmp eq i32 %696, %703
  br i1 %704, label %705, label %718

705:                                              ; preds = %692
  %706 = load i32, ptr %85, align 4, !tbaa !8
  %707 = shl i32 1, %706
  %708 = load i32, ptr %83, align 4, !tbaa !8
  %709 = sext i32 %708 to i64
  %710 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef %709) #7
  %711 = load i32, ptr %710, align 4, !tbaa !8
  %712 = add nsw i32 %711, %707
  store i32 %712, ptr %710, align 4, !tbaa !8
  %713 = load i32, ptr %83, align 4, !tbaa !8
  %714 = sext i32 %713 to i64
  %715 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %80, i64 noundef %714) #7
  %716 = load i32, ptr %715, align 4, !tbaa !8
  %717 = add nsw i32 %716, 1
  store i32 %717, ptr %715, align 4, !tbaa !8
  br label %718

718:                                              ; preds = %705, %692
  br label %719

719:                                              ; preds = %718
  %720 = load i32, ptr %85, align 4, !tbaa !8
  %721 = add nsw i32 %720, 1
  store i32 %721, ptr %85, align 4, !tbaa !8
  br label %686, !llvm.loop !46

722:                                              ; preds = %691
  br label %723

723:                                              ; preds = %722, %679
  br label %724

724:                                              ; preds = %723
  %725 = load i32, ptr %84, align 4, !tbaa !8
  %726 = add nsw i32 %725, 1
  store i32 %726, ptr %84, align 4, !tbaa !8
  br label %670, !llvm.loop !47

727:                                              ; preds = %678
  %728 = load i32, ptr %83, align 4, !tbaa !8
  %729 = sext i32 %728 to i64
  %730 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %80, i64 noundef %729) #7
  %731 = load i32, ptr %730, align 4, !tbaa !8
  %732 = icmp sgt i32 %731, 0
  br i1 %732, label %733, label %742

733:                                              ; preds = %727
  %734 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %58) #7
  %735 = trunc i64 %734 to i32
  %736 = shl i32 1, %735
  %737 = load i32, ptr %83, align 4, !tbaa !8
  %738 = sext i32 %737 to i64
  %739 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef %738) #7
  %740 = load i32, ptr %739, align 4, !tbaa !8
  %741 = add nsw i32 %740, %736
  store i32 %741, ptr %739, align 4, !tbaa !8
  br label %742

742:                                              ; preds = %733, %727
  br label %743

743:                                              ; preds = %742
  %744 = load i32, ptr %83, align 4, !tbaa !8
  %745 = add nsw i32 %744, 1
  store i32 %745, ptr %83, align 4, !tbaa !8
  br label %651, !llvm.loop !48

746:                                              ; preds = %660
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #7
  %747 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %58) #7
  %748 = trunc i64 %747 to i32
  store i32 %748, ptr %86, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 24, ptr %87) #7
  %749 = load i32, ptr %86, align 4, !tbaa !8
  %750 = add nsw i32 %749, 1
  %751 = shl i32 1, %750
  %752 = sext i32 %751 to i64
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #7
  %753 = load i32, ptr %43, align 4, !tbaa !8
  %754 = add nsw i32 %753, 1
  store i32 %754, ptr %88, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 1, ptr %89) #7
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %89) #7
  invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %87, i64 noundef %752, ptr noundef nonnull align 4 dereferenceable(4) %88, ptr noundef nonnull align 1 dereferenceable(1) %89)
          to label %755 unwind label %762

755:                                              ; preds = %746
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %89) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %89) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #7
  store i32 0, ptr %90, align 4, !tbaa !8
  br label %756

756:                                              ; preds = %814, %755
  %757 = load i32, ptr %90, align 4, !tbaa !8
  %758 = load i32, ptr %86, align 4, !tbaa !8
  %759 = shl i32 1, %758
  %760 = icmp slt i32 %757, %759
  br i1 %760, label %766, label %761

761:                                              ; preds = %756
  store i32 59, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #7
  br label %817

762:                                              ; preds = %746
  %763 = landingpad { ptr, i32 }
          cleanup
  %764 = extractvalue { ptr, i32 } %763, 0
  store ptr %764, ptr %10, align 8
  %765 = extractvalue { ptr, i32 } %763, 1
  store i32 %765, ptr %11, align 4
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %89) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %89) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #7
  br label %996

766:                                              ; preds = %756
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #7
  store i32 0, ptr %91, align 4, !tbaa !8
  br label %767

767:                                              ; preds = %806, %766
  %768 = load i32, ptr %91, align 4, !tbaa !8
  %769 = load i32, ptr %69, align 4, !tbaa !8
  %770 = sext i32 %769 to i64
  %771 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %770) #7
  %772 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %771) #7
  %773 = trunc i64 %772 to i32
  %774 = shl i32 1, %773
  %775 = icmp slt i32 %768, %774
  br i1 %775, label %777, label %776

776:                                              ; preds = %767
  store i32 62, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #7
  br label %813

777:                                              ; preds = %767
  %778 = load i32, ptr %90, align 4, !tbaa !8
  %779 = load i32, ptr %91, align 4, !tbaa !8
  %780 = sext i32 %779 to i64
  %781 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef %780) #7
  %782 = load i32, ptr %781, align 4, !tbaa !8
  %783 = or i32 %778, %782
  %784 = sext i32 %783 to i64
  %785 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %87, i64 noundef %784) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #7
  %786 = load i32, ptr %90, align 4, !tbaa !8
  %787 = sext i32 %786 to i64
  %788 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %62, i64 noundef %787) #7
  %789 = load i32, ptr %788, align 4, !tbaa !8
  %790 = load i32, ptr %91, align 4, !tbaa !8
  %791 = sext i32 %790 to i64
  %792 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %80, i64 noundef %791) #7
  %793 = load i32, ptr %792, align 4, !tbaa !8
  %794 = add nsw i32 %789, %793
  store i32 %794, ptr %92, align 4, !tbaa !8
  %795 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3minIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %785, ptr noundef nonnull align 4 dereferenceable(4) %92)
          to label %796 unwind label %809

796:                                              ; preds = %777
  %797 = load i32, ptr %795, align 4, !tbaa !8
  %798 = load i32, ptr %90, align 4, !tbaa !8
  %799 = load i32, ptr %91, align 4, !tbaa !8
  %800 = sext i32 %799 to i64
  %801 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef %800) #7
  %802 = load i32, ptr %801, align 4, !tbaa !8
  %803 = or i32 %798, %802
  %804 = sext i32 %803 to i64
  %805 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %87, i64 noundef %804) #7
  store i32 %797, ptr %805, align 4, !tbaa !8
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #7
  br label %806

806:                                              ; preds = %796
  %807 = load i32, ptr %91, align 4, !tbaa !8
  %808 = add nsw i32 %807, 1
  store i32 %808, ptr %91, align 4, !tbaa !8
  br label %767, !llvm.loop !49

809:                                              ; preds = %777
  %810 = landingpad { ptr, i32 }
          cleanup
  %811 = extractvalue { ptr, i32 } %810, 0
  store ptr %811, ptr %10, align 8
  %812 = extractvalue { ptr, i32 } %810, 1
  store i32 %812, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #7
  br label %995

813:                                              ; preds = %776
  br label %814

814:                                              ; preds = %813
  %815 = load i32, ptr %90, align 4, !tbaa !8
  %816 = add nsw i32 %815, 1
  store i32 %816, ptr %90, align 4, !tbaa !8
  br label %756, !llvm.loop !50

817:                                              ; preds = %761
  %818 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIiSaIiEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %62, ptr noundef nonnull align 8 dereferenceable(24) %87)
          to label %819 unwind label %839

819:                                              ; preds = %817
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %58, ptr noundef nonnull align 4 dereferenceable(4) %69)
          to label %820 unwind label %839

820:                                              ; preds = %819
  call void @llvm.lifetime.start.p0(i64 16, ptr %93) #7
  %821 = load i32, ptr %69, align 4, !tbaa !8
  %822 = sext i32 %821 to i64
  %823 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %59, i64 noundef %822)
          to label %824 unwind label %843

824:                                              ; preds = %820
  %825 = getelementptr inbounds { ptr, i64 }, ptr %93, i32 0, i32 0
  %826 = extractvalue { ptr, i64 } %823, 0
  store ptr %826, ptr %825, align 8
  %827 = getelementptr inbounds { ptr, i64 }, ptr %93, i32 0, i32 1
  %828 = extractvalue { ptr, i64 } %823, 1
  store i64 %828, ptr %827, align 8
  %829 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt14_Bit_referenceaSEb(ptr noundef nonnull align 8 dereferenceable(16) %93, i1 noundef zeroext true) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %93) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %94) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %94) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %95) #7
  %830 = load i32, ptr %86, align 4, !tbaa !8
  %831 = add nsw i32 %830, 1
  %832 = sext i32 %831 to i64
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #7
  store i32 -1, ptr %96, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 1, ptr %97) #7
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #7
  invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %95, i64 noundef %832, ptr noundef nonnull align 4 dereferenceable(4) %96, ptr noundef nonnull align 1 dereferenceable(1) %97)
          to label %833 unwind label %847

833:                                              ; preds = %824
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %97) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #7
  store i32 0, ptr %98, align 4, !tbaa !8
  br label %834

834:                                              ; preds = %912, %833
  %835 = load i32, ptr %98, align 4, !tbaa !8
  %836 = load i32, ptr %86, align 4, !tbaa !8
  %837 = icmp sle i32 %835, %836
  br i1 %837, label %851, label %838

838:                                              ; preds = %834
  store i32 65, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #7
  br label %916

839:                                              ; preds = %819, %817
  %840 = landingpad { ptr, i32 }
          cleanup
  %841 = extractvalue { ptr, i32 } %840, 0
  store ptr %841, ptr %10, align 8
  %842 = extractvalue { ptr, i32 } %840, 1
  store i32 %842, ptr %11, align 4
  br label %995

843:                                              ; preds = %820
  %844 = landingpad { ptr, i32 }
          cleanup
  %845 = extractvalue { ptr, i32 } %844, 0
  store ptr %845, ptr %10, align 8
  %846 = extractvalue { ptr, i32 } %844, 1
  store i32 %846, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %93) #7
  br label %995

847:                                              ; preds = %824
  %848 = landingpad { ptr, i32 }
          cleanup
  %849 = extractvalue { ptr, i32 } %848, 0
  store ptr %849, ptr %10, align 8
  %850 = extractvalue { ptr, i32 } %848, 1
  store i32 %850, ptr %11, align 4
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %97) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #7
  br label %994

851:                                              ; preds = %834
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #7
  store i32 0, ptr %99, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 8, ptr %100) #7
  %852 = load i32, ptr %98, align 4, !tbaa !8
  %853 = sext i32 %852 to i64
  %854 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %58, i64 noundef %853) #7
  %855 = load i32, ptr %854, align 4, !tbaa !8
  %856 = sext i32 %855 to i64
  %857 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %856) #7
  %858 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %857) #7
  %859 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %100, i32 0, i32 0
  store ptr %858, ptr %859, align 8
  br label %860

860:                                              ; preds = %891, %851
  call void @llvm.lifetime.start.p0(i64 8, ptr %101) #7
  %861 = load i32, ptr %98, align 4, !tbaa !8
  %862 = sext i32 %861 to i64
  %863 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %58, i64 noundef %862) #7
  %864 = load i32, ptr %863, align 4, !tbaa !8
  %865 = sext i32 %864 to i64
  %866 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %865) #7
  %867 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %866) #7
  %868 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %101, i32 0, i32 0
  store ptr %867, ptr %868, align 8
  %869 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %100, ptr noundef nonnull align 8 dereferenceable(8) %101) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #7
  br i1 %869, label %871, label %870

870:                                              ; preds = %860
  store i32 68, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #7
  br label %894

871:                                              ; preds = %860
  call void @llvm.lifetime.start.p0(i64 16, ptr %102) #7
  %872 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %100) #7
  %873 = load i32, ptr %872, align 4, !tbaa !8
  %874 = sext i32 %873 to i64
  %875 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %59, i64 noundef %874)
          to label %876 unwind label %886

876:                                              ; preds = %871
  %877 = getelementptr inbounds { ptr, i64 }, ptr %102, i32 0, i32 0
  %878 = extractvalue { ptr, i64 } %875, 0
  store ptr %878, ptr %877, align 8
  %879 = getelementptr inbounds { ptr, i64 }, ptr %102, i32 0, i32 1
  %880 = extractvalue { ptr, i64 } %875, 1
  store i64 %880, ptr %879, align 8
  %881 = call noundef zeroext i1 @_ZNKSt14_Bit_referencecvbEv(ptr noundef nonnull align 8 dereferenceable(16) %102) #7
  %882 = xor i1 %881, true
  call void @llvm.lifetime.end.p0(i64 16, ptr %102) #7
  br i1 %882, label %883, label %890

883:                                              ; preds = %876
  %884 = load i32, ptr %99, align 4, !tbaa !8
  %885 = add nsw i32 %884, 1
  store i32 %885, ptr %99, align 4, !tbaa !8
  br label %890

886:                                              ; preds = %871
  %887 = landingpad { ptr, i32 }
          cleanup
  %888 = extractvalue { ptr, i32 } %887, 0
  store ptr %888, ptr %10, align 8
  %889 = extractvalue { ptr, i32 } %887, 1
  store i32 %889, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %102) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #7
  br label %915

890:                                              ; preds = %883, %876
  br label %891

891:                                              ; preds = %890
  %892 = call ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %100, i32 noundef 0) #7
  %893 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %103, i32 0, i32 0
  store ptr %892, ptr %893, align 8
  br label %860, !llvm.loop !51

894:                                              ; preds = %870
  %895 = load i32, ptr %99, align 4, !tbaa !8
  %896 = icmp sgt i32 %895, 0
  br i1 %896, label %897, label %911

897:                                              ; preds = %894
  %898 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %94) #7
  %899 = trunc i64 %898 to i32
  %900 = load i32, ptr %98, align 4, !tbaa !8
  %901 = sext i32 %900 to i64
  %902 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %95, i64 noundef %901) #7
  store i32 %899, ptr %902, align 4, !tbaa !8
  %903 = load i32, ptr %98, align 4, !tbaa !8
  %904 = sext i32 %903 to i64
  %905 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %58, i64 noundef %904) #7
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %94, ptr noundef nonnull align 4 dereferenceable(4) %905)
          to label %906 unwind label %907

906:                                              ; preds = %897
  br label %911

907:                                              ; preds = %897
  %908 = landingpad { ptr, i32 }
          cleanup
  %909 = extractvalue { ptr, i32 } %908, 0
  store ptr %909, ptr %10, align 8
  %910 = extractvalue { ptr, i32 } %908, 1
  store i32 %910, ptr %11, align 4
  br label %915

911:                                              ; preds = %906, %894
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #7
  br label %912

912:                                              ; preds = %911
  %913 = load i32, ptr %98, align 4, !tbaa !8
  %914 = add nsw i32 %913, 1
  store i32 %914, ptr %98, align 4, !tbaa !8
  br label %834, !llvm.loop !52

915:                                              ; preds = %907, %886
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #7
  br label %993

916:                                              ; preds = %838
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #7
  %917 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %94) #7
  %918 = trunc i64 %917 to i32
  store i32 %918, ptr %104, align 4, !tbaa !8
  %919 = load i32, ptr %104, align 4, !tbaa !8
  %920 = shl i32 1, %919
  %921 = sext i32 %920 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %62, i64 noundef %921)
          to label %922 unwind label %930

922:                                              ; preds = %916
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #7
  store i32 0, ptr %105, align 4, !tbaa !8
  br label %923

923:                                              ; preds = %981, %922
  %924 = load i32, ptr %105, align 4, !tbaa !8
  %925 = load i32, ptr %86, align 4, !tbaa !8
  %926 = add nsw i32 %925, 1
  %927 = shl i32 1, %926
  %928 = icmp slt i32 %924, %927
  br i1 %928, label %934, label %929

929:                                              ; preds = %923
  store i32 71, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #7
  br label %984

930:                                              ; preds = %984, %916
  %931 = landingpad { ptr, i32 }
          cleanup
  %932 = extractvalue { ptr, i32 } %931, 0
  store ptr %932, ptr %10, align 8
  %933 = extractvalue { ptr, i32 } %931, 1
  store i32 %933, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #7
  br label %993

934:                                              ; preds = %923
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #7
  store i32 0, ptr %106, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 1, ptr %107) #7
  store i8 1, ptr %107, align 1, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #7
  store i32 0, ptr %108, align 4, !tbaa !8
  br label %935

935:                                              ; preds = %966, %934
  %936 = load i32, ptr %108, align 4, !tbaa !8
  %937 = load i32, ptr %86, align 4, !tbaa !8
  %938 = icmp sle i32 %936, %937
  br i1 %938, label %940, label %939

939:                                              ; preds = %935
  store i32 74, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #7
  br label %969

940:                                              ; preds = %935
  %941 = load i32, ptr %108, align 4, !tbaa !8
  %942 = sext i32 %941 to i64
  %943 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %95, i64 noundef %942) #7
  %944 = load i32, ptr %943, align 4, !tbaa !8
  %945 = icmp eq i32 %944, -1
  br i1 %945, label %946, label %954

946:                                              ; preds = %940
  %947 = load i32, ptr %105, align 4, !tbaa !8
  %948 = load i32, ptr %108, align 4, !tbaa !8
  %949 = ashr i32 %947, %948
  %950 = and i32 %949, 1
  %951 = icmp eq i32 %950, 0
  br i1 %951, label %952, label %953

952:                                              ; preds = %946
  store i8 0, ptr %107, align 1, !tbaa !36
  br label %953

953:                                              ; preds = %952, %946
  br label %966

954:                                              ; preds = %940
  %955 = load i32, ptr %105, align 4, !tbaa !8
  %956 = load i32, ptr %108, align 4, !tbaa !8
  %957 = ashr i32 %955, %956
  %958 = and i32 %957, 1
  %959 = load i32, ptr %108, align 4, !tbaa !8
  %960 = sext i32 %959 to i64
  %961 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %95, i64 noundef %960) #7
  %962 = load i32, ptr %961, align 4, !tbaa !8
  %963 = shl i32 %958, %962
  %964 = load i32, ptr %106, align 4, !tbaa !8
  %965 = add nsw i32 %964, %963
  store i32 %965, ptr %106, align 4, !tbaa !8
  br label %966

966:                                              ; preds = %954, %953
  %967 = load i32, ptr %108, align 4, !tbaa !8
  %968 = add nsw i32 %967, 1
  store i32 %968, ptr %108, align 4, !tbaa !8
  br label %935, !llvm.loop !53

969:                                              ; preds = %939
  %970 = load i8, ptr %107, align 1, !tbaa !36, !range !38, !noundef !39
  %971 = trunc i8 %970 to i1
  br i1 %971, label %972, label %980

972:                                              ; preds = %969
  %973 = load i32, ptr %105, align 4, !tbaa !8
  %974 = sext i32 %973 to i64
  %975 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %87, i64 noundef %974) #7
  %976 = load i32, ptr %975, align 4, !tbaa !8
  %977 = load i32, ptr %106, align 4, !tbaa !8
  %978 = sext i32 %977 to i64
  %979 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %62, i64 noundef %978) #7
  store i32 %976, ptr %979, align 4, !tbaa !8
  br label %980

980:                                              ; preds = %972, %969
  call void @llvm.lifetime.end.p0(i64 1, ptr %107) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #7
  br label %981

981:                                              ; preds = %980
  %982 = load i32, ptr %105, align 4, !tbaa !8
  %983 = add nsw i32 %982, 1
  store i32 %983, ptr %105, align 4, !tbaa !8
  br label %923, !llvm.loop !54

984:                                              ; preds = %929
  %985 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIiSaIiEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %58, ptr noundef nonnull align 8 dereferenceable(24) %94)
          to label %986 unwind label %930

986:                                              ; preds = %984
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %95) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %95) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %94) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %94) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %87) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %87) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %80) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %80) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %77) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %77) #7
  store i32 0, ptr %5, align 4
  br label %987

987:                                              ; preds = %986, %629
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #7
  %988 = load i32, ptr %5, align 4
  switch i32 %988, label %1000 [
    i32 0, label %989
  ]

989:                                              ; preds = %987
  br label %990

990:                                              ; preds = %989
  %991 = load i32, ptr %68, align 4, !tbaa !8
  %992 = add nsw i32 %991, 1
  store i32 %992, ptr %68, align 4, !tbaa !8
  br label %535, !llvm.loop !55

993:                                              ; preds = %930, %915
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %95) #7
  br label %994

994:                                              ; preds = %993, %847
  call void @llvm.lifetime.end.p0(i64 24, ptr %95) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %94) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %94) #7
  br label %995

995:                                              ; preds = %994, %843, %839, %809
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %87) #7
  br label %996

996:                                              ; preds = %995, %762
  call void @llvm.lifetime.end.p0(i64 24, ptr %87) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %80) #7
  br label %997

997:                                              ; preds = %996, %665
  call void @llvm.lifetime.end.p0(i64 24, ptr %80) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %77) #7
  br label %998

998:                                              ; preds = %997, %661
  call void @llvm.lifetime.end.p0(i64 24, ptr %77) #7
  br label %999

999:                                              ; preds = %998, %625
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #7
  br label %1034

1000:                                             ; preds = %987, %539
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #7
  br label %1001

1001:                                             ; preds = %1000
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #7
  store i32 0, ptr %109, align 4, !tbaa !8
  br label %1002

1002:                                             ; preds = %1017, %1001
  %1003 = load i32, ptr %109, align 4, !tbaa !8
  %1004 = load i32, ptr %43, align 4, !tbaa !8
  %1005 = icmp slt i32 %1003, %1004
  br i1 %1005, label %1007, label %1006

1006:                                             ; preds = %1002
  store i32 77, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #7
  br label %1020

1007:                                             ; preds = %1002
  %1008 = load i32, ptr %109, align 4, !tbaa !8
  %1009 = sext i32 %1008 to i64
  %1010 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %1009) #7
  %1011 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %1010) #7
  br i1 %1011, label %1012, label %1016

1012:                                             ; preds = %1007
  %1013 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %62) #7
  %1014 = load i32, ptr %1013, align 4, !tbaa !8
  %1015 = add nsw i32 %1014, 1
  store i32 %1015, ptr %1013, align 4, !tbaa !8
  br label %1016

1016:                                             ; preds = %1012, %1007
  br label %1017

1017:                                             ; preds = %1016
  %1018 = load i32, ptr %109, align 4, !tbaa !8
  %1019 = add nsw i32 %1018, 1
  store i32 %1019, ptr %109, align 4, !tbaa !8
  br label %1002, !llvm.loop !56

1020:                                             ; preds = %1006
  %1021 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %62) #7
  %1022 = load i32, ptr %1021, align 4, !tbaa !8
  %1023 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef %1022)
          to label %1024 unwind label %1030

1024:                                             ; preds = %1020
  %1025 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1023, ptr noundef @.str)
          to label %1026 unwind label %1030

1026:                                             ; preds = %1024
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %65) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %62) #7
  call void @_ZNSt13_Bvector_baseISaIbEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %59) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %59) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %58) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %58) #7
  call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %47) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #7
  call void @_ZNSt3mapISt6vectorIiSaIiEEiSt4lessIS2_ESaISt4pairIKS2_iEEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %28) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %28) #7
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %20) #7
  call void @_ZNSt6vectorIS_IxSaIxEESaIS1_EED2Ev(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) %8) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %8) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #7
  br label %1027

1027:                                             ; preds = %1026
  %1028 = load i32, ptr %4, align 4, !tbaa !8
  %1029 = add nsw i32 %1028, 1
  store i32 %1029, ptr %4, align 4, !tbaa !8
  br label %123, !llvm.loop !57

1030:                                             ; preds = %1024, %1020
  %1031 = landingpad { ptr, i32 }
          cleanup
  %1032 = extractvalue { ptr, i32 } %1031, 0
  store ptr %1032, ptr %10, align 8
  %1033 = extractvalue { ptr, i32 } %1031, 1
  store i32 %1033, ptr %11, align 4
  br label %1034

1034:                                             ; preds = %1030, %999
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #7
  br label %1035

1035:                                             ; preds = %1034, %548
  call void @llvm.lifetime.end.p0(i64 24, ptr %65) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #7
  br label %1036

1036:                                             ; preds = %1035, %544
  call void @llvm.lifetime.end.p0(i64 24, ptr %62) #7
  call void @_ZNSt13_Bvector_baseISaIbEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %59) #7
  br label %1037

1037:                                             ; preds = %1036, %540
  call void @llvm.lifetime.end.p0(i64 40, ptr %59) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %58) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %58) #7
  br label %1038

1038:                                             ; preds = %1037, %520
  call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #7
  br label %1039

1039:                                             ; preds = %1038, %436
  call void @llvm.lifetime.end.p0(i64 24, ptr %47) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #7
  br label %1040

1040:                                             ; preds = %1039, %408
  call void @_ZNSt3mapISt6vectorIiSaIiEEiSt4lessIS2_ESaISt4pairIKS2_iEEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %28) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %28) #7
  br label %1041

1041:                                             ; preds = %1040, %271
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %20) #7
  br label %1042

1042:                                             ; preds = %1041, %205
  call void @_ZNSt6vectorIS_IxSaIxEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  br label %1043

1043:                                             ; preds = %1042, %159
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #7
  call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  br label %1044

1044:                                             ; preds = %1043, %147
  call void @llvm.lifetime.end.p0(i64 24, ptr %8) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #7
  br label %1047

1045:                                             ; preds = %127
  store i32 0, ptr %1, align 4
  store i32 1, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #7
  %1046 = load i32, ptr %1, align 4
  ret i32 %1046

1047:                                             ; preds = %1044
  %1048 = load ptr, ptr %10, align 8
  %1049 = load i32, ptr %11, align 4
  %1050 = insertvalue { ptr, i32 } poison, ptr %1048, 0
  %1051 = insertvalue { ptr, i32 } %1050, i32 %1049, 1
  resume { ptr, i32 } %1051
}

declare noundef zeroext i1 @_ZNSt8ios_base15sync_with_stdioEb(i1 noundef zeroext) #1

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision(ptr noundef nonnull align 8 dereferenceable(8), i32) #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(216) ptr @_ZSt5fixedRSt8ios_base(ptr noundef nonnull align 8 dereferenceable(216)) #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local i32 @_ZSt12setprecisioni(i32 noundef) #5

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

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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #5

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local i64 @_ZSt9make_pairIRiS0_ESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS2_INS3_IT0_E4typeEE6__typeEEOS4_OS9_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) #4

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPSt4pairIiiESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #5

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt4sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEvT_S7_(ptr, ptr) #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local ptr @_ZSt5beginISt6vectorIiSaIiEEEDTcldtfp_5beginEERT_(ptr noundef nonnull align 8 dereferenceable(24)) #5

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local ptr @_ZSt3endISt6vectorIiSaIiEEEDTcldtfp_3endEERT_(ptr noundef nonnull align 8 dereferenceable(24)) #5

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZStgtIiSaIiEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #3

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40), i64 noundef) #4 align 2

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

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt14_Bit_referenceaSEb(ptr noundef nonnull align 8 dereferenceable(16), i1 noundef zeroext) #2 align 2

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 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 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { 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 #3 = { 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 #4 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
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 = !{!"vtable pointer", !7, i64 0}
!7 = !{!"Simple C++ TBAA"}
!8 = !{!9, !9, i64 0}
!9 = !{!"int", !10, i64 0}
!10 = !{!"omnipotent char", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"long long", !10, i64 0}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}
!15 = distinct !{!15, !14}
!16 = distinct !{!16, !14}
!17 = distinct !{!17, !14}
!18 = !{!19, !9, i64 0}
!19 = !{!"_ZTSSt4pairIiiE", !9, i64 0, !9, i64 4}
!20 = !{!19, !9, i64 4}
!21 = distinct !{!21, !14}
!22 = !{!23, !24, i64 0}
!23 = !{!"_ZTSSt16initializer_listIiE", !24, i64 0, !25, i64 8}
!24 = !{!"any pointer", !10, i64 0}
!25 = !{!"long", !10, i64 0}
!26 = !{!23, !25, i64 8}
!27 = distinct !{!27, !14}
!28 = distinct !{!28, !14}
!29 = !{!30, !9, i64 24}
!30 = !{!"_ZTSSt4pairIKSt6vectorIiSaIiEEiE", !31, i64 0, !9, i64 24}
!31 = !{!"_ZTSSt6vectorIiSaIiEE", !32, i64 0}
!32 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !33, i64 0}
!33 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !34, i64 0}
!34 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !24, i64 0, !24, i64 8, !24, i64 16}
!35 = distinct !{!35, !14}
!36 = !{!37, !37, i64 0}
!37 = !{!"bool", !10, i64 0}
!38 = !{i8 0, i8 2}
!39 = !{}
!40 = distinct !{!40, !14}
!41 = distinct !{!41, !14}
!42 = distinct !{!42, !14}
!43 = distinct !{!43, !14}
!44 = distinct !{!44, !14}
!45 = distinct !{!45, !14}
!46 = distinct !{!46, !14}
!47 = distinct !{!47, !14}
!48 = distinct !{!48, !14}
!49 = distinct !{!49, !14}
!50 = distinct !{!50, !14}
!51 = distinct !{!51, !14}
!52 = distinct !{!52, !14}
!53 = distinct !{!53, !14}
!54 = distinct !{!54, !14}
!55 = distinct !{!55, !14}
!56 = distinct !{!56, !14}
!57 = distinct !{!57, !14}


; 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_istream" = type { ptr, i64, %"class.std::basic_ios" }
%"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::locale" = type { ptr }
%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"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::allocator" = type { i8 }
%"class.std::vector.0" = type { %"struct.std::_Vector_base.1" }
%"struct.std::_Vector_base.1" = type { %"struct.std::_Vector_base<std::vector<long long>, std::allocator<std::vector<long long>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::vector<long long>, std::allocator<std::vector<long long>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::vector<long long>, std::allocator<std::vector<long long>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::vector<long long>, std::allocator<std::vector<long long>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.5" = type { %"struct.std::_Vector_base.6" }
%"struct.std::_Vector_base.6" = type { %"struct.std::_Vector_base<long long, std::allocator<long long>>::_Vector_impl" }
%"struct.std::_Vector_base<long long, std::allocator<long long>>::_Vector_impl" = type { %"struct.std::_Vector_base<long long, std::allocator<long long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<long long, std::allocator<long long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.7" = type { i8 }
%"class.std::allocator.2" = type { i8 }
%"class.std::vector.15" = type { %"struct.std::_Vector_base.16" }
%"struct.std::_Vector_base.16" = type { %"struct.std::_Vector_base<std::pair<int, int>, std::allocator<std::pair<int, int>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<int, int>, std::allocator<std::pair<int, int>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<int, int>, std::allocator<std::pair<int, int>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<int, int>, std::allocator<std::pair<int, int>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"struct.std::pair" = type { i32, i32 }
%"class.std::map" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::vector<int>, std::pair<const std::vector<int>, int>, std::_Select1st<std::pair<const std::vector<int>, int>>, std::less<std::vector<int>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::vector<int>, std::pair<const std::vector<int>, int>, std::_Select1st<std::pair<const std::vector<int>, int>>, std::less<std::vector<int>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.__gnu_cxx::__normal_iterator.23" = type { ptr }
%"class.std::vector.10" = type { %"struct.std::_Vector_base.11" }
%"struct.std::_Vector_base.11" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.12" = type { i8 }
%"struct.std::_Rb_tree_iterator" = type { ptr }
%"class.std::vector.26" = type { %"struct.std::_Bvector_base" }
%"struct.std::_Bvector_base" = type { %"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl" }
%"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl" = type { %"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl_data" }
%"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl_data" = type { %"struct.std::_Bit_iterator", %"struct.std::_Bit_iterator", ptr }
%"struct.std::_Bit_iterator" = type { %"struct.std::_Bit_iterator_base.base", [4 x i8] }
%"struct.std::_Bit_iterator_base.base" = type <{ ptr, i32 }>
%"class.std::allocator.30" = type { i8 }
%"struct.std::_Bit_reference" = type { ptr, i64 }

@_ZSt3cin = external global %"class.std::basic_istream", align 8
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str = 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 i32, align 4
  %2 = alloca i32, align 4
  %3 = alloca i32, align 4
  %4 = alloca %"class.std::vector", align 8
  %5 = alloca %"class.std::allocator", align 1
  %6 = alloca %"class.std::vector.0", align 8
  %7 = alloca %"class.std::vector.5", align 8
  %8 = alloca i64, align 8
  %9 = alloca %"class.std::allocator.7", align 1
  %10 = alloca %"class.std::allocator.2", align 1
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca %"class.std::vector.15", align 8
  %14 = alloca i32, align 4
  %15 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %16 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %17 = alloca %"struct.std::pair", align 8
  %18 = alloca %"class.std::map", align 8
  %19 = alloca %"class.__gnu_cxx::__normal_iterator.23", align 8
  %20 = alloca %"class.__gnu_cxx::__normal_iterator.23", align 8
  %21 = alloca %"class.std::vector.10", align 8
  %22 = alloca i32, align 4
  %23 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %24 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %25 = alloca %"class.std::vector.10", align 8
  %26 = alloca [3 x i32], align 4
  %27 = alloca %"class.std::allocator.12", align 1
  %28 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %29 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %30 = alloca %"class.std::vector", align 8
  %31 = alloca %"class.std::allocator", align 1
  %32 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %33 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %34 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %35 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %36 = alloca %"class.std::vector.10", align 8
  %37 = alloca %"class.std::vector.26", align 8
  %38 = alloca i8, align 1
  %39 = alloca %"class.std::allocator.30", align 1
  %40 = alloca %"class.std::vector.10", align 8
  %41 = alloca i32, align 4
  %42 = alloca %"class.std::allocator.12", align 1
  %43 = alloca %"class.std::vector.10", align 8
  %44 = alloca i32, align 4
  %45 = alloca %"class.std::allocator.12", align 1
  %46 = alloca i32, align 4
  %47 = alloca %"struct.std::_Bit_reference", align 8
  %48 = alloca i32, align 4
  %49 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %50 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %51 = alloca %"class.std::vector.10", align 8
  %52 = alloca i32, align 4
  %53 = alloca %"class.std::allocator.12", align 1
  %54 = alloca %"class.std::vector.10", align 8
  %55 = alloca i32, align 4
  %56 = alloca %"class.std::allocator.12", align 1
  %57 = alloca %"class.std::vector.10", align 8
  %58 = alloca i32, align 4
  %59 = alloca %"class.std::allocator.12", align 1
  %60 = alloca i32, align 4
  %61 = alloca %"struct.std::_Bit_reference", align 8
  %62 = alloca %"class.std::vector.10", align 8
  %63 = alloca %"class.std::vector.10", align 8
  %64 = alloca i32, align 4
  %65 = alloca %"class.std::allocator.12", align 1
  %66 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %67 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %68 = alloca %"struct.std::_Bit_reference", align 8
  %69 = tail call noundef zeroext i1 @_ZNSt8ios_base15sync_with_stdioEb(i1 noundef zeroext false)
  %70 = load ptr, ptr @_ZSt3cin, align 8, !tbaa !5
  %71 = getelementptr i8, ptr %70, i64 -24
  %72 = load i64, ptr %71, align 8
  %73 = getelementptr inbounds i8, ptr @_ZSt3cin, i64 %72
  %74 = tail call noundef ptr @_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo(ptr noundef nonnull align 8 dereferenceable(264) %73, ptr noundef null)
  %75 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSt8ios_baseS0_E(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @_ZSt5fixedRSt8ios_base)
  %76 = tail call i32 @_ZSt12setprecisioni(i32 noundef 10)
  %77 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision(ptr noundef nonnull align 8 dereferenceable(8) %75, i32 %76)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %1) #8
  %78 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) @_ZSt3cin, ptr noundef nonnull align 4 dereferenceable(4) %1)
  %79 = load i32, ptr %1, align 4, !tbaa !8
  %80 = icmp sgt i32 %79, 0
  br i1 %80, label %.lr.ph307, label %._crit_edge308

.lr.ph307:                                        ; preds = %0
  %81 = getelementptr inbounds i8, ptr %26, i64 4
  %82 = getelementptr inbounds i8, ptr %26, i64 8
  %83 = getelementptr inbounds i8, ptr %47, i64 8
  %84 = getelementptr inbounds i8, ptr %61, i64 8
  %85 = getelementptr inbounds i8, ptr %68, i64 8
  br label %86

._crit_edge308:                                   ; preds = %666, %0
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %1) #8
  ret i32 0

86:                                               ; preds = %.lr.ph307, %666
  %.0115305 = phi i32 [ 0, %.lr.ph307 ], [ %667, %666 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #8
  %87 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) @_ZSt3cin, ptr noundef nonnull align 4 dereferenceable(4) %2)
  %88 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %87, ptr noundef nonnull align 4 dereferenceable(4) %3)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) #8
  %89 = load i32, ptr %2, align 4, !tbaa !8
  %90 = sext i32 %89 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %5) #8
  call void @_ZNSaISt6vectorIiSaIiEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #8
  invoke void @_ZNSt6vectorIS_IiSaIiEESaIS1_EEC2EmRKS2_(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %90, ptr noundef nonnull align 1 dereferenceable(1) %5)
          to label %91 unwind label %103

91:                                               ; preds = %86
  call void @_ZNSt15__new_allocatorISt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #8
  %92 = load i32, ptr %2, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #8
  %93 = sdiv i32 %92, 60
  %94 = add nsw i32 %93, 2
  %95 = sext i32 %94 to i64
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #8
  store i64 0, ptr %8, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %9) #8
  call void @_ZNSaIxEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #8
  invoke void @_ZNSt6vectorIxSaIxEEC2EmRKxRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %95, ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 1 dereferenceable(1) %9)
          to label %96 unwind label %105

96:                                               ; preds = %91
  %97 = sext i32 %92 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %10) #8
  call void @_ZNSaISt6vectorIxSaIxEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #8
  invoke void @_ZNSt6vectorIS_IxSaIxEESaIS1_EEC2EmRKS1_RKS2_(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %97, ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 1 dereferenceable(1) %10)
          to label %98 unwind label %107

98:                                               ; preds = %96
  call void @_ZNSt15__new_allocatorISt6vectorIxSaIxEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #8
  call void @_ZNSt6vectorIxSaIxEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #8
  call void @_ZNSt15__new_allocatorIxED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #8
  %99 = load i32, ptr %3, align 4, !tbaa !8
  %100 = icmp sgt i32 %99, 0
  br i1 %100, label %.lr.ph, label %._crit_edge

._crit_edge:                                      ; preds = %124, %98
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13) #8
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %14) #8
  store i32 0, ptr %14, align 4, !tbaa !8
  %101 = load i32, ptr %2, align 4, !tbaa !8
  %102 = icmp sgt i32 %101, 0
  br i1 %102, label %.lr.ph233, label %._crit_edge234

103:                                              ; preds = %86
  %104 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorISt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #8
  br label %682

105:                                              ; preds = %91
  %106 = landingpad { ptr, i32 }
          cleanup
  br label %109

107:                                              ; preds = %96
  %108 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorISt6vectorIxSaIxEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #8
  call void @_ZNSt6vectorIxSaIxEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #8
  br label %109

109:                                              ; preds = %107, %105
  %.pn = phi { ptr, i32 } [ %108, %107 ], [ %106, %105 ]
  call void @_ZNSt15__new_allocatorIxED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #8
  br label %681

.lr.ph:                                           ; preds = %98, %124
  %.0155222 = phi i32 [ %151, %124 ], [ 0, %98 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) #8
  %110 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) @_ZSt3cin, ptr noundef nonnull align 4 dereferenceable(4) %11)
          to label %111 unwind label %154

111:                                              ; preds = %.lr.ph
  %112 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %110, ptr noundef nonnull align 4 dereferenceable(4) %12)
          to label %113 unwind label %154

113:                                              ; preds = %111
  %114 = load i32, ptr %11, align 4, !tbaa !8
  %115 = add nsw i32 %114, -1
  store i32 %115, ptr %11, align 4, !tbaa !8
  %116 = sext i32 %115 to i64
  %117 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %116) #8
  %118 = load i32, ptr %12, align 4, !tbaa !8
  %119 = add nsw i32 %118, -1
  store i32 %119, ptr %12, align 4, !tbaa !8
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %117, ptr noundef nonnull align 4 dereferenceable(4) %12)
          to label %120 unwind label %154

120:                                              ; preds = %113
  %121 = load i32, ptr %12, align 4, !tbaa !8
  %122 = sext i32 %121 to i64
  %123 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %122) #8
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %123, ptr noundef nonnull align 4 dereferenceable(4) %11)
          to label %124 unwind label %154

124:                                              ; preds = %120
  %125 = load i32, ptr %12, align 4, !tbaa !8
  %126 = srem i32 %125, 60
  %127 = zext nneg i32 %126 to i64
  %128 = shl nuw i64 1, %127
  %129 = load i32, ptr %11, align 4, !tbaa !8
  %130 = sext i32 %129 to i64
  %131 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IxSaIxEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %130) #8
  %132 = load i32, ptr %12, align 4, !tbaa !8
  %133 = sdiv i32 %132, 60
  %134 = sext i32 %133 to i64
  %135 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIxSaIxEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %131, i64 noundef %134) #8
  %136 = load i64, ptr %135, align 8, !tbaa !11
  %137 = xor i64 %136, %128
  store i64 %137, ptr %135, align 8, !tbaa !11
  %138 = load i32, ptr %11, align 4, !tbaa !8
  %139 = srem i32 %138, 60
  %140 = zext nneg i32 %139 to i64
  %141 = shl nuw i64 1, %140
  %142 = load i32, ptr %12, align 4, !tbaa !8
  %143 = sext i32 %142 to i64
  %144 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IxSaIxEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %143) #8
  %145 = load i32, ptr %11, align 4, !tbaa !8
  %146 = sdiv i32 %145, 60
  %147 = sext i32 %146 to i64
  %148 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIxSaIxEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %144, i64 noundef %147) #8
  %149 = load i64, ptr %148, align 8, !tbaa !11
  %150 = xor i64 %149, %141
  store i64 %150, ptr %148, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #8
  %151 = add nuw nsw i32 %.0155222, 1
  %152 = load i32, ptr %3, align 4, !tbaa !8
  %153 = icmp slt i32 %151, %152
  br i1 %153, label %.lr.ph, label %._crit_edge, !llvm.loop !13

154:                                              ; preds = %120, %113, %111, %.lr.ph
  %155 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #8
  br label %680

._crit_edge234:                                   ; preds = %._crit_edge230, %._crit_edge
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #8
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %18) #8
  call void @_ZNSt3mapISt6vectorIiSaIiEEiSt4lessIS2_ESaISt4pairIKS2_iEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %18) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #8
  %156 = call ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #8
  store ptr %156, ptr %19, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #8
  %157 = call ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #8
  store ptr %157, ptr %20, align 8
  %158 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt4pairIiiESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %19, ptr noundef nonnull align 8 dereferenceable(8) %20) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #8
  br i1 %158, label %.lr.ph243, label %._crit_edge244

.lr.ph233:                                        ; preds = %._crit_edge, %._crit_edge230
  %storemerge231 = phi i32 [ %168, %._crit_edge230 ], [ 0, %._crit_edge ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #8
  %159 = sext i32 %storemerge231 to i64
  %160 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %159) #8
  %161 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %160) #8
  store ptr %161, ptr %15, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #8
  %162 = load i32, ptr %14, align 4, !tbaa !8
  %163 = sext i32 %162 to i64
  %164 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %163) #8
  %165 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %164) #8
  store ptr %165, ptr %16, align 8
  %166 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull align 8 dereferenceable(8) %16) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #8
  br i1 %166, label %.lr.ph229, label %._crit_edge230

._crit_edge230:                                   ; preds = %._crit_edge227.thread, %.lr.ph233
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #8
  %167 = load i32, ptr %14, align 4, !tbaa !8
  %168 = add nsw i32 %167, 1
  store i32 %168, ptr %14, align 4, !tbaa !8
  %169 = load i32, ptr %2, align 4, !tbaa !8
  %170 = icmp slt i32 %168, %169
  br i1 %170, label %.lr.ph233, label %._crit_edge234, !llvm.loop !15

.lr.ph229:                                        ; preds = %.lr.ph233, %._crit_edge227.thread
  %171 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %15) #8
  %172 = load i32, ptr %171, align 4, !tbaa !8
  %173 = load i32, ptr %14, align 4, !tbaa !8
  %174 = icmp sle i32 %172, %173
  %175 = load i32, ptr %2, align 4
  %.not200223 = icmp slt i32 %175, -59
  %or.cond = select i1 %174, i1 true, i1 %.not200223
  br i1 %or.cond, label %._crit_edge227.thread, label %.lr.ph226

._crit_edge227:                                   ; preds = %.lr.ph226
  %176 = icmp sgt i64 %189, 0
  br i1 %176, label %193, label %._crit_edge227.thread

.lr.ph226:                                        ; preds = %.lr.ph229, %.lr.ph226
  %indvars.iv = phi i64 [ %indvars.iv.next, %.lr.ph226 ], [ 0, %.lr.ph229 ]
  %.0161225 = phi i64 [ %189, %.lr.ph226 ], [ 0, %.lr.ph229 ]
  %177 = load i32, ptr %14, align 4, !tbaa !8
  %178 = sext i32 %177 to i64
  %179 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IxSaIxEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %178) #8
  %180 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIxSaIxEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %179, i64 noundef %indvars.iv) #8
  %181 = load i64, ptr %180, align 8, !tbaa !11
  %182 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %15) #8
  %183 = load i32, ptr %182, align 4, !tbaa !8
  %184 = sext i32 %183 to i64
  %185 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IxSaIxEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %184) #8
  %186 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIxSaIxEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %185, i64 noundef %indvars.iv) #8
  %187 = load i64, ptr %186, align 8, !tbaa !11
  %188 = and i64 %187, %181
  %189 = or i64 %188, %.0161225
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %190 = load i32, ptr %2, align 4, !tbaa !8
  %191 = sdiv i32 %190, 60
  %192 = sext i32 %191 to i64
  %.not200.not = icmp slt i64 %indvars.iv, %192
  br i1 %.not200.not, label %.lr.ph226, label %._crit_edge227, !llvm.loop !16

193:                                              ; preds = %._crit_edge227
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #8
  %194 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %15) #8
  %195 = invoke i64 @_ZSt9make_pairIRiS0_ESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS2_INS3_IT0_E4typeEE6__typeEEOS4_OS9_(ptr noundef nonnull align 4 dereferenceable(4) %14, ptr noundef nonnull align 4 dereferenceable(4) %194)
          to label %196 unwind label %198

196:                                              ; preds = %193
  store i64 %195, ptr %17, align 8
  invoke void @_ZNSt6vectorISt4pairIiiESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 4 dereferenceable(8) %17)
          to label %197 unwind label %198

197:                                              ; preds = %196
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #8
  br label %._crit_edge227.thread

198:                                              ; preds = %196, %193
  %199 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #8
  br label %679

._crit_edge227.thread:                            ; preds = %._crit_edge227, %197, %.lr.ph229
  %200 = call ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %15, i32 noundef 0) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #8
  %201 = load i32, ptr %14, align 4, !tbaa !8
  %202 = sext i32 %201 to i64
  %203 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %202) #8
  %204 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %203) #8
  store ptr %204, ptr %16, align 8
  %205 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull align 8 dereferenceable(8) %16) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #8
  br i1 %205, label %.lr.ph229, label %._crit_edge230, !llvm.loop !17

._crit_edge244:                                   ; preds = %._crit_edge241, %._crit_edge234
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #8
  %206 = call ptr @_ZNSt3mapISt6vectorIiSaIiEEiSt4lessIS2_ESaISt4pairIKS2_iEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #8
  store ptr %206, ptr %28, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #8
  %207 = call ptr @_ZNSt3mapISt6vectorIiSaIiEEiSt4lessIS2_ESaISt4pairIKS2_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #8
  store ptr %207, ptr %29, align 8
  %208 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEES8_(ptr noundef nonnull align 8 dereferenceable(8) %28, ptr noundef nonnull align 8 dereferenceable(8) %29) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #8
  br i1 %208, label %.lr.ph247, label %._crit_edge248

.lr.ph243:                                        ; preds = %._crit_edge234, %._crit_edge241
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %21) #8
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %22) #8
  store i32 0, ptr %22, align 4, !tbaa !8
  %209 = load i32, ptr %2, align 4, !tbaa !8
  %210 = icmp sgt i32 %209, 0
  br i1 %210, label %.lr.ph237, label %._crit_edge238

._crit_edge238:                                   ; preds = %254, %.lr.ph243
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #8
  %211 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  store ptr %211, ptr %23, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #8
  %212 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  store ptr %212, ptr %24, align 8
  %213 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull align 8 dereferenceable(8) %24) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #8
  br i1 %213, label %.lr.ph240, label %._crit_edge241

.lr.ph237:                                        ; preds = %.lr.ph243, %254
  %storemerge191235 = phi i32 [ %256, %254 ], [ 0, %.lr.ph243 ]
  %214 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %19) #8
  %215 = load i32, ptr %214, align 4, !tbaa !18
  %.not194 = icmp eq i32 %storemerge191235, %215
  br i1 %.not194, label %254, label %216

216:                                              ; preds = %.lr.ph237
  %217 = load i32, ptr %22, align 4, !tbaa !8
  %218 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %19) #8
  %219 = getelementptr inbounds i8, ptr %218, i64 4
  %220 = load i32, ptr %219, align 4, !tbaa !20
  %.not195 = icmp eq i32 %217, %220
  br i1 %.not195, label %254, label %221

221:                                              ; preds = %216
  %222 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %19) #8
  %223 = load i32, ptr %222, align 4, !tbaa !18
  %224 = sext i32 %223 to i64
  %225 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IxSaIxEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %224) #8
  %226 = load i32, ptr %22, align 4, !tbaa !8
  %227 = sdiv i32 %226, 60
  %228 = sext i32 %227 to i64
  %229 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIxSaIxEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %225, i64 noundef %228) #8
  %230 = load i64, ptr %229, align 8, !tbaa !11
  %231 = load i32, ptr %22, align 4, !tbaa !8
  %232 = srem i32 %231, 60
  %233 = zext nneg i32 %232 to i64
  %234 = lshr i64 %230, %233
  %235 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %19) #8
  %236 = getelementptr inbounds i8, ptr %235, i64 4
  %237 = load i32, ptr %236, align 4, !tbaa !20
  %238 = sext i32 %237 to i64
  %239 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IxSaIxEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %238) #8
  %240 = load i32, ptr %22, align 4, !tbaa !8
  %241 = sdiv i32 %240, 60
  %242 = sext i32 %241 to i64
  %243 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIxSaIxEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %239, i64 noundef %242) #8
  %244 = load i64, ptr %243, align 8, !tbaa !11
  %245 = load i32, ptr %22, align 4, !tbaa !8
  %246 = srem i32 %245, 60
  %247 = zext nneg i32 %246 to i64
  %248 = lshr i64 %244, %247
  %249 = and i64 %234, 1
  %250 = and i64 %249, %248
  %.not196 = icmp eq i64 %250, 0
  br i1 %.not196, label %254, label %251

251:                                              ; preds = %221
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 4 dereferenceable(4) %22)
          to label %254 unwind label %252

252:                                              ; preds = %251
  %253 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #8
  br label %283

254:                                              ; preds = %.lr.ph237, %216, %251, %221
  %255 = load i32, ptr %22, align 4, !tbaa !8
  %256 = add nsw i32 %255, 1
  store i32 %256, ptr %22, align 4, !tbaa !8
  %257 = load i32, ptr %2, align 4, !tbaa !8
  %258 = icmp slt i32 %256, %257
  br i1 %258, label %.lr.ph237, label %._crit_edge238, !llvm.loop !21

._crit_edge241:                                   ; preds = %274, %._crit_edge238
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %21) #8
  %259 = call ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %19, i32 noundef 0) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #8
  %260 = call ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #8
  store ptr %260, ptr %20, align 8
  %261 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt4pairIiiESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %19, ptr noundef nonnull align 8 dereferenceable(8) %20) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #8
  br i1 %261, label %.lr.ph243, label %._crit_edge244, !llvm.loop !22

.lr.ph240:                                        ; preds = %._crit_edge238, %274
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %25) #8
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %26) #8
  %262 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %23) #8
  %263 = load i32, ptr %262, align 4, !tbaa !8
  store i32 %263, ptr %26, align 4, !tbaa !8
  %264 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %19) #8
  %265 = load i32, ptr %264, align 4, !tbaa !18
  store i32 %265, ptr %81, align 4, !tbaa !8
  %266 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %19) #8
  %267 = getelementptr inbounds i8, ptr %266, i64 4
  %268 = load i32, ptr %267, align 4, !tbaa !20
  store i32 %268, ptr %82, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %27) #8
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #8
  invoke void @_ZNSt6vectorIiSaIiEEC2ESt16initializer_listIiERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %25, ptr nonnull %26, i64 3, ptr noundef nonnull align 1 dereferenceable(1) %27)
          to label %269 unwind label %278

269:                                              ; preds = %.lr.ph240
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #8
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %26) #8
  %270 = call ptr @_ZSt5beginISt6vectorIiSaIiEEEDTcldtfp_5beginEERT_(ptr noundef nonnull align 8 dereferenceable(24) %25)
  %271 = call ptr @_ZSt3endISt6vectorIiSaIiEEEDTcldtfp_3endEERT_(ptr noundef nonnull align 8 dereferenceable(24) %25)
  invoke void @_ZSt4sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEvT_S7_(ptr %270, ptr %271)
          to label %272 unwind label %280

272:                                              ; preds = %269
  %273 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapISt6vectorIiSaIiEEiSt4lessIS2_ESaISt4pairIKS2_iEEEixERS6_(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 8 dereferenceable(24) %25)
          to label %274 unwind label %280

274:                                              ; preds = %272
  store i32 0, ptr %273, align 4, !tbaa !8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #8
  %275 = call ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %23, i32 noundef 0) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #8
  %276 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  store ptr %276, ptr %24, align 8
  %277 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull align 8 dereferenceable(8) %24) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #8
  br i1 %277, label %.lr.ph240, label %._crit_edge241, !llvm.loop !23

278:                                              ; preds = %.lr.ph240
  %279 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #8
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %26) #8
  br label %282

280:                                              ; preds = %272, %269
  %281 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #8
  br label %282

282:                                              ; preds = %280, %278
  %.pn192 = phi { ptr, i32 } [ %281, %280 ], [ %279, %278 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #8
  br label %283

283:                                              ; preds = %282, %252
  %.pn197 = phi { ptr, i32 } [ %253, %252 ], [ %.pn192, %282 ]
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %21) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #8
  br label %678

._crit_edge248:                                   ; preds = %.lr.ph247, %._crit_edge244
  %.0162.lcssa = phi i32 [ 0, %._crit_edge244 ], [ %285, %.lr.ph247 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %30) #8
  %284 = zext i32 %.0162.lcssa to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #8
  call void @_ZNSaISt6vectorIiSaIiEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #8
  invoke void @_ZNSt6vectorIS_IiSaIiEESaIS1_EEC2EmRKS2_(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %284, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %291 unwind label %295

.lr.ph247:                                        ; preds = %._crit_edge244, %.lr.ph247
  %.0162245 = phi i32 [ %285, %.lr.ph247 ], [ 0, %._crit_edge244 ]
  %285 = add nuw nsw i32 %.0162245, 1
  %286 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28) #8
  %287 = getelementptr inbounds i8, ptr %286, i64 24
  store i32 %.0162245, ptr %287, align 8, !tbaa !24
  %288 = call ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %28, i32 noundef 0) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #8
  %289 = call ptr @_ZNSt3mapISt6vectorIiSaIiEEiSt4lessIS2_ESaISt4pairIKS2_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #8
  store ptr %289, ptr %29, align 8
  %290 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEES8_(ptr noundef nonnull align 8 dereferenceable(8) %28, ptr noundef nonnull align 8 dereferenceable(8) %29) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #8
  br i1 %290, label %.lr.ph247, label %._crit_edge248, !llvm.loop !31

291:                                              ; preds = %._crit_edge248
  call void @_ZNSt15__new_allocatorISt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #8
  %292 = call ptr @_ZNSt3mapISt6vectorIiSaIiEEiSt4lessIS2_ESaISt4pairIKS2_iEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #8
  store ptr %292, ptr %32, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #8
  %293 = call ptr @_ZNSt3mapISt6vectorIiSaIiEEiSt4lessIS2_ESaISt4pairIKS2_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #8
  store ptr %293, ptr %33, align 8
  %294 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEES8_(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef nonnull align 8 dereferenceable(8) %33) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #8
  br i1 %294, label %.lr.ph258, label %._crit_edge259

._crit_edge259:                                   ; preds = %._crit_edge256, %291
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %36) #8
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #8
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %37) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %38) #8
  store i8 0, ptr %38, align 1, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %39) #8
  call void @_ZNSaIbEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #8
  invoke void @_ZNSt6vectorIbSaIbEEC2EmRKbRKS0_(ptr noundef nonnull align 8 dereferenceable(40) %37, i64 noundef %284, ptr noundef nonnull align 1 dereferenceable(1) %38, ptr noundef nonnull align 1 dereferenceable(1) %39)
          to label %387 unwind label %391

295:                                              ; preds = %._crit_edge248
  %296 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorISt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #8
  br label %677

.lr.ph258:                                        ; preds = %291, %._crit_edge256
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #8
  %297 = call ptr @_ZNSt3mapISt6vectorIiSaIiEEiSt4lessIS2_ESaISt4pairIKS2_iEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #8
  store ptr %297, ptr %34, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #8
  %298 = call ptr @_ZNSt3mapISt6vectorIiSaIiEEiSt4lessIS2_ESaISt4pairIKS2_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #8
  store ptr %298, ptr %35, align 8
  %299 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEES8_(ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef nonnull align 8 dereferenceable(8) %35) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #8
  br i1 %299, label %.lr.ph255, label %._crit_edge256

._crit_edge256:                                   ; preds = %.loopexit216, %.lr.ph258
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #8
  %300 = call ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %32, i32 noundef 0) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #8
  %301 = call ptr @_ZNSt3mapISt6vectorIiSaIiEEiSt4lessIS2_ESaISt4pairIKS2_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #8
  store ptr %301, ptr %33, align 8
  %302 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEES8_(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef nonnull align 8 dereferenceable(8) %33) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #8
  br i1 %302, label %.lr.ph258, label %._crit_edge259, !llvm.loop !34

.lr.ph255:                                        ; preds = %.lr.ph258, %.loopexit216
  %303 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34) #8
  %304 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #8
  %305 = invoke noundef zeroext i1 @_ZStgtIiSaIiEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %303, ptr noundef nonnull align 8 dereferenceable(24) %304)
          to label %306 unwind label %314

306:                                              ; preds = %.lr.ph255
  br i1 %305, label %.preheader211, label %.loopexit216

.preheader211:                                    ; preds = %306, %382
  %indvars.iv319 = phi i64 [ %indvars.iv.next320, %382 ], [ 0, %306 ]
  %.0158252 = phi i1 [ %.2160.2, %382 ], [ false, %306 ]
  %307 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #8
  %308 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %307, i64 noundef %indvars.iv319) #8
  %309 = load i32, ptr %308, align 4, !tbaa !8
  %310 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34) #8
  %311 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %310, i64 noundef 0) #8
  %312 = load i32, ptr %311, align 4, !tbaa !8
  %313 = icmp ne i32 %309, %312
  %brmerge = select i1 %313, i1 true, i1 %.0158252
  br i1 %brmerge, label %334, label %316

314:                                              ; preds = %.lr.ph255
  %315 = landingpad { ptr, i32 }
          cleanup
  br label %386

316:                                              ; preds = %.preheader211
  %317 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #8
  %318 = getelementptr inbounds i8, ptr %317, i64 24
  %319 = load i32, ptr %318, align 8, !tbaa !24
  %320 = sext i32 %319 to i64
  %321 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %320) #8
  %322 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34) #8
  %323 = getelementptr inbounds i8, ptr %322, i64 24
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %321, ptr noundef nonnull align 4 dereferenceable(4) %323)
          to label %324 unwind label %332

324:                                              ; preds = %316
  %325 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34) #8
  %326 = getelementptr inbounds i8, ptr %325, i64 24
  %327 = load i32, ptr %326, align 8, !tbaa !24
  %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) %30, i64 noundef %328) #8
  %330 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #8
  %331 = getelementptr inbounds i8, ptr %330, i64 24
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %329, ptr noundef nonnull align 4 dereferenceable(4) %331)
          to label %334 unwind label %332

332:                                              ; preds = %374, %366, %350, %342, %324, %316
  %333 = landingpad { ptr, i32 }
          cleanup
  br label %386

334:                                              ; preds = %.preheader211, %324
  %.2160 = phi i1 [ %.0158252, %.preheader211 ], [ true, %324 ]
  %335 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #8
  %336 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %335, i64 noundef %indvars.iv319) #8
  %337 = load i32, ptr %336, align 4, !tbaa !8
  %338 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34) #8
  %339 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %338, i64 noundef 1) #8
  %340 = load i32, ptr %339, align 4, !tbaa !8
  %341 = icmp ne i32 %337, %340
  %brmerge.1 = select i1 %341, i1 true, i1 %.2160
  br i1 %brmerge.1, label %358, label %342

342:                                              ; preds = %334
  %343 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #8
  %344 = getelementptr inbounds i8, ptr %343, i64 24
  %345 = load i32, ptr %344, align 8, !tbaa !24
  %346 = sext i32 %345 to i64
  %347 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %346) #8
  %348 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34) #8
  %349 = getelementptr inbounds i8, ptr %348, i64 24
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %347, ptr noundef nonnull align 4 dereferenceable(4) %349)
          to label %350 unwind label %332

350:                                              ; preds = %342
  %351 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34) #8
  %352 = getelementptr inbounds i8, ptr %351, i64 24
  %353 = load i32, ptr %352, align 8, !tbaa !24
  %354 = sext i32 %353 to i64
  %355 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %354) #8
  %356 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #8
  %357 = getelementptr inbounds i8, ptr %356, i64 24
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %355, ptr noundef nonnull align 4 dereferenceable(4) %357)
          to label %358 unwind label %332

358:                                              ; preds = %350, %334
  %.2160.1 = phi i1 [ %.2160, %334 ], [ true, %350 ]
  %359 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #8
  %360 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %359, i64 noundef %indvars.iv319) #8
  %361 = load i32, ptr %360, align 4, !tbaa !8
  %362 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34) #8
  %363 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %362, i64 noundef 2) #8
  %364 = load i32, ptr %363, align 4, !tbaa !8
  %365 = icmp ne i32 %361, %364
  %brmerge.2 = select i1 %365, i1 true, i1 %.2160.1
  br i1 %brmerge.2, label %382, label %366

366:                                              ; preds = %358
  %367 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #8
  %368 = getelementptr inbounds i8, ptr %367, i64 24
  %369 = load i32, ptr %368, align 8, !tbaa !24
  %370 = sext i32 %369 to i64
  %371 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %370) #8
  %372 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34) #8
  %373 = getelementptr inbounds i8, ptr %372, i64 24
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %371, ptr noundef nonnull align 4 dereferenceable(4) %373)
          to label %374 unwind label %332

374:                                              ; preds = %366
  %375 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34) #8
  %376 = getelementptr inbounds i8, ptr %375, i64 24
  %377 = load i32, ptr %376, align 8, !tbaa !24
  %378 = sext i32 %377 to i64
  %379 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %378) #8
  %380 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #8
  %381 = getelementptr inbounds i8, ptr %380, i64 24
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %379, ptr noundef nonnull align 4 dereferenceable(4) %381)
          to label %382 unwind label %332

382:                                              ; preds = %374, %358
  %.2160.2 = phi i1 [ %.2160.1, %358 ], [ true, %374 ]
  %indvars.iv.next320 = add nuw nsw i64 %indvars.iv319, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next320, 3
  br i1 %exitcond.not, label %.loopexit216, label %.preheader211, !llvm.loop !35

.loopexit216:                                     ; preds = %382, %306
  %383 = call ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %34, i32 noundef 0) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #8
  %384 = call ptr @_ZNSt3mapISt6vectorIiSaIiEEiSt4lessIS2_ESaISt4pairIKS2_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #8
  store ptr %384, ptr %35, align 8
  %385 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKSt6vectorIiSaIiEEiEES8_(ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef nonnull align 8 dereferenceable(8) %35) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #8
  br i1 %385, label %.lr.ph255, label %._crit_edge256, !llvm.loop !36

386:                                              ; preds = %332, %314
  %.pn187 = phi { ptr, i32 } [ %333, %332 ], [ %315, %314 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #8
  br label %676

387:                                              ; preds = %._crit_edge259
  call void @_ZNSt15__new_allocatorIbED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %38) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %40) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %41) #8
  store i32 0, ptr %41, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %42) #8
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #8
  invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %40, i64 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %41, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %388 unwind label %393

388:                                              ; preds = %387
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %43) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %44) #8
  %389 = add nuw nsw i32 %.0162.lcssa, 1
  store i32 %389, ptr %44, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %45) #8
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #8
  invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %43, i64 noundef %284, ptr noundef nonnull align 4 dereferenceable(4) %44, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %390 unwind label %395

390:                                              ; preds = %388
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #8
  %.not309 = icmp eq i32 %.0162.lcssa, 0
  br i1 %.not309, label %._crit_edge304, label %.lr.ph300

391:                                              ; preds = %._crit_edge259
  %392 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIbED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %38) #8
  br label %675

393:                                              ; preds = %387
  %394 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #8
  br label %674

395:                                              ; preds = %388
  %396 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #8
  br label %673

.lr.ph300:                                        ; preds = %390, %645
  %.0131298 = phi i32 [ %646, %645 ], [ 0, %390 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %46) #8
  store i32 -1, ptr %46, align 4, !tbaa !8
  br label %399

397:                                              ; preds = %430
  %398 = load i32, ptr %46, align 4, !tbaa !8
  %.not179 = icmp eq i32 %398, -1
  br i1 %.not179, label %.loopexit219, label %431

399:                                              ; preds = %.lr.ph300, %430
  %indvars.iv321 = phi i64 [ 0, %.lr.ph300 ], [ %indvars.iv.next322, %430 ]
  %.0128263 = phi i32 [ %389, %.lr.ph300 ], [ %.2130, %430 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %47) #8
  %400 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %37, i64 noundef %indvars.iv321)
          to label %401 unwind label %415

401:                                              ; preds = %399
  %402 = extractvalue { ptr, i64 } %400, 0
  store ptr %402, ptr %47, align 8
  %403 = extractvalue { ptr, i64 } %400, 1
  store i64 %403, ptr %83, align 8
  %404 = call noundef zeroext i1 @_ZNKSt14_Bit_referencecvbEv(ptr noundef nonnull align 8 dereferenceable(16) %47) #8
  br i1 %404, label %.critedge, label %405

405:                                              ; preds = %401
  %406 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %indvars.iv321) #8
  %407 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %406) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %47) #8
  br i1 %407, label %430, label %408

408:                                              ; preds = %405
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %48) #8
  store i32 %389, ptr %48, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #8
  %409 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %indvars.iv321) #8
  %410 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %409) #8
  store ptr %410, ptr %49, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %50) #8
  %411 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %indvars.iv321) #8
  %412 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %411) #8
  store ptr %412, ptr %50, align 8
  %413 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %49, ptr noundef nonnull align 8 dereferenceable(8) %50) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #8
  br i1 %413, label %.lr.ph261, label %._crit_edge262

._crit_edge262:                                   ; preds = %.lr.ph261, %408
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #8
  %414 = load i32, ptr %48, align 4, !tbaa !8
  %.not186 = icmp sgt i32 %414, %.0128263
  br i1 %.not186, label %429, label %427

415:                                              ; preds = %399
  %416 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %47) #8
  br label %653

.lr.ph261:                                        ; preds = %408, %.lr.ph261
  %417 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %49) #8
  %418 = load i32, ptr %417, align 4, !tbaa !8
  %419 = sext i32 %418 to i64
  %420 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %43, i64 noundef %419) #8
  %421 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3minIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %48, ptr noundef nonnull align 4 dereferenceable(4) %420)
  %422 = load i32, ptr %421, align 4, !tbaa !8
  store i32 %422, ptr %48, align 4, !tbaa !8
  %423 = call ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %49, i32 noundef 0) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %50) #8
  %424 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %indvars.iv321) #8
  %425 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %424) #8
  store ptr %425, ptr %50, align 8
  %426 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %49, ptr noundef nonnull align 8 dereferenceable(8) %50) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #8
  br i1 %426, label %.lr.ph261, label %._crit_edge262, !llvm.loop !37

427:                                              ; preds = %._crit_edge262
  %428 = trunc nuw nsw i64 %indvars.iv321 to i32
  store i32 %428, ptr %46, align 4, !tbaa !8
  br label %429

429:                                              ; preds = %427, %._crit_edge262
  %.1129 = phi i32 [ %414, %427 ], [ %.0128263, %._crit_edge262 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #8
  br label %430

.critedge:                                        ; preds = %401
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %47) #8
  br label %430

430:                                              ; preds = %405, %429, %.critedge
  %.2130 = phi i32 [ %.0128263, %.critedge ], [ %.1129, %429 ], [ %.0128263, %405 ]
  %indvars.iv.next322 = add nuw nsw i64 %indvars.iv321, 1
  %exitcond324.not = icmp eq i64 %indvars.iv.next322, %284
  br i1 %exitcond324.not, label %397, label %399, !llvm.loop !38

431:                                              ; preds = %397
  %432 = sext i32 %398 to i64
  %433 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %43, i64 noundef %432) #8
  store i32 %.0131298, ptr %433, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %51) #8
  %434 = load i32, ptr %46, align 4, !tbaa !8
  %435 = sext i32 %434 to i64
  %436 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %435) #8
  %437 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %436) #8
  %438 = trunc i64 %437 to i32
  %439 = shl nuw i32 1, %438
  %440 = sext i32 %439 to i64
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %52) #8
  store i32 0, ptr %52, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %53) #8
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #8
  invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %51, i64 noundef %440, ptr noundef nonnull align 4 dereferenceable(4) %52, ptr noundef nonnull align 1 dereferenceable(1) %53)
          to label %441 unwind label %467

441:                                              ; preds = %431
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %53) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %52) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %54) #8
  %442 = load i32, ptr %46, align 4, !tbaa !8
  %443 = sext i32 %442 to i64
  %444 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %443) #8
  %445 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %444) #8
  %446 = trunc i64 %445 to i32
  %447 = shl nuw i32 1, %446
  %448 = sext i32 %447 to i64
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %55) #8
  store i32 0, ptr %55, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %56) #8
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #8
  invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %54, i64 noundef %448, ptr noundef nonnull align 4 dereferenceable(4) %55, ptr noundef nonnull align 1 dereferenceable(1) %56)
          to label %449 unwind label %469

449:                                              ; preds = %441
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #8
  %450 = load i32, ptr %46, align 4, !tbaa !8
  %451 = sext i32 %450 to i64
  %452 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %451) #8
  %453 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %452) #8
  %454 = and i64 %453, 4294967295
  %.not310 = icmp eq i64 %454, 31
  br i1 %.not310, label %._crit_edge272, label %.preheader214

.preheader214:                                    ; preds = %449, %515
  %indvars.iv331 = phi i64 [ %indvars.iv.next332, %515 ], [ 0, %449 ]
  %455 = load i32, ptr %46, align 4, !tbaa !8
  %456 = sext i32 %455 to i64
  %457 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %456) #8
  %458 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %457) #8
  %459 = trunc i64 %458 to i32
  %460 = icmp sgt i32 %459, 0
  br i1 %460, label %.lr.ph269, label %._crit_edge270

.lr.ph269:                                        ; preds = %.preheader214
  %461 = trunc nuw nsw i64 %indvars.iv331 to i32
  br label %474

._crit_edge272:                                   ; preds = %515, %449
  %462 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %36) #8
  %463 = trunc i64 %462 to i32
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %57) #8
  %464 = add i32 %463, 1
  %465 = shl nuw i32 1, %464
  %466 = sext i32 %465 to i64
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %58) #8
  store i32 %389, ptr %58, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %59) #8
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #8
  invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %57, i64 noundef %466, ptr noundef nonnull align 4 dereferenceable(4) %58, ptr noundef nonnull align 1 dereferenceable(1) %59)
          to label %524 unwind label %533

467:                                              ; preds = %431
  %468 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %53) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %52) #8
  br label %652

469:                                              ; preds = %441
  %470 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #8
  br label %651

._crit_edge270:                                   ; preds = %.loopexit, %.preheader214
  %471 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %54, i64 noundef %indvars.iv331) #8
  %472 = load i32, ptr %471, align 4, !tbaa !8
  %473 = icmp sgt i32 %472, 0
  br i1 %473, label %508, label %515

474:                                              ; preds = %.lr.ph269, %.loopexit
  %indvars.iv328 = phi i64 [ 0, %.lr.ph269 ], [ %indvars.iv.next329, %.loopexit ]
  %475 = trunc nuw nsw i64 %indvars.iv328 to i32
  %476 = shl nuw i32 1, %475
  %477 = and i32 %476, %461
  %.not178 = icmp eq i32 %477, 0
  br i1 %.not178, label %.loopexit, label %.preheader

.preheader:                                       ; preds = %474
  %478 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %36) #8
  %479 = trunc i64 %478 to i32
  %480 = icmp sgt i32 %479, 0
  br i1 %480, label %.lr.ph266, label %.loopexit

.lr.ph266:                                        ; preds = %.preheader, %498
  %indvars.iv325 = phi i64 [ %indvars.iv.next326, %498 ], [ 0, %.preheader ]
  %481 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %36, i64 noundef %indvars.iv325) #8
  %482 = load i32, ptr %481, align 4, !tbaa !8
  %483 = load i32, ptr %46, align 4, !tbaa !8
  %484 = sext i32 %483 to i64
  %485 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %484) #8
  %486 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %485, i64 noundef %indvars.iv328) #8
  %487 = load i32, ptr %486, align 4, !tbaa !8
  %488 = icmp eq i32 %482, %487
  br i1 %488, label %489, label %498

489:                                              ; preds = %.lr.ph266
  %490 = trunc nuw nsw i64 %indvars.iv325 to i32
  %491 = shl nuw i32 1, %490
  %492 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %51, i64 noundef %indvars.iv331) #8
  %493 = load i32, ptr %492, align 4, !tbaa !8
  %494 = add nsw i32 %493, %491
  store i32 %494, ptr %492, align 4, !tbaa !8
  %495 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %54, i64 noundef %indvars.iv331) #8
  %496 = load i32, ptr %495, align 4, !tbaa !8
  %497 = add nsw i32 %496, 1
  store i32 %497, ptr %495, align 4, !tbaa !8
  br label %498

498:                                              ; preds = %.lr.ph266, %489
  %indvars.iv.next326 = add nuw nsw i64 %indvars.iv325, 1
  %499 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %36) #8
  %sext = shl i64 %499, 32
  %500 = ashr exact i64 %sext, 32
  %501 = icmp slt i64 %indvars.iv.next326, %500
  br i1 %501, label %.lr.ph266, label %.loopexit, !llvm.loop !39

.loopexit:                                        ; preds = %498, %.preheader, %474
  %indvars.iv.next329 = add nuw nsw i64 %indvars.iv328, 1
  %502 = load i32, ptr %46, align 4, !tbaa !8
  %503 = sext i32 %502 to i64
  %504 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %503) #8
  %505 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %504) #8
  %sext363 = shl i64 %505, 32
  %506 = ashr exact i64 %sext363, 32
  %507 = icmp slt i64 %indvars.iv.next329, %506
  br i1 %507, label %474, label %._crit_edge270, !llvm.loop !40

508:                                              ; preds = %._crit_edge270
  %509 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %36) #8
  %510 = trunc i64 %509 to i32
  %511 = shl nuw i32 1, %510
  %512 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %51, i64 noundef %indvars.iv331) #8
  %513 = load i32, ptr %512, align 4, !tbaa !8
  %514 = add nsw i32 %513, %511
  store i32 %514, ptr %512, align 4, !tbaa !8
  br label %515

515:                                              ; preds = %._crit_edge270, %508
  %indvars.iv.next332 = add nuw nsw i64 %indvars.iv331, 1
  %516 = load i32, ptr %46, align 4, !tbaa !8
  %517 = sext i32 %516 to i64
  %518 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %517) #8
  %519 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %518) #8
  %520 = trunc i64 %519 to i32
  %521 = shl nuw i32 1, %520
  %522 = sext i32 %521 to i64
  %523 = icmp slt i64 %indvars.iv.next332, %522
  br i1 %523, label %.preheader214, label %._crit_edge272, !llvm.loop !41

524:                                              ; preds = %._crit_edge272
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %59) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %58) #8
  %.not311 = icmp eq i32 %463, 31
  br i1 %.not311, label %._crit_edge277, label %.preheader213.preheader

.preheader213.preheader:                          ; preds = %524
  %525 = shl nuw nsw i32 1, %463
  %wide.trip.count340 = zext nneg i32 %525 to i64
  br label %.preheader213

.preheader213:                                    ; preds = %.preheader213.preheader, %._crit_edge275
  %indvars.iv337 = phi i64 [ 0, %.preheader213.preheader ], [ %indvars.iv.next338, %._crit_edge275 ]
  %526 = load i32, ptr %46, align 4, !tbaa !8
  %527 = sext i32 %526 to i64
  %528 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %527) #8
  %529 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %528) #8
  %530 = and i64 %529, 4294967295
  %.not312 = icmp eq i64 %530, 31
  br i1 %.not312, label %._crit_edge275, label %.lr.ph274

.lr.ph274:                                        ; preds = %.preheader213
  %531 = trunc nuw nsw i64 %indvars.iv337 to i32
  br label %535

._crit_edge277:                                   ; preds = %._crit_edge275, %524
  %532 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIiSaIiEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(24) %57)
          to label %561 unwind label %576

533:                                              ; preds = %._crit_edge272
  %534 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %59) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %58) #8
  br label %650

._crit_edge275:                                   ; preds = %535, %.preheader213
  %indvars.iv.next338 = add nuw nsw i64 %indvars.iv337, 1
  %exitcond341.not = icmp eq i64 %indvars.iv.next338, %wide.trip.count340
  br i1 %exitcond341.not, label %._crit_edge277, label %.preheader213, !llvm.loop !42

535:                                              ; preds = %.lr.ph274, %535
  %indvars.iv334 = phi i64 [ 0, %.lr.ph274 ], [ %indvars.iv.next335, %535 ]
  %536 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %51, i64 noundef %indvars.iv334) #8
  %537 = load i32, ptr %536, align 4, !tbaa !8
  %538 = or i32 %537, %531
  %539 = sext i32 %538 to i64
  %540 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %57, i64 noundef %539) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %60) #8
  %541 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %40, i64 noundef %indvars.iv337) #8
  %542 = load i32, ptr %541, align 4, !tbaa !8
  %543 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %54, i64 noundef %indvars.iv334) #8
  %544 = load i32, ptr %543, align 4, !tbaa !8
  %545 = add nsw i32 %544, %542
  store i32 %545, ptr %60, align 4, !tbaa !8
  %546 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3minIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %540, ptr noundef nonnull align 4 dereferenceable(4) %60)
  %547 = load i32, ptr %546, align 4, !tbaa !8
  %548 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %51, i64 noundef %indvars.iv334) #8
  %549 = load i32, ptr %548, align 4, !tbaa !8
  %550 = or i32 %549, %531
  %551 = sext i32 %550 to i64
  %552 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %57, i64 noundef %551) #8
  store i32 %547, ptr %552, align 4, !tbaa !8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %60) #8
  %indvars.iv.next335 = add nuw nsw i64 %indvars.iv334, 1
  %553 = load i32, ptr %46, align 4, !tbaa !8
  %554 = sext i32 %553 to i64
  %555 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %554) #8
  %556 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %555) #8
  %557 = trunc i64 %556 to i32
  %558 = shl nuw i32 1, %557
  %559 = sext i32 %558 to i64
  %560 = icmp slt i64 %indvars.iv.next335, %559
  br i1 %560, label %535, label %._crit_edge275, !llvm.loop !43

561:                                              ; preds = %._crit_edge277
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 4 dereferenceable(4) %46)
          to label %562 unwind label %576

562:                                              ; preds = %561
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %61) #8
  %563 = load i32, ptr %46, align 4, !tbaa !8
  %564 = sext i32 %563 to i64
  %565 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %37, i64 noundef %564)
          to label %566 unwind label %578

566:                                              ; preds = %562
  %567 = extractvalue { ptr, i64 } %565, 0
  store ptr %567, ptr %61, align 8
  %568 = extractvalue { ptr, i64 } %565, 1
  store i64 %568, ptr %84, align 8
  %569 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt14_Bit_referenceaSEb(ptr noundef nonnull align 8 dereferenceable(16) %61, i1 noundef zeroext true) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %61) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %62) #8
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %63) #8
  %570 = sext i32 %464 to i64
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %64) #8
  store i32 -1, ptr %64, align 4, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %65) #8
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #8
  invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %63, i64 noundef %570, ptr noundef nonnull align 4 dereferenceable(4) %64, ptr noundef nonnull align 1 dereferenceable(1) %65)
          to label %571 unwind label %580

571:                                              ; preds = %566
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %65) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %64) #8
  %.not283 = icmp slt i32 %463, 0
  br i1 %.not283, label %._crit_edge287, label %.lr.ph286.preheader

.lr.ph286.preheader:                              ; preds = %571
  %wide.trip.count345 = zext i32 %464 to i64
  br label %.lr.ph286

._crit_edge287:                                   ; preds = %618, %571
  %572 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %62) #8
  %573 = trunc i64 %572 to i32
  %574 = shl nuw i32 1, %573
  %575 = sext i32 %574 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %40, i64 noundef %575)
          to label %.preheader218 unwind label %622

.preheader218:                                    ; preds = %._crit_edge287
  %.not = icmp eq i32 %464, 31
  br i1 %.not, label %._crit_edge297, label %.preheader212.lr.ph

.preheader212.lr.ph:                              ; preds = %.preheader218
  %smax354 = call i32 @llvm.smax.i32(i32 %465, i32 1)
  %wide.trip.count355 = zext nneg i32 %smax354 to i64
  %wide.trip.count349 = zext i32 %464 to i64
  br label %.preheader212

576:                                              ; preds = %561, %._crit_edge277
  %577 = landingpad { ptr, i32 }
          cleanup
  br label %649

578:                                              ; preds = %562
  %579 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %61) #8
  br label %649

580:                                              ; preds = %566
  %581 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %65) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %64) #8
  br label %648

.lr.ph286:                                        ; preds = %.lr.ph286.preheader, %618
  %indvars.iv342 = phi i64 [ 0, %.lr.ph286.preheader ], [ %indvars.iv.next343, %618 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %66) #8
  %582 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %36, i64 noundef %indvars.iv342) #8
  %583 = load i32, ptr %582, align 4, !tbaa !8
  %584 = sext i32 %583 to i64
  %585 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %584) #8
  %586 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %585) #8
  store ptr %586, ptr %66, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %67) #8
  %587 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %36, i64 noundef %indvars.iv342) #8
  %588 = load i32, ptr %587, align 4, !tbaa !8
  %589 = sext i32 %588 to i64
  %590 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %589) #8
  %591 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %590) #8
  store ptr %591, ptr %67, align 8
  %592 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef nonnull align 8 dereferenceable(8) %67) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #8
  br i1 %592, label %.lr.ph280, label %._crit_edge281.thread

._crit_edge281.thread:                            ; preds = %.lr.ph286
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #8
  br label %618

._crit_edge281:                                   ; preds = %597
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #8
  %.not371 = icmp eq i32 %spec.select, 0
  br i1 %.not371, label %618, label %611

.lr.ph280:                                        ; preds = %.lr.ph286, %597
  %.0116278 = phi i32 [ %spec.select, %597 ], [ 0, %.lr.ph286 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %68) #8
  %593 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %66) #8
  %594 = load i32, ptr %593, align 4, !tbaa !8
  %595 = sext i32 %594 to i64
  %596 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %37, i64 noundef %595)
          to label %597 unwind label %609

597:                                              ; preds = %.lr.ph280
  %598 = extractvalue { ptr, i64 } %596, 0
  store ptr %598, ptr %68, align 8
  %599 = extractvalue { ptr, i64 } %596, 1
  store i64 %599, ptr %85, align 8
  %600 = call noundef zeroext i1 @_ZNKSt14_Bit_referencecvbEv(ptr noundef nonnull align 8 dereferenceable(16) %68) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %68) #8
  %not. = xor i1 %600, true
  %601 = zext i1 %not. to i32
  %spec.select = add nuw nsw i32 %.0116278, %601
  %602 = call ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %66, i32 noundef 0) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %67) #8
  %603 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %36, i64 noundef %indvars.iv342) #8
  %604 = load i32, ptr %603, align 4, !tbaa !8
  %605 = sext i32 %604 to i64
  %606 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %605) #8
  %607 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %606) #8
  store ptr %607, ptr %67, align 8
  %608 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef nonnull align 8 dereferenceable(8) %67) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #8
  br i1 %608, label %.lr.ph280, label %._crit_edge281, !llvm.loop !44

609:                                              ; preds = %.lr.ph280
  %610 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %68) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #8
  br label %647

611:                                              ; preds = %._crit_edge281
  %612 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %62) #8
  %613 = trunc i64 %612 to i32
  %614 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %63, i64 noundef %indvars.iv342) #8
  store i32 %613, ptr %614, align 4, !tbaa !8
  %615 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %36, i64 noundef %indvars.iv342) #8
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %62, ptr noundef nonnull align 4 dereferenceable(4) %615)
          to label %618 unwind label %616

616:                                              ; preds = %611
  %617 = landingpad { ptr, i32 }
          cleanup
  br label %647

618:                                              ; preds = %._crit_edge281.thread, %611, %._crit_edge281
  %indvars.iv.next343 = add nuw nsw i64 %indvars.iv342, 1
  %exitcond346.not = icmp eq i64 %indvars.iv.next343, %wide.trip.count345
  br i1 %exitcond346.not, label %._crit_edge287, label %.lr.ph286, !llvm.loop !45

.preheader212:                                    ; preds = %.preheader212.lr.ph, %644
  %indvars.iv351 = phi i64 [ 0, %.preheader212.lr.ph ], [ %indvars.iv.next352, %644 ]
  br i1 %.not283, label %._crit_edge293.thread, label %.lr.ph292.preheader

.lr.ph292.preheader:                              ; preds = %.preheader212
  %619 = trunc nuw nsw i64 %indvars.iv351 to i32
  %620 = trunc nuw nsw i64 %indvars.iv351 to i32
  br label %.lr.ph292

._crit_edge297:                                   ; preds = %644, %.preheader218
  %621 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIiSaIiEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 8 dereferenceable(24) %62)
          to label %645 unwind label %622

622:                                              ; preds = %._crit_edge297, %._crit_edge287
  %623 = landingpad { ptr, i32 }
          cleanup
  br label %647

._crit_edge293:                                   ; preds = %639
  br i1 %.1, label %._crit_edge293.thread, label %644

.lr.ph292:                                        ; preds = %.lr.ph292.preheader, %639
  %indvars.iv347 = phi i64 [ 0, %.lr.ph292.preheader ], [ %indvars.iv.next348, %639 ]
  %.0111290 = phi i1 [ true, %.lr.ph292.preheader ], [ %.1, %639 ]
  %.0112289 = phi i32 [ 0, %.lr.ph292.preheader ], [ %.1113, %639 ]
  %624 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %63, i64 noundef %indvars.iv347) #8
  %625 = load i32, ptr %624, align 4, !tbaa !8
  %626 = icmp eq i32 %625, -1
  %627 = trunc nuw nsw i64 %indvars.iv347 to i32
  br i1 %626, label %628, label %632

628:                                              ; preds = %.lr.ph292
  %629 = shl nuw i32 1, %627
  %630 = and i32 %629, %620
  %631 = icmp ne i32 %630, 0
  %spec.select207 = select i1 %631, i1 %.0111290, i1 false
  br label %639

632:                                              ; preds = %.lr.ph292
  %633 = lshr i32 %619, %627
  %634 = and i32 %633, 1
  %635 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %63, i64 noundef %indvars.iv347) #8
  %636 = load i32, ptr %635, align 4, !tbaa !8
  %637 = shl nuw i32 %634, %636
  %638 = add nsw i32 %637, %.0112289
  br label %639

639:                                              ; preds = %628, %632
  %.1113 = phi i32 [ %638, %632 ], [ %.0112289, %628 ]
  %.1 = phi i1 [ %.0111290, %632 ], [ %spec.select207, %628 ]
  %indvars.iv.next348 = add nuw nsw i64 %indvars.iv347, 1
  %exitcond350.not = icmp eq i64 %indvars.iv.next348, %wide.trip.count349
  br i1 %exitcond350.not, label %._crit_edge293, label %.lr.ph292, !llvm.loop !46

._crit_edge293.thread:                            ; preds = %.preheader212, %._crit_edge293
  %.0112.lcssa368 = phi i32 [ %.1113, %._crit_edge293 ], [ 0, %.preheader212 ]
  %640 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %57, i64 noundef %indvars.iv351) #8
  %641 = load i32, ptr %640, align 4, !tbaa !8
  %642 = sext i32 %.0112.lcssa368 to i64
  %643 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %40, i64 noundef %642) #8
  store i32 %641, ptr %643, align 4, !tbaa !8
  br label %644

644:                                              ; preds = %._crit_edge293.thread, %._crit_edge293
  %indvars.iv.next352 = add nuw nsw i64 %indvars.iv351, 1
  %exitcond356.not = icmp eq i64 %indvars.iv.next352, %wide.trip.count355
  br i1 %exitcond356.not, label %._crit_edge297, label %.preheader212, !llvm.loop !47

645:                                              ; preds = %._crit_edge297
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %63) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %62) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %57) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %57) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %54) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %51) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #8
  %646 = add nuw i32 %.0131298, 1
  %exitcond357.not = icmp eq i32 %646, %.0162.lcssa
  br i1 %exitcond357.not, label %.lr.ph303.preheader, label %.lr.ph300, !llvm.loop !48

647:                                              ; preds = %609, %616, %622
  %.pn170.pn = phi { ptr, i32 } [ %623, %622 ], [ %610, %609 ], [ %617, %616 ]
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #8
  br label %648

648:                                              ; preds = %647, %580
  %.pn170.pn.pn = phi { ptr, i32 } [ %.pn170.pn, %647 ], [ %581, %580 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %63) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %62) #8
  br label %649

649:                                              ; preds = %648, %578, %576
  %.pn170.pn.pn.pn = phi { ptr, i32 } [ %.pn170.pn.pn, %648 ], [ %579, %578 ], [ %577, %576 ]
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %57) #8
  br label %650

650:                                              ; preds = %649, %533
  %.pn170.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn170.pn.pn.pn, %649 ], [ %534, %533 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %57) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #8
  br label %651

651:                                              ; preds = %650, %469
  %.pn170.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn170.pn.pn.pn.pn, %650 ], [ %470, %469 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %54) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #8
  br label %652

652:                                              ; preds = %651, %467
  %.pn170.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn170.pn.pn.pn.pn.pn, %651 ], [ %468, %467 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %51) #8
  br label %653

653:                                              ; preds = %652, %415
  %.pn180 = phi { ptr, i32 } [ %416, %415 ], [ %.pn170.pn.pn.pn.pn.pn.pn, %652 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #8
  br label %672

.loopexit219:                                     ; preds = %397
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #8
  br i1 %.not309, label %._crit_edge304, label %.lr.ph303.preheader

.lr.ph303.preheader:                              ; preds = %645, %.loopexit219
  br label %.lr.ph303

._crit_edge304:                                   ; preds = %663, %390, %.loopexit219
  %654 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %40) #8
  %655 = load i32, ptr %654, align 4, !tbaa !8
  %656 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef %655)
          to label %664 unwind label %670

.lr.ph303:                                        ; preds = %.lr.ph303.preheader, %663
  %indvars.iv358 = phi i64 [ %indvars.iv.next359, %663 ], [ 0, %.lr.ph303.preheader ]
  %657 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %indvars.iv358) #8
  %658 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %657) #8
  br i1 %658, label %659, label %663

659:                                              ; preds = %.lr.ph303
  %660 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %40) #8
  %661 = load i32, ptr %660, align 4, !tbaa !8
  %662 = add nsw i32 %661, 1
  store i32 %662, ptr %660, align 4, !tbaa !8
  br label %663

663:                                              ; preds = %.lr.ph303, %659
  %indvars.iv.next359 = add nuw nsw i64 %indvars.iv358, 1
  %exitcond362.not = icmp eq i64 %indvars.iv.next359, %284
  br i1 %exitcond362.not, label %._crit_edge304, label %.lr.ph303, !llvm.loop !49

664:                                              ; preds = %._crit_edge304
  %665 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %656, ptr noundef nonnull @.str)
          to label %666 unwind label %670

666:                                              ; preds = %664
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %43) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %40) #8
  call void @_ZNSt13_Bvector_baseISaIbEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %37) #8
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %37) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #8
  call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #8
  call void @_ZNSt3mapISt6vectorIiSaIiEEiSt4lessIS2_ESaISt4pairIKS2_iEEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %18) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %18) #8
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #8
  call void @_ZNSt6vectorIS_IxSaIxEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #8
  call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #8
  %667 = add nuw nsw i32 %.0115305, 1
  %668 = load i32, ptr %1, align 4, !tbaa !8
  %669 = icmp slt i32 %667, %668
  br i1 %669, label %86, label %._crit_edge308, !llvm.loop !50

670:                                              ; preds = %664, %._crit_edge304
  %671 = landingpad { ptr, i32 }
          cleanup
  br label %672

672:                                              ; preds = %670, %653
  %.pn180.pn = phi { ptr, i32 } [ %.pn180, %653 ], [ %671, %670 ]
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #8
  br label %673

673:                                              ; preds = %672, %395
  %.pn180.pn.pn = phi { ptr, i32 } [ %.pn180.pn, %672 ], [ %396, %395 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %43) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #8
  br label %674

674:                                              ; preds = %673, %393
  %.pn180.pn.pn.pn = phi { ptr, i32 } [ %.pn180.pn.pn, %673 ], [ %394, %393 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %40) #8
  call void @_ZNSt13_Bvector_baseISaIbEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %37) #8
  br label %675

675:                                              ; preds = %674, %391
  %.pn180.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn180.pn.pn.pn, %674 ], [ %392, %391 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %37) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #8
  br label %676

676:                                              ; preds = %675, %386
  %.pn187.pn = phi { ptr, i32 } [ %.pn187, %386 ], [ %.pn180.pn.pn.pn.pn, %675 ]
  call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #8
  br label %677

677:                                              ; preds = %676, %295
  %.pn187.pn.pn = phi { ptr, i32 } [ %.pn187.pn, %676 ], [ %296, %295 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #8
  br label %678

678:                                              ; preds = %677, %283
  %.pn197.pn = phi { ptr, i32 } [ %.pn197, %283 ], [ %.pn187.pn.pn, %677 ]
  call void @_ZNSt3mapISt6vectorIiSaIiEEiSt4lessIS2_ESaISt4pairIKS2_iEEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %18) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %18) #8
  br label %679

679:                                              ; preds = %678, %198
  %.pn201 = phi { ptr, i32 } [ %199, %198 ], [ %.pn197.pn, %678 ]
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #8
  br label %680

680:                                              ; preds = %679, %154
  %.pn203 = phi { ptr, i32 } [ %155, %154 ], [ %.pn201, %679 ]
  call void @_ZNSt6vectorIS_IxSaIxEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #8
  br label %681

681:                                              ; preds = %680, %109
  %.pn203.pn = phi { ptr, i32 } [ %.pn203, %680 ], [ %.pn, %109 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #8
  call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #8
  br label %682

682:                                              ; preds = %681, %103
  %.pn203.pn.pn = phi { ptr, i32 } [ %.pn203.pn, %681 ], [ %104, %103 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %1) #8
  resume { ptr, i32 } %.pn203.pn.pn
}

declare noundef zeroext i1 @_ZNSt8ios_base15sync_with_stdioEb(i1 noundef zeroext) local_unnamed_addr #1

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(216) ptr @_ZSt5fixedRSt8ios_base(ptr noundef nonnull align 8 dereferenceable(216)) #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local i32 @_ZSt12setprecisioni(i32 noundef) local_unnamed_addr #5

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

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 #1

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #5

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local i64 @_ZSt9make_pairIRiS0_ESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS2_INS3_IT0_E4typeEE6__typeEEOS4_OS9_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #4

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPSt4pairIiiESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #5

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt4sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEvT_S7_(ptr, ptr) local_unnamed_addr #3

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

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZStgtIiSaIiEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40), i64 noundef) local_unnamed_addr #4 align 2

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

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt14_Bit_referenceaSEb(ptr noundef nonnull align 8 dereferenceable(16), i1 noundef zeroext) local_unnamed_addr #2 align 2

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.smax.i32(i32, i32) #7

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 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { 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 #3 = { 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 #4 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #7 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #8 = { 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 = !{!"vtable pointer", !7, i64 0}
!7 = !{!"Simple C++ TBAA"}
!8 = !{!9, !9, i64 0}
!9 = !{!"int", !10, i64 0}
!10 = !{!"omnipotent char", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"long long", !10, i64 0}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}
!15 = distinct !{!15, !14}
!16 = distinct !{!16, !14}
!17 = distinct !{!17, !14}
!18 = !{!19, !9, i64 0}
!19 = !{!"_ZTSSt4pairIiiE", !9, i64 0, !9, i64 4}
!20 = !{!19, !9, i64 4}
!21 = distinct !{!21, !14}
!22 = distinct !{!22, !14}
!23 = distinct !{!23, !14}
!24 = !{!25, !9, i64 24}
!25 = !{!"_ZTSSt4pairIKSt6vectorIiSaIiEEiE", !26, i64 0, !9, i64 24}
!26 = !{!"_ZTSSt6vectorIiSaIiEE", !27, i64 0}
!27 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !28, i64 0}
!28 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !29, i64 0}
!29 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !30, i64 0, !30, i64 8, !30, i64 16}
!30 = !{!"any pointer", !10, i64 0}
!31 = distinct !{!31, !14}
!32 = !{!33, !33, i64 0}
!33 = !{!"bool", !10, i64 0}
!34 = distinct !{!34, !14}
!35 = distinct !{!35, !14}
!36 = distinct !{!36, !14}
!37 = distinct !{!37, !14}
!38 = distinct !{!38, !14}
!39 = distinct !{!39, !14}
!40 = distinct !{!40, !14}
!41 = distinct !{!41, !14}
!42 = distinct !{!42, !14}
!43 = distinct !{!43, !14}
!44 = distinct !{!44, !14}
!45 = distinct !{!45, !14}
!46 = distinct !{!46, !14}
!47 = distinct !{!47, !14}
!48 = distinct !{!48, !14}
!49 = distinct !{!49, !14}
!50 = distinct !{!50, !14}


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