# EA-integer.py
#
# Universal* font described by Eric Angelini on SeqFan list.
# Construction universality* demonstrated by Dean Hickerson.
# 
# It is possible to choose integers in this font that stabilize
# into (almost*) any Life pattern known to be glider-constructible.
#
# * Possible exceptions to universality involve a very small
# percentage of glider constructions -- in particular,
# constructions that require large numbers of very closely spaced 
# gliders.  It is an open question whether glider-constructible
# objects exist that _require_ very closely spaced gliders.
# No such objects are currently known.

from glife.text import *

rule()

i = getstring("Integer to display (default is 740-digit p30 gun predecessor): ")
if len(i) == 0:
   i="""
411-31041653546-11-31041653546-1144444444444444444444444444444
31041653546-11-31041653546-11444444444444444-31041653546-11
31041653546-11444444444444444444-31041653546-11-31041653546
111444444444444-15073-114444-5473-11444444444-2474640508-444444
2474640508-444444444444444444444-2474640508-444444-2474640508-4444
2474640508-444444-2474640508-4444444444444444444444-2474640508
444444-2474640508-414-7297575-114-9471155613-414444444444
31041653546-11-2534474376-1-9471155613-414444444444-31041653546-114
7297575-114-9471155613-414444444444-31041653546-114-7297575-118
9471155613-414444444444-31041653546-18-6703-1444-107579-1114444
2474640508-51-947742-414444444441-947742-414444444444-2474640508
51-947742-414444444441-947742-41444-2474640508-51-947742-414
2474640508-414444444444444-2474640508-51-947742-414444444441
947742-414"""
elif not validint(i):
   golly.error('Sorry, but "' + i + '" is not a valid integer.')
all = make_text (i, "EAlvetica")

if len(i)<100:
   all.display (i)
else:
   all.display (i[:100] +  "...")