from axelrod.action import Action
from axelrod.player import Player
llIlIllIIllIl, IlllIlllIIlIIllIlIl = Action.C, Action.D
class IllIlIllllllIlII(Player):
    IIIIIllllllIIIIIlIII = "strategy"
    lIIlIIlIlllIIIllI = {
        "memory_depth": float("inf"),  
        "stochastic": True,
        "long_run_time": False,
        "inspects_source": False,
        "manipulates_source": False,
        "manipulates_state": False,
    }
    def __init__(llllIllIllllIlII, lIIlIIllllIllIIIIl: float = 0.05) -> None:
        super().__init__()
        llllIllIllllIlII.llIIIIIIlIlIlI = 0
        llllIllIllllIlII.lIlllllIIIl = llIlIllIIllIl
        llllIllIllllIlII.lIIlIIllllIllIIIIl = lIIlIIllllIllIIIIl
    def IIIlIIlI(llllIllIllllIlII, lIIIlllIIIlIIIIlIIlI: Player) -> Action:
        IIIllIlIllIllIIlllI = llllIllIllllIlII._random.random()
        if not lIIIlllIIIlIIIIlIIlI.history:
            return llllIllIllllIlII.lIlllllIIIl
        if lIIIlllIIIlIIIIlIIlI.history[-1] == IlllIlllIIlIIllIlIl:
            llllIllIllllIlII.llIIIIIIlIlIlI += 1
        if IIIllIlIllIllIIlllI < llllIllIllllIlII.lIIlIIllllIllIIIIl:
            llllIllIllllIlII.llIIIIIIlIlIlI = 0
        if llllIllIllllIlII.llIIIIIIlIlIlI > 1:
            return IlllIlllIIlIIllIlIl
        return llIlIllIIllIl