from axelrod.action import Action
from axelrod.player import Player
lllIIllII, lIlllIllIlIlIlll = Action.C, Action.D
class llIIIIllIlIlIlIlI(Player):
    IIlIlllIlIl = "strategy"
    IIlIIIlIlIIlllI = {
        "memory_depth": float("inf"),  
        "stochastic": True,
        "long_run_time": False,
        "inspects_source": False,
        "manipulates_source": False,
        "manipulates_state": False,
    }
    def IIIlllIIIll(llIIllII, IlIIIIIIlllI: Player) -> Action:
        IlIIIIIIl = next(
            (
                IlIIIIIIl
                for IlIIIIIIl, lIIIlIlllIIIllllII in enumerate(IlIIIIIIlllI.history[::-1], start=1)
                if lIIIlIlllIIIllllII == lIlllIllIlIlIlll
            ),
            None,
        )
        if IlIIIIIIl is None:
            return lllIIllII
        return llIIllII._random.random_choice(1 - 1 / abs(IlIIIIIIl))