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

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

class C:
    def __init__(self, txt: str):
        self.w: C = None
        self.u: B = None
        self.o: A = None
        self.txt = txt

n = A("n")
f = B("f")
l = C("l")
d = C("d")
j = B("j")
h = B("h")
g = B("g")
e = C("e")
b = A("b")

n.q = b
n.x = b
n.y = b
f.p = b
f.q = n
f.v = l
l.w = e
l.u = g
l.o = n
d.w = e
d.u = j
d.o = n
j.p = b
j.q = n
j.v = l
h.p = b
h.q = b
h.v = d
g.p = b
g.q = b
g.v = e
e.w = d
e.u = g
e.o = b
b.q = n
b.x = n
b.y = n
assert n.x.y.x.y.y.x.y.q.txt == "
class A:
    def __init__(self, txt: str):
        self.q: A = None
        self.x: A = None
        self.y: A = None
        self.txt = txt

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

class C:
    def __init__(self, txt: str):
        self.w: C = None
        self.u: B = None
        self.o: A = None
        self.txt = txt

n = A("n")
f = B("f")
l = C("l")
d = C("d")
j = B("j")
h = B("h")
g = B("g")
e = C("e")
b = A("b")

n.q = b
n.x = b
n.y = b
f.p = b
f.q = n
f.v = l
l.w = e
l.u = g
l.o = n
d.w = e
d.u = j
d.o = n
j.p = b
j.q = n
j.v = l
h.p = b
h.q = b
h.v = d
g.p = b
g.q = b
g.v = e
e.w = d
e.u = g
e.o = b
b.q = n
b.x = n
b.y = n
assert n.x.y.x.y.y.x.y.q.txt == "n"