%cython
def fernleaf(n):
cdef float t
GG=[]
LL=[[0,0]]
for m in xrange(n):
t=random()
if t<(.01):
g=[0,.16*LL[m][1]]
elif ((.01)<=t) & (t<(.86)):
g=[0.85*LL[m][0]+0.04*LL[m][1], -0.04*LL[m][0]+0.85*LL[m][1]+1.6]
elif (.86<=t) & (t<.93):
g=[0.2*LL[m][0]-0.26*LL[m][1], 0.23*LL[m][0]+0.22*LL[m][1]+1.6]
else:
g=[-0.15*LL[m][0]+0.28*LL[m][1], 0.26*LL[m][0]+0.24*LL[m][1]+0.44]
LL.append(g)
return LL