#include "Inputs/system-header-simulator-cxx.h"
void clang_analyzer_warnIfReached();
void deref_begin(const std::vector<int> &V) {
  auto i = V.begin();
  *i; }
void deref_begind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  *i; }
template <typename Iter> Iter return_any_iterator(const Iter &It);
void deref_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  *i; }
void deref_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  *i; }
void deref_end(const std::vector<int> &V) {
  auto i = V.end();
  *i;       }
void incr_begin(const std::vector<int> &V) {
  auto i = V.begin();
  ++i; }
void incr_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  ++i; }
void incr_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  ++i; }
void incr_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  ++i; }
void incr_end(const std::vector<int> &V) {
  auto i = V.end();
  ++i;        }
void begin_incr(const std::vector<int> &V) {
  auto i = V.begin();
  i++; }
void behind_begin_incr(const std::vector<int> &V) {
  auto i = ++V.begin();
  i++; }
void unknown_incr(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  i++; }
void ahead_of_end_incr(const std::vector<int> &V) {
  auto i = --V.end();
  i++; }
void end_incr(const std::vector<int> &V) {
  auto i = V.end();
  i++;        }
void decr_begin(const std::vector<int> &V) {
  auto i = V.begin();
  --i;        }
void decr_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  --i; }
void decr_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  --i; }
void decr_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  --i; }
void decr_end(const std::vector<int> &V) {
  auto i = V.end();
  --i; }
void begin_decr(const std::vector<int> &V) {
  auto i = V.begin();
  i--;        }
void behind_begin_decr(const std::vector<int> &V) {
  auto i = ++V.begin();
  i--; }
void unknown_decr(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  i--; }
void ahead_of_end_decr(const std::vector<int> &V) {
  auto i = --V.end();
  i--; }
void end_decr(const std::vector<int> &V) {
  auto i = V.end();
  i--; }
void incr_by_2_begin(const std::vector<int> &V) {
  auto i = V.begin();
  i += 2; }
void incr_by_2_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  i += 2; }
void incr_by_2_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  i += 2; }
void incr_by_2_ahead_by_2_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  --i;
  i += 2; }
void incr_by_2_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  i += 2;           }
void incr_by_2_end(const std::vector<int> &V) {
  auto i = V.end();
  i += 2;           }
void incr_by_2_copy_begin(const std::vector<int> &V) {
  auto i = V.begin();
  auto j = i + 2; }
void incr_by_2_copy_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  auto j = i + 2; }
void incr_by_2_copy_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  auto j = i + 2; }
void incr_by_2_copy_ahead_by_2_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  --i;
  auto j = i + 2; }
void incr_by_2_copy_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  auto j = i + 2;                   }
void incr_by_2_copy_end(const std::vector<int> &V) {
  auto i = V.end();
  auto j = i + 2;                   }
void decr_by_2_begin(const std::vector<int> &V) {
  auto i = V.begin();
  i -= 2;           }
void decr_by_2_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  i -= 2;           }
void decr_by_2_behind_begin_by_2(const std::vector<int> &V) {
  auto i = ++V.begin();
  ++i;
  i -= 2; }
void decr_by_2_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  i -= 2; }
void decr_by_2_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  i -= 2; }
void decr_by_2_end(const std::vector<int> &V) {
  auto i = V.end();
  i -= 2; }
void decr_by_2_copy_begin(const std::vector<int> &V) {
  auto i = V.begin();
  auto j = i - 2;                   }
void decr_by_2_copy_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  auto j = i - 2;                   }
void decr_by_2_copy_behind_begin_by_2(const std::vector<int> &V) {
  auto i = ++V.begin();
  ++i;
  auto j = i - 2; }
void decr_by_2_copy_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  auto j = i - 2; }
void decr_by_2_copy_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  auto j = i - 2; }
void decr_by_2_copy_end(const std::vector<int> &V) {
  auto i = V.end();
  auto j = i - 2; }
void subscript_zero_begin(const std::vector<int> &V) {
  auto i = V.begin();
  auto j = i[0]; }
void subscript_zero_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  auto j = i[0]; }
void subscript_zero_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  auto j = i[0]; }
void subscript_zero_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  auto j = i[0]; }
void subscript_zero_end(const std::vector<int> &V) {
  auto i = V.end();
  auto j = i[0];                  }
void subscript_negative_begin(const std::vector<int> &V) {
  auto i = V.begin();
  auto j = i[-1]; }
void subscript_negative_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  auto j = i[-1]; }
void subscript_negative_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  auto j = i[-1]; }
void subscript_negative_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  auto j = i[-1]; }
void subscript_negative_end(const std::vector<int> &V) {
  auto i = V.end();
  auto j = i[-1];                   }
void subscript_positive_begin(const std::vector<int> &V) {
  auto i = V.begin();
  auto j = i[1]; }
void subscript_positive_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  auto j = i[1]; }
void subscript_positive_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  auto j = i[1]; }
void subscript_positive_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  auto j = i[1]; }
void subscript_positive_end(const std::vector<int> &V) {
  auto i = V.end();
  auto j = i[1];                  }
void advance_plus_1_begin(const std::vector<int> &V) {
  auto i = V.begin();
  std::advance(i, 1); }
void advance_plus_1_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  std::advance(i, 1); }
void advance_plus_1_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  std::advance(i, 1); }
void advance_plus_1_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  std::advance(i, 1); }
void advance_plus_1_end(const std::vector<int> &V) {
  auto i = V.end();
  std::advance(i, 1);                       }
void advance_minus_1_begin(const std::vector<int> &V) {
  auto i = V.begin();
  std::advance(i, -1);                        }
void advance_minus_1_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  std::advance(i, -1); }
void advance_minus_1_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  std::advance(i, -1); }
void advance_minus_1_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  std::advance(i, -1); }
void advance_minus_1_end(const std::vector<int> &V) {
  auto i = V.end();
  std::advance(i, -1); }
void advance_plus_2_begin(const std::vector<int> &V) {
  auto i = V.begin();
  std::advance(i, 2); }
void advance_plus_2_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  std::advance(i, 2); }
void advance_plus_2_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  std::advance(i, 2); }
void advance_plus_2_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  std::advance(i, 2);                       }
void advance_plus_2_end(const std::vector<int> &V) {
  auto i = V.end();
  std::advance(i, 2);                       }
void advance_minus_2_begin(const std::vector<int> &V) {
  auto i = V.begin();
  std::advance(i, -2);                        }
void advance_minus_2_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  std::advance(i, -2);                        }
void advance_minus_2_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  std::advance(i, -2); }
void advance_minus_2_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  std::advance(i, -2); }
void advance_minus_2_end(const std::vector<int> &V) {
  auto i = V.end();
  std::advance(i, -2); }
void advance_0_begin(const std::vector<int> &V) {
  auto i = V.begin();
  std::advance(i, 0); }
void advance_0_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  std::advance(i, 0); }
void advance_0_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  std::advance(i, 0); }
void advance_0_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  std::advance(i, 0); }
void advance_0_end(const std::vector<int> &V) {
  auto i = V.end();
  std::advance(i, 0); }
void next_plus_1_begin(const std::vector<int> &V) {
  auto i = V.begin();
  auto j = std::next(i); }
void next_plus_1_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  auto j = std::next(i); }
void next_plus_1_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  auto j = std::next(i); }
void next_plus_1_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  auto j = std::next(i); }
void next_plus_1_end(const std::vector<int> &V) {
  auto i = V.end();
  auto j = std::next(i);                          }
void next_minus_1_begin(const std::vector<int> &V) {
  auto i = V.begin();
  auto j = std::next(i, -1);                              }
void next_minus_1_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  auto j = std::next(i, -1); }
void next_minus_1_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  auto j = std::next(i, -1); }
void next_minus_1_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  auto j = std::next(i, -1); }
void next_minus_1_end(const std::vector<int> &V) {
  auto i = V.end();
  auto j = std::next(i, -1); }
void next_plus_2_begin(const std::vector<int> &V) {
  auto i = V.begin();
  auto j = std::next(i, 2); }
void next_plus_2_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  auto j = std::next(i, 2); }
void next_plus_2_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  auto j = std::next(i, 2); }
void next_plus_2_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  auto j = std::next(i, 2);                             }
void next_plus_2_end(const std::vector<int> &V) {
  auto i = V.end();
  auto j = std::next(i, 2);                             }
void next_minus_2_begin(const std::vector<int> &V) {
  auto i = V.begin();
  auto j = std::next(i, -2);                              }
void next_minus_2_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  auto j = std::next(i, -2);                              }
void next_minus_2_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  auto j = std::next(i, -2); }
void next_minus_2_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  auto j = std::next(i, -2); }
void next_minus_2_end(const std::vector<int> &V) {
  auto i = V.end();
  auto j = std::next(i, -2); }
void next_0_begin(const std::vector<int> &V) {
  auto i = V.begin();
  auto j = std::next(i, 0); }
void next_0_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  auto j = std::next(i, 0); }
void next_0_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  auto j = std::next(i, 0); }
void next_0_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  auto j = std::next(i, 0); }
void next_0_end(const std::vector<int> &V) {
  auto i = V.end();
  auto j = std::next(i, 0); }
void prev_plus_1_begin(const std::vector<int> &V) {
  auto i = V.begin();
  auto j = std::prev(i);                          }
void prev_plus_1_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  auto j = std::prev(i); }
void prev_plus_1_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  auto j = std::prev(i); }
void prev_plus_1_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  auto j = std::prev(i); }
void prev_plus_1_end(const std::vector<int> &V) {
  auto i = V.end();
  auto j = std::prev(i); }
void prev_minus_1_begin(const std::vector<int> &V) {
  auto i = V.begin();
  auto j = std::prev(i, -1); }
void prev_minus_1_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  auto j = std::prev(i, -1); }
void prev_minus_1_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  auto j = std::prev(i, -1); }
void prev_minus_1_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  auto j = std::prev(i, -1); }
void prev_minus_1_end(const std::vector<int> &V) {
  auto i = V.end();
  auto j = std::prev(i, -1);                              }
void prev_plus_2_begin(const std::vector<int> &V) {
  auto i = V.begin();
  auto j = std::prev(i, 2);                             }
void prev_plus_2_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  auto j = std::prev(i, 2);                             }
void prev_plus_2_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  auto j = std::prev(i, 2); }
void prev_plus_2_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  auto j = std::prev(i, 2); }
void prev_plus_2_end(const std::vector<int> &V) {
  auto i = V.end();
  auto j = std::prev(i, 2); }
void prev_minus_2_begin(const std::vector<int> &V) {
  auto i = V.begin();
  auto j = std::prev(i, -2); }
void prev_minus_2_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  auto j = std::prev(i, -2); }
void prev_minus_2_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  auto j = std::prev(i, -2); }
void prev_minus_2_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  auto j = std::prev(i, -2);                              }
void prev_minus_2_end(const std::vector<int> &V) {
  auto i = V.end();
  auto j = std::prev(i, -2);                              }
void prev_0_begin(const std::vector<int> &V) {
  auto i = V.begin();
  auto j = std::prev(i, 0); }
void prev_0_behind_begin(const std::vector<int> &V) {
  auto i = ++V.begin();
  auto j = std::prev(i, 0); }
void prev_0_unknown(const std::vector<int> &V) {
  auto i = return_any_iterator(V.begin());
  auto j = std::prev(i, 0); }
void prev_0_ahead_of_end(const std::vector<int> &V) {
  auto i = --V.end();
  auto j = std::prev(i, 0); }
void prev_0_end(const std::vector<int> &V) {
  auto i = V.end();
  auto j = std::prev(i, 0); }
namespace std {
template <typename T>
T prev(T, int *);
}
void prev_loc_value(const std::vector<int> &V, int o) {
  auto i = return_any_iterator(V.begin());
  int *offset = &o;
  auto j = std::prev(i, offset); }
struct S {
  int n;
};
void arrow_deref_begin(const std::vector<S> &V) {
  auto i = V.begin();
  int n = i->n; }
void arrow_deref_end(const std::vector<S> &V) {
  auto i = V.end();
  int n = i->n;                 }
void deref_end_after_pop_back(std::vector<int> &V) {
  const auto i = --V.end();
  V.pop_back(); 
  *i;       }
template<typename T>
struct cont_with_ptr_iterator {
  T* begin() const;
  T* end() const;
};
void deref_end_ptr_iterator(const cont_with_ptr_iterator<S> &c) {
  auto i = c.end();
  (void) *i;              }
void array_deref_end_ptr_iterator(const cont_with_ptr_iterator<S> &c) {
  auto i = c.end();
  (void) i[0];                }
void arrow_deref_end_ptr_iterator(const cont_with_ptr_iterator<S> &c) {
  auto i = c.end();
  (void) i->n;                }
void arrow_star_deref_end_ptr_iterator(const cont_with_ptr_iterator<S> &c,
                                       int S::*p) {
  auto i = c.end();
  (void)(i->*p);                  }
void prefix_incr_end_ptr_iterator(const cont_with_ptr_iterator<S> &c) {
  auto i = c.end();
  ++i;        }
void postfix_incr_end_ptr_iterator(const cont_with_ptr_iterator<S> &c) {
  auto i = c.end();
  i++;        }
void prefix_decr_begin_ptr_iterator(const cont_with_ptr_iterator<S> &c) {
  auto i = c.begin();
  --i;        }
void postfix_decr_begin_ptr_iterator(const cont_with_ptr_iterator<S> &c) {
  auto i = c.begin();
  i--;        }
void prefix_add_2_end_ptr_iterator(const cont_with_ptr_iterator<S> &c) {
  auto i = c.end();
  (void)(i + 2);                  }
void postfix_add_assign_2_end_ptr_iterator(const cont_with_ptr_iterator<S> &c) {
  auto i = c.end();
  i += 2;           }
void prefix_minus_2_begin_ptr_iterator(const cont_with_ptr_iterator<S> &c) {
  auto i = c.begin();
  (void)(i - 2);                  }
void postfix_minus_assign_2_begin_ptr_iterator(
    const cont_with_ptr_iterator<S> &c) {
  auto i = c.begin();
  i -= 2;           }
void ptr_iter_diff(cont_with_ptr_iterator<S> &c) {
  auto i0 = c.begin(), i1 = c.end();
  ptrdiff_t len = i1 - i0; }
int uninit_var(int n) {
  int uninit;   return n - uninit;     }