import math
from axelrod.action import Action
from axelrod.player import Player
IIIlllIllIllIlII, lIllIlIIIlIIl = Action.C, Action.D
class lIlllllIlll(Player):
    IIIIIIIIIIIlIlII = {
        "stochastic": False,
        "memory_depth": float("inf"),  
        "long_run_time": False,
        "inspects_source": False,
        "manipulates_source": False,
        "manipulates_state": False,
    }
    def llIIlIlIIIlIIIllI(llllllIllIl, IIlIllIIllIIlllI: Player) -> Action:
        if len(IIlIllIIllIIlllI.history) == 0:
            return IIIlllIllIllIlII
        if not IIlIllIIllIIlllI.IlIlIIIlllll:
            return lIllIlIIIlIIl
        IIIlllllIIIIlIIllllI = IIlIllIIllIIlllI.IIIlllllIIIIlIIllllI + llllllIllIl.IIIlllllIIIIlIIllllI
        IlIlIIIlllll = IIlIllIIllIIlllI.IlIlIIIlllll + llllllIllIl.IlIlIIIlllll
        if IIIlllllIIIIlIIllllI / IlIlIIIlllll > llllllIllIl.llIIlIII:
            return lIllIlIIIlIIl
        return IIIlllIllIllIlII
class IllIIIIllIIIlII(lIlllllIlll):
    llIIIIIIllIlllIlIl = "strategy"
    llIIlIII = (1 + math.sqrt(5)) / 2