def __init__(self, X, Y, fee=(0.3 / 100)):
    self.balance = XY(X, Y)
    self.srP = math.sqrt((Y / X))
    self.i_a = self.tick(self.srP)
    self.L = math.floor(math.sqrt((X * Y)))
    self.fee = fee
    self.i_l = (- infinity)
    self.ticks = {(- infinity): Tick((- infinity), infinity, XY()), infinity: Tick((- infinity), infinity, XY())}
    self.positions = defaultdict(Position)
    self.feeGrowth = XY()
def __init__(self, X, Y, fee=(0.3 / 100)):
    self.balance = XY(X, Y)
    self.srP = math.sqrt((Y / X))
    self.i_a = self.tick(self.srP)
    self.L = math.floor(math.sqrt((X * Y)))
    self.fee = fee
    self.i_l = (- infinity)
    self.ticks = {(- infinity): Tick((- infinity), infinity, XY()), infinity: Tick((- infinity), infinity, XY())}
    self.positions = defaultdict(Position)
    self.feeGrowth = XY()