def dembelle_curves():
F = NumberField(x**2 - x - 1, 'w')
w = F.gen()
v = [
[ w + 1, -w - 1, w, -2, -w + 1 ],
[ 0, w - 1, w + 1, 0, -w ],
[ 0, -w + 1, 1, 1, 0 ],
[ w + 1, -1, 0, -2*w - 1, 0 ],
[ w, w + 1, 0, w + 1, 0 ],
[ w, w + 1, w + 1, 2*w - 2, -w + 1 ],
[ w + 1, w - 1, 0, 2, w - 1 ],
[ w, w - 1, 1, 0, 0 ],
[ 0, 1, 1, -2*w - 1, 2*w + 1 ],
[ 1, -1, w + 1, -w - 2, -w - 1 ],
[ 1, -w, w, w - 2, -w + 1 ],
[ 1, -w, w, -w, 0 ],
[ w + 1, -1, w, -2*w - 1, 0 ],
[ w, -w - 1, 1, 0, 0 ],
[ w + 1, 0, w, -w - 2, w - 2 ],
[ 1, w - 1, w, -1, -w + 1 ],
[ 1, w, w, 0, 0 ],
[ 1, -1, 1, -1, 0 ],
[ 0, -w - 1, w + 1, 0, 0 ],
[ 0, 0, w, -w - 1, 0 ],
[ 0, 1, w + 1, 2*w - 3, -2*w + 1 ],
[ 1, -w, 1, 0, 0 ],
[ 1, -w - 1, w + 1, 0, -w ],
[ w + 1, w + 1, w + 1, 3*w + 1, 3*w + 2 ],
[ 1, w - 1, 1, -w, 0 ],
[ w, 1, w + 1, -2, -w ],
[ 0, w, w + 1, w - 1, -w ],
[ w + 1, -w, w + 1, -2*w - 1, 0 ],
[ 0, w + 1, w + 1, 2*w + 1, 0 ],
[ 0, -w, w, w - 1, -w + 1 ],
[ 1, -w - 1, w, w - 1, -1 ],
[ w + 1, w - 1, w + 1, -w - 1, -w ],
[ w + 1, w + 1, 0, 2*w + 1, 0 ],
[ w, -w + 1, w, -2*w + 2, -w + 1 ],
[ w, w, 0, w, -w + 2 ],
[ 0, 1, w, w + 1, 0 ],
[ 1, -w - 1, 1, -w - 1, 2*w + 1 ],
[ 0, -w - 1, w, -2, -1 ],
[ 1, 0, w + 1, -1, -w ],
[ 1, w - 1, w, -w + 1, -w + 1 ],
[ 0, w + 1, w + 1, 1, -w ],
[ w, w - 1, 0, -2*w - 2, w + 2 ],
[ w + 1, 1, 1, -w - 2, 0 ],
[ w, -w + 1, 0, -w, 0 ],
[ 1, w, 0, -2*w - 2, w + 1 ],
[ w + 1, 1, 0, -2*w - 1, 0 ],
[ 1, 0, w + 1, -w - 1, 0 ],
[ w + 1, -1, 0, -2*w, w ],
[ w, w, w + 1, w - 2, -2*w + 2 ],
[ 0, w + 1, w + 1, -2*w - 1, 0 ],
[ w + 1, 0, w + 1, -3*w - 2, 0 ],
[ w + 1, w + 1, 1, 2*w + 1, w ],
[ 1, w, 1, -w - 1, 2*w - 3 ],
[ w, 1, w, -3*w - 3, 2*w ],
[ w, -w - 1, w + 1, -1, -w ],
[ w + 1, -w - 1, w + 1, -2*w - 2, 0 ],
[ 0, w - 1, w + 1, -w + 1, -w ],
[ 1, -w - 1, 1, w, 2*w + 1 ],
[ w + 1, -1, w, -w - 1, -1 ],
[ 1, w - 1, 1, -3*w - 2, 2*w + 1 ],
[ w, -1, w, 3*w + 2, -3*w - 2 ],
[ 0, w + 1, w + 1, w - 1, -w ],
[ w + 1, 0, 1, -w - 2, -2*w - 2 ],
[ 0, w + 1, 1, 2*w + 1, 2*w + 1 ],
[ w, 0, 1, -3*w + 3, 0 ],
[ 1, w - 1, 0, -3*w - 1, 2*w + 1 ],
[ 0, -w, 1, 2*w - 2, -w + 1 ],
[ 1, 1, w, -2*w + 2, -w + 1 ],
[ w + 1, -w + 1, 0, 2*w - 3, 0 ],
[ 1, -w + 1, w, -w + 1, -w + 1 ],
[ 1, 0, w, -w, -1 ],
[ w + 1, w - 1, 0, w, 0 ],
[ 0, 0, 1, -3*w - 2, 2*w + 1 ],
[ 0, 1, 1, -3, 1 ],
[ 0, -w + 1, 1, -w + 1, 0 ],
[ w + 1, w, w + 1, w - 3, -3 ],
[ w, -w, 1, 3*w + 1, -3*w - 3 ],
[ 0, -1, w + 1, w, -w ],
[ 0, -1, w + 1, -3*w - 1, 2*w + 3 ],
[ w + 1, 0, w + 1, -2*w - 1, -w ],
[ w + 1, -1, 1, -3*w - 2, 2*w + 1 ],
[ w + 1, w - 1, 0, -3*w - 1, -3*w - 2 ],
[ w, 1, 1, -2*w + 1, 0 ],
[ 1, -1, 1, -3*w - 3, -2*w - 1 ],
[ 1, -w + 1, 0, -w, 0 ],
[ w, w, w + 1, 0, -1 ],
[ 1, w - 1, 1, -1, -w ],
[ 0, -w + 1, 1, w - 2, 0 ],
[ 0, -w + 1, 1, -3*w + 1, w + 2 ],
[ 0, 1, 1, 0, 0 ],
[ 1, w, w + 1, -w + 1, -w ],
[ 1, 1, 0, w - 1, 0 ],
[ 0, w + 1, w, w, -w - 1 ],
[ 0, 0, 1, w - 3, -w + 2 ],
[ w + 1, w + 1, 0, 3*w + 2, 2*w + 1 ],
[ w + 1, -1, w + 1, -2*w - 2, -2*w ],
[ w + 1, w, 0, 2*w - 2, -3*w + 2 ],
[ w, -w + 1, w + 1, -w - 1, 0 ],
[ 1, w, 1, -2, 0 ],
[ 0, -1, w + 1, 0, 0 ],
[ 0, w, 1, -3*w - 2, -3*w - 2 ],
[ 1, -w, w, -w - 1, 0 ],
[ w + 1, w - 1, w + 1, -2*w, -w - 1 ],
[ 0, w + 1, 1, w, w - 2 ],
[ w + 1, w + 1, w, -3, -w + 1 ],
[ 1, -w + 1, w, -w, 0 ],
[ w + 1, -w, 0, -2*w - 1, 0 ],
[ 0, w + 1, w + 1, 0, 0 ],
[ w + 1, -w + 1, w + 1, w + 1, 0 ],
[ 1, w - 1, w + 1, -w, -2 ],
[ w, 0, 0, w - 3, -w + 2 ],
[ w + 1, -w, w, -3*w, 1 ],
[ 1, -w - 1, 0, 2*w, -w ],
[ w, -w + 1, w, -w - 1, -1 ],
[ w, -w, 1, -w + 1, 0 ],
[ w + 1, w - 1, 1, 2*w - 1, 3 ],
[ w + 1, -w - 1, w, -2*w - 2, w + 1 ],
[ 1, w + 1, w, 2*w - 2, -3*w ],
[ 0, -w, w, -2, w + 1 ],
[ 0, 0, w + 1, -2*w + 1, -3 ],
[ w + 1, -w - 1, w + 1, -2*w - 1, 0 ],
[ 1, -w + 1, 1, -3*w - 1, 2*w + 2 ],
[ 1, -w, w + 1, -w - 2, -2*w - 1 ],
[ 0, -w + 1, w, -w + 2, -w + 1 ],
[ 1, -w - 1, 0, -w + 3, -2*w + 3 ],
[ w + 1, -w, w + 1, -3*w - 2, -2*w - 1 ],
[ 1, -1, 1, w - 2, -w + 1 ],
[ w + 1, w + 1, 0, 2*w + 1, -1 ],
[ w, -w + 1, w + 1, -3*w + 1, -w - 1 ],
[ w + 1, 1, 1, -w, 0 ],
[ w, -1, 0, -w, 0 ],
[ w, 1, w, -1, 0 ],
[ w, 0, 1, -3*w - 2, -w - 1 ],
[ w, -w - 1, 1, w + 1, 2*w + 1 ],
[ 1, -1, 0, -3*w - 2, 3*w + 2 ],
[ w, 1, 0, -w, 0 ],
[ 0, w, 1, -w, -w - 1 ],
[ 1, w - 1, 1, -2, -w ],
[ w, 0, 1, -w - 1, 0 ],
[ 0, w + 1, w, -w + 1, -w + 1 ],
[ w, -w, 1, -2*w - 2, 0 ],
[ w, 1, w, -w, -w ],
[ 1, -w + 1, 1, 0, w ],
[ 1, -1, 0, w - 2, -w + 2 ],
[ w, -w + 1, 1, -2*w, 0 ],
[ w, w - 1, 0, 2*w - 3, 0 ],
[ w + 1, 1, w, w - 3, -w + 1 ],
[ w, 1, 0, w - 3, 2*w - 3 ],
[ w, 0, 0, w - 1, 0 ],
[ 1, -w, 1, -2*w - 2, 2*w + 1 ],
[ w + 1, -w + 1, w + 1, -3*w, w - 3 ],
[ w, 1, 0, w, 0 ],
[ w, w - 1, w, -2, -w ],
[ w, 0, 1, w - 3, -w + 2 ],
[ w, -w, w + 1, 3*w + 1, -2*w - 2 ],
[ w + 1, 1, w + 1, w + 1, 0 ],
[ w, -w + 1, 1, -w + 1, -2*w + 3 ],
[ w + 1, w + 1, 1, w + 3, 2*w - 1 ],
[ 1, w - 1, w + 1, -w, -w ],
[ 1, w, 0, 2*w + 1, 0 ],
[ 1, -1, 0, -2*w - 3, 3*w + 3 ],
[ w + 1, -1, 1, 2*w - 3, -w - 3 ],
[ w, -1, w + 1, -2*w - 1, -w - 1 ],
[ 0, -1, w, 2*w - 3, -w + 1 ],
[ w + 1, -1, w + 1, -w - 2, -2*w ],
[ 1, 0, 1, -w, 0 ],
[ w + 1, -w, 0, 2*w - 3, 0 ],
[ w, w - 1, w + 1, -2*w - 1, -2*w - 1 ],
[ w, w + 1, w, -2, -w + 1 ],
[ w, -w, 0, w, 0 ],
[ 1, -w - 1, 1, -1, 0 ],
[ w, w, w, 1, 0 ],
[ w + 1, -w - 1, w, -2*w - 1, 0 ],
[ 1, 0, 0, -w - 1, 0 ],
[ w, 0, 1, -1, 0 ],
[ w, -1, 0, -2*w + 3, 0 ],
[ 0, -w - 1, w, 3*w + 2, -3*w - 2 ],
[ w, w, w, w - 2, -w + 1 ],
[ 0, 1, 1, -w + 2, -2*w + 3 ],
[ w + 1, -1, w, -w - 1, -w + 1 ],
[ 0, -w + 1, w, -2*w, w + 1 ],
[ 1, w, w + 1, 2*w - 1, w + 2 ],
[ w + 1, w + 1, w, w, -w - 1 ],
[ w, -w - 1, 0, -2*w - 1, 0 ],
[ w + 1, w + 1, 1, 2*w, 0 ],
[ w, w + 1, 1, 2*w - 1, 1 ],
[ 1, w, w + 1, -2*w - 1, -3*w - 2 ],
[ w + 1, w - 1, 0, -2*w - 3, 3 ],
[ w, 0, 0, -w + 1, 0 ],
[ w + 1, 0, 0, 1, 2*w - 3 ],
[ 1, 1, 1, w - 1, w - 1 ],
[ 1, -w, w + 1, -3*w - 2, 3*w + 2 ],
[ 0, -1, w + 1, w - 3, -2*w + 3 ],
[ w + 1, 1, 0, -w, 0 ],
[ w, -w - 1, w + 1, -2*w - 2, -w - 1 ],
[ 0, -1, 1, w - 1, w - 2 ],
[ 0, w, w, -1, -w ]
]
return [EllipticCurve(F, a) for a in v]