class A:
    def __init__(self, txt: str):
        self.y: A = None
        self.s: B = None
        self.q: C = None
        self.txt = txt

class B:
    def __init__(self, txt: str):
        self.p: C = None
        self.o: B = None
        self.v: B = None
        self.txt = txt

class C:
    def __init__(self, txt: str):
        self.u: C = None
        self.txt = txt

f = A("f")
n = B("n")
d = C("d")
c = A("c")
m = C("m")
k = B("k")
i = B("i")
j = A("j")
g = B("g")

f.y = j
f.s = k
f.q = m
n.p = m
n.o = i
n.v = k
d.u = m
c.y = j
c.s = i
c.q = m
m.u = d
k.p = m
k.o = g
k.v = i
i.p = d
i.o = k
i.v = n
j.y = f
j.s = g
j.q = m
g.p = d
g.o = i
g.v = k
assert m.u.u.u.txt == "
class A:
    def __init__(self, txt: str):
        self.y: A = None
        self.s: B = None
        self.q: C = None
        self.txt = txt

class B:
    def __init__(self, txt: str):
        self.p: C = None
        self.o: B = None
        self.v: B = None
        self.txt = txt

class C:
    def __init__(self, txt: str):
        self.u: C = None
        self.txt = txt

f = A("f")
n = B("n")
d = C("d")
c = A("c")
m = C("m")
k = B("k")
i = B("i")
j = A("j")
g = B("g")

f.y = j
f.s = k
f.q = m
n.p = m
n.o = i
n.v = k
d.u = m
c.y = j
c.s = i
c.q = m
m.u = d
k.p = m
k.o = g
k.v = i
i.p = d
i.o = k
i.v = n
j.y = f
j.s = g
j.q = m
g.p = d
g.o = i
g.v = k
assert m.u.u.u.txt == "d"