  If a (cusped) surface S admits an ideal triangulation T with no shears, we
show an efficient algorithm to give S as a quotient of hypebolic plane by a
subgroup of PSL(2, Z). The algorithm runs in time O(n log n), where n is the
number of triangles in the triangulation T. The algorithm generalizes to
producing fundamental groups of general surfaces and geometric manifolds of
higher dimension.
