; LLVM IR from VastoLorde95/Competitive-Programming :: HackerEarth/Tesco 2016/Problem C/my/C.ll (Z5solvev)

; 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::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = 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 }
%"struct.std::pair" = type { i32, i32 }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }

@_Z1gB5cxx11 = external dso_local global [211 x %"class.std::__cxx11::basic_string"], align 16
@n = external dso_local global i32, align 4
@m = external dso_local global i32, align 4
@vis = external dso_local global [211 x [211 x i32]], align 16
@gen = external dso_local global i32, align 4
@t_ans = external dso_local global %"class.std::vector", align 8

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_Z7inrangeii(i32 noundef, i32 noundef) #3

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

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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z17getAugmentingPathiiii(ptr dead_on_unwind noalias writable sret(%"class.std::vector") align 8, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #2

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_Z5solvev() #2 personality ptr @__gxx_personality_v0 {
  %1 = alloca %"struct.std::pair", align 4
  %2 = alloca %"struct.std::pair", align 4
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca i32, align 4
  %6 = alloca %"struct.std::pair", align 4
  %7 = alloca %"struct.std::pair", align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca %"class.std::vector", align 8
  %12 = alloca %"struct.std::pair", align 4
  %13 = alloca %"struct.std::pair", align 4
  %14 = alloca ptr, align 8
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca ptr, align 8
  %19 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %20 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %21 = alloca ptr, align 8
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca %"struct.std::pair", align 4
  %25 = alloca %"struct.std::pair", align 4
  %26 = alloca %"class.std::vector", align 8
  %27 = alloca %"class.std::vector", align 8
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca %"class.std::vector", align 8
  %31 = alloca %"class.std::vector", align 8
  %32 = alloca %"class.std::vector", align 8
  %33 = alloca %"class.std::vector", align 8
  %34 = alloca %"class.std::vector", align 8
  %35 = alloca %"class.std::vector", align 8
  %36 = alloca %"class.std::vector", align 8
  %37 = alloca %"class.std::vector", align 8
  %38 = alloca %"class.std::vector", align 8
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca ptr, align 8
  %43 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %44 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %45 = alloca ptr, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %1) #6
  call void @_ZNSt4pairIiiEC2IiiTnNSt9enable_ifIXsr6__and_ISt37__is_implicitly_default_constructibleIT_ES3_IT0_EEE5valueEbE4typeELb1EEEv(ptr noundef nonnull align 4 dereferenceable(8) %1)
  call void @llvm.lifetime.start.p0(i64 8, ptr %2) #6
  call void @_ZNSt4pairIiiEC2IiiTnNSt9enable_ifIXsr6__and_ISt37__is_implicitly_default_constructibleIT_ES3_IT0_EEE5valueEbE4typeELb1EEEv(ptr noundef nonnull align 4 dereferenceable(8) %2)
  call void @llvm.lifetime.start.p0(i64 4, ptr %3) #6
  store i32 0, ptr %3, align 4, !tbaa !5
  br label %46

46:                                               ; preds = %88, %0
  %47 = load i32, ptr %3, align 4, !tbaa !5
  %48 = load i32, ptr @n, align 4, !tbaa !5
  %49 = icmp slt i32 %47, %48
  br i1 %49, label %51, label %50

50:                                               ; preds = %46
  store i32 2, ptr %4, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #6
  br label %91

51:                                               ; preds = %46
  call void @llvm.lifetime.start.p0(i64 4, ptr %5) #6
  store i32 0, ptr %5, align 4, !tbaa !5
  br label %52

52:                                               ; preds = %84, %51
  %53 = load i32, ptr %5, align 4, !tbaa !5
  %54 = load i32, ptr @m, align 4, !tbaa !5
  %55 = icmp slt i32 %53, %54
  br i1 %55, label %57, label %56

56:                                               ; preds = %52
  store i32 5, ptr %4, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #6
  br label %87

57:                                               ; preds = %52
  %58 = load i32, ptr %3, align 4, !tbaa !5
  %59 = sext i32 %58 to i64
  %60 = getelementptr inbounds [211 x %"class.std::__cxx11::basic_string"], ptr @_Z1gB5cxx11, i64 0, i64 %59
  %61 = load i32, ptr %5, align 4, !tbaa !5
  %62 = sext i32 %61 to i64
  %63 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %60, i64 noundef %62)
  %64 = load i8, ptr %63, align 1, !tbaa !9
  %65 = sext i8 %64 to i32
  %66 = icmp eq i32 %65, 83
  br i1 %66, label %67, label %70

67:                                               ; preds = %57
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #6
  %68 = call i64 @_ZSt9make_pairIRiS0_ESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS2_INS3_IT0_E4typeEE6__typeEEOS4_OS9_(ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 4 dereferenceable(4) %5)
  store i64 %68, ptr %6, align 4
  %69 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt4pairIiiEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(8) %1, ptr noundef nonnull align 4 dereferenceable(8) %6) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #6
  br label %70

70:                                               ; preds = %67, %57
  %71 = load i32, ptr %3, align 4, !tbaa !5
  %72 = sext i32 %71 to i64
  %73 = getelementptr inbounds [211 x %"class.std::__cxx11::basic_string"], ptr @_Z1gB5cxx11, i64 0, i64 %72
  %74 = load i32, ptr %5, align 4, !tbaa !5
  %75 = sext i32 %74 to i64
  %76 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %73, i64 noundef %75)
  %77 = load i8, ptr %76, align 1, !tbaa !9
  %78 = sext i8 %77 to i32
  %79 = icmp eq i32 %78, 70
  br i1 %79, label %80, label %83

80:                                               ; preds = %70
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #6
  %81 = call i64 @_ZSt9make_pairIRiS0_ESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS2_INS3_IT0_E4typeEE6__typeEEOS4_OS9_(ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 4 dereferenceable(4) %5)
  store i64 %81, ptr %7, align 4
  %82 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt4pairIiiEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(8) %2, ptr noundef nonnull align 4 dereferenceable(8) %7) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #6
  br label %83

83:                                               ; preds = %80, %70
  br label %84

84:                                               ; preds = %83
  %85 = load i32, ptr %5, align 4, !tbaa !5
  %86 = add nsw i32 %85, 1
  store i32 %86, ptr %5, align 4, !tbaa !5
  br label %52, !llvm.loop !10

87:                                               ; preds = %56
  br label %88

88:                                               ; preds = %87
  %89 = load i32, ptr %3, align 4, !tbaa !5
  %90 = add nsw i32 %89, 1
  store i32 %90, ptr %3, align 4, !tbaa !5
  br label %46, !llvm.loop !12

91:                                               ; preds = %50
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #6
  store i32 0, ptr %8, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #6
  store i32 3000, ptr %9, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #6
  store i32 0, ptr %10, align 4, !tbaa !5
  br label %92

92:                                               ; preds = %123, %91
  %93 = load i32, ptr %10, align 4, !tbaa !5
  %94 = icmp slt i32 %93, 3000
  br i1 %94, label %96, label %95

95:                                               ; preds = %92
  store i32 8, ptr %4, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #6
  br label %126

96:                                               ; preds = %92
  %97 = load i32, ptr @gen, align 4, !tbaa !5
  %98 = add nsw i32 %97, 1
  store i32 %98, ptr @gen, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %11) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %12, ptr align 4 %1, i64 8, i1 false)
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %13, ptr align 4 %2, i64 8, i1 false)
  %99 = load i64, ptr %12, align 4
  %100 = load i64, ptr %13, align 4
  %101 = invoke noundef zeroext i1 @_Z9randomDFSSt4pairIiiES0_RSt6vectorIS0_SaIS0_EE(i64 %99, i64 %100, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %102 unwind label %105

102:                                              ; preds = %96
  %103 = call noundef zeroext i1 @_ZNKSt6vectorISt4pairIiiESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  br i1 %103, label %104, label %109

104:                                              ; preds = %102
  store i32 10, ptr %4, align 4
  br label %120

105:                                              ; preds = %114, %96
  %106 = landingpad { ptr, i32 }
          cleanup
  %107 = extractvalue { ptr, i32 } %106, 0
  store ptr %107, ptr %14, align 8
  %108 = extractvalue { ptr, i32 } %106, 1
  store i32 %108, ptr %15, align 4
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #6
  br label %715

109:                                              ; preds = %102
  %110 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  %111 = load i32, ptr %8, align 4, !tbaa !5
  %112 = sext i32 %111 to i64
  %113 = icmp ugt i64 %110, %112
  br i1 %113, label %114, label %119

114:                                              ; preds = %109
  %115 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  %116 = trunc i64 %115 to i32
  store i32 %116, ptr %8, align 4, !tbaa !5
  %117 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) @t_ans, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %118 unwind label %105

118:                                              ; preds = %114
  br label %119

119:                                              ; preds = %118, %109
  store i32 0, ptr %4, align 4
  br label %120

120:                                              ; preds = %119, %104
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #6
  %121 = load i32, ptr %4, align 4
  switch i32 %121, label %721 [
    i32 0, label %122
    i32 10, label %123
  ]

122:                                              ; preds = %120
  br label %123

123:                                              ; preds = %122, %120
  %124 = load i32, ptr %10, align 4, !tbaa !5
  %125 = add nsw i32 %124, 1
  store i32 %125, ptr %10, align 4, !tbaa !5
  br label %92, !llvm.loop !13

126:                                              ; preds = %95
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #6
  store i32 0, ptr %16, align 4, !tbaa !5
  br label %127

127:                                              ; preds = %149, %126
  %128 = load i32, ptr %16, align 4, !tbaa !5
  %129 = load i32, ptr @n, align 4, !tbaa !5
  %130 = icmp slt i32 %128, %129
  br i1 %130, label %132, label %131

131:                                              ; preds = %127
  store i32 11, ptr %4, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #6
  br label %152

132:                                              ; preds = %127
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #6
  store i32 0, ptr %17, align 4, !tbaa !5
  br label %133

133:                                              ; preds = %145, %132
  %134 = load i32, ptr %17, align 4, !tbaa !5
  %135 = load i32, ptr @n, align 4, !tbaa !5
  %136 = icmp slt i32 %134, %135
  br i1 %136, label %138, label %137

137:                                              ; preds = %133
  store i32 14, ptr %4, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #6
  br label %148

138:                                              ; preds = %133
  %139 = load i32, ptr %16, align 4, !tbaa !5
  %140 = sext i32 %139 to i64
  %141 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %140
  %142 = load i32, ptr %17, align 4, !tbaa !5
  %143 = sext i32 %142 to i64
  %144 = getelementptr inbounds [211 x i32], ptr %141, i64 0, i64 %143
  store i32 0, ptr %144, align 4, !tbaa !5
  br label %145

145:                                              ; preds = %138
  %146 = load i32, ptr %17, align 4, !tbaa !5
  %147 = add nsw i32 %146, 1
  store i32 %147, ptr %17, align 4, !tbaa !5
  br label %133, !llvm.loop !14

148:                                              ; preds = %137
  br label %149

149:                                              ; preds = %148
  %150 = load i32, ptr %16, align 4, !tbaa !5
  %151 = add nsw i32 %150, 1
  store i32 %151, ptr %16, align 4, !tbaa !5
  br label %127, !llvm.loop !15

152:                                              ; preds = %131
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #6
  store ptr @t_ans, ptr %18, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #6
  %153 = call ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) @t_ans) #6
  %154 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %19, i32 0, i32 0
  store ptr %153, ptr %154, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #6
  %155 = call ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) @t_ans) #6
  %156 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %20, i32 0, i32 0
  store ptr %155, ptr %156, align 8
  br label %157

157:                                              ; preds = %172, %152
  %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) #6
  br i1 %158, label %160, label %159

159:                                              ; preds = %157
  store i32 17, ptr %4, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #6
  br label %174

160:                                              ; preds = %157
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #6
  %161 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %19) #6
  store ptr %161, ptr %21, align 8, !tbaa !16
  %162 = load ptr, ptr %21, align 8, !tbaa !16
  %163 = getelementptr inbounds %"struct.std::pair", ptr %162, i32 0, i32 0
  %164 = load i32, ptr %163, align 4, !tbaa !18
  %165 = sext i32 %164 to i64
  %166 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %165
  %167 = load ptr, ptr %21, align 8, !tbaa !16
  %168 = getelementptr inbounds %"struct.std::pair", ptr %167, i32 0, i32 1
  %169 = load i32, ptr %168, align 4, !tbaa !20
  %170 = sext i32 %169 to i64
  %171 = getelementptr inbounds [211 x i32], ptr %166, i64 0, i64 %170
  store i32 1, ptr %171, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #6
  br label %172

172:                                              ; preds = %160
  %173 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %19) #6
  br label %157

174:                                              ; preds = %159
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #6
  store i32 20, ptr %22, align 4, !tbaa !5
  br label %175

175:                                              ; preds = %713, %174
  %176 = load i32, ptr %22, align 4, !tbaa !5
  %177 = add nsw i32 %176, -1
  store i32 %177, ptr %22, align 4, !tbaa !5
  %178 = icmp ne i32 %176, 0
  br i1 %178, label %179, label %714

179:                                              ; preds = %175
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #6
  store i32 1, ptr %23, align 4, !tbaa !5
  br label %180

180:                                              ; preds = %704, %179
  %181 = load i32, ptr %23, align 4, !tbaa !5
  %182 = sext i32 %181 to i64
  %183 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) @t_ans) #6
  %184 = icmp ult i64 %182, %183
  br i1 %184, label %186, label %185

185:                                              ; preds = %180
  store i32 21, ptr %4, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #6
  br label %713

186:                                              ; preds = %180
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #6
  %187 = load i32, ptr %23, align 4, !tbaa !5
  %188 = sub nsw i32 %187, 1
  %189 = sext i32 %188 to i64
  %190 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) @t_ans, i64 noundef %189) #6
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %24, ptr align 4 %190, i64 8, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #6
  %191 = load i32, ptr %23, align 4, !tbaa !5
  %192 = sext i32 %191 to i64
  %193 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) @t_ans, i64 noundef %192) #6
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %25, ptr align 4 %193, i64 8, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %26) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr %27) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #6
  %194 = getelementptr inbounds %"struct.std::pair", ptr %24, i32 0, i32 0
  %195 = load i32, ptr %194, align 4, !tbaa !18
  store i32 %195, ptr %28, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #6
  %196 = getelementptr inbounds %"struct.std::pair", ptr %24, i32 0, i32 1
  %197 = load i32, ptr %196, align 4, !tbaa !20
  store i32 %197, ptr %29, align 4, !tbaa !5
  %198 = getelementptr inbounds %"struct.std::pair", ptr %24, i32 0, i32 0
  %199 = load i32, ptr %198, align 4, !tbaa !18
  %200 = getelementptr inbounds %"struct.std::pair", ptr %25, i32 0, i32 0
  %201 = load i32, ptr %200, align 4, !tbaa !18
  %202 = icmp eq i32 %199, %201
  br i1 %202, label %203, label %408

203:                                              ; preds = %186
  %204 = getelementptr inbounds %"struct.std::pair", ptr %24, i32 0, i32 1
  %205 = load i32, ptr %204, align 4, !tbaa !20
  %206 = getelementptr inbounds %"struct.std::pair", ptr %25, i32 0, i32 1
  %207 = load i32, ptr %206, align 4, !tbaa !20
  %208 = icmp slt i32 %205, %207
  br i1 %208, label %209, label %310

209:                                              ; preds = %203
  %210 = load i32, ptr %28, align 4, !tbaa !5
  %211 = sub nsw i32 %210, 1
  %212 = load i32, ptr %29, align 4, !tbaa !5
  %213 = invoke noundef zeroext i1 @_Z7inrangeii(i32 noundef %211, i32 noundef %212)
          to label %214 unwind label %252

214:                                              ; preds = %209
  br i1 %213, label %215, label %261

215:                                              ; preds = %214
  %216 = load i32, ptr %28, align 4, !tbaa !5
  %217 = sub nsw i32 %216, 1
  %218 = sext i32 %217 to i64
  %219 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %218
  %220 = load i32, ptr %29, align 4, !tbaa !5
  %221 = sext i32 %220 to i64
  %222 = getelementptr inbounds [211 x i32], ptr %219, i64 0, i64 %221
  %223 = load i32, ptr %222, align 4, !tbaa !5
  %224 = icmp ne i32 %223, 0
  br i1 %224, label %261, label %225

225:                                              ; preds = %215
  %226 = load i32, ptr %28, align 4, !tbaa !5
  %227 = sub nsw i32 %226, 1
  %228 = sext i32 %227 to i64
  %229 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %228
  %230 = load i32, ptr %29, align 4, !tbaa !5
  %231 = add nsw i32 %230, 1
  %232 = sext i32 %231 to i64
  %233 = getelementptr inbounds [211 x i32], ptr %229, i64 0, i64 %232
  %234 = load i32, ptr %233, align 4, !tbaa !5
  %235 = icmp ne i32 %234, 0
  br i1 %235, label %261, label %236

236:                                              ; preds = %225
  call void @llvm.lifetime.start.p0(i64 24, ptr %30) #6
  %237 = load i32, ptr %28, align 4, !tbaa !5
  %238 = sub nsw i32 %237, 1
  %239 = load i32, ptr %29, align 4, !tbaa !5
  %240 = load i32, ptr %28, align 4, !tbaa !5
  %241 = sub nsw i32 %240, 1
  %242 = load i32, ptr %29, align 4, !tbaa !5
  %243 = add nsw i32 %242, 1
  invoke void @_Z17getAugmentingPathiiii(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %30, i32 noundef %238, i32 noundef %239, i32 noundef %241, i32 noundef %243)
          to label %244 unwind label %256

244:                                              ; preds = %236
  %245 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 8 dereferenceable(24) %30) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %30) #6
  %246 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %27) #6
  %247 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %26) #6
  %248 = icmp ugt i64 %246, %247
  br i1 %248, label %249, label %260

249:                                              ; preds = %244
  %250 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(24) %27)
          to label %251 unwind label %252

251:                                              ; preds = %249
  br label %260

252:                                              ; preds = %599, %559, %551, %511, %502, %462, %454, %414, %398, %358, %350, %310, %301, %261, %249, %209
  %253 = landingpad { ptr, i32 }
          cleanup
  %254 = extractvalue { ptr, i32 } %253, 0
  store ptr %254, ptr %14, align 8
  %255 = extractvalue { ptr, i32 } %253, 1
  store i32 %255, ptr %15, align 4
  br label %712

256:                                              ; preds = %236
  %257 = landingpad { ptr, i32 }
          cleanup
  %258 = extractvalue { ptr, i32 } %257, 0
  store ptr %258, ptr %14, align 8
  %259 = extractvalue { ptr, i32 } %257, 1
  store i32 %259, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %30) #6
  br label %712

260:                                              ; preds = %251, %244
  br label %261

261:                                              ; preds = %260, %225, %215, %214
  %262 = load i32, ptr %28, align 4, !tbaa !5
  %263 = add nsw i32 %262, 1
  %264 = load i32, ptr %29, align 4, !tbaa !5
  %265 = invoke noundef zeroext i1 @_Z7inrangeii(i32 noundef %263, i32 noundef %264)
          to label %266 unwind label %252

266:                                              ; preds = %261
  br i1 %265, label %267, label %309

267:                                              ; preds = %266
  %268 = load i32, ptr %28, align 4, !tbaa !5
  %269 = add nsw i32 %268, 1
  %270 = sext i32 %269 to i64
  %271 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %270
  %272 = load i32, ptr %29, align 4, !tbaa !5
  %273 = sext i32 %272 to i64
  %274 = getelementptr inbounds [211 x i32], ptr %271, i64 0, i64 %273
  %275 = load i32, ptr %274, align 4, !tbaa !5
  %276 = icmp ne i32 %275, 0
  br i1 %276, label %309, label %277

277:                                              ; preds = %267
  %278 = load i32, ptr %28, align 4, !tbaa !5
  %279 = add nsw i32 %278, 1
  %280 = sext i32 %279 to i64
  %281 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %280
  %282 = load i32, ptr %29, align 4, !tbaa !5
  %283 = add nsw i32 %282, 1
  %284 = sext i32 %283 to i64
  %285 = getelementptr inbounds [211 x i32], ptr %281, i64 0, i64 %284
  %286 = load i32, ptr %285, align 4, !tbaa !5
  %287 = icmp ne i32 %286, 0
  br i1 %287, label %309, label %288

288:                                              ; preds = %277
  call void @llvm.lifetime.start.p0(i64 24, ptr %31) #6
  %289 = load i32, ptr %28, align 4, !tbaa !5
  %290 = add nsw i32 %289, 1
  %291 = load i32, ptr %29, align 4, !tbaa !5
  %292 = load i32, ptr %28, align 4, !tbaa !5
  %293 = add nsw i32 %292, 1
  %294 = load i32, ptr %29, align 4, !tbaa !5
  %295 = add nsw i32 %294, 1
  invoke void @_Z17getAugmentingPathiiii(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %31, i32 noundef %290, i32 noundef %291, i32 noundef %293, i32 noundef %295)
          to label %296 unwind label %304

296:                                              ; preds = %288
  %297 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 8 dereferenceable(24) %31) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %31) #6
  %298 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %27) #6
  %299 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %26) #6
  %300 = icmp ugt i64 %298, %299
  br i1 %300, label %301, label %308

301:                                              ; preds = %296
  %302 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(24) %27)
          to label %303 unwind label %252

303:                                              ; preds = %301
  br label %308

304:                                              ; preds = %288
  %305 = landingpad { ptr, i32 }
          cleanup
  %306 = extractvalue { ptr, i32 } %305, 0
  store ptr %306, ptr %14, align 8
  %307 = extractvalue { ptr, i32 } %305, 1
  store i32 %307, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %31) #6
  br label %712

308:                                              ; preds = %303, %296
  br label %309

309:                                              ; preds = %308, %277, %267, %266
  br label %407

310:                                              ; preds = %203
  %311 = load i32, ptr %28, align 4, !tbaa !5
  %312 = sub nsw i32 %311, 1
  %313 = load i32, ptr %29, align 4, !tbaa !5
  %314 = invoke noundef zeroext i1 @_Z7inrangeii(i32 noundef %312, i32 noundef %313)
          to label %315 unwind label %252

315:                                              ; preds = %310
  br i1 %314, label %316, label %358

316:                                              ; preds = %315
  %317 = load i32, ptr %28, align 4, !tbaa !5
  %318 = sub nsw i32 %317, 1
  %319 = sext i32 %318 to i64
  %320 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %319
  %321 = load i32, ptr %29, align 4, !tbaa !5
  %322 = sext i32 %321 to i64
  %323 = getelementptr inbounds [211 x i32], ptr %320, i64 0, i64 %322
  %324 = load i32, ptr %323, align 4, !tbaa !5
  %325 = icmp ne i32 %324, 0
  br i1 %325, label %358, label %326

326:                                              ; preds = %316
  %327 = load i32, ptr %28, align 4, !tbaa !5
  %328 = sub nsw i32 %327, 1
  %329 = sext i32 %328 to i64
  %330 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %329
  %331 = load i32, ptr %29, align 4, !tbaa !5
  %332 = sub nsw i32 %331, 1
  %333 = sext i32 %332 to i64
  %334 = getelementptr inbounds [211 x i32], ptr %330, i64 0, i64 %333
  %335 = load i32, ptr %334, align 4, !tbaa !5
  %336 = icmp ne i32 %335, 0
  br i1 %336, label %358, label %337

337:                                              ; preds = %326
  call void @llvm.lifetime.start.p0(i64 24, ptr %32) #6
  %338 = load i32, ptr %28, align 4, !tbaa !5
  %339 = sub nsw i32 %338, 1
  %340 = load i32, ptr %29, align 4, !tbaa !5
  %341 = load i32, ptr %28, align 4, !tbaa !5
  %342 = sub nsw i32 %341, 1
  %343 = load i32, ptr %29, align 4, !tbaa !5
  %344 = sub nsw i32 %343, 1
  invoke void @_Z17getAugmentingPathiiii(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %32, i32 noundef %339, i32 noundef %340, i32 noundef %342, i32 noundef %344)
          to label %345 unwind label %353

345:                                              ; preds = %337
  %346 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 8 dereferenceable(24) %32) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %32) #6
  %347 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %27) #6
  %348 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %26) #6
  %349 = icmp ugt i64 %347, %348
  br i1 %349, label %350, label %357

350:                                              ; preds = %345
  %351 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(24) %27)
          to label %352 unwind label %252

352:                                              ; preds = %350
  br label %357

353:                                              ; preds = %337
  %354 = landingpad { ptr, i32 }
          cleanup
  %355 = extractvalue { ptr, i32 } %354, 0
  store ptr %355, ptr %14, align 8
  %356 = extractvalue { ptr, i32 } %354, 1
  store i32 %356, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %32) #6
  br label %712

357:                                              ; preds = %352, %345
  br label %358

358:                                              ; preds = %357, %326, %316, %315
  %359 = load i32, ptr %28, align 4, !tbaa !5
  %360 = add nsw i32 %359, 1
  %361 = load i32, ptr %29, align 4, !tbaa !5
  %362 = invoke noundef zeroext i1 @_Z7inrangeii(i32 noundef %360, i32 noundef %361)
          to label %363 unwind label %252

363:                                              ; preds = %358
  br i1 %362, label %364, label %406

364:                                              ; preds = %363
  %365 = load i32, ptr %28, align 4, !tbaa !5
  %366 = add nsw i32 %365, 1
  %367 = sext i32 %366 to i64
  %368 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %367
  %369 = load i32, ptr %29, align 4, !tbaa !5
  %370 = sext i32 %369 to i64
  %371 = getelementptr inbounds [211 x i32], ptr %368, i64 0, i64 %370
  %372 = load i32, ptr %371, align 4, !tbaa !5
  %373 = icmp ne i32 %372, 0
  br i1 %373, label %406, label %374

374:                                              ; preds = %364
  %375 = load i32, ptr %28, align 4, !tbaa !5
  %376 = add nsw i32 %375, 1
  %377 = sext i32 %376 to i64
  %378 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %377
  %379 = load i32, ptr %29, align 4, !tbaa !5
  %380 = sub nsw i32 %379, 1
  %381 = sext i32 %380 to i64
  %382 = getelementptr inbounds [211 x i32], ptr %378, i64 0, i64 %381
  %383 = load i32, ptr %382, align 4, !tbaa !5
  %384 = icmp ne i32 %383, 0
  br i1 %384, label %406, label %385

385:                                              ; preds = %374
  call void @llvm.lifetime.start.p0(i64 24, ptr %33) #6
  %386 = load i32, ptr %28, align 4, !tbaa !5
  %387 = add nsw i32 %386, 1
  %388 = load i32, ptr %29, align 4, !tbaa !5
  %389 = load i32, ptr %28, align 4, !tbaa !5
  %390 = add nsw i32 %389, 1
  %391 = load i32, ptr %29, align 4, !tbaa !5
  %392 = sub nsw i32 %391, 1
  invoke void @_Z17getAugmentingPathiiii(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %33, i32 noundef %387, i32 noundef %388, i32 noundef %390, i32 noundef %392)
          to label %393 unwind label %401

393:                                              ; preds = %385
  %394 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 8 dereferenceable(24) %33) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #6
  %395 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %27) #6
  %396 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %26) #6
  %397 = icmp ugt i64 %395, %396
  br i1 %397, label %398, label %405

398:                                              ; preds = %393
  %399 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(24) %27)
          to label %400 unwind label %252

400:                                              ; preds = %398
  br label %405

401:                                              ; preds = %385
  %402 = landingpad { ptr, i32 }
          cleanup
  %403 = extractvalue { ptr, i32 } %402, 0
  store ptr %403, ptr %14, align 8
  %404 = extractvalue { ptr, i32 } %402, 1
  store i32 %404, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #6
  br label %712

405:                                              ; preds = %400, %393
  br label %406

406:                                              ; preds = %405, %374, %364, %363
  br label %407

407:                                              ; preds = %406, %309
  br label %609

408:                                              ; preds = %186
  %409 = getelementptr inbounds %"struct.std::pair", ptr %24, i32 0, i32 0
  %410 = load i32, ptr %409, align 4, !tbaa !18
  %411 = getelementptr inbounds %"struct.std::pair", ptr %25, i32 0, i32 0
  %412 = load i32, ptr %411, align 4, !tbaa !18
  %413 = icmp slt i32 %410, %412
  br i1 %413, label %414, label %511

414:                                              ; preds = %408
  %415 = load i32, ptr %28, align 4, !tbaa !5
  %416 = load i32, ptr %29, align 4, !tbaa !5
  %417 = sub nsw i32 %416, 1
  %418 = invoke noundef zeroext i1 @_Z7inrangeii(i32 noundef %415, i32 noundef %417)
          to label %419 unwind label %252

419:                                              ; preds = %414
  br i1 %418, label %420, label %462

420:                                              ; preds = %419
  %421 = load i32, ptr %28, align 4, !tbaa !5
  %422 = sext i32 %421 to i64
  %423 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %422
  %424 = load i32, ptr %29, align 4, !tbaa !5
  %425 = sub nsw i32 %424, 1
  %426 = sext i32 %425 to i64
  %427 = getelementptr inbounds [211 x i32], ptr %423, i64 0, i64 %426
  %428 = load i32, ptr %427, align 4, !tbaa !5
  %429 = icmp ne i32 %428, 0
  br i1 %429, label %462, label %430

430:                                              ; preds = %420
  %431 = load i32, ptr %28, align 4, !tbaa !5
  %432 = add nsw i32 %431, 1
  %433 = sext i32 %432 to i64
  %434 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %433
  %435 = load i32, ptr %29, align 4, !tbaa !5
  %436 = sub nsw i32 %435, 1
  %437 = sext i32 %436 to i64
  %438 = getelementptr inbounds [211 x i32], ptr %434, i64 0, i64 %437
  %439 = load i32, ptr %438, align 4, !tbaa !5
  %440 = icmp ne i32 %439, 0
  br i1 %440, label %462, label %441

441:                                              ; preds = %430
  call void @llvm.lifetime.start.p0(i64 24, ptr %34) #6
  %442 = load i32, ptr %28, align 4, !tbaa !5
  %443 = load i32, ptr %29, align 4, !tbaa !5
  %444 = sub nsw i32 %443, 1
  %445 = load i32, ptr %28, align 4, !tbaa !5
  %446 = add nsw i32 %445, 1
  %447 = load i32, ptr %29, align 4, !tbaa !5
  %448 = sub nsw i32 %447, 1
  invoke void @_Z17getAugmentingPathiiii(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %34, i32 noundef %442, i32 noundef %444, i32 noundef %446, i32 noundef %448)
          to label %449 unwind label %457

449:                                              ; preds = %441
  %450 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 8 dereferenceable(24) %34) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %34) #6
  %451 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %27) #6
  %452 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %26) #6
  %453 = icmp ugt i64 %451, %452
  br i1 %453, label %454, label %461

454:                                              ; preds = %449
  %455 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(24) %27)
          to label %456 unwind label %252

456:                                              ; preds = %454
  br label %461

457:                                              ; preds = %441
  %458 = landingpad { ptr, i32 }
          cleanup
  %459 = extractvalue { ptr, i32 } %458, 0
  store ptr %459, ptr %14, align 8
  %460 = extractvalue { ptr, i32 } %458, 1
  store i32 %460, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %34) #6
  br label %712

461:                                              ; preds = %456, %449
  br label %462

462:                                              ; preds = %461, %430, %420, %419
  %463 = load i32, ptr %28, align 4, !tbaa !5
  %464 = load i32, ptr %29, align 4, !tbaa !5
  %465 = add nsw i32 %464, 1
  %466 = invoke noundef zeroext i1 @_Z7inrangeii(i32 noundef %463, i32 noundef %465)
          to label %467 unwind label %252

467:                                              ; preds = %462
  br i1 %466, label %468, label %510

468:                                              ; preds = %467
  %469 = load i32, ptr %28, align 4, !tbaa !5
  %470 = sext i32 %469 to i64
  %471 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %470
  %472 = load i32, ptr %29, align 4, !tbaa !5
  %473 = add nsw i32 %472, 1
  %474 = sext i32 %473 to i64
  %475 = getelementptr inbounds [211 x i32], ptr %471, i64 0, i64 %474
  %476 = load i32, ptr %475, align 4, !tbaa !5
  %477 = icmp ne i32 %476, 0
  br i1 %477, label %510, label %478

478:                                              ; preds = %468
  %479 = load i32, ptr %28, align 4, !tbaa !5
  %480 = add nsw i32 %479, 1
  %481 = sext i32 %480 to i64
  %482 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %481
  %483 = load i32, ptr %29, align 4, !tbaa !5
  %484 = add nsw i32 %483, 1
  %485 = sext i32 %484 to i64
  %486 = getelementptr inbounds [211 x i32], ptr %482, i64 0, i64 %485
  %487 = load i32, ptr %486, align 4, !tbaa !5
  %488 = icmp ne i32 %487, 0
  br i1 %488, label %510, label %489

489:                                              ; preds = %478
  call void @llvm.lifetime.start.p0(i64 24, ptr %35) #6
  %490 = load i32, ptr %28, align 4, !tbaa !5
  %491 = load i32, ptr %29, align 4, !tbaa !5
  %492 = add nsw i32 %491, 1
  %493 = load i32, ptr %28, align 4, !tbaa !5
  %494 = add nsw i32 %493, 1
  %495 = load i32, ptr %29, align 4, !tbaa !5
  %496 = add nsw i32 %495, 1
  invoke void @_Z17getAugmentingPathiiii(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %35, i32 noundef %490, i32 noundef %492, i32 noundef %494, i32 noundef %496)
          to label %497 unwind label %505

497:                                              ; preds = %489
  %498 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 8 dereferenceable(24) %35) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %35) #6
  %499 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %27) #6
  %500 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %26) #6
  %501 = icmp ugt i64 %499, %500
  br i1 %501, label %502, label %509

502:                                              ; preds = %497
  %503 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(24) %27)
          to label %504 unwind label %252

504:                                              ; preds = %502
  br label %509

505:                                              ; preds = %489
  %506 = landingpad { ptr, i32 }
          cleanup
  %507 = extractvalue { ptr, i32 } %506, 0
  store ptr %507, ptr %14, align 8
  %508 = extractvalue { ptr, i32 } %506, 1
  store i32 %508, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %35) #6
  br label %712

509:                                              ; preds = %504, %497
  br label %510

510:                                              ; preds = %509, %478, %468, %467
  br label %608

511:                                              ; preds = %408
  %512 = load i32, ptr %28, align 4, !tbaa !5
  %513 = load i32, ptr %29, align 4, !tbaa !5
  %514 = sub nsw i32 %513, 1
  %515 = invoke noundef zeroext i1 @_Z7inrangeii(i32 noundef %512, i32 noundef %514)
          to label %516 unwind label %252

516:                                              ; preds = %511
  br i1 %515, label %517, label %559

517:                                              ; preds = %516
  %518 = load i32, ptr %28, align 4, !tbaa !5
  %519 = sext i32 %518 to i64
  %520 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %519
  %521 = load i32, ptr %29, align 4, !tbaa !5
  %522 = sub nsw i32 %521, 1
  %523 = sext i32 %522 to i64
  %524 = getelementptr inbounds [211 x i32], ptr %520, i64 0, i64 %523
  %525 = load i32, ptr %524, align 4, !tbaa !5
  %526 = icmp ne i32 %525, 0
  br i1 %526, label %559, label %527

527:                                              ; preds = %517
  %528 = load i32, ptr %28, align 4, !tbaa !5
  %529 = sub nsw i32 %528, 1
  %530 = sext i32 %529 to i64
  %531 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %530
  %532 = load i32, ptr %29, align 4, !tbaa !5
  %533 = sub nsw i32 %532, 1
  %534 = sext i32 %533 to i64
  %535 = getelementptr inbounds [211 x i32], ptr %531, i64 0, i64 %534
  %536 = load i32, ptr %535, align 4, !tbaa !5
  %537 = icmp ne i32 %536, 0
  br i1 %537, label %559, label %538

538:                                              ; preds = %527
  call void @llvm.lifetime.start.p0(i64 24, ptr %36) #6
  %539 = load i32, ptr %28, align 4, !tbaa !5
  %540 = load i32, ptr %29, align 4, !tbaa !5
  %541 = sub nsw i32 %540, 1
  %542 = load i32, ptr %28, align 4, !tbaa !5
  %543 = sub nsw i32 %542, 1
  %544 = load i32, ptr %29, align 4, !tbaa !5
  %545 = sub nsw i32 %544, 1
  invoke void @_Z17getAugmentingPathiiii(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %36, i32 noundef %539, i32 noundef %541, i32 noundef %543, i32 noundef %545)
          to label %546 unwind label %554

546:                                              ; preds = %538
  %547 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 8 dereferenceable(24) %36) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %36) #6
  %548 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %27) #6
  %549 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %26) #6
  %550 = icmp ugt i64 %548, %549
  br i1 %550, label %551, label %558

551:                                              ; preds = %546
  %552 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(24) %27)
          to label %553 unwind label %252

553:                                              ; preds = %551
  br label %558

554:                                              ; preds = %538
  %555 = landingpad { ptr, i32 }
          cleanup
  %556 = extractvalue { ptr, i32 } %555, 0
  store ptr %556, ptr %14, align 8
  %557 = extractvalue { ptr, i32 } %555, 1
  store i32 %557, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %36) #6
  br label %712

558:                                              ; preds = %553, %546
  br label %559

559:                                              ; preds = %558, %527, %517, %516
  %560 = load i32, ptr %28, align 4, !tbaa !5
  %561 = load i32, ptr %29, align 4, !tbaa !5
  %562 = add nsw i32 %561, 1
  %563 = invoke noundef zeroext i1 @_Z7inrangeii(i32 noundef %560, i32 noundef %562)
          to label %564 unwind label %252

564:                                              ; preds = %559
  br i1 %563, label %565, label %607

565:                                              ; preds = %564
  %566 = load i32, ptr %28, align 4, !tbaa !5
  %567 = sext i32 %566 to i64
  %568 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %567
  %569 = load i32, ptr %29, align 4, !tbaa !5
  %570 = add nsw i32 %569, 1
  %571 = sext i32 %570 to i64
  %572 = getelementptr inbounds [211 x i32], ptr %568, i64 0, i64 %571
  %573 = load i32, ptr %572, align 4, !tbaa !5
  %574 = icmp ne i32 %573, 0
  br i1 %574, label %607, label %575

575:                                              ; preds = %565
  %576 = load i32, ptr %28, align 4, !tbaa !5
  %577 = sub nsw i32 %576, 1
  %578 = sext i32 %577 to i64
  %579 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %578
  %580 = load i32, ptr %29, align 4, !tbaa !5
  %581 = add nsw i32 %580, 1
  %582 = sext i32 %581 to i64
  %583 = getelementptr inbounds [211 x i32], ptr %579, i64 0, i64 %582
  %584 = load i32, ptr %583, align 4, !tbaa !5
  %585 = icmp ne i32 %584, 0
  br i1 %585, label %607, label %586

586:                                              ; preds = %575
  call void @llvm.lifetime.start.p0(i64 24, ptr %37) #6
  %587 = load i32, ptr %28, align 4, !tbaa !5
  %588 = load i32, ptr %29, align 4, !tbaa !5
  %589 = add nsw i32 %588, 1
  %590 = load i32, ptr %28, align 4, !tbaa !5
  %591 = sub nsw i32 %590, 1
  %592 = load i32, ptr %29, align 4, !tbaa !5
  %593 = add nsw i32 %592, 1
  invoke void @_Z17getAugmentingPathiiii(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %37, i32 noundef %587, i32 noundef %589, i32 noundef %591, i32 noundef %593)
          to label %594 unwind label %602

594:                                              ; preds = %586
  %595 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 8 dereferenceable(24) %37) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %37) #6
  %596 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %27) #6
  %597 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %26) #6
  %598 = icmp ugt i64 %596, %597
  br i1 %598, label %599, label %606

599:                                              ; preds = %594
  %600 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(24) %27)
          to label %601 unwind label %252

601:                                              ; preds = %599
  br label %606

602:                                              ; preds = %586
  %603 = landingpad { ptr, i32 }
          cleanup
  %604 = extractvalue { ptr, i32 } %603, 0
  store ptr %604, ptr %14, align 8
  %605 = extractvalue { ptr, i32 } %603, 1
  store i32 %605, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %37) #6
  br label %712

606:                                              ; preds = %601, %594
  br label %607

607:                                              ; preds = %606, %575, %565, %564
  br label %608

608:                                              ; preds = %607, %510
  br label %609

609:                                              ; preds = %608, %407
  %610 = call noundef zeroext i1 @_ZNKSt6vectorISt4pairIiiESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %26) #6
  br i1 %610, label %611, label %612

611:                                              ; preds = %609
  store i32 23, ptr %4, align 4
  br label %701

612:                                              ; preds = %609
  call void @llvm.lifetime.start.p0(i64 24, ptr %38) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #6
  store i32 0, ptr %39, align 4, !tbaa !5
  br label %613

613:                                              ; preds = %623, %612
  %614 = load i32, ptr %39, align 4, !tbaa !5
  %615 = load i32, ptr %23, align 4, !tbaa !5
  %616 = icmp slt i32 %614, %615
  br i1 %616, label %618, label %617

617:                                              ; preds = %613
  store i32 24, ptr %4, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #6
  br label %630

618:                                              ; preds = %613
  %619 = load i32, ptr %39, align 4, !tbaa !5
  %620 = sext i32 %619 to i64
  %621 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) @t_ans, i64 noundef %620) #6
  invoke void @_ZNSt6vectorISt4pairIiiESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef nonnull align 4 dereferenceable(8) %621)
          to label %622 unwind label %626

622:                                              ; preds = %618
  br label %623

623:                                              ; preds = %622
  %624 = load i32, ptr %39, align 4, !tbaa !5
  %625 = add nsw i32 %624, 1
  store i32 %625, ptr %39, align 4, !tbaa !5
  br label %613, !llvm.loop !21

626:                                              ; preds = %618
  %627 = landingpad { ptr, i32 }
          cleanup
  %628 = extractvalue { ptr, i32 } %627, 0
  store ptr %628, ptr %14, align 8
  %629 = extractvalue { ptr, i32 } %627, 1
  store i32 %629, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #6
  br label %711

630:                                              ; preds = %617
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #6
  store i32 0, ptr %40, align 4, !tbaa !5
  br label %631

631:                                              ; preds = %642, %630
  %632 = load i32, ptr %40, align 4, !tbaa !5
  %633 = sext i32 %632 to i64
  %634 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %26) #6
  %635 = icmp ult i64 %633, %634
  br i1 %635, label %637, label %636

636:                                              ; preds = %631
  store i32 27, ptr %4, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #6
  br label %649

637:                                              ; preds = %631
  %638 = load i32, ptr %40, align 4, !tbaa !5
  %639 = sext i32 %638 to i64
  %640 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %26, i64 noundef %639) #6
  invoke void @_ZNSt6vectorISt4pairIiiESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef nonnull align 4 dereferenceable(8) %640)
          to label %641 unwind label %645

641:                                              ; preds = %637
  br label %642

642:                                              ; preds = %641
  %643 = load i32, ptr %40, align 4, !tbaa !5
  %644 = add nsw i32 %643, 1
  store i32 %644, ptr %40, align 4, !tbaa !5
  br label %631, !llvm.loop !22

645:                                              ; preds = %637
  %646 = landingpad { ptr, i32 }
          cleanup
  %647 = extractvalue { ptr, i32 } %646, 0
  store ptr %647, ptr %14, align 8
  %648 = extractvalue { ptr, i32 } %646, 1
  store i32 %648, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #6
  br label %711

649:                                              ; preds = %636
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #6
  %650 = load i32, ptr %23, align 4, !tbaa !5
  store i32 %650, ptr %41, align 4, !tbaa !5
  br label %651

651:                                              ; preds = %662, %649
  %652 = load i32, ptr %41, align 4, !tbaa !5
  %653 = sext i32 %652 to i64
  %654 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) @t_ans) #6
  %655 = icmp ult i64 %653, %654
  br i1 %655, label %657, label %656

656:                                              ; preds = %651
  store i32 30, ptr %4, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #6
  br label %669

657:                                              ; preds = %651
  %658 = load i32, ptr %41, align 4, !tbaa !5
  %659 = sext i32 %658 to i64
  %660 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) @t_ans, i64 noundef %659) #6
  invoke void @_ZNSt6vectorISt4pairIiiESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef nonnull align 4 dereferenceable(8) %660)
          to label %661 unwind label %665

661:                                              ; preds = %657
  br label %662

662:                                              ; preds = %661
  %663 = load i32, ptr %41, align 4, !tbaa !5
  %664 = add nsw i32 %663, 1
  store i32 %664, ptr %41, align 4, !tbaa !5
  br label %651, !llvm.loop !23

665:                                              ; preds = %657
  %666 = landingpad { ptr, i32 }
          cleanup
  %667 = extractvalue { ptr, i32 } %666, 0
  store ptr %667, ptr %14, align 8
  %668 = extractvalue { ptr, i32 } %666, 1
  store i32 %668, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #6
  br label %711

669:                                              ; preds = %656
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #6
  store ptr %26, ptr %42, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #6
  %670 = load ptr, ptr %42, align 8, !tbaa !16
  %671 = call ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %670) #6
  %672 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %43, i32 0, i32 0
  store ptr %671, ptr %672, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #6
  %673 = load ptr, ptr %42, align 8, !tbaa !16
  %674 = call ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %673) #6
  %675 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %44, i32 0, i32 0
  store ptr %674, ptr %675, align 8
  br label %676

676:                                              ; preds = %691, %669
  %677 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt4pairIiiESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %43, ptr noundef nonnull align 8 dereferenceable(8) %44) #6
  br i1 %677, label %679, label %678

678:                                              ; preds = %676
  store i32 33, ptr %4, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #6
  br label %693

679:                                              ; preds = %676
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #6
  %680 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %43) #6
  store ptr %680, ptr %45, align 8, !tbaa !16
  %681 = load ptr, ptr %45, align 8, !tbaa !16
  %682 = getelementptr inbounds %"struct.std::pair", ptr %681, i32 0, i32 0
  %683 = load i32, ptr %682, align 4, !tbaa !18
  %684 = sext i32 %683 to i64
  %685 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %684
  %686 = load ptr, ptr %45, align 8, !tbaa !16
  %687 = getelementptr inbounds %"struct.std::pair", ptr %686, i32 0, i32 1
  %688 = load i32, ptr %687, align 4, !tbaa !20
  %689 = sext i32 %688 to i64
  %690 = getelementptr inbounds [211 x i32], ptr %685, i64 0, i64 %689
  store i32 1, ptr %690, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #6
  br label %691

691:                                              ; preds = %679
  %692 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %43) #6
  br label %676

693:                                              ; preds = %678
  %694 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %26) #6
  %695 = load i32, ptr %23, align 4, !tbaa !5
  %696 = sext i32 %695 to i64
  %697 = add i64 %696, %694
  %698 = trunc i64 %697 to i32
  store i32 %698, ptr %23, align 4, !tbaa !5
  %699 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) @t_ans, ptr noundef nonnull align 8 dereferenceable(24) %38)
          to label %700 unwind label %707

700:                                              ; preds = %693
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %38) #6
  store i32 0, ptr %4, align 4
  br label %701

701:                                              ; preds = %700, %611
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %27) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #6
  %702 = load i32, ptr %4, align 4
  switch i32 %702, label %721 [
    i32 0, label %703
    i32 23, label %704
  ]

703:                                              ; preds = %701
  br label %704

704:                                              ; preds = %703, %701
  %705 = load i32, ptr %23, align 4, !tbaa !5
  %706 = add nsw i32 %705, 1
  store i32 %706, ptr %23, align 4, !tbaa !5
  br label %180, !llvm.loop !24

707:                                              ; preds = %693
  %708 = landingpad { ptr, i32 }
          cleanup
  %709 = extractvalue { ptr, i32 } %708, 0
  store ptr %709, ptr %14, align 8
  %710 = extractvalue { ptr, i32 } %708, 1
  store i32 %710, ptr %15, align 4
  br label %711

711:                                              ; preds = %707, %665, %645, %626
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %38) #6
  br label %712

712:                                              ; preds = %711, %602, %554, %505, %457, %401, %353, %304, %256, %252
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %27) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #6
  br label %715

713:                                              ; preds = %185
  br label %175, !llvm.loop !25

714:                                              ; preds = %175
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %2) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %1) #6
  ret void

715:                                              ; preds = %712, %105
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %2) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %1) #6
  br label %716

716:                                              ; preds = %715
  %717 = load ptr, ptr %14, align 8
  %718 = load i32, ptr %15, align 4
  %719 = insertvalue { ptr, i32 } poison, ptr %717, 0
  %720 = insertvalue { ptr, i32 } %719, i32 %718, 1
  resume { ptr, i32 } %720

721:                                              ; preds = %701, %120
  unreachable
}

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNKSt6vectorISt4pairIiiESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24)) #1 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 noundef nonnull align 4 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8)) #1 align 2

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!7, !7, i64 0}
!10 = distinct !{!10, !11}
!11 = !{!"llvm.loop.mustprogress"}
!12 = distinct !{!12, !11}
!13 = distinct !{!13, !11}
!14 = distinct !{!14, !11}
!15 = distinct !{!15, !11}
!16 = !{!17, !17, i64 0}
!17 = !{!"any pointer", !7, i64 0}
!18 = !{!19, !6, i64 0}
!19 = !{!"_ZTSSt4pairIiiE", !6, i64 0, !6, i64 4}
!20 = !{!19, !6, i64 4}
!21 = distinct !{!21, !11}
!22 = distinct !{!22, !11}
!23 = distinct !{!23, !11}
!24 = distinct !{!24, !11}
!25 = distinct !{!25, !11}


; 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::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = 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 }
%"struct.std::pair" = type { i32, i32 }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }

@_Z1gB5cxx11 = external dso_local global [211 x %"class.std::__cxx11::basic_string"], align 16
@n = external dso_local local_unnamed_addr global i32, align 4
@m = external dso_local local_unnamed_addr global i32, align 4
@vis = external dso_local local_unnamed_addr global [211 x [211 x i32]], align 16
@gen = external dso_local local_unnamed_addr global i32, align 4
@t_ans = external dso_local global %"class.std::vector", align 8

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

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

; Function Attrs: mustprogress nounwind uwtable
declare noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) local_unnamed_addr #1 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 #2

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_Z7inrangeii(i32 noundef, i32 noundef) local_unnamed_addr #3

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

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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z17getAugmentingPathiiii(ptr dead_on_unwind noalias writable sret(%"class.std::vector") align 8, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #2

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_Z5solvev() local_unnamed_addr #2 personality ptr @__gxx_personality_v0 {
  %1 = alloca %"struct.std::pair", align 8
  %2 = alloca %"struct.std::pair", align 8
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca %"struct.std::pair", align 8
  %6 = alloca %"struct.std::pair", align 8
  %7 = alloca %"class.std::vector", align 8
  %8 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %9 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %10 = alloca %"class.std::vector", align 8
  %11 = alloca %"class.std::vector", align 8
  %12 = alloca %"class.std::vector", align 8
  %13 = alloca %"class.std::vector", align 8
  %14 = alloca %"class.std::vector", align 8
  %15 = alloca %"class.std::vector", align 8
  %16 = alloca %"class.std::vector", align 8
  %17 = alloca %"class.std::vector", align 8
  %18 = alloca %"class.std::vector", align 8
  %19 = alloca %"class.std::vector", align 8
  %20 = alloca %"class.std::vector", align 8
  %21 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %22 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %1) #6
  call void @_ZNSt4pairIiiEC2IiiTnNSt9enable_ifIXsr6__and_ISt37__is_implicitly_default_constructibleIT_ES3_IT0_EEE5valueEbE4typeELb1EEEv(ptr noundef nonnull align 4 dereferenceable(8) %1)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #6
  call void @_ZNSt4pairIiiEC2IiiTnNSt9enable_ifIXsr6__and_ISt37__is_implicitly_default_constructibleIT_ES3_IT0_EEE5valueEbE4typeELb1EEEv(ptr noundef nonnull align 4 dereferenceable(8) %2)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #6
  store i32 0, ptr %3, align 4, !tbaa !5
  %23 = load i32, ptr @n, align 4, !tbaa !5
  %24 = icmp sgt i32 %23, 0
  %25 = load i32, ptr @m, align 4
  %26 = icmp sgt i32 %25, 0
  %or.cond = select i1 %24, i1 %26, i1 false
  br i1 %or.cond, label %.lr.ph166.split, label %._crit_edge167

._crit_edge167:                                   ; preds = %._crit_edge, %0
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #6
  br label %76

.lr.ph166.split:                                  ; preds = %0, %._crit_edge
  %27 = phi i32 [ %31, %._crit_edge ], [ %23, %0 ]
  %28 = phi i32 [ %34, %._crit_edge ], [ 0, %0 ]
  %29 = phi i32 [ %33, %._crit_edge ], [ %25, %0 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #6
  store i32 0, ptr %4, align 4, !tbaa !5
  %30 = icmp sgt i32 %29, 0
  br i1 %30, label %.lr.ph, label %._crit_edge

._crit_edge.loopexit:                             ; preds = %58
  %.pre = load i32, ptr %3, align 4, !tbaa !5
  %.pre204 = load i32, ptr @n, align 4, !tbaa !5
  br label %._crit_edge

._crit_edge:                                      ; preds = %._crit_edge.loopexit, %.lr.ph166.split
  %31 = phi i32 [ %.pre204, %._crit_edge.loopexit ], [ %27, %.lr.ph166.split ]
  %32 = phi i32 [ %.pre, %._crit_edge.loopexit ], [ %28, %.lr.ph166.split ]
  %33 = phi i32 [ %61, %._crit_edge.loopexit ], [ %29, %.lr.ph166.split ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #6
  %34 = add nsw i32 %32, 1
  store i32 %34, ptr %3, align 4, !tbaa !5
  %35 = icmp slt i32 %34, %31
  br i1 %35, label %.lr.ph166.split, label %._crit_edge167, !llvm.loop !9

.lr.ph:                                           ; preds = %.lr.ph166.split, %58
  %storemerge159164 = phi i32 [ %60, %58 ], [ 0, %.lr.ph166.split ]
  %36 = load i32, ptr %3, align 4, !tbaa !5
  %37 = sext i32 %36 to i64
  %38 = getelementptr inbounds [211 x %"class.std::__cxx11::basic_string"], ptr @_Z1gB5cxx11, i64 0, i64 %37
  %39 = sext i32 %storemerge159164 to i64
  %40 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %38, i64 noundef %39)
  %41 = load i8, ptr %40, align 1, !tbaa !12
  %42 = icmp eq i8 %41, 83
  br i1 %42, label %43, label %46

43:                                               ; preds = %.lr.ph
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #6
  %44 = call i64 @_ZSt9make_pairIRiS0_ESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS2_INS3_IT0_E4typeEE6__typeEEOS4_OS9_(ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 4 dereferenceable(4) %4)
  store i64 %44, ptr %5, align 8
  %45 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt4pairIiiEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(8) %1, ptr noundef nonnull align 4 dereferenceable(8) %5) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #6
  br label %46

46:                                               ; preds = %43, %.lr.ph
  %47 = load i32, ptr %3, align 4, !tbaa !5
  %48 = sext i32 %47 to i64
  %49 = getelementptr inbounds [211 x %"class.std::__cxx11::basic_string"], ptr @_Z1gB5cxx11, i64 0, i64 %48
  %50 = load i32, ptr %4, align 4, !tbaa !5
  %51 = sext i32 %50 to i64
  %52 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %49, i64 noundef %51)
  %53 = load i8, ptr %52, align 1, !tbaa !12
  %54 = icmp eq i8 %53, 70
  br i1 %54, label %55, label %58

55:                                               ; preds = %46
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #6
  %56 = call i64 @_ZSt9make_pairIRiS0_ESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS2_INS3_IT0_E4typeEE6__typeEEOS4_OS9_(ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 4 dereferenceable(4) %4)
  store i64 %56, ptr %6, align 8
  %57 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt4pairIiiEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(8) %2, ptr noundef nonnull align 4 dereferenceable(8) %6) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #6
  br label %58

58:                                               ; preds = %46, %55
  %59 = load i32, ptr %4, align 4, !tbaa !5
  %60 = add nsw i32 %59, 1
  store i32 %60, ptr %4, align 4, !tbaa !5
  %61 = load i32, ptr @m, align 4, !tbaa !5
  %62 = icmp slt i32 %60, %61
  br i1 %62, label %.lr.ph, label %._crit_edge.loopexit, !llvm.loop !13

.preheader163:                                    ; preds = %92
  %63 = load i32, ptr @n, align 4, !tbaa !5
  %64 = icmp sgt i32 %63, 0
  br i1 %64, label %.preheader162.us.preheader, label %._crit_edge174

.preheader162.us.preheader:                       ; preds = %.preheader163
  %65 = zext nneg i32 %63 to i64
  %66 = shl nuw nsw i64 %65, 2
  %xtraiter = and i64 %65, 7
  %67 = icmp ult i32 %63, 8
  br i1 %67, label %._crit_edge174.loopexit.unr-lcssa, label %.preheader162.us.preheader.new

.preheader162.us.preheader.new:                   ; preds = %.preheader162.us.preheader
  %unroll_iter = and i64 %65, 2147483640
  br label %.preheader162.us

.preheader162.us:                                 ; preds = %.preheader162.us, %.preheader162.us.preheader.new
  %indvar = phi i64 [ 0, %.preheader162.us.preheader.new ], [ %indvar.next.7, %.preheader162.us ]
  %niter = phi i64 [ 0, %.preheader162.us.preheader.new ], [ %niter.next.7, %.preheader162.us ]
  %68 = mul nuw nsw i64 %indvar, 844
  %scevgep = getelementptr i8, ptr @vis, i64 %68
  call void @llvm.memset.p0.i64(ptr align 16 %scevgep, i8 0, i64 %66, i1 false), !tbaa !5
  %69 = mul nuw i64 %indvar, 844
  %gep = getelementptr i8, ptr getelementptr (i8, ptr @vis, i64 844), i64 %69
  call void @llvm.memset.p0.i64(ptr align 4 %gep, i8 0, i64 %66, i1 false), !tbaa !5
  %70 = mul nuw i64 %indvar, 844
  %gep207 = getelementptr i8, ptr getelementptr (i8, ptr @vis, i64 1688), i64 %70
  call void @llvm.memset.p0.i64(ptr align 8 %gep207, i8 0, i64 %66, i1 false), !tbaa !5
  %71 = mul nuw i64 %indvar, 844
  %gep208 = getelementptr i8, ptr getelementptr (i8, ptr @vis, i64 2532), i64 %71
  call void @llvm.memset.p0.i64(ptr align 4 %gep208, i8 0, i64 %66, i1 false), !tbaa !5
  %72 = mul nuw i64 %indvar, 844
  %gep209 = getelementptr i8, ptr getelementptr (i8, ptr @vis, i64 3376), i64 %72
  call void @llvm.memset.p0.i64(ptr align 16 %gep209, i8 0, i64 %66, i1 false), !tbaa !5
  %73 = mul nuw i64 %indvar, 844
  %gep210 = getelementptr i8, ptr getelementptr (i8, ptr @vis, i64 4220), i64 %73
  call void @llvm.memset.p0.i64(ptr align 4 %gep210, i8 0, i64 %66, i1 false), !tbaa !5
  %74 = mul nuw i64 %indvar, 844
  %gep211 = getelementptr i8, ptr getelementptr (i8, ptr @vis, i64 5064), i64 %74
  call void @llvm.memset.p0.i64(ptr align 8 %gep211, i8 0, i64 %66, i1 false), !tbaa !5
  %75 = mul nuw i64 %indvar, 844
  %gep212 = getelementptr i8, ptr getelementptr (i8, ptr @vis, i64 5908), i64 %75
  call void @llvm.memset.p0.i64(ptr align 4 %gep212, i8 0, i64 %66, i1 false), !tbaa !5
  %indvar.next.7 = add nuw nsw i64 %indvar, 8
  %niter.next.7 = add i64 %niter, 8
  %niter.ncmp.7 = icmp eq i64 %niter.next.7, %unroll_iter
  br i1 %niter.ncmp.7, label %._crit_edge174.loopexit.unr-lcssa, label %.preheader162.us, !llvm.loop !14

76:                                               ; preds = %._crit_edge167, %92
  %.0169 = phi i32 [ 0, %._crit_edge167 ], [ %.2, %92 ]
  %.0123168 = phi i32 [ 0, %._crit_edge167 ], [ %93, %92 ]
  %77 = load i32, ptr @gen, align 4, !tbaa !5
  %78 = add nsw i32 %77, 1
  store i32 %78, ptr @gen, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #6
  %.sroa.0116.0.copyload = load i64, ptr %1, align 8
  %.sroa.0115.0.copyload = load i64, ptr %2, align 8
  %79 = invoke noundef zeroext i1 @_Z9randomDFSSt4pairIiiES0_RSt6vectorIS0_SaIS0_EE(i64 %.sroa.0116.0.copyload, i64 %.sroa.0115.0.copyload, ptr noundef nonnull align 8 dereferenceable(24) %7)
          to label %80 unwind label %82

80:                                               ; preds = %76
  %81 = call noundef zeroext i1 @_ZNKSt6vectorISt4pairIiiESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %7) #6
  br i1 %81, label %92, label %84

82:                                               ; preds = %88, %76
  %83 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #6
  br label %357

84:                                               ; preds = %80
  %85 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %7) #6
  %86 = sext i32 %.0169 to i64
  %87 = icmp ugt i64 %85, %86
  br i1 %87, label %88, label %92

88:                                               ; preds = %84
  %89 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %7) #6
  %90 = trunc i64 %89 to i32
  %91 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) @t_ans, ptr noundef nonnull align 8 dereferenceable(24) %7)
          to label %92 unwind label %82

92:                                               ; preds = %84, %88, %80
  %.2 = phi i32 [ %.0169, %80 ], [ %90, %88 ], [ %.0169, %84 ]
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #6
  %93 = add nuw nsw i32 %.0123168, 1
  %exitcond.not = icmp eq i32 %93, 3000
  br i1 %exitcond.not, label %.preheader163, label %76, !llvm.loop !15

._crit_edge174.loopexit.unr-lcssa:                ; preds = %.preheader162.us, %.preheader162.us.preheader
  %indvar.unr = phi i64 [ 0, %.preheader162.us.preheader ], [ %indvar.next.7, %.preheader162.us ]
  %lcmp.mod.not = icmp eq i64 %xtraiter, 0
  br i1 %lcmp.mod.not, label %._crit_edge174, label %.preheader162.us.epil

.preheader162.us.epil:                            ; preds = %._crit_edge174.loopexit.unr-lcssa, %.preheader162.us.epil
  %indvar.epil = phi i64 [ %indvar.next.epil, %.preheader162.us.epil ], [ %indvar.unr, %._crit_edge174.loopexit.unr-lcssa ]
  %epil.iter = phi i64 [ %epil.iter.next, %.preheader162.us.epil ], [ 0, %._crit_edge174.loopexit.unr-lcssa ]
  %94 = mul nuw nsw i64 %indvar.epil, 844
  %scevgep.epil = getelementptr i8, ptr @vis, i64 %94
  call void @llvm.memset.p0.i64(ptr align 4 %scevgep.epil, i8 0, i64 %66, i1 false), !tbaa !5
  %indvar.next.epil = add nuw nsw i64 %indvar.epil, 1
  %epil.iter.next = add i64 %epil.iter, 1
  %epil.iter.cmp.not = icmp eq i64 %epil.iter.next, %xtraiter
  br i1 %epil.iter.cmp.not, label %._crit_edge174, label %.preheader162.us.epil, !llvm.loop !16

._crit_edge174:                                   ; preds = %._crit_edge174.loopexit.unr-lcssa, %.preheader162.us.epil, %.preheader163
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #6
  %95 = call ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) @t_ans) #6
  store ptr %95, ptr %8, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #6
  %96 = call ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) @t_ans) #6
  store ptr %96, ptr %9, align 8
  %97 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt4pairIiiESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 8 dereferenceable(8) %9) #6
  br i1 %97, label %.lr.ph176, label %._crit_edge177

._crit_edge177:                                   ; preds = %.lr.ph176, %._crit_edge174
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #6
  br label %.preheader161

.lr.ph176:                                        ; preds = %._crit_edge174, %.lr.ph176
  %98 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %99 = load i32, ptr %98, align 4, !tbaa !18
  %100 = sext i32 %99 to i64
  %101 = getelementptr inbounds i8, ptr %98, i64 4
  %102 = load i32, ptr %101, align 4, !tbaa !20
  %103 = sext i32 %102 to i64
  %104 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %100, i64 %103
  store i32 1, ptr %104, align 4, !tbaa !5
  %105 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %106 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt4pairIiiESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 8 dereferenceable(8) %9) #6
  br i1 %106, label %.lr.ph176, label %._crit_edge177

.loopexit:                                        ; preds = %347, %.preheader161
  %107 = add nsw i32 %108, -1
  %.not = icmp eq i32 %108, 0
  br i1 %.not, label %356, label %.preheader161, !llvm.loop !21

.preheader161:                                    ; preds = %._crit_edge177, %.loopexit
  %108 = phi i32 [ 19, %._crit_edge177 ], [ %107, %.loopexit ]
  %109 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) @t_ans) #6
  %110 = icmp ugt i64 %109, 1
  br i1 %110, label %.lr.ph190, label %.loopexit

.lr.ph190:                                        ; preds = %.preheader161, %347
  %111 = phi i64 [ %349, %347 ], [ 1, %.preheader161 ]
  %.0133189 = phi i32 [ %348, %347 ], [ 1, %.preheader161 ]
  %112 = add nsw i32 %.0133189, -1
  %113 = sext i32 %112 to i64
  %114 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) @t_ans, i64 noundef %113) #6
  %.sroa.093.0.copyload = load i32, ptr %114, align 4
  %.sroa.7.0..sroa_idx = getelementptr inbounds i8, ptr %114, i64 4
  %.sroa.7.0.copyload = load i32, ptr %.sroa.7.0..sroa_idx, align 4
  %115 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) @t_ans, i64 noundef %111) #6
  %.sroa.0.0.copyload = load i32, ptr %115, align 4
  %.sroa.6.0..sroa_idx = getelementptr inbounds i8, ptr %115, i64 4
  %.sroa.6.0.copyload = load i32, ptr %.sroa.6.0..sroa_idx, align 4
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  %116 = icmp eq i32 %.sroa.093.0.copyload, %.sroa.0.0.copyload
  br i1 %116, label %117, label %212

117:                                              ; preds = %.lr.ph190
  %118 = icmp slt i32 %.sroa.7.0.copyload, %.sroa.6.0.copyload
  %119 = add nsw i32 %.sroa.093.0.copyload, -1
  br i1 %118, label %120, label %167

120:                                              ; preds = %117
  %121 = invoke noundef zeroext i1 @_Z7inrangeii(i32 noundef %119, i32 noundef %.sroa.7.0.copyload)
          to label %122 unwind label %141

122:                                              ; preds = %120
  br i1 %121, label %123, label %145

123:                                              ; preds = %122
  %124 = sext i32 %119 to i64
  %125 = sext i32 %.sroa.7.0.copyload to i64
  %126 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %124, i64 %125
  %127 = load i32, ptr %126, align 4, !tbaa !5
  %.not151 = icmp eq i32 %127, 0
  br i1 %.not151, label %128, label %145

128:                                              ; preds = %123
  %129 = add nsw i32 %.sroa.7.0.copyload, 1
  %130 = sext i32 %129 to i64
  %131 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %124, i64 %130
  %132 = load i32, ptr %131, align 4, !tbaa !5
  %.not152 = icmp eq i32 %132, 0
  br i1 %.not152, label %133, label %145

133:                                              ; preds = %128
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12) #6
  invoke void @_Z17getAugmentingPathiiii(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %12, i32 noundef %119, i32 noundef %.sroa.7.0.copyload, i32 noundef %119, i32 noundef %129)
          to label %134 unwind label %143

134:                                              ; preds = %133
  %135 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %12) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #6
  %136 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  %137 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #6
  %138 = icmp ugt i64 %136, %137
  br i1 %138, label %139, label %145

139:                                              ; preds = %134
  %140 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %145 unwind label %141

141:                                              ; preds = %.invoke, %283, %279, %260, %238, %234, %215, %190, %186, %167, %145, %139, %120
  %142 = landingpad { ptr, i32 }
          cleanup
  br label %355

143:                                              ; preds = %133
  %144 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #6
  br label %355

145:                                              ; preds = %134, %139, %128, %123, %122
  %146 = add nsw i32 %.sroa.093.0.copyload, 1
  %147 = invoke noundef zeroext i1 @_Z7inrangeii(i32 noundef %146, i32 noundef %.sroa.7.0.copyload)
          to label %148 unwind label %141

148:                                              ; preds = %145
  br i1 %147, label %149, label %306

149:                                              ; preds = %148
  %150 = sext i32 %146 to i64
  %151 = sext i32 %.sroa.7.0.copyload to i64
  %152 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %150, i64 %151
  %153 = load i32, ptr %152, align 4, !tbaa !5
  %.not153 = icmp eq i32 %153, 0
  br i1 %.not153, label %154, label %306

154:                                              ; preds = %149
  %155 = add nsw i32 %.sroa.7.0.copyload, 1
  %156 = sext i32 %155 to i64
  %157 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %150, i64 %156
  %158 = load i32, ptr %157, align 4, !tbaa !5
  %.not154 = icmp eq i32 %158, 0
  br i1 %.not154, label %159, label %306

159:                                              ; preds = %154
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13) #6
  invoke void @_Z17getAugmentingPathiiii(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %13, i32 noundef %146, i32 noundef %.sroa.7.0.copyload, i32 noundef %146, i32 noundef %155)
          to label %160 unwind label %165

160:                                              ; preds = %159
  %161 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %13) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #6
  %162 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  %163 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #6
  %164 = icmp ugt i64 %162, %163
  br i1 %164, label %.invoke, label %306

165:                                              ; preds = %159
  %166 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #6
  br label %355

167:                                              ; preds = %117
  %168 = invoke noundef zeroext i1 @_Z7inrangeii(i32 noundef %119, i32 noundef %.sroa.7.0.copyload)
          to label %169 unwind label %141

169:                                              ; preds = %167
  br i1 %168, label %170, label %190

170:                                              ; preds = %169
  %171 = sext i32 %119 to i64
  %172 = sext i32 %.sroa.7.0.copyload to i64
  %173 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %171, i64 %172
  %174 = load i32, ptr %173, align 4, !tbaa !5
  %.not147 = icmp eq i32 %174, 0
  br i1 %.not147, label %175, label %190

175:                                              ; preds = %170
  %176 = add nsw i32 %.sroa.7.0.copyload, -1
  %177 = sext i32 %176 to i64
  %178 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %171, i64 %177
  %179 = load i32, ptr %178, align 4, !tbaa !5
  %.not148 = icmp eq i32 %179, 0
  br i1 %.not148, label %180, label %190

180:                                              ; preds = %175
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %14) #6
  invoke void @_Z17getAugmentingPathiiii(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %14, i32 noundef %119, i32 noundef %.sroa.7.0.copyload, i32 noundef %119, i32 noundef %176)
          to label %181 unwind label %188

181:                                              ; preds = %180
  %182 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %14) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) #6
  %183 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  %184 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #6
  %185 = icmp ugt i64 %183, %184
  br i1 %185, label %186, label %190

186:                                              ; preds = %181
  %187 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %190 unwind label %141

188:                                              ; preds = %180
  %189 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) #6
  br label %355

190:                                              ; preds = %181, %186, %175, %170, %169
  %191 = add nsw i32 %.sroa.093.0.copyload, 1
  %192 = invoke noundef zeroext i1 @_Z7inrangeii(i32 noundef %191, i32 noundef %.sroa.7.0.copyload)
          to label %193 unwind label %141

193:                                              ; preds = %190
  br i1 %192, label %194, label %306

194:                                              ; preds = %193
  %195 = sext i32 %191 to i64
  %196 = sext i32 %.sroa.7.0.copyload to i64
  %197 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %195, i64 %196
  %198 = load i32, ptr %197, align 4, !tbaa !5
  %.not149 = icmp eq i32 %198, 0
  br i1 %.not149, label %199, label %306

199:                                              ; preds = %194
  %200 = add nsw i32 %.sroa.7.0.copyload, -1
  %201 = sext i32 %200 to i64
  %202 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %195, i64 %201
  %203 = load i32, ptr %202, align 4, !tbaa !5
  %.not150 = icmp eq i32 %203, 0
  br i1 %.not150, label %204, label %306

204:                                              ; preds = %199
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15) #6
  invoke void @_Z17getAugmentingPathiiii(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %15, i32 noundef %191, i32 noundef %.sroa.7.0.copyload, i32 noundef %191, i32 noundef %200)
          to label %205 unwind label %210

205:                                              ; preds = %204
  %206 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %15) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #6
  %207 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  %208 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #6
  %209 = icmp ugt i64 %207, %208
  br i1 %209, label %.invoke, label %306

210:                                              ; preds = %204
  %211 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #6
  br label %355

212:                                              ; preds = %.lr.ph190
  %213 = icmp slt i32 %.sroa.093.0.copyload, %.sroa.0.0.copyload
  %214 = add nsw i32 %.sroa.7.0.copyload, -1
  br i1 %213, label %215, label %260

215:                                              ; preds = %212
  %216 = invoke noundef zeroext i1 @_Z7inrangeii(i32 noundef %.sroa.093.0.copyload, i32 noundef %214)
          to label %217 unwind label %141

217:                                              ; preds = %215
  br i1 %216, label %218, label %238

218:                                              ; preds = %217
  %219 = sext i32 %.sroa.093.0.copyload to i64
  %220 = sext i32 %214 to i64
  %221 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %219, i64 %220
  %222 = load i32, ptr %221, align 4, !tbaa !5
  %.not143 = icmp eq i32 %222, 0
  br i1 %.not143, label %223, label %238

223:                                              ; preds = %218
  %224 = add nsw i32 %.sroa.093.0.copyload, 1
  %225 = sext i32 %224 to i64
  %226 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %225, i64 %220
  %227 = load i32, ptr %226, align 4, !tbaa !5
  %.not144 = icmp eq i32 %227, 0
  br i1 %.not144, label %228, label %238

228:                                              ; preds = %223
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %16) #6
  invoke void @_Z17getAugmentingPathiiii(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %16, i32 noundef %.sroa.093.0.copyload, i32 noundef %214, i32 noundef %224, i32 noundef %214)
          to label %229 unwind label %236

229:                                              ; preds = %228
  %230 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %16) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #6
  %231 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  %232 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #6
  %233 = icmp ugt i64 %231, %232
  br i1 %233, label %234, label %238

234:                                              ; preds = %229
  %235 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %238 unwind label %141

236:                                              ; preds = %228
  %237 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #6
  br label %355

238:                                              ; preds = %229, %234, %223, %218, %217
  %239 = add nsw i32 %.sroa.7.0.copyload, 1
  %240 = invoke noundef zeroext i1 @_Z7inrangeii(i32 noundef %.sroa.093.0.copyload, i32 noundef %239)
          to label %241 unwind label %141

241:                                              ; preds = %238
  br i1 %240, label %242, label %306

242:                                              ; preds = %241
  %243 = sext i32 %.sroa.093.0.copyload to i64
  %244 = sext i32 %239 to i64
  %245 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %243, i64 %244
  %246 = load i32, ptr %245, align 4, !tbaa !5
  %.not145 = icmp eq i32 %246, 0
  br i1 %.not145, label %247, label %306

247:                                              ; preds = %242
  %248 = add nsw i32 %.sroa.093.0.copyload, 1
  %249 = sext i32 %248 to i64
  %250 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %249, i64 %244
  %251 = load i32, ptr %250, align 4, !tbaa !5
  %.not146 = icmp eq i32 %251, 0
  br i1 %.not146, label %252, label %306

252:                                              ; preds = %247
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %17) #6
  invoke void @_Z17getAugmentingPathiiii(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %17, i32 noundef %.sroa.093.0.copyload, i32 noundef %239, i32 noundef %248, i32 noundef %239)
          to label %253 unwind label %258

253:                                              ; preds = %252
  %254 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %17) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #6
  %255 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  %256 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #6
  %257 = icmp ugt i64 %255, %256
  br i1 %257, label %.invoke, label %306

258:                                              ; preds = %252
  %259 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #6
  br label %355

260:                                              ; preds = %212
  %261 = invoke noundef zeroext i1 @_Z7inrangeii(i32 noundef %.sroa.093.0.copyload, i32 noundef %214)
          to label %262 unwind label %141

262:                                              ; preds = %260
  br i1 %261, label %263, label %283

263:                                              ; preds = %262
  %264 = sext i32 %.sroa.093.0.copyload to i64
  %265 = sext i32 %214 to i64
  %266 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %264, i64 %265
  %267 = load i32, ptr %266, align 4, !tbaa !5
  %.not139 = icmp eq i32 %267, 0
  br i1 %.not139, label %268, label %283

268:                                              ; preds = %263
  %269 = add nsw i32 %.sroa.093.0.copyload, -1
  %270 = sext i32 %269 to i64
  %271 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %270, i64 %265
  %272 = load i32, ptr %271, align 4, !tbaa !5
  %.not140 = icmp eq i32 %272, 0
  br i1 %.not140, label %273, label %283

273:                                              ; preds = %268
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %18) #6
  invoke void @_Z17getAugmentingPathiiii(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %18, i32 noundef %.sroa.093.0.copyload, i32 noundef %214, i32 noundef %269, i32 noundef %214)
          to label %274 unwind label %281

274:                                              ; preds = %273
  %275 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %18) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #6
  %276 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  %277 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #6
  %278 = icmp ugt i64 %276, %277
  br i1 %278, label %279, label %283

279:                                              ; preds = %274
  %280 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %283 unwind label %141

281:                                              ; preds = %273
  %282 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #6
  br label %355

283:                                              ; preds = %274, %279, %268, %263, %262
  %284 = add nsw i32 %.sroa.7.0.copyload, 1
  %285 = invoke noundef zeroext i1 @_Z7inrangeii(i32 noundef %.sroa.093.0.copyload, i32 noundef %284)
          to label %286 unwind label %141

286:                                              ; preds = %283
  br i1 %285, label %287, label %306

287:                                              ; preds = %286
  %288 = sext i32 %.sroa.093.0.copyload to i64
  %289 = sext i32 %284 to i64
  %290 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %288, i64 %289
  %291 = load i32, ptr %290, align 4, !tbaa !5
  %.not141 = icmp eq i32 %291, 0
  br i1 %.not141, label %292, label %306

292:                                              ; preds = %287
  %293 = add nsw i32 %.sroa.093.0.copyload, -1
  %294 = sext i32 %293 to i64
  %295 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %294, i64 %289
  %296 = load i32, ptr %295, align 4, !tbaa !5
  %.not142 = icmp eq i32 %296, 0
  br i1 %.not142, label %297, label %306

297:                                              ; preds = %292
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %19) #6
  invoke void @_Z17getAugmentingPathiiii(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %19, i32 noundef %.sroa.093.0.copyload, i32 noundef %284, i32 noundef %293, i32 noundef %284)
          to label %298 unwind label %304

298:                                              ; preds = %297
  %299 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %19) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #6
  %300 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  %301 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #6
  %302 = icmp ugt i64 %300, %301
  br i1 %302, label %.invoke, label %306

.invoke:                                          ; preds = %298, %253, %205, %160
  %303 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %306 unwind label %141

304:                                              ; preds = %297
  %305 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #6
  br label %355

306:                                              ; preds = %.invoke, %253, %247, %242, %241, %298, %292, %287, %286, %160, %154, %149, %148, %205, %199, %194, %193
  %307 = call noundef zeroext i1 @_ZNKSt6vectorISt4pairIiiESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #6
  br i1 %307, label %347, label %308

308:                                              ; preds = %306
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %20) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #6
  %309 = icmp sgt i32 %.0133189, 0
  br i1 %309, label %.lr.ph180.preheader, label %.preheader160

.lr.ph180.preheader:                              ; preds = %308
  %wide.trip.count196 = zext nneg i32 %.0133189 to i64
  br label %.lr.ph180

.preheader160:                                    ; preds = %312, %308
  %310 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #6
  %.not191 = icmp eq i64 %310, 0
  br i1 %.not191, label %.preheader, label %.lr.ph182

.lr.ph180:                                        ; preds = %.lr.ph180.preheader, %312
  %indvars.iv = phi i64 [ 0, %.lr.ph180.preheader ], [ %indvars.iv.next, %312 ]
  %311 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) @t_ans, i64 noundef %indvars.iv) #6
  invoke void @_ZNSt6vectorISt4pairIiiESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 4 dereferenceable(8) %311)
          to label %312 unwind label %313

312:                                              ; preds = %.lr.ph180
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond197.not = icmp eq i64 %indvars.iv.next, %wide.trip.count196
  br i1 %exitcond197.not, label %.preheader160, label %.lr.ph180, !llvm.loop !22

313:                                              ; preds = %.lr.ph180
  %314 = landingpad { ptr, i32 }
          cleanup
  br label %354

.preheader:                                       ; preds = %319, %.preheader160
  %315 = sext i32 %.0133189 to i64
  %316 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) @t_ans) #6
  %317 = icmp ugt i64 %316, %315
  br i1 %317, label %.lr.ph184, label %._crit_edge185

.lr.ph182:                                        ; preds = %.preheader160, %319
  %indvars.iv198 = phi i64 [ %indvars.iv.next199, %319 ], [ 0, %.preheader160 ]
  %318 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %indvars.iv198) #6
  invoke void @_ZNSt6vectorISt4pairIiiESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 4 dereferenceable(8) %318)
          to label %319 unwind label %322

319:                                              ; preds = %.lr.ph182
  %indvars.iv.next199 = add nuw nsw i64 %indvars.iv198, 1
  %320 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #6
  %321 = icmp ugt i64 %320, %indvars.iv.next199
  br i1 %321, label %.lr.ph182, label %.preheader, !llvm.loop !23

322:                                              ; preds = %.lr.ph182
  %323 = landingpad { ptr, i32 }
          cleanup
  br label %354

._crit_edge185:                                   ; preds = %328, %.preheader
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #6
  %324 = call ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #6
  store ptr %324, ptr %21, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #6
  %325 = call ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #6
  store ptr %325, ptr %22, align 8
  %326 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt4pairIiiESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull align 8 dereferenceable(8) %22) #6
  br i1 %326, label %.lr.ph187, label %._crit_edge188

.lr.ph184:                                        ; preds = %.preheader, %328
  %indvars.iv201 = phi i64 [ %indvars.iv.next202, %328 ], [ %315, %.preheader ]
  %327 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) @t_ans, i64 noundef %indvars.iv201) #6
  invoke void @_ZNSt6vectorISt4pairIiiESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 4 dereferenceable(8) %327)
          to label %328 unwind label %331

328:                                              ; preds = %.lr.ph184
  %indvars.iv.next202 = add nuw nsw i64 %indvars.iv201, 1
  %329 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) @t_ans) #6
  %330 = icmp ugt i64 %329, %indvars.iv.next202
  br i1 %330, label %.lr.ph184, label %._crit_edge185, !llvm.loop !24

331:                                              ; preds = %.lr.ph184
  %332 = landingpad { ptr, i32 }
          cleanup
  br label %354

._crit_edge188:                                   ; preds = %.lr.ph187, %._crit_edge185
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #6
  %333 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #6
  %334 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) @t_ans, ptr noundef nonnull align 8 dereferenceable(24) %20)
          to label %344 unwind label %352

.lr.ph187:                                        ; preds = %._crit_edge185, %.lr.ph187
  %335 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %21) #6
  %336 = load i32, ptr %335, align 4, !tbaa !18
  %337 = sext i32 %336 to i64
  %338 = getelementptr inbounds i8, ptr %335, i64 4
  %339 = load i32, ptr %338, align 4, !tbaa !20
  %340 = sext i32 %339 to i64
  %341 = getelementptr inbounds [211 x [211 x i32]], ptr @vis, i64 0, i64 %337, i64 %340
  store i32 1, ptr %341, align 4, !tbaa !5
  %342 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %21) #6
  %343 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt4pairIiiESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull align 8 dereferenceable(8) %22) #6
  br i1 %343, label %.lr.ph187, label %._crit_edge188

344:                                              ; preds = %._crit_edge188
  %345 = trunc i64 %333 to i32
  %346 = add i32 %.0133189, %345
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20) #6
  br label %347

347:                                              ; preds = %306, %344
  %.1134 = phi i32 [ %346, %344 ], [ %.0133189, %306 ]
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #6
  %348 = add nsw i32 %.1134, 1
  %349 = sext i32 %348 to i64
  %350 = call noundef i64 @_ZNKSt6vectorISt4pairIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) @t_ans) #6
  %351 = icmp ugt i64 %350, %349
  br i1 %351, label %.lr.ph190, label %.loopexit, !llvm.loop !25

352:                                              ; preds = %._crit_edge188
  %353 = landingpad { ptr, i32 }
          cleanup
  br label %354

354:                                              ; preds = %352, %331, %322, %313
  %.pn = phi { ptr, i32 } [ %314, %313 ], [ %323, %322 ], [ %332, %331 ], [ %353, %352 ]
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20) #6
  br label %355

355:                                              ; preds = %354, %304, %281, %258, %236, %210, %188, %165, %143, %141
  %.pn.pn = phi { ptr, i32 } [ %.pn, %354 ], [ %142, %141 ], [ %166, %165 ], [ %144, %143 ], [ %211, %210 ], [ %189, %188 ], [ %259, %258 ], [ %237, %236 ], [ %305, %304 ], [ %282, %281 ]
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #6
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #6
  br label %357

356:                                              ; preds = %.loopexit
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %1) #6
  ret void

357:                                              ; preds = %355, %82
  %.pn157 = phi { ptr, i32 } [ %83, %82 ], [ %.pn.pn, %355 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %1) #6
  resume { ptr, i32 } %.pn157
}

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

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

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

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #5

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = distinct !{!9, !10, !11}
!10 = !{!"llvm.loop.mustprogress"}
!11 = !{!"llvm.loop.unswitch.partial.disable"}
!12 = !{!7, !7, i64 0}
!13 = distinct !{!13, !10}
!14 = distinct !{!14, !10}
!15 = distinct !{!15, !10}
!16 = distinct !{!16, !17}
!17 = !{!"llvm.loop.unroll.disable"}
!18 = !{!19, !6, i64 0}
!19 = !{!"_ZTSSt4pairIiiE", !6, i64 0, !6, i64 4}
!20 = !{!19, !6, i64 4}
!21 = distinct !{!21, !10}
!22 = distinct !{!22, !10}
!23 = distinct !{!23, !10}
!24 = distinct !{!24, !10}
!25 = distinct !{!25, !10}


; Effective O3 passes: DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopIdiomRecognizePass,LoopRotatePass,LoopSimplifyCFGPass,LoopSimplifyPass,LoopUnrollPass,ReassociatePass,SROAPass,SimpleLoopUnswitchPass,SimplifyCFGPass