// verifast_options{disable_overflow_check target:ILP32}
int SIZE = 50000001;
int __VERIFIER_nondet_int();
//@ requires integer(&SIZE, ?veri_req_SIZE) &*& true;
//@ ensures integer(&SIZE, ?veri_ens_SIZE) &*& true;
extern void abort(void);
//@ requires integer(&SIZE, ?veri_req_SIZE) &*& true;
//@ ensures integer(&SIZE, ?veri_ens_SIZE) &*& true;
void reach_error()
//@ requires false;
//@ ensures true;
{}void assume_abort_if_not(int cond) 
//@ requires integer(&SIZE, ?veri_req_SIZE) &*& true;
//@ ensures integer(&SIZE, ?veri_ens_SIZE) &*& true;
{  if(!cond) {abort();}
}
void __VERIFIER_assert(int cond) 
//@ requires integer(&SIZE, ?veri_req_SIZE) &*& (1 <= cond);
//@ ensures integer(&SIZE, ?veri_ens_SIZE) &*& (1 <= cond);
{  if (!(cond)) {
    ERROR: {reach_error();abort();}
  }
  return;
}
int __VERIFIER_nondet_int();
int main() 
//@ requires module(loopv2__verifast_instrumented, true);
//@ ensures junk();
{
    //@ open_module(); 
  int n,i,j,k;
  n = __VERIFIER_nondet_int();
  if (!(n <= SIZE)) return 0;
  i = 0; j=0;
while(i<n)
//@ invariant integer(&SIZE, ?veri_inv_SIZE) &*& (0 == (i % 2));
    {

    i = i + 4;
    j = i +2;    
  }
  k =i;
while( (j%2) == 0)
//@ invariant integer(&SIZE, ?veri_inv_SIZE) &*& ((k % 2) == 0);
    {
   j-=4;
   k -=4; 
  }
  __VERIFIER_assert( (k%2) == 0 );
  return 0;
}