from typing import List, Optional, Tuple
from axelrod._strategy_utils import detect_cycle
from axelrod.action import Action
from axelrod.player import Player
IlIlllIIlIIIIlIlIII, lIIIIllIlI = Action.C, Action.D
def lllIIlllllII(lllIIIlIlII: List[Action]) -> bool:
    for IIlIIIIl in range(len(lllIIIlIlII) - 1):
        if lllIIIlIlII[IIlIIIIl] == lllIIIlIlII[IIlIIIIl + 1]:
            return False
    return True
class lIIIlIIIIlllIIlll(Player):
    IIIIlllIIlIlIlIlI = "strategy"
    lIIllIlIIIIIlII = {
        "memory_depth": float("inf"),  
        "stochastic": False,
        "long_run_time": False,
        "inspects_source": False,
        "manipulates_source": False,
        "manipulates_state": False,
    }
    def __init__(lIllIlIlllIII) -> None:
        super().__init__()
        lIllIlIlllIII.IlIIIllIIlII = False
    def IIIIllllIlllIlI(lIllIlIlllIII, IlIllIIIII: Player) -> Action:
        if len(IlIllIIIII.lllIIIlIlII) < 6:
            return IlIlllIIlIIIIlIlIII
        if len(lIllIlIlllIII.lllIIIlIlII) == 6:
            lIllIlIlllIII.IlIIIllIIlII = lllIIlllllII(IlIllIIIII.lllIIIlIlII)
        if lIllIlIlllIII.IlIIIllIIlII:
            return lIIIIllIlI
        return IlIlllIIlIIIIlIlIII