import matplotlib.pyplot as plt
import numpy as np
def draw_tree(x, y, angle, length, depth):
if depth == 0:
return
x_end = x + length * np.cos(angle)
y_end = y + length * np.sin(angle)
plt.plot([x, x_end], [y, y_end], color='black', lw=1)
draw_tree(x_end, y_end, angle + np.pi/6, length * 0.7, depth - 1)
draw_tree(x_end, y_end, angle - np.pi/6, length * 0.7, depth - 1)
plt.figure(figsize=(6, 6))
plt.axis('off')
plt.axis('equal')
draw_tree(0, 0, np.pi/2, 1, 8)
plt.show()
aW1wb3J0IG1hdHBsb3RsaWIucHlwbG90IGFzIHBsdAppbXBvcnQgbnVtcHkgYXMgbnAKCmRlZiBkcmF3X3RyZWUoeCwgeSwgYW5nbGUsIGxlbmd0aCwgZGVwdGgpOgogICAgaWYgZGVwdGggPT0gMDoKICAgICAgICByZXR1cm4KCiAgICB4X2VuZCA9IHggKyBsZW5ndGggKiBucC5jb3MoYW5nbGUpCiAgICB5X2VuZCA9IHkgKyBsZW5ndGggKiBucC5zaW4oYW5nbGUpCgogICAgcGx0LnBsb3QoW3gsIHhfZW5kXSwgW3ksIHlfZW5kXSwgY29sb3I9J2JsYWNrJywgbHc9MSkKCiAgICBkcmF3X3RyZWUoeF9lbmQsIHlfZW5kLCBhbmdsZSArIG5wLnBpLzYsIGxlbmd0aCAqIDAuNywgZGVwdGggLSAxKQogICAgZHJhd190cmVlKHhfZW5kLCB5X2VuZCwgYW5nbGUgLSBucC5waS82LCBsZW5ndGggKiAwLjcsIGRlcHRoIC0gMSkKCnBsdC5maWd1cmUoZmlnc2l6ZT0oNiwgNikpCnBsdC5heGlzKCdvZmYnKQpwbHQuYXhpcygnZXF1YWwnKQoKZHJhd190cmVlKDAsIDAsIG5wLnBpLzIsIDEsIDgpCgpwbHQuc2hvdygp