def tail_rec(fun):
   def tail(fun):
      a = fun
      while callable(a):
         a = a()
      return a
   return (lambda x: tail(fun(x)))

def tail_even(x):
  if x == 0:
    return True
  else:
    return (lambda: tail_odd(x - 1))

def tail_odd(x):
  if x == 0:
    return False
  else:
    return (lambda: tail_even(x - 1))

even = tail_rec(tail_even)
odd = tail_rec(tail_odd)
67b757692a57aaaa2418f65a24b9f1f478b1b898
<mask token>

<mask token>


def tail_even(x):
    if x == 0:
        return True
    else:
        return lambda : tail_odd(x - 1)


def tail_odd(x):
    if x == 0:
        return False
    else:
        return lambda : tail_even(x - 1)


<mask token>

def tail_rec(fun):

    def tail(fun):
        a = fun
        while callable(a):
            a = a()
        return a
    return lambda x: tail(fun(x))


def tail_even(x):
    if x == 0:
        return True
    else:
        return lambda : tail_odd(x - 1)


def tail_odd(x):
    if x == 0:
        return False
    else:
        return lambda : tail_even(x - 1)


<mask token>

def tail_rec(fun):

    def tail(fun):
        a = fun
        while callable(a):
            a = a()
        return a
    return lambda x: tail(fun(x))


def tail_even(x):
    if x == 0:
        return True
    else:
        return lambda : tail_odd(x - 1)


def tail_odd(x):
    if x == 0:
        return False
    else:
        return lambda : tail_even(x - 1)


even = tail_rec(tail_even)
odd = tail_rec(tail_odd)

def tail_rec(fun):
   def tail(fun):
      a = fun
      while callable(a):
         a = a()
      return a
   return (lambda x: tail(fun(x)))

def tail_even(x):
  if x == 0:
    return True
  else:
    return (lambda: tail_odd(x - 1))

def tail_odd(x):
  if x == 0:
    return False
  else:
    return (lambda: tail_even(x - 1))

even = tail_rec(tail_even)
odd = tail_rec(tail_odd)