LOG = []
G = 5


def tr(tag, v):
    print("tr", tag, repr(v))
    LOG.append(tag)
    return v


class Box:
    def __init__(self, v):
        self.v = v

    def __repr__(self):
        return f"Box({self.v!r})"

    def __eq__(self, other):
        return isinstance(other, Box) and self.v == other.v


class Ctx:
    def __init__(self, tag):
        self.tag = tag

    def __enter__(self):
        print("enter", self.tag)
        return self.tag

    def __exit__(self, et, ev, tb):
        print("exit", self.tag, et.__name__ if et else None)
        return False


def bump():
    global G
    G += 1
    return G


def f1(a, b, c, o):
    k0 = 2
    def inner():
        print("cell", k0)
        print("p", sum(q for q in b if q > (c.get('k', 0) * a)))
        v1 = (bump() + max(G, len(b)))
        c['j'] = (G + G)
        print("cs", [(lambda: o + 1)() for o in b], sum(o for o in range(3)), len(b))
        print("p4", o.v, G)
        print("ls", (lambda c: c * 2 + 1)(c.get('k', 0)))
        return None
    return inner()


def f2(a, b, c, o):
    k1 = 3
    def inner():
        print("cell", k1)
        print("p", sum(q for q in b if q > (c.get('k', 0) * a)))
        v1 = (bump() + max(G, len(b)))
        c['j'] = (G + G)
        print("cs", [(lambda: o + 1)() for o in b], sum(o for o in range(3)), len(b))
        print("p4", o.v, a)
        print("ls", (lambda c: c * 2 + 1)(c.get('k', 0)))
        return None
    return inner()
