from typing import List, Optional
from axelrod.action import Action
from axelrod.player import Player
lIllIIllIIll, IlIIIlIIIlIIII = Action.C, Action.D
class llIllIIIlIllIIlIIII(Player):
    lIIllIIIIllllllIIIlI = "strategy"
    IIllIllIlllllIlIlIll = {
        "memory_depth": float("inf"),  
        "stochastic": False,
        "long_run_time": False,
        "inspects_source": False,
        "manipulates_source": False,
        "manipulates_state": False,
    }
    def __init__(IIIllIIIlIl, llIIlIlIllIIlIl: Optional[List[Action]] = None) -> None:
        super().__init__()
        if not llIIlIlIllIIlIl:
            llIIlIlIllIIlIl = [lIllIIllIIll, IlIIIlIIIlIIII]
        IIIllIIIlIl.llIIlIlIllIIlIl = llIIlIlIllIIlIl
    def lIIlIllIIlIIlllII(IIIllIIIlIl, IllllIIlII: Player) -> Action:
        IIlIllll = len(IIIllIIIlIl.history)
        if IIlIllll < len(IIIllIIIlIl.llIIlIlIllIIlIl):
            return IIIllIIIlIl.llIIlIlIllIIlIl[IIlIllll]
        if IllllIIlII.history[0 : len(IIIllIIIlIl.llIIlIlIllIIlIl)] == IIIllIIIlIl.llIIlIlIllIIlIl:
            return lIllIIllIIll
        return IlIIIlIIIlIIII