This is the code that searches for concordance friends of knots.
import regina
import snappy
import time
import itertools
import csv
import pickle
import random
from IPython.display import display, clear_output #used as in-calculation feedback
###### CODE TO ATTACH RIBBON BANDS #######
import snappy
import itertools
#Methods to manipulate knot diagrams
def number_of_strands(PD_code):
'''
Returns the number of strands in a diagram.
'''
X=[]
for cros in PD_code:
X=X+[x for x in cros]
return max(X)+1
def get_next_strand(PD_code,strand,crossing):
'''
Returns the number of the next strand and its next crossing.
'''
PD=PD_code.copy()
PD.remove(crossing)
for cros in PD:
for i in range(4):
if cros[i]==strand:
if i==0:
y=cros[2]
if i==1:
y=cros[3]
if i==2:
y=cros[0]
if i==3:
y=cros[1]
return [y,cros]
def replace_one_strand_in_crossing(PD_code,cros,old_strand,new_strand):
'''
Replaces first occurance of old_strand by new_strand in the crossing.
'''
for i in range(4):
if cros[i]==old_strand:
if i==0:
new_cros=(new_strand,cros[1],cros[2],cros[3])
if i==1:
new_cros=(cros[0],new_strand,cros[2],cros[3])
if i==2:
new_cros=(cros[0],cros[1],new_strand,cros[3])
if i==3:
new_cros=(cros[0],cros[1],cros[2],new_strand)
PD_code.remove(cros)
PD_code.append(new_cros)
return PD_code
def change_crossing(PD_code,crossing):
'''
Changes the crossing.
'''
(a,b,c,d)=crossing
PD_code.remove(crossing)
PD_code.append((d,a,b,c))
return PD_code
def strands_in_same_region(PD,strand1,strand2):
'''Returns True if strand1 and strand2 are in the boundary of the same region of the diagram and False if not.
We also return a pair of crossings that lie on the same 'side' of the strands 1 and 2, so that we can attach bands.
WARNING: Might not work if Reidemeister 1 simplifications are posible.'''
for crossing in PD:
if strand1 in crossing:
break
#crossing contains strand1
m=number_of_strands(PD)
#Next we run through the knot and always turn to the left and check if we get strand2
cros=crossing
strand=strand1
for i in range(m):
cros=get_next_strand(PD,strand,cros)[1]
if strand2==cros[(cros.index(strand)+1)%4]:
return [True,get_next_strand(PD,strand1,crossing)[1],cros]
strand=cros[(cros.index(strand)+1)%4]
if cros==crossing:
break
#Next we run through the knot and always turn to the right and check if we get strand2
cros=crossing
strand=strand1
for i in range(m):
cros=get_next_strand(PD,strand,cros)[1]
if strand2==cros[(cros.index(strand)-1)%4]:
return [True,get_next_strand(PD,strand1,crossing)[1],cros]
strand=cros[(cros.index(strand)-1)%4]
if cros==crossing:
break
return [False,False,False]
#Attach a ribbon band.
def attach_ribbon_band(PD_code,strand1,strand2,twists=0):
'''Attach a ribbon band between strand1 and strand2 with the specified number of twists.
Remark: Get the mirror by interchanging the strands.'''
PD=PD_code.copy()
[test,cros1,cros2]=strands_in_same_region(PD,strand1,strand2)
if test==False:
raise ValueError('The strands do not lie in the same region.')
m=number_of_strands(PD)
if cros1!=cros2:
PD=replace_one_strand_in_crossing(PD,cros1,strand1,m+1)
PD=replace_one_strand_in_crossing(PD,cros2,strand2,m+7)
if cros1==cros2:
PD=replace_one_strand_in_crossing(PD,cros1,strand1,m+1)
cros2=PD[-1]
PD=replace_one_strand_in_crossing(PD,cros2,strand2,m+7)
PD.append((strand1,m+10,m+6,m+11))
PD.append((m+11,m+6,m+12,m+5))
PD.append((m+1,m+9,m+2,m+10))
PD.append((m+9,m+3,m+8,m+2))
PD.append((m+5,m+12,m+4,strand2))
PD.append((m+3,m+7,m+4,m+8))
try:
snappy.Link(PD)
if twists>0:
PD=PD[:-2]
PD.append((m+5,m+12,m+4,m+2*twists+11))
PD.append((m+3,m+2*twists+12,m+4,m+8))
PD.append((strand2,m+13,m+14,m+7))
for i in range(twists-1):
PD.append((m+13+2*i,m+13+2*i+2,m+13+2*i+3,m+13+2*i+1))
if twists<0:
twists=-twists
PD=PD[:-2]
PD.append((m+5,m+12,m+4,m+2*twists+11))
PD.append((m+3,m+2*twists+12,m+4,m+8))
PD.append((strand2,m+13,m+14,m+7))
for i in range(twists-1):
PD.append((m+13+2*i,m+13+2*i+2,m+13+2*i+3,m+13+2*i+1))
for i in range(1,twists):
PD=change_crossing(PD,PD[-i])
except ValueError:
PD=PD_code.copy()
PD=replace_one_strand_in_crossing(PD,cros1,strand1,m+1)
PD=replace_one_strand_in_crossing(PD,cros2,strand2,m+7)
PD.append((m+1,m+10,m+6,m+11))
PD.append((m+11,m+6,m+12,m+5))
PD.append((strand1,m+9,m+2,m+10))
PD.append((m+9,m+3,m+8,m+2))
PD.append((m+3,strand2,m+4,m+8))
PD.append((m+5,m+12,m+4,m+7))
if twists>0:
PD=PD[:-2]
PD.append((m+5,m+12,m+4,m+2*twists+11))
PD.append((m+3,m+2*twists+12,m+4,m+8))
PD.append((m+13,m+14,strand2,m+7))
for i in range(twists-1):
PD.append((m+13+2*i,m+13+2*i+2,m+13+2*i+3,m+13+2*i+1))
if twists<0:
twists=-twists
PD=PD[:-2]
PD.append((m+5,m+12,m+4,m+2*twists+11))
PD.append((m+3,m+2*twists+12,m+4,m+8))
PD.append((m+7,m+13,m+14,strand2))
for i in range(twists-1):
PD.append((m+13+2*i,m+13+2*i+2,m+13+2*i+3,m+13+2*i+1))
for i in range(1,twists):
PD=change_crossing(PD,PD[-i])
return PD
#The code that creates concordant diagrams.
def concordance_search(PD_code,max_twists=5,bound=False,number_of_tries=100,verbose=False):
'''Takes as input a diagram with no Reidemeister 1 simplification.
Returns all possible diagrams obtained by attaching ribbon bands with at most 5 (or any other specified number)
of twists.
If the flag bound is set then only a fixed number of random diagrams gets created.'''
if bound==False:
PD=PD_code.copy()
m=number_of_strands(PD)
pairs = list(itertools.product(list(range(m)),list(range(m))))
concordant_knots=[]
for (a,b) in pairs:
if a!=b:
for T in range(-max_twists,max_twists+1):
try:
concordant_knots.append([attach_ribbon_band(PD,a,b,twists=T),a,b,T])
except ValueError:
pass
return concordant_knots
if bound:
PD=PD_code.copy()
m=number_of_strands(PD)
concordant_knots=[]
for i in range(number_of_tries):
a=random.randint(0,m-1)
b=random.randint(0,m-1)
if a!=b:
for T in range(-max_twists,max_twists+1):
try:
concordant_knots.append([attach_ribbon_band(PD,a,b,twists=T),a,b,T])
except ValueError:
pass
return concordant_knots
####### SEARCH FOR FRIENDS #######
# Imports
import snappy
import regina
import csv
import sys
from IPython.display import display, clear_output #used as in-calculation feedback
# for timing
import time
# for exponential function
import math
# for random choices
import random
#### Snappy extensions #####
def all_positive(manifold):
'''
Checks if the solution type of a triangulation is positive.
'''
return manifold.solution_type() == 'all tetrahedra positively oriented'
def find_positive_triangulations(manifold,number=1,tries=100):
'''
Searches for one triangulation with a positive solution type.
(Or if number is set to a different value also for different such triangulations.)
'''
M = manifold.copy()
pos_triangulations=[]
for i in range(tries):
if all_positive(M):
pos_triangulations.append(M)
if len(pos_triangulations)==number:
return pos_triangulations
break
M.randomize()
for d in M.dual_curves(max_segments=500):
try:
X = M.drill(d)
X = X.filled_triangulation()
X.dehn_fill((1,0),-1)
for i in range(tries):
if all_positive(X):
pos_triangulations.append(X)
if len(pos_triangulations)==number:
return pos_triangulations
break
X.randomize()
except (snappy.SnapPeaFatalError,RuntimeError):
pass
# In the closed case, here is another trick.
if all(not c for c in M.cusp_info('is_complete')):
for i in range(tries):
# Drills out a random edge
X = M.__class__(M.filled_triangulation())
if all_positive(X):
pos_triangulations.append(X)
if len(pos_triangulations)==number:
return pos_triangulations
break
M.randomize()
return pos_triangulations
def better_is_isometric_to(X,Y,index=50,try_hard=False):
"""
Returns True if X and Y are isometric.
Returns False if X and Y appear to be different.
"""
for i in (0,index):
w=False
try:
w=X.is_isometric_to(Y)
if w==True:
return w
except (RuntimeError,snappy.SnapPeaFatalError):
pass
X.randomize()
Y.randomize()
if try_hard:
pos_triang_X=find_positive_triangulations(X,number=1,tries=index)
pos_triang_Y=find_positive_triangulations(Y,number=1,tries=index)
for X in pos_triang_X:
for Y in pos_triang_Y:
w=better_is_isometric_to(X,Y,index=100,try_hard=False)
if w==True:
return w
return w
# Checking for knot complements
def is_homology_solid_torus(manifold):
'''
Checks if the input manifold has homology Z.
'''
M=snappy.Manifold(manifold)
if M.homology().coefficients!=[0]:
return False
return True
def is_knot_complement(manifold,index=2):
'''
Checks the short fillings to be S3.
'''
assert manifold.num_cusps() == 1
if manifold.homology().elementary_divisors() != [0]:
return False
try:
slopes = manifold.short_slopes(3.5)[0]
except RuntimeError:
slopes = []
(a, b) = manifold.homological_longitude()
slopes = [s for s in slopes if abs(a*s[1] - b*s[0]) == 1]
for s in slopes:
M = snappy.Triangulation(manifold)
M.dehn_fill(s)
if is_three_sphere(M,tries=index):
return True
return False
def is_three_sphere(manifold,tries=2):
"""
True means the manifold is definitely S^3.
False means it is *likely* not S^3.
"""
T = manifold
order = T.homology().order()
if order == 'infinite' or order > 1:
return False
G = snappy.Manifold(T)
if G.solution_type(enum=True) == 1:
return False
for i in range(tries):
if T.fundamental_group().num_generators() == 0:
return True
F = T.filled_triangulation()
if F.fundamental_group().num_generators() == 0:
return True
T.randomize()
return False
def better_length_spectrum(manifold,max_length=5.0,index=10,high_precision=False):
'''Computes the length spectrum of the input manifold up to the given max_length.
Index gives the number of tries and high_precision increases the precision.'''
M=snappy.Manifold(manifold)
if high_precision:
M=M.high_precision()
for i in range(index):
try:
return M.length_spectrum(cutoff=max_length,include_words=True)
except RuntimeError:
M.randomize()
return False
#regina functions
def to_regina(data):
'''
This function was written by Dunfield.
It sends a SnapPy triangulation to regina.
'''
if hasattr(data, '_to_string'):
data = data._to_string()
if isinstance(data, str):
if data.find('(') > -1:
data = closed_isosigs(data)[0]
return regina.Triangulation3(data)
assert isinstance(data, regina.Triangulation3)
return data
def display_check(sig, tri):
iso_signatures.append(sig)
if len(iso_signatures)>maximum:
return True
#It stops if we have too many signatures
return False
def drill_edges(T,index=0,verbose=False,cores=1,max_submanifolds=100,max_triangulations=10,randomized=False):
'''
Takes as input a regina triangulation and drills out edges and returns a list of its signatures.
'''
global iso_signatures
iso_signatures=[]
global maximum
maximum=max_triangulations
if index < 0:
ctr=0
while len(iso_signatures) < (-1)*index and ctr < 1000:
ctr+=1
T = randomise(T, 100, 2/T.size())
if not T.isoSig() in iso_signatures:
iso_signatures.append(T.isoSig())
else:
T.retriangulate(index,cores,display_check)
if verbose:
print('Found',len(iso_signatures),'triangulations')
drilled=[]
if randomized==False:
for sig in iso_signatures:
Y=regina.Triangulation3(sig)
for e in range(Y.edges().size()):
X=regina.Triangulation3(sig)
X.pinchEdge(X.edge(e))
if X.homology().isZ():
X.intelligentSimplify()
drilled.append(X.isoSig())
if len(drilled)>max_submanifolds:
if verbose:
print('Number of submanifolds found:',len(drilled))
return drilled
if randomized==True:
l=len(iso_signatures)
for i in range(max_submanifolds):
sig=iso_signatures[random.randint(0,l-1)]
Y=regina.Triangulation3(sig)
for e in range(Y.edges().size()):
X=regina.Triangulation3(sig)
X.pinchEdge(X.edge(e))
if X.homology().isZ():
X.intelligentSimplify()
drilled.append(X.isoSig())
if len(drilled)>max_submanifolds:
if verbose:
print('Number of submanifolds found:',len(drilled))
return drilled
if verbose:
print('Number of submanifolds found:',len(drilled))
return drilled
#####################################################################
#####################################################################
# functions for random walk
#####################################################################
#####################################################################
def choosemove(T, beta):
x = random.random()
if x < math.exp((-1)*beta*T.size()):
a = 1
else:
a = 2
# setup done
# go up (2-3)
# most triangles correspond to a valid move, no need to classify
if a == 1:
tri = random.choice(range(T.countTriangles()))
if T.pachner(T.triangle(tri),True,False):
S = regina.Triangulation3(T)
S.pachner(S.triangle(tri),False,True)
return S
# go down
elif a == 2:
# get all possible 3-2 moves
valid = []
for e in range(T.countEdges()):
if T.pachner(T.edge(e),True,False):
valid.append(e)
if valid != []:
S = regina.Triangulation3(T)
S.pachner(S.edge(random.choice(valid)),False,True)
return S
# nothing worked
return T
def randomise(T, steps, beta):
# initialise number of steps
st = 0
while st < steps:
st += 1
T = choosemove(T,beta)
return T
#####################################################################
#####################################################################
# end functions for random walk
#####################################################################
#####################################################################
def search_for_friend(knot,effort='low',max_number_of_friends=1,Regina=True,SnapPy_dual_curves=True,SnapPy_length_spectrum=True,MCMC=True,verbose=False):
'''
This functions takes as input a triangulation of the exterior of a knot K and searchs for friends of K.
(If it is not a knot exterior it still searchs for a knot F on S3 such that 0-surgery on F yields the
homological filling on K.)
Method:
First we create the 0-surgery K(0,1) of K.
Then we create a list of knot complements in K(0,1). We use the 6-theorem to check if that knot complement
has a filling to S3 and thus represents a knot F in S3. If that knot appears to not be isometric to K,
we return F.
WARNING: It is then not rigoursly proven that F and K are different. But that will usually be the case.
It needs to be double-checked for example using the volume or another knot invariant.
There are three options to create the list of knot complements in K(0,1).
(1) SnapPy_dual_curves=True:
This drills out dual curves of a triangulation of K(0,1)
(which only works if the triangulation yields a hyperbolic structure).
(2) SnapPy_length_spectrum=True:
Uses the verified length spectrum computation of K(0,1) and drills out short geodesics from K(0,1).
(3) Regina=True:
This creates a one-vertex triangulation of K(0,1) in regina and then drills out edges of that triangulation. Uses
Regina retriangulate function to go through Pachner graph in breadth first search
(4) MCMC=True:
Same as (3), but the next triangulation is found by a random walk rather than by breadth first search in the Pachner
graph (as done by "retriangulate").
If Regina is not installed put regina=False. In general it is recommended to use all three methods, since there
exist friends that can only be found effectively with one of the methods.
Options:
We can put effort='low','medium', 'high' to choose pre-chosen values of parameters to search for friends.
Or one can put effort=None and choose the parameters freely. See the documentation in the code for that.
The other options affect the runtime and efficiency of the code:
--
How fast the code will run depends of course heavily on the input triangulation.
The default options are choosen for maximal efficiency. But if one wants to search harder for friends one
should increase the parameters. The following options have turned out to run reasonable fast and find
most friends on reasonable small examples.
'''
#We have the following parameters:
#General:
random=True #If true chooses random dual_curves, geodesics, edges to drill.
random_upper_bound=100 #Number of random elements that we drill.
exterior_index=2 #Number of tries to check if a drilled out object is a knot complement.
try_hard=False #If True it searches very hard for an isometry of a potential friend to K.
isometry_index=5 #Number of tries to check if two manifolds are isometric
#For drilling dual curves:
max_segments=100 #Maximal number of segements in dual curves.
upper_bound_dual_curves=2000 #An upper bound on the number of dual curves that we check.
#For drilling geodesics
max_length=5.0 #maximal length of a geodesic in the length spectrum.
high_precision=False #If true uses high precision to compute the length spectrum.
recursion_limit=50000 #The recursion limit for drilling out geodesics.
upper_bound_geodesics=2000 #Upper bound on the number of geodesics we check
#For drilling edges with regina:
regina_simplify=False #Simplifies the input triangulation if set to True
regina_retriangulate_index=2 #The maximal difference of the number of simplices of a triangulation from the input triangulation.
regina_cores_used=1 #If this number gets increased regina uses more cores and the code runs quicker but might also crush your computer.
max_regina_submanifolds=5000 #The maximal number of submanifolds that regina creates.
maximal_number_of_Pachner_moves=250 #The maximal number of Pachner moves regina performs to create more triangulations.
if effort=='low':
random=False
random_upper_bound=100
exterior_index=1
try_hard=False
isometry_index=1
max_segments=6
upper_bound_dual_curves=15
max_length=1.0
high_precision=False
recursion_limit=10000
upper_bound_geodesics=15
regina_simplify=True
regina_retriangulate_index=0
regina_cores_used=1
max_regina_submanifolds=50
maximal_number_of_Pachner_moves=10
rounds = 10
if effort=='medium':
random=False
random_upper_bound=100
exterior_index=2
try_hard=False
isometry_index=2
max_segments=25
upper_bound_dual_curves=100
max_length=3.0
high_precision=False
recursion_limit=40000
upper_bound_geodesics=100
regina_simplify=True
regina_retriangulate_index=0
regina_cores_used=1
max_regina_submanifolds=100
maximal_number_of_Pachner_moves=10
rounds = 30
if effort=='high':
random=False
random_upper_bound=100
exterior_index=2
try_hard=False
isometry_index=2
max_segments=50
upper_bound_dual_curves=250
max_length=4.0
high_precision=False
recursion_limit=50000
upper_bound_geodesics=250
regina_simplify=True
regina_retriangulate_index=2
regina_cores_used=1
max_regina_submanifolds=5000
maximal_number_of_Pachner_moves=100
rounds = 1000
if verbose:
print('We have choosen the following parameters to search for friends:')
print('random',random)
print('random_upper_bound',random_upper_bound)
print('exterior_index',exterior_index)
print('try_hard',try_hard)
print('isometry_index',isometry_index)
print('max_segments',max_segments)
print('upper_bound_dual_curves',upper_bound_dual_curves)
print('max_length',max_length)
print('high_precision',high_precision)
print('recursion_limit',recursion_limit)
print('upper_bound_geodesics',upper_bound_geodesics)
print('regina_simplify',regina_simplify)
print('regina_retriangulate_index',regina_retriangulate_index)
print('regina_cores_used',regina_cores_used)
print('max_regina_submanifolds',max_regina_submanifolds)
print('maximal_number_of_Pachner_moves',maximal_number_of_Pachner_moves)
print('number of rounds for random walk',rounds)
print('--------------')
#M is the knot exterior and K the 0-filling
M=snappy.Manifold(knot)
K=snappy.Manifold(knot)
if is_homology_solid_torus(K)==False:
raise ValueError('The homology of K is not Z and thus it is not a knot in S3.')
K.dehn_fill(K.homological_longitude())
#Lists of possible knot exteriors and friends
possible_knot_exteriors=[]
friends=[]
##### SNAPPY DUAL CURVES ######
if SnapPy_dual_curves:
dual_curves=K.dual_curves(max_segments=max_segments)
if verbose:
print('--------------')
print('We check dual curves with SnapPy and search for a friend.')
print('Number of dual curves:',len(dual_curves))
if random==False:
if verbose:
print('We check all dual curves.')
for c in dual_curves:
try:
E=K.drill(c)
E=E.filled_triangulation()
if better_is_isometric_to(E,M,index=isometry_index)==False:
if is_homology_solid_torus(E)==True:
already_known=False
for X in possible_knot_exteriors:
if better_is_isometric_to(X,E,index=isometry_index):
already_known=True
break
if already_known==False:
if verbose:
print('We found a new potential knot exterior:',E)
possible_knot_exteriors.append(E)
if verbose:
print('Checking for knot complement:',E)
if is_knot_complement(E,index=exterior_index):
if better_is_isometric_to(E,M,try_hard=try_hard)==False:
already_known=False
for X in friends:
if better_is_isometric_to(X,E,index=isometry_index,try_hard=try_hard):
already_known=True
break
if already_known==False:
if verbose:
print('We found a friend:',E)
friends.append(E)
if len(friends)>max_number_of_friends-1:
if verbose:
print('Number of potential knot exteriors checked:',len(possible_knot_exteriors))
print('Number of friends found:',len(friends))
return friends, dual_curve.index(c)
if c.index>upper_bound_dual_curves:
break
except:
pass
if random==True:
if verbose:
print('We check a random collection of dual curves.')
for i in range(random_upper_bound):
try:
c=dual_curves[random.randint(0,len(dual_curves)-1)]
E=K.drill(c)
E=E.filled_triangulation()
if better_is_isometric_to(E,M,index=isometry_index)==False:
if is_homology_solid_torus(E)==True:
already_known=False
for X in possible_knot_exteriors:
if better_is_isometric_to(X,E,index=isometry_index):
already_known=True
break
if already_known==False:
if verbose:
print('We found a new potential knot exterior:',E)
possible_knot_exteriors.append(E)
if verbose:
print('Checking for knot complement:',E)
if is_knot_complement(E,index=exterior_index):
if better_is_isometric_to(E,M,try_hard=try_hard)==False:
already_known=False
for X in friends:
if better_is_isometric_to(X,E,index=isometry_index,try_hard=try_hard):
already_known=True
break
if already_known==False:
if verbose:
print('We found a friend:',E)
friends.append(E)
if len(friends)>max_number_of_friends-1:
if verbose:
print('Number of potential knot exteriors checked:',len(possible_knot_exteriors))
print('Number of friends found:',len(friends))
return friends
except:
pass
##### SNAPPY LENGTH SPECTRUM ######
if SnapPy_length_spectrum:
sys.setrecursionlimit(recursion_limit)
if verbose:
print('--------------')
print('We check short geodescis with SnapPy and search for a friend.')
# Compute the length spectrum
spec=better_length_spectrum(K,max_length=max_length,index=10,high_precision=False)
if spec==False:
if verbose:
print('We could not compute the length spectrum of the 0-surgery.')
else:
if verbose:
print('Number of geodesics in the length spectrum:',len(spec))
if random==False:
if verbose:
print('We check all geodesics.')
for c in spec:
try:
E=K.drill_word(c.word)
E=E.filled_triangulation()
if better_is_isometric_to(E,M,index=isometry_index)==False:
if is_homology_solid_torus(E)==True:
already_known=False
for X in possible_knot_exteriors:
if better_is_isometric_to(X,E,index=isometry_index):
already_known=True
break
if already_known==False:
possible_knot_exteriors.append(E)
if is_knot_complement(E,index=exterior_index):
if better_is_isometric_to(E,M,try_hard=try_hard)==False:
already_known=False
for X in friends:
if better_is_isometric_to(X,E,index=isometry_index,try_hard=try_hard):
already_known=True
break
if already_known==False:
if verbose:
print('We found a friend:',E)
friends.append(E)
if len(friends)>max_number_of_friends-1:
if verbose:
print('Number of potential knot exteriors checked:',len(possible_knot_exteriors))
print('Number of friends found:',len(friends))
return friends
except:
pass
if spec.index(c)>upper_bound_geodesics:
break
if random==True:
if verbose:
print('We check a random collection of geodesics.')
for i in range(random_upper_bound):
c=spec[random.randint(0,len(spec)-1)]
try:
E=K.drill_word(c.word)
E=E.filled_triangulation()
if better_is_isometric_to(E,M,index=isometry_index)==False:
if is_homology_solid_torus(E)==True:
already_known=False
for X in possible_knot_exteriors:
if better_is_isometric_to(X,E,index=isometry_index):
already_known=True
break
if already_known==False:
possible_knot_exteriors.append(E)
if is_knot_complement(E,index=exterior_index):
if better_is_isometric_to(E,M,try_hard=try_hard)==False:
already_known=False
for X in friends:
if better_is_isometric_to(X,E,index=isometry_index,try_hard=try_hard):
already_known=True
break
if already_known==False:
if verbose:
print('We found a friend:',E)
friends.append(E)
if len(friends)>max_number_of_friends-1:
if verbose:
print('Number of potential knot exteriors checked:',len(possible_knot_exteriors))
print('Number of friends found:',len(friends))
return friends
except:
pass
##### REGIN DRILL EDGES ######
if Regina:
if verbose:
print('--------------')
print('We drill out knots via Regina.')
T=to_regina(K.filled_triangulation())
if regina_simplify:
T.intelligentSimplify()
if random==False:
if verbose:
print('We check all edges.')
sigs=drill_edges(T,index=regina_retriangulate_index,cores=regina_cores_used,max_submanifolds=max_regina_submanifolds,max_triangulations=maximal_number_of_Pachner_moves)
if verbose:
print('Total number of submanifolds found via regina:',len(sigs))
if random==True:
if verbose:
print('We check random edges.')
sigs=drill_edges(T,index=regina_retriangulate_index,cores=regina_cores_used,max_submanifolds=max_regina_submanifolds,max_triangulations=maximal_number_of_Pachner_moves,randomized=True)
if verbose:
print('Total number of submanifolds found via regina:',len(sigs))
for sig in sigs:
try:
T=regina.Triangulation3(sig)
E=snappy.Manifold(T.snapPea())
if better_is_isometric_to(E,M,index=isometry_index)==False:
if is_homology_solid_torus(E)==True:
already_known=False
for X in possible_knot_exteriors:
if better_is_isometric_to(X,E):
already_known=True
break
if already_known==False:
if verbose:
print('We found a new potential knot exterior:',E)
possible_knot_exteriors.append(E)
if verbose:
print('Checking for knot complement:',E)
if is_knot_complement(E,index=exterior_index):
if better_is_isometric_to(E,M,try_hard=try_hard)==False:
already_known=False
for X in friends:
if better_is_isometric_to(X,E,index=isometry_index,try_hard=try_hard):
already_known=True
break
if already_known==False:
if verbose:
print('We found a friend:',E)
friends.append(E)
if len(friends)>max_number_of_friends-1:
if verbose:
print('Number of potential knot exteriors checked:',len(possible_knot_exteriors))
print('Number of friends found:',len(friends))
return friends
except:
pass
##### MCMC to replace retriangulation (more variance for other results -- hopefully) ######
if MCMC:
if verbose:
print('--------------')
print('We drill out knots via Regina, using a random walk method to choose next triangulation.')
T=to_regina(K.filled_triangulation())
if regina_simplify:
T.intelligentSimplify()
if random==False:
if verbose:
print('We check all edges.')
sigs=drill_edges(T,index=(-1)*rounds,cores=regina_cores_used,max_submanifolds=max_regina_submanifolds)
if verbose:
print('Total number of submanifolds found via regina:',len(sigs))
if random==True:
if verbose:
print('We check random edges.')
sigs=drill_edges(T,index=(-1)*rounds,cores=regina_cores_used,randomized=True,max_submanifolds=max_regina_submanifolds)
if verbose:
print('Total number of submanifolds found via regina:',len(sigs))
ctr=0
print("found",len(sigs),"triangulations to check")
for sig in sigs:
try:
T=regina.Triangulation3(sig)
E=snappy.Manifold(T.snapPea())
if better_is_isometric_to(E,M,index=isometry_index)==False:
if is_homology_solid_torus(E)==True:
already_known=False
for X in possible_knot_exteriors:
if better_is_isometric_to(X,E):
already_known=True
break
if already_known==False:
if verbose:
print('We found a new potential knot exterior:',E)
possible_knot_exteriors.append(E)
if verbose:
print('Checking for knot complement:',E)
if is_knot_complement(E,index=exterior_index):
if better_is_isometric_to(E,M,try_hard=try_hard)==False:
already_known=False
for X in friends:
if better_is_isometric_to(X,E,index=isometry_index,try_hard=try_hard):
already_known=True
break
if already_known==False:
if verbose:
print('We found a friend:',E)
friends.append(E)
if len(friends)>max_number_of_friends-1:
if verbose:
print('Number of potential knot exteriors checked:',len(possible_knot_exteriors))
print('Number of friends found:',len(friends))
return friends
except:
pass
if verbose:
print('Number of potential knot exteriors checked:',len(possible_knot_exteriors))
print('Number of friends found:',len(friends))
return friends
def find_S3_filling(manifold,index=2):
'''
Checks the short fillings to be S3.
'''
assert manifold.num_cusps() == 1
if manifold.homology().elementary_divisors() != [0]:
return False
try:
slopes = manifold.short_slopes(3.5)[0]
except RuntimeError:
slopes = []
(a, b) = manifold.homological_longitude()
slopes = [s for s in slopes if abs(a*s[1] - b*s[0]) == 1]
for s in slopes:
M = snappy.Triangulation(manifold)
M.dehn_fill(s)
if is_three_sphere(M,tries=index):
return s
return False
def create_diagram(knot_complement,verbose=False):
'''
Takes a list of complements of a knot and creates a diagram.
'''
M=knot_complement
M.dehn_fill((0,0))
D=False
try:
M.set_peripheral_curves('shortest')
except:
pass
try:
M.dehn_fill((1,0))
if is_three_sphere(M):
D=M.exterior_to_link()
if D!=False:
D.simplify('global')
PD_friend=D.PD_code()
return PD_friend
M.dehn_fill((0,0))
M.dehn_fill(find_S3_filling(M))
D=M.exterior_to_link()
if D!=False:
D.simplify('global')
PD_friend=D.PD_code()
return PD_friend
except:
pass
print('COULD NOT FIND A DIAGRAM!')
return D
###### CONCORDANCE FRIEND SEARCH ########
def concordance_friend_search(D,number_of_concordance_friends=1,effort='low',max_twists=1,number_of_tries=100,verbose=False):
'''
Input is a knot diagram D of a knot K.
Warning: The diagram D should not allow any Reidemeister 1 simplifications.
Search for a concordance friend of first order, i.e. a knot F that is a friend with a knot C concordant to K.
Possible values for effort are 'low', 'medium' and 'high'.
Or 'None' if the parameters are choosen directly.
'''
#Parameters
#max_twists= Number of twists of ribbon bands.
#number_of_tries= Maximal number of ribbon bands tried
bound=True #If false, tries all possible ribbon bands.
if effort=='low':
SnapPy_length_spectrum=False
if effort=='medium':
SnapPy_length_spectrum=False
if effort=='high':
SnapPy_length_spectrum=True
PD=D.PD_code()
conc_diagrams=concordance_search(PD,max_twists=max_twists,bound=bound,number_of_tries=number_of_tries)
conc=[]
for c in conc_diagrams:
C=snappy.Link(c[0]).exterior()
already_known=False
for X in [y[0] for y in conc]:
if better_is_isometric_to(X,C,index=2):
already_known=True
break
if already_known==False:
conc.append([C,c])
if verbose:
print('Number of concordant knots created:',len(conc))
concordance_friends=[]
for c in conc:
try:
C=c[0]
F=search_for_friend(C,effort=effort,max_number_of_friends=number_of_concordance_friends,SnapPy_length_spectrum=SnapPy_length_spectrum)
if F!=[]:
if verbose:
print('The concordant knot:',c,'has friends.')
print('Number of friends:',len(F))
for f in F:
concordance_friends.append([f,c])
if len(concordance_friends)>number_of_concordance_friends-1:
if verbose:
print('Total number of concordance friends found:',len(concordance_friends))
return concordance_friends
except:
pass
if verbose:
print('Number of concordance friends found:',len(concordance_friends))
return concordance_friends
##### RIBBON SEARCH CODE ######
import ribbon.rw # the main class
import ribbon.visualizer as visualizer # for visualizing the output
import numpy as np # handles arrays
import snappy # to represent the knots
import logging # to print some info of what the code is doing
def is_ribbon(PD,tries=10000,twists=5):
'''Takes as input a PD code and checks if it is ribbon.
If True is returned it is proven to be ribbon. If False is returned it is not clear.'''
links = [PD]
# links to search. Accepts a list of PD codes or link names. K6a3 is the Stevedore knot
max_size = len(PD)+25 # max number of crossings any intermediate knot can have
max_steps = int(tries/10) # max number of steps searched by the random walker before giving up and resetting the link
max_tries = tries # number of total steps before we give up completely
max_bct = twists # we use the same variable to set the max number of allowed twists, link components, and bands to add. If you start with a knot, the max number of bands is the max number of components + 1, since each band adds a link component
log_level = logging.ERROR # controls how much information is printed by the code while searching for a band
use_checks = False # If set to true (whcih requires sage), the code will check for slice obstructions after attaching bands, rather than keep searching more and more bands on a link that is potentially obstructed. This uses the Fox Milnor condition, which requires the Alexander Polynomial. This can be slow to compute for large knots
save_images = True # Will use the visualizer to save the band found by the random walker
random_walker = ribbon.rw.RandomWalker(links=links,
max_size=max_size,
max_steps=max_steps,
max_bct=max_bct,
logger=None,
log_level=log_level,
use_band_checks=use_checks,
save_solved_knot_images=save_images
)
tries = 0
while tries < max_tries:
tries += 1
if tries % 10000 == 0:
print("Performed {:d} steps.".format(tries))
# Find all valid actions
valid_actions = np.argwhere(random_walker.invalid_action_mask()).flatten()
# pick a random one
a = np.random.choice(valid_actions) if len(valid_actions) > 0 else 0
# perform the action
done, info = random_walker.step(a)
# check whether the knot is done (either because the unknot was reached, or a reset was triggered)
if done:
if 'unknot' in info['result']: # found bands
print("Knot is ribbon!") # this is not an error, we just want to print this message irrespective of the logger level.
return True
return False
Some demonstration. We start with some interesting knots:
#Simplest slice knot
S=snappy.Manifold('K6a3')
#Random slice knot
R=snappy.Manifold('K12n870')
#Conway knot, top slice but not smoothly slice
C=snappy.Manifold('K11n34')
#The positive Whiteheaddouble of the right-handed trefoil, top slice but not smoothly slice
W_p=snappy.Link([(31, 25, 32, 24), (26, 36, 27, 35), (36, 30, 37, 29), (30, 15, 31, 16), (22, 18, 23, 17), (16, 24, 17, 23), (13, 34, 14, 35), (37, 10, 0, 11), (25, 15, 26, 14), (7, 33, 8, 32), (9, 19, 10, 18), (8, 21, 9, 22), (27, 4, 28, 5), (12, 6, 13, 5), (33, 7, 34, 6), (3, 28, 4, 29), (2, 12, 3, 11), (1, 21, 2, 20),(19, 1, 20, 0)]).exterior()
#The negative Whiteheaddouble of the right-handed trefoil, top slice unknown if smoothly slice
W_n=snappy.Link([(31, 39, 32, 38), (36, 30, 37, 29), (24, 36, 25, 35), (32, 3, 33, 4), (33, 9, 34, 8), (11, 31, 12, 30), (5, 28, 6, 29), (27, 6, 28, 7), (26, 16, 27, 15), (16, 26, 17, 25), (9, 3, 10, 2), (10, 39, 11, 0), (37, 12, 38, 13), (4, 14, 5, 13), (23, 19, 24, 18), (19, 23, 20, 22), (17, 34, 18, 35), (14, 8, 15, 7), (1, 20, 2, 21), (21, 0, 22, 1)]).exterior()
#The figure eigth knot
E=snappy.Manifold('K4a1')
#The (2,1)-cable of the figure eigth knot, top slice, but not smoothly slice
def braid_index(word):
'''Returns the braid index of a word'''
return max([abs(x) for x in word])+1
def writhe(word):
'''Returns the writhe of a braid word.'''
wr=0
for w in word:
wr=wr+sign(w)
return wr
def cable(word,p,q):
'''Returns a braid word of the cable. (For positive p and arbitrary q.)'''
cable_word=[]
for i in word:
subword=[]
for t in range(0,p):
subword=subword+list(range(p*abs(i)+t,p*(abs(i)-1)+t,-1))
if i<0:
subword=[-j for j in subword]
cable_word=cable_word+subword
wr=writhe(word)
if (q-p*wr)<0:
cable_word=cable_word+(p*wr-q)*list(range(-1,-(p-1)-1,-1))
if (q-p*wr)>=0:
cable_word=cable_word+(-p*wr+q)*list(range(1,(p-1)+1,+1))
return cable_word
CE=snappy.Link(braid_closure=cable(E.link().braid_word(),2,1)).exterior()
gui tk
We first verify that the slice knots are slice, and check if they have friends.
is_ribbon(S.link().PD_code())
Knot is ribbon!
True
is_ribbon(R.link().PD_code())
Knot is ribbon!
True
search_for_friend(S)
[]
search_for_friend(R)
[K12n870-9_filled(0,0)]
Next we check if we can find the friends of the Conway knot and check if the other interesting knots have friends.
search_for_friend(C)
[Regina_Triangulation(0,0)]
search_for_friend(W_p)
[]
search_for_friend(W_n)
[]
search_for_friend(CE)
[]
Next we search for concordance friends of the non-hyperbolic examples.
The negative Whitehead double of the right-handed trefoil.
concordance_friends=concordance_friend_search(W_n.link(),number_of_concordance_friends=10,effort='low',max_twists=5,number_of_tries=100,verbose=True)
Number of concordant knots created: 151 The concordant knot: [unnamed link(0,0), [[(21, 0, 22, 1), (1, 20, 2, 21), (9, 3, 10, 2), (32, 3, 33, 4), (4, 14, 5, 13), (14, 8, 15, 7), (33, 9, 34, 8), (10, 39, 11, 0), (11, 31, 12, 30), (37, 12, 38, 13), (26, 16, 27, 15), (16, 26, 17, 25), (17, 34, 18, 35), (23, 19, 24, 18), (19, 23, 20, 22), (24, 36, 25, 35), (36, 30, 37, 29), (31, 39, 32, 38), (41, 28, 6, 29), (27, 6, 28, 47), (41, 50, 46, 51), (51, 46, 52, 45), (5, 49, 42, 50), (49, 43, 48, 42), (45, 52, 44, 61), (43, 62, 44, 48), (47, 53, 54, 7), (60, 59, 61, 62), (58, 57, 59, 60), (56, 55, 57, 58), (54, 53, 55, 56)], 5, 7, -5]] has friends. Number of friends: 1 Number of concordance friends found: 1
F=concordance_friends[0][0]
D=create_diagram(F)
D
[(159, 99, 160, 98), (371, 252, 372, 253), (392, 570, 393, 569), (477, 562, 478, 563), (389, 101, 390, 100), (478, 91, 479, 92), (391, 251, 392, 250), (359, 560, 360, 561), (388, 338, 389, 337), (298, 506, 299, 505), (602, 503, 603, 504), (195, 502, 196, 503), (62, 502, 63, 501), (530, 500, 531, 499), (299, 37, 300, 36), (600, 33, 601, 34), (193, 34, 194, 35), (63, 33, 64, 32), (532, 32, 533, 31), (533, 632, 534, 633), (65, 630, 66, 631), (191, 629, 192, 628), (598, 630, 599, 629), (300, 627, 301, 628), (529, 454, 530, 455), (61, 452, 62, 453), (196, 452, 197, 451), (603, 451, 604, 450), (296, 449, 297, 450), (534, 268, 535, 267), (526, 105, 527, 106), (57, 104, 58, 105), (200, 104, 201, 103), (607, 103, 608, 102), (292, 101, 293, 102), (294, 156, 295, 155), (605, 154, 606, 155), (198, 153, 199, 154), (60, 152, 61, 151), (263, 145, 264, 144), (531, 149, 532, 148), (229, 142, 230, 143), (453, 150, 454, 151), (634, 145, 635, 146), (29, 147, 30, 146), (500, 150, 501, 149), (410, 121, 411, 122), (312, 124, 313, 123), (585, 118, 586, 119), (179, 124, 180, 125), (78, 120, 79, 119), (547, 123, 548, 122), (551, 14, 552, 15), (76, 19, 77, 20), (176, 14, 177, 13), (587, 19, 588, 18), (315, 16, 316, 17), (408, 16, 409, 15), (465, 642, 466, 643), (462, 24, 463, 23), (461, 493, 462, 492), (445, 415, 446, 414), (447, 308, 448, 309), (444, 592, 445, 591), (446, 184, 447, 183), (442, 73, 443, 74), (281, 73, 282, 72), (277, 184, 278, 185), (279, 592, 280, 593), (276, 308, 277, 307), (278, 415, 279, 416), (273, 504, 274, 505), (272, 35, 273, 36), (268, 632, 269, 631), (626, 38, 627, 37), (625, 507, 626, 506), (621, 417, 622, 416), (623, 306, 624, 307), (620, 594, 621, 593), (622, 186, 623, 185), (618, 71, 619, 72), (215, 43, 216, 42), (214, 512, 215, 511), (218, 422, 219, 421), (217, 302, 218, 303), (213, 595, 214, 594), (216, 190, 217, 189), (212, 69, 213, 70), (330, 394, 331, 393), (323, 364, 324, 365), (332, 249, 333, 250), (44, 68, 45, 67), (41, 188, 42, 189), (43, 596, 44, 597), (40, 304, 41, 303), (39, 420, 40, 421), (47, 516, 48, 517), (513, 69, 514, 68), (510, 187, 511, 188), (512, 595, 513, 596), (509, 305, 510, 304), (508, 419, 509, 420), (535, 224, 536, 225), (66, 223, 67, 224), (190, 222, 191, 221), (597, 223, 598, 222), (301, 220, 302, 221), (422, 220, 423, 219), (373, 351, 374, 350), (244, 96, 245, 95), (378, 526, 379, 525), (377, 57, 378, 56), (376, 201, 377, 202), (375, 608, 376, 609), (374, 292, 375, 291), (372, 433, 373, 434), (370, 489, 371, 490), (352, 252, 353, 251), (353, 489, 354, 488), (351, 433, 352, 432), (349, 290, 350, 291), (348, 610, 349, 609), (347, 203, 348, 202), (346, 55, 347, 56), (344, 523, 345, 524), (114, 254, 115, 253), (115, 491, 116, 490), (113, 435, 114, 434), (112, 289, 113, 290), (111, 611, 112, 610), (110, 204, 111, 203), (109, 54, 110, 55), (107, 524, 108, 525), (498, 522, 499, 521), (497, 53, 498, 52), (496, 205, 497, 206), (495, 612, 496, 613), (494, 288, 495, 287), (491, 436, 492, 437), (493, 256, 494, 257), (643, 466, 0, 467), (640, 233, 641, 234), (637, 261, 638, 260), (0, 440, 1, 439), (639, 284, 640, 285), (638, 616, 639, 615), (636, 208, 637, 207), (635, 50, 636, 51), (633, 518, 634, 519), (463, 234, 464, 235), (460, 256, 461, 255), (468, 438, 469, 437), (459, 288, 460, 289), (458, 612, 459, 611), (457, 205, 458, 204), (456, 53, 457, 54), (455, 522, 456, 523), (226, 266, 227, 265), (237, 441, 238, 440), (232, 283, 233, 284), (231, 617, 232, 616), (230, 210, 231, 209), (227, 46, 228, 47), (228, 515, 229, 516), (266, 226, 267, 225), (264, 518, 265, 517), (262, 50, 263, 49), (261, 208, 262, 209), (259, 614, 260, 615), (258, 286, 259, 285), (360, 89, 361, 90), (247, 565, 248, 564), (147, 521, 148, 520), (143, 49, 144, 48), (141, 210, 142, 211), (140, 617, 141, 618), (139, 283, 140, 282), (138, 441, 139, 442), (443, 542, 444, 543), (280, 542, 281, 541), (619, 540, 620, 541), (211, 538, 212, 539), (45, 537, 46, 536), (514, 538, 515, 537), (430, 100, 431, 99), (428, 157, 429, 158), (427, 449, 428, 448), (424, 507, 425, 508), (423, 38, 424, 39), (425, 625, 426, 624), (426, 275, 427, 276), (297, 275, 298, 274), (599, 270, 600, 271), (192, 271, 193, 272), (64, 270, 65, 269), (554, 578, 555, 577), (559, 399, 560, 398), (557, 366, 558, 367), (558, 325, 559, 326), (545, 413, 546, 412), (548, 313, 549, 314), (543, 591, 544, 590), (549, 179, 550, 178), (539, 70, 540, 71), (411, 240, 412, 241), (311, 243, 312, 242), (588, 239, 589, 240), (180, 243, 181, 244), (75, 239, 76, 238), (546, 242, 547, 241), (120, 18, 121, 17), (152, 383, 153, 384), (431, 390, 432, 391), (295, 387, 296, 386), (604, 385, 605, 386), (197, 384, 198, 385), (59, 383, 60, 382), (527, 381, 528, 380), (106, 380, 107, 379), (342, 382, 343, 381), (528, 343, 529, 344), (58, 341, 59, 342), (199, 341, 200, 340), (606, 340, 607, 339), (293, 338, 294, 339), (429, 337, 430, 336), (108, 345, 109, 346), (158, 336, 159, 335), (30, 520, 31, 519), (28, 52, 29, 51), (27, 206, 28, 207), (26, 613, 27, 614), (25, 287, 26, 286), (21, 438, 22, 439), (24, 257, 25, 258), (333, 161, 334, 160), (334, 97, 335, 98), (174, 579, 175, 580), (169, 400, 170, 401), (170, 364, 171, 363), (171, 323, 172, 322), (186, 417, 187, 418), (182, 310, 183, 309), (194, 601, 195, 602), (177, 551, 178, 550), (361, 169, 362, 168), (245, 162, 246, 163), (479, 167, 480, 166), (387, 156, 388, 157), (93, 165, 94, 164), (77, 587, 78, 586), (85, 556, 86, 557), (79, 316, 80, 317), (80, 408, 81, 407), (87, 324, 88, 325), (86, 365, 87, 366), (83, 577, 84, 576), (88, 400, 89, 399), (402, 173, 403, 174), (405, 83, 406, 82), (401, 363, 402, 362), (403, 578, 404, 579), (409, 315, 410, 314), (404, 554, 405, 553), (580, 175, 581, 176), (582, 82, 583, 81), (581, 553, 582, 552), (583, 406, 584, 407), (584, 318, 585, 317), (331, 568, 332, 569), (305, 419, 306, 418), (320, 555, 321, 556), (319, 84, 320, 85), (318, 576, 319, 575), (321, 173, 322, 172), (10, 563, 11, 564), (11, 92, 12, 93), (12, 166, 13, 165), (396, 357, 397, 358), (328, 356, 329, 355), (126, 163, 127, 164), (127, 246, 128, 247), (125, 95, 126, 94), (128, 566, 129, 565), (329, 486, 330, 487), (394, 486, 395, 485), (561, 482, 562, 483), (90, 481, 91, 482), (167, 481, 168, 480), (6, 474, 7, 473), (254, 435, 255, 436), (483, 477, 484, 476), (358, 475, 359, 476), (397, 474, 398, 475), (327, 473, 328, 472), (369, 471, 370, 470), (116, 469, 117, 470), (22, 468, 23, 467), (235, 464, 236, 465), (74, 137, 75, 138), (589, 137, 590, 136), (544, 135, 545, 136), (413, 135, 414, 134), (181, 133, 182, 132), (310, 133, 311, 134), (161, 130, 162, 131), (96, 132, 97, 131), (566, 130, 567, 129), (395, 8, 396, 9), (484, 10, 485, 9), (356, 7, 357, 8), (368, 4, 369, 3), (326, 6, 327, 5), (117, 2, 118, 3), (20, 2, 21, 1), (236, 641, 237, 642), (571, 354, 572, 355), (567, 249, 568, 248), (574, 368, 575, 367), (570, 488, 571, 487), (572, 471, 573, 472), (573, 4, 574, 5)]
len(D)
322
is_ribbon(D)
Performed 10000 steps.
False
The positive Whitehead double of the right-handed trefoil.
concordance_friends=concordance_friend_search(W_p.link(),number_of_concordance_friends=1,effort='low',max_twists=6,number_of_tries=100,verbose=True)
Number of concordant knots created: 133 The concordant knot: [unnamed link(0,0), [[(19, 1, 20, 0), (1, 21, 2, 20), (3, 28, 4, 29), (27, 4, 28, 5), (33, 7, 34, 6), (7, 33, 8, 32), (8, 21, 9, 22), (9, 19, 10, 18), (37, 10, 0, 11), (13, 34, 14, 35), (25, 15, 26, 14), (30, 15, 31, 16), (16, 24, 17, 23), (22, 18, 23, 17), (31, 25, 32, 24), (26, 36, 27, 35), (36, 30, 37, 29), (12, 6, 13, 39), (2, 12, 45, 11), (39, 48, 44, 49), (49, 44, 50, 43), (5, 47, 40, 48), (47, 41, 46, 40), (43, 50, 42, 59), (41, 60, 42, 46), (45, 51, 52, 3), (58, 57, 59, 60), (56, 55, 57, 58), (54, 53, 55, 56), (52, 51, 53, 54)], 5, 3, -5]] has friends. Number of friends: 1 Total number of concordance friends found: 1
F=concordance_friends[0][0]
D=create_diagram(F)
D
[(4, 170, 5, 169), (522, 460, 523, 459), (1, 282, 2, 283), (523, 255, 0, 254), (0, 88, 1, 87), (497, 174, 498, 175), (495, 35, 496, 34), (493, 10, 494, 11), (484, 461, 485, 462), (482, 278, 483, 277), (480, 259, 481, 260), (479, 109, 480, 108), (475, 96, 476, 97), (46, 486, 47, 485), (384, 471, 385, 472), (183, 473, 184, 472), (356, 474, 357, 473), (250, 456, 251, 455), (453, 249, 454, 248), (45, 460, 46, 461), (446, 174, 447, 173), (448, 35, 449, 36), (450, 10, 451, 9), (125, 444, 126, 445), (440, 131, 441, 132), (133, 438, 134, 439), (436, 303, 437, 304), (309, 428, 310, 429), (427, 227, 428, 226), (66, 432, 67, 431), (424, 315, 425, 316), (385, 269, 386, 268), (349, 391, 350, 390), (380, 188, 381, 187), (270, 380, 271, 379), (383, 101, 384, 100), (271, 360, 272, 361), (357, 98, 358, 99), (355, 266, 356, 267), (352, 179, 353, 180), (310, 227, 311, 228), (68, 305, 69, 306), (257, 278, 258, 279), (286, 247, 287, 248), (42, 282, 43, 281), (269, 188, 270, 189), (182, 267, 183, 268), (44, 255, 45, 256), (241, 171, 242, 170), (239, 40, 240, 41), (243, 7, 244, 6), (58, 224, 59, 223), (38, 171, 39, 172), (20, 149, 21, 150), (43, 88, 44, 89), (32, 11, 33, 12), (94, 415, 95, 416), (104, 412, 105, 411), (476, 414, 477, 413), (272, 410, 273, 409), (378, 214, 379, 213), (274, 329, 275, 330), (477, 326, 478, 327), (106, 327, 107, 328), (93, 325, 94, 324), (165, 87, 166, 86), (164, 254, 165, 253), (163, 459, 164, 458), (166, 283, 167, 284), (361, 212, 362, 213), (494, 200, 495, 199), (244, 203, 245, 204), (449, 200, 450, 201), (33, 199, 34, 198), (372, 154, 373, 153), (207, 341, 208, 340), (451, 343, 452, 342), (246, 340, 247, 339), (492, 343, 493, 344), (333, 85, 334, 84), (334, 252, 335, 251), (332, 458, 333, 457), (336, 285, 337, 286), (330, 162, 331, 161), (335, 404, 336, 405), (496, 396, 497, 395), (242, 399, 243, 400), (447, 396, 448, 397), (37, 399, 38, 398), (273, 160, 274, 161), (97, 157, 98, 156), (474, 155, 475, 156), (12, 346, 13, 345), (14, 29, 15, 30), (7, 202, 8, 203), (5, 400, 6, 401), (418, 321, 419, 322), (412, 157, 413, 158), (407, 82, 408, 83), (121, 168, 122, 169), (122, 3, 123, 4), (124, 40, 125, 39), (128, 298, 129, 297), (120, 402, 121, 401), (117, 338, 118, 339), (119, 205, 120, 204), (193, 350, 194, 351), (205, 119, 206, 118), (91, 110, 92, 111), (402, 116, 403, 115), (337, 116, 338, 117), (167, 114, 168, 115), (2, 113, 3, 114), (41, 113, 42, 112), (31, 344, 32, 345), (162, 487, 163, 488), (521, 486, 522, 487), (507, 228, 508, 229), (509, 313, 510, 312), (503, 432, 504, 433), (348, 218, 349, 217), (435, 134, 436, 135), (195, 220, 196, 221), (197, 394, 198, 395), (392, 219, 393, 220), (19, 318, 20, 319), (150, 320, 151, 319), (224, 313, 225, 314), (59, 314, 60, 315), (221, 27, 222, 26), (148, 21, 149, 22), (194, 17, 195, 18), (391, 16, 392, 17), (218, 15, 219, 16), (346, 14, 347, 13), (235, 71, 236, 70), (234, 301, 235, 302), (229, 500, 230, 501), (311, 509, 312, 508), (123, 240, 124, 241), (71, 237, 72, 236), (433, 502, 434, 503), (304, 136, 305, 135), (177, 19, 178, 18), (175, 223, 176, 222), (232, 440, 233, 439), (294, 445, 295, 446), (302, 437, 303, 438), (430, 145, 431, 146), (307, 147, 308, 146), (230, 141, 231, 142), (504, 144, 505, 143), (406, 249, 407, 250), (85, 253, 86, 252), (206, 245, 207, 246), (405, 454, 406, 455), (83, 457, 84, 456), (209, 452, 210, 453), (184, 99, 185, 100), (191, 389, 192, 388), (208, 288, 209, 287), (89, 280, 90, 281), (403, 285, 404, 284), (79, 216, 80, 217), (76, 352, 77, 351), (78, 389, 79, 390), (75, 179, 76, 178), (77, 192, 78, 193), (74, 152, 75, 151), (73, 321, 74, 320), (276, 519, 277, 520), (481, 518, 482, 519), (109, 516, 110, 517), (92, 516, 93, 515), (296, 512, 297, 511), (127, 513, 128, 512), (237, 514, 238, 515), (442, 513, 443, 514), (499, 511, 500, 510), (210, 81, 211, 82), (322, 370, 323, 369), (152, 368, 153, 367), (190, 363, 191, 364), (180, 366, 181, 365), (387, 364, 388, 365), (353, 367, 354, 366), (215, 362, 216, 363), (130, 300, 131, 299), (441, 300, 442, 301), (417, 368, 418, 369), (370, 324, 371, 323), (371, 416, 372, 417), (308, 61, 309, 62), (429, 63, 430, 62), (60, 426, 61, 425), (317, 422, 318, 423), (22, 422, 23, 421), (225, 427, 226, 426), (147, 420, 148, 421), (72, 419, 73, 420), (347, 30, 348, 31), (196, 28, 197, 27), (393, 29, 394, 28), (176, 25, 177, 26), (316, 23, 317, 24), (423, 25, 424, 24), (498, 57, 499, 58), (443, 55, 444, 54), (238, 54, 239, 53), (126, 55, 127, 56), (295, 56, 296, 57), (90, 51, 91, 52), (111, 53, 112, 52), (483, 49, 484, 48), (279, 51, 280, 50), (69, 136, 70, 137), (65, 144, 66, 145), (64, 505, 65, 506), (298, 130, 299, 129), (233, 132, 234, 133), (142, 502, 143, 501), (140, 231, 141, 232), (137, 307, 138, 306), (139, 434, 140, 435), (138, 67, 139, 68), (506, 63, 507, 64), (102, 185, 103, 186), (101, 383, 102, 382), (103, 358, 104, 359), (105, 158, 106, 159), (80, 491, 81, 492), (211, 491, 212, 490), (408, 490, 409, 489), (331, 488, 332, 489), (288, 341, 289, 342), (290, 202, 291, 201), (292, 398, 293, 397), (291, 37, 292, 36), (289, 8, 290, 9), (293, 172, 294, 173), (462, 47, 463, 48), (463, 521, 464, 520), (465, 329, 466, 328), (467, 410, 468, 411), (466, 160, 467, 159), (468, 360, 469, 359), (470, 381, 471, 382), (469, 187, 470, 186), (464, 275, 465, 276), (214, 378, 215, 377), (189, 377, 190, 376), (386, 376, 387, 375), (354, 373, 355, 374), (181, 374, 182, 375), (256, 49, 257, 50), (258, 518, 259, 517), (262, 326, 263, 325), (263, 414, 264, 415), (265, 155, 266, 154), (260, 107, 261, 108), (264, 96, 265, 95), (261, 478, 262, 479)]
len(D)
262
is_ribbon(D)
Performed 10000 steps.
False
The (2,1)-cable of the figure eight knot.
concordance_friends=concordance_friend_search(CE.link(),number_of_concordance_friends=1,effort='low',max_twists=1,number_of_tries=100,verbose=True)
Number of concordant knots created: 32 The concordant knot: [unnamed link(0,0), [[(17, 1, 18, 0), (1, 9, 2, 8), (2, 26, 3, 25), (14, 3, 15, 4), (31, 4, 32, 5), (5, 28, 6, 29), (6, 11, 7, 12), (18, 8, 19, 7), (9, 17, 10, 16), (10, 0, 11, 33), (13, 20, 14, 21), (26, 16, 27, 15), (30, 21, 31, 22), (22, 29, 23, 30), (27, 33, 28, 32), (23, 35, 24, 13), (41, 25, 20, 24), (35, 44, 40, 45), (45, 40, 46, 39), (12, 43, 36, 44), (43, 37, 42, 36), (37, 19, 38, 42), (39, 46, 38, 41)], 12, 19, 0]] has friends. Number of friends: 1 Total number of concordance friends found: 1
F=concordance_friends[0][0]
D=create_diagram(F)
D
[(26, 161, 27, 162), (145, 99, 146, 98), (129, 164, 130, 165), (8, 166, 9, 165), (137, 33, 138, 32), (197, 31, 198, 30), (69, 80, 70, 81), (194, 89, 195, 90), (91, 158, 92, 159), (92, 30, 93, 29), (88, 109, 89, 110), (67, 186, 68, 187), (75, 180, 76, 181), (76, 39, 77, 40), (61, 41, 62, 40), (62, 182, 63, 181), (60, 143, 61, 144), (79, 147, 80, 146), (124, 177, 125, 178), (128, 150, 129, 149), (125, 36, 126, 37), (196, 157, 197, 158), (134, 153, 135, 154), (68, 58, 69, 57), (183, 143, 184, 142), (182, 41, 183, 42), (184, 202, 185, 201), (126, 208, 127, 207), (59, 202, 60, 203), (77, 205, 78, 204), (185, 97, 186, 96), (127, 103, 128, 102), (58, 97, 59, 98), (78, 100, 79, 99), (144, 204, 145, 203), (90, 215, 91, 216), (123, 226, 124, 227), (195, 214, 196, 215), (136, 211, 137, 212), (107, 155, 108, 154), (193, 110, 194, 111), (135, 106, 136, 107), (13, 179, 14, 178), (11, 206, 12, 207), (10, 101, 11, 102), (9, 148, 10, 149), (55, 6, 56, 7), (122, 16, 123, 15), (188, 6, 189, 5), (82, 8, 83, 7), (141, 42, 142, 43), (12, 38, 13, 37), (150, 222, 151, 221), (176, 225, 177, 226), (103, 223, 104, 222), (14, 0, 15, 227), (219, 25, 220, 24), (217, 53, 218, 52), (220, 131, 221, 132), (216, 191, 217, 192), (218, 85, 219, 86), (152, 116, 153, 115), (174, 121, 175, 122), (105, 117, 106, 116), (19, 119, 20, 118), (117, 21, 118, 20), (112, 52, 113, 51), (114, 133, 115, 134), (111, 192, 112, 193), (113, 86, 114, 87), (104, 21, 105, 22), (175, 17, 176, 16), (151, 22, 152, 23), (25, 85, 26, 84), (28, 190, 29, 189), (23, 133, 24, 132), (27, 54, 28, 55), (38, 73, 39, 74), (147, 71, 148, 70), (205, 73, 206, 72), (100, 72, 101, 71), (179, 74, 180, 75), (50, 88, 51, 87), (95, 66, 96, 67), (200, 65, 201, 66), (140, 63, 141, 64), (43, 65, 44, 64), (160, 54, 161, 53), (163, 130, 164, 131), (159, 190, 160, 191), (162, 83, 163, 84), (45, 172, 46, 173), (138, 174, 139, 173), (198, 172, 199, 171), (93, 171, 94, 170), (4, 169, 5, 170), (3, 95, 4, 94), (2, 200, 3, 199), (0, 140, 1, 139), (1, 44, 2, 45), (166, 82, 167, 81), (168, 188, 169, 187), (167, 56, 168, 57), (210, 120, 211, 119), (208, 224, 209, 223), (212, 156, 213, 155), (209, 18, 210, 19), (47, 157, 48, 156), (46, 31, 47, 32), (48, 214, 49, 213), (49, 109, 50, 108), (34, 18, 35, 17), (33, 120, 34, 121), (35, 224, 36, 225)]
len(D)
114
is_ribbon(D)
Performed 10000 steps.
False
Finally, we check the most promising example, the Conway knot. We create some concordance friends and check if any of them is ribbon.
concordance_friends=concordance_friend_search(C.link(),number_of_concordance_friends=100,effort='low',max_twists=6,number_of_tries=250,verbose=True)
Number of concordant knots created: 271 The concordant knot: [unnamed link(0,0), [[(3, 1, 4, 0), (1, 7, 2, 6), (11, 4, 12, 5), (8, 16, 9, 15), (20, 9, 21, 10), (10, 17, 11, 18), (18, 13, 19, 14), (14, 19, 15, 20), (16, 0, 17, 21), (7, 3, 8, 23), (5, 12, 29, 13), (2, 32, 28, 33), (33, 28, 34, 27), (23, 31, 24, 32), (31, 25, 30, 24), (27, 34, 26, 39), (25, 40, 26, 30), (6, 35, 36, 29), (35, 37, 38, 36), (37, 39, 40, 38)], 2, 6, 3]] has friends. Number of friends: 1 The concordant knot: [unnamed link(0,0), [[(3, 1, 4, 0), (1, 7, 2, 6), (7, 3, 8, 2), (8, 16, 9, 15), (20, 9, 21, 10), (10, 17, 11, 18), (18, 13, 19, 14), (14, 19, 15, 20), (16, 0, 17, 21), (11, 23, 12, 5), (5, 12, 29, 13), (23, 32, 28, 33), (33, 28, 34, 27), (4, 31, 24, 32), (31, 25, 30, 24), (27, 34, 26, 43), (25, 44, 26, 30), (29, 35, 36, 6), (42, 41, 43, 44), (40, 39, 41, 42), (38, 37, 39, 40), (36, 35, 37, 38)], 4, 6, -5]] has friends. Number of friends: 1 The concordant knot: [unnamed link(0,0), [[(3, 1, 4, 0), (1, 7, 2, 6), (7, 3, 8, 2), (8, 16, 9, 15), (20, 9, 21, 10), (10, 17, 11, 18), (18, 13, 19, 14), (14, 19, 15, 20), (16, 0, 17, 21), (11, 23, 12, 5), (5, 12, 29, 13), (23, 32, 28, 33), (33, 28, 34, 27), (4, 31, 24, 32), (31, 25, 30, 24), (27, 34, 26, 39), (25, 40, 26, 30), (29, 35, 36, 6), (38, 37, 39, 40), (36, 35, 37, 38)], 4, 6, -3]] has friends. Number of friends: 1 The concordant knot: [unnamed link(0,0), [[(3, 1, 4, 0), (1, 7, 2, 6), (7, 3, 8, 2), (8, 16, 9, 15), (20, 9, 21, 10), (10, 17, 11, 18), (18, 13, 19, 14), (14, 19, 15, 20), (16, 0, 17, 21), (11, 23, 12, 5), (5, 12, 29, 13), (23, 32, 28, 33), (33, 28, 34, 27), (4, 31, 24, 32), (31, 25, 30, 24), (27, 34, 26, 41), (25, 42, 26, 30), (35, 36, 6, 29), (35, 37, 38, 36), (37, 39, 40, 38), (39, 41, 42, 40)], 4, 6, 4]] has friends. Number of friends: 1 The concordant knot: [unnamed link(0,0), [[(3, 1, 4, 0), (1, 7, 2, 6), (7, 3, 8, 2), (11, 4, 12, 5), (5, 12, 6, 13), (8, 16, 9, 15), (20, 9, 21, 10), (10, 17, 11, 18), (16, 0, 17, 21), (18, 23, 19, 14), (14, 19, 29, 20), (23, 32, 28, 33), (33, 28, 34, 27), (13, 31, 24, 32), (31, 25, 30, 24), (27, 34, 26, 43), (25, 44, 26, 30), (29, 35, 36, 15), (42, 41, 43, 44), (40, 39, 41, 42), (38, 37, 39, 40), (36, 35, 37, 38)], 13, 15, -5]] has friends. Number of friends: 1 The concordant knot: [unnamed link(0,0), [[(3, 1, 4, 0), (1, 7, 2, 6), (7, 3, 8, 2), (11, 4, 12, 5), (5, 12, 6, 13), (8, 16, 9, 15), (20, 9, 21, 10), (10, 17, 11, 18), (16, 0, 17, 21), (18, 23, 19, 14), (14, 19, 29, 20), (23, 32, 28, 33), (33, 28, 34, 27), (13, 31, 24, 32), (31, 25, 30, 24), (27, 34, 26, 35), (25, 36, 26, 30), (29, 35, 36, 15)], 13, 15, -1]] has friends. Number of friends: 2 The concordant knot: [unnamed link(0,0), [[(3, 1, 4, 0), (1, 7, 2, 6), (7, 3, 8, 2), (11, 4, 12, 5), (5, 12, 6, 13), (8, 16, 9, 15), (20, 9, 21, 10), (10, 17, 11, 18), (16, 0, 17, 21), (18, 23, 19, 14), (14, 19, 29, 20), (23, 32, 28, 33), (33, 28, 34, 27), (13, 31, 24, 32), (31, 25, 30, 24), (27, 34, 26, 43), (25, 44, 26, 30), (35, 36, 15, 29), (35, 37, 38, 36), (37, 39, 40, 38), (39, 41, 42, 40), (41, 43, 44, 42)], 13, 15, 5]] has friends. Number of friends: 1 The concordant knot: [unnamed link(0,0), [[(3, 1, 4, 0), (1, 7, 2, 6), (7, 3, 8, 2), (11, 4, 12, 5), (5, 12, 6, 13), (8, 16, 9, 15), (20, 9, 21, 10), (10, 17, 11, 18), (18, 13, 19, 14), (14, 19, 15, 20), (16, 0, 23, 29), (23, 32, 28, 33), (33, 28, 34, 27), (17, 31, 24, 32), (31, 25, 30, 24), (27, 34, 26, 35), (25, 36, 26, 30), (29, 35, 36, 21)], 17, 21, -1]] has friends. Number of friends: 1 The concordant knot: [unnamed link(0,0), [[(3, 1, 4, 0), (1, 7, 2, 6), (7, 3, 8, 2), (11, 4, 12, 5), (5, 12, 6, 13), (8, 16, 9, 15), (20, 9, 21, 10), (10, 17, 11, 18), (18, 13, 19, 14), (16, 0, 17, 21), (29, 23, 15, 20), (19, 32, 28, 33), (33, 28, 34, 27), (23, 31, 24, 32), (31, 25, 30, 24), (27, 34, 26, 39), (25, 40, 26, 30), (14, 35, 36, 29), (38, 37, 39, 40), (36, 35, 37, 38)], 19, 14, -3]] has friends. Number of friends: 1 The concordant knot: [unnamed link(0,0), [[(3, 1, 4, 0), (1, 7, 2, 6), (7, 3, 8, 2), (11, 4, 12, 5), (5, 12, 6, 13), (8, 16, 9, 15), (20, 9, 21, 10), (10, 17, 11, 18), (18, 13, 19, 14), (16, 0, 17, 21), (23, 19, 15, 29), (14, 32, 28, 33), (33, 28, 34, 27), (23, 31, 24, 32), (31, 25, 30, 24), (27, 34, 26, 37), (25, 38, 26, 30), (20, 35, 36, 29), (36, 35, 37, 38)], 14, 20, -2]] has friends. Number of friends: 1 The concordant knot: [unnamed link(0,0), [[(3, 1, 4, 0), (1, 7, 2, 6), (7, 3, 8, 2), (11, 4, 12, 5), (5, 12, 6, 13), (8, 16, 9, 15), (20, 9, 21, 10), (10, 17, 11, 18), (18, 13, 19, 14), (14, 19, 15, 20), (16, 29, 23, 21), (17, 32, 28, 33), (33, 28, 34, 27), (23, 31, 24, 32), (31, 25, 30, 24), (27, 34, 26, 43), (25, 44, 26, 30), (0, 35, 36, 29), (42, 41, 43, 44), (40, 39, 41, 42), (38, 37, 39, 40), (36, 35, 37, 38)], 17, 0, -5]] has friends. Number of friends: 1 The concordant knot: [unnamed link(0,0), [[(3, 1, 4, 0), (1, 7, 2, 6), (7, 3, 8, 2), (11, 4, 12, 5), (5, 12, 6, 13), (8, 16, 9, 15), (20, 9, 21, 10), (18, 13, 19, 14), (16, 0, 17, 21), (14, 19, 15, 23), (29, 17, 11, 18), (23, 32, 28, 33), (33, 28, 34, 27), (20, 31, 24, 32), (31, 25, 30, 24), (27, 34, 26, 43), (25, 44, 26, 30), (35, 36, 10, 29), (35, 37, 38, 36), (37, 39, 40, 38), (39, 41, 42, 40), (41, 43, 44, 42)], 20, 10, 5]] has friends. Number of friends: 2 The concordant knot: [unnamed link(0,0), [[(3, 1, 4, 0), (1, 7, 2, 6), (11, 4, 12, 5), (5, 12, 6, 13), (8, 16, 9, 15), (20, 9, 21, 10), (10, 17, 11, 18), (18, 13, 19, 14), (14, 19, 15, 20), (16, 0, 17, 21), (29, 23, 8, 2), (3, 32, 28, 33), (33, 28, 34, 27), (23, 31, 24, 32), (31, 25, 30, 24), (27, 34, 26, 39), (25, 40, 26, 30), (7, 35, 36, 29), (35, 37, 38, 36), (37, 39, 40, 38)], 3, 7, 3]] has friends. Number of friends: 1 The concordant knot: [unnamed link(0,0), [[(3, 1, 4, 0), (1, 7, 2, 6), (7, 3, 8, 2), (11, 4, 12, 5), (5, 12, 6, 13), (8, 16, 9, 15), (20, 9, 21, 10), (14, 19, 15, 20), (16, 0, 17, 21), (18, 23, 19, 14), (10, 17, 29, 18), (13, 32, 28, 33), (33, 28, 34, 27), (23, 31, 24, 32), (31, 25, 30, 24), (27, 34, 26, 39), (25, 40, 26, 30), (11, 35, 36, 29), (35, 37, 38, 36), (37, 39, 40, 38)], 13, 11, 3]] has friends. Number of friends: 1 The concordant knot: [unnamed link(0,0), [[(3, 1, 4, 0), (1, 7, 2, 6), (7, 3, 8, 2), (11, 4, 12, 5), (20, 9, 21, 10), (10, 17, 11, 18), (18, 13, 19, 14), (14, 19, 15, 20), (16, 0, 17, 21), (5, 12, 23, 13), (29, 16, 9, 15), (23, 32, 28, 33), (33, 28, 34, 27), (6, 31, 24, 32), (31, 25, 30, 24), (27, 34, 26, 43), (25, 44, 26, 30), (29, 35, 36, 8), (42, 41, 43, 44), (40, 39, 41, 42), (38, 37, 39, 40), (36, 35, 37, 38)], 6, 8, -5]] has friends. Number of friends: 1 The concordant knot: [unnamed link(0,0), [[(3, 1, 4, 0), (1, 7, 2, 6), (11, 4, 12, 5), (5, 12, 6, 13), (8, 16, 9, 15), (20, 9, 21, 10), (10, 17, 11, 18), (18, 13, 19, 14), (14, 19, 15, 20), (23, 0, 17, 21), (7, 3, 29, 2), (23, 32, 28, 33), (33, 28, 34, 27), (16, 31, 24, 32), (31, 25, 30, 24), (27, 34, 26, 37), (25, 38, 26, 30), (29, 35, 36, 8), (36, 35, 37, 38)], 16, 8, -2]] has friends. Number of friends: 1 The concordant knot: [unnamed link(0,0), [[(3, 1, 4, 0), (7, 3, 8, 2), (5, 12, 6, 13), (8, 16, 9, 15), (20, 9, 21, 10), (10, 17, 11, 18), (18, 13, 19, 14), (14, 19, 15, 20), (16, 0, 17, 21), (23, 7, 2, 6), (11, 29, 12, 5), (1, 32, 28, 33), (33, 28, 34, 27), (23, 31, 24, 32), (31, 25, 30, 24), (27, 34, 26, 41), (25, 42, 26, 30), (4, 35, 36, 29), (35, 37, 38, 36), (37, 39, 40, 38), (39, 41, 42, 40)], 1, 4, 4]] has friends. Number of friends: 1 Number of concordance friends found: 19
diagrams=[]
for x in concordance_friends:
F=x[0]
D=create_diagram(F)
diagrams.append([D,x])
print('Number of crossings of concordance friend:',len(D))
print('Is ribbon:',is_ribbon(D))
diagrams
Number of crossings of concordance friend: 202 Performed 10000 steps. Is ribbon: False Number of crossings of concordance friend: 125 Performed 10000 steps. Is ribbon: False Number of crossings of concordance friend: 134 Performed 10000 steps. Is ribbon: False Number of crossings of concordance friend: 166 Performed 10000 steps. Is ribbon: False Number of crossings of concordance friend: 191 Performed 10000 steps. Is ribbon: False Number of crossings of concordance friend: 135 Performed 10000 steps. Is ribbon: False Number of crossings of concordance friend: 382 Performed 10000 steps. Is ribbon: False Number of crossings of concordance friend: 124 Performed 10000 steps. Is ribbon: False Number of crossings of concordance friend: 140 Performed 10000 steps. Is ribbon: False Number of crossings of concordance friend: 102 Performed 10000 steps. Is ribbon: False Number of crossings of concordance friend: 102 Performed 10000 steps. Is ribbon: False Number of crossings of concordance friend: 117 Performed 10000 steps. Is ribbon: False Number of crossings of concordance friend: 326 Performed 10000 steps. Is ribbon: False Number of crossings of concordance friend: 462 Performed 10000 steps. Is ribbon: False Number of crossings of concordance friend: 147 Performed 10000 steps. Is ribbon: False Number of crossings of concordance friend: 153 Performed 10000 steps. Is ribbon: False Number of crossings of concordance friend: 139 Performed 10000 steps. Is ribbon: False Number of crossings of concordance friend: 265 Performed 10000 steps. Is ribbon: False Number of crossings of concordance friend: 127 Performed 10000 steps. Is ribbon: False
[[[(160, 46, 161, 45),
(72, 213, 73, 214),
(91, 0, 92, 1),
(82, 9, 83, 10),
(403, 92, 0, 93),
(137, 215, 138, 214),
(175, 221, 176, 220),
(332, 207, 333, 208),
(261, 208, 262, 209),
(357, 212, 358, 213),
(259, 363, 260, 362),
(206, 265, 207, 266),
(234, 268, 235, 267),
(186, 264, 187, 263),
(333, 265, 334, 264),
(70, 258, 71, 257),
(210, 361, 211, 362),
(232, 366, 233, 365),
(182, 360, 183, 359),
(331, 365, 332, 364),
(71, 357, 72, 356),
(177, 216, 178, 217),
(235, 204, 236, 205),
(304, 128, 305, 127),
(306, 369, 307, 370),
(305, 270, 306, 271),
(354, 68, 355, 67),
(255, 69, 256, 68),
(143, 62, 144, 63),
(224, 63, 225, 64),
(358, 182, 359, 181),
(262, 186, 263, 185),
(135, 180, 136, 181),
(335, 189, 336, 188),
(74, 180, 75, 179),
(271, 126, 272, 127),
(278, 38, 279, 37),
(218, 29, 219, 30),
(256, 114, 257, 113),
(355, 113, 356, 112),
(138, 111, 139, 112),
(69, 115, 70, 114),
(215, 110, 216, 111),
(178, 110, 179, 109),
(27, 108, 28, 109),
(241, 154, 242, 155),
(28, 290, 29, 289),
(176, 287, 177, 288),
(217, 289, 218, 288),
(65, 284, 66, 285),
(139, 287, 140, 286),
(352, 285, 353, 286),
(254, 283, 255, 284),
(43, 261, 44, 260),
(42, 364, 43, 363),
(44, 209, 45, 210),
(377, 37, 378, 36),
(375, 277, 376, 276),
(141, 350, 142, 351),
(66, 354, 67, 353),
(173, 349, 174, 348),
(222, 351, 223, 352),
(31, 346, 32, 347),
(370, 121, 371, 122),
(142, 251, 143, 252),
(223, 252, 224, 253),
(64, 254, 65, 253),
(172, 250, 173, 249),
(61, 144, 62, 145),
(221, 141, 222, 140),
(174, 387, 175, 388),
(60, 383, 61, 384),
(225, 383, 226, 382),
(339, 156, 340, 157),
(337, 239, 338, 238),
(40, 232, 41, 231),
(328, 230, 329, 229),
(282, 228, 283, 227),
(381, 227, 382, 226),
(280, 328, 281, 327),
(378, 324, 379, 323),
(168, 326, 169, 325),
(90, 124, 91, 123),
(87, 374, 88, 375),
(86, 275, 87, 276),
(379, 58, 380, 59),
(279, 56, 280, 57),
(324, 57, 325, 58),
(39, 54, 40, 55),
(119, 38, 120, 39),
(116, 329, 117, 330),
(118, 56, 119, 55),
(117, 230, 118, 231),
(5, 275, 6, 274),
(4, 374, 5, 373),
(1, 122, 2, 123),
(35, 393, 36, 392),
(33, 246, 34, 247),
(30, 219, 31, 220),
(98, 301, 99, 302),
(396, 300, 397, 299),
(320, 390, 321, 389),
(321, 248, 322, 249),
(319, 33, 320, 32),
(318, 345, 319, 346),
(317, 291, 318, 290),
(316, 107, 317, 108),
(97, 198, 98, 199),
(398, 198, 399, 197),
(124, 94, 125, 93),
(125, 402, 126, 403),
(372, 4, 373, 3),
(371, 88, 372, 89),
(272, 402, 273, 401),
(273, 94, 274, 95),
(303, 194, 304, 195),
(203, 190, 204, 191),
(46, 184, 47, 183),
(326, 168, 327, 167),
(380, 169, 381, 170),
(281, 166, 282, 167),
(115, 165, 116, 164),
(195, 401, 196, 400),
(196, 95, 197, 96),
(330, 41, 331, 42),
(106, 291, 107, 292),
(104, 246, 105, 245),
(96, 399, 97, 400),
(17, 121, 18, 120),
(15, 376, 16, 377),
(16, 277, 17, 278),
(12, 101, 13, 102),
(100, 84, 101, 83),
(153, 78, 154, 79),
(242, 78, 243, 77),
(341, 77, 342, 76),
(170, 60, 171, 59),
(165, 228, 166, 229),
(162, 212, 163, 211),
(161, 360, 162, 361),
(163, 258, 164, 259),
(159, 184, 160, 185),
(13, 297, 14, 296),
(390, 247, 391, 248),
(395, 84, 396, 85),
(397, 7, 398, 6),
(14, 394, 15, 393),
(349, 386, 350, 387),
(250, 385, 251, 386),
(145, 385, 146, 384),
(302, 200, 303, 199),
(295, 102, 296, 103),
(293, 244, 294, 245),
(298, 85, 299, 86),
(300, 8, 301, 7),
(297, 395, 298, 394),
(79, 312, 80, 313),
(342, 315, 343, 316),
(243, 314, 244, 315),
(152, 314, 153, 313),
(200, 312, 201, 311),
(193, 310, 194, 311),
(269, 308, 270, 309),
(128, 310, 129, 309),
(368, 307, 369, 308),
(75, 26, 76, 27),
(340, 25, 341, 26),
(240, 23, 241, 24),
(155, 25, 156, 24),
(202, 22, 203, 21),
(191, 20, 192, 21),
(131, 23, 132, 22),
(268, 19, 269, 20),
(367, 18, 368, 19),
(10, 81, 11, 82),
(99, 8, 100, 9),
(80, 11, 81, 12),
(2, 89, 3, 90),
(388, 347, 389, 348),
(105, 345, 106, 344),
(292, 343, 293, 344),
(49, 334, 50, 335),
(52, 233, 53, 234),
(47, 159, 48, 158),
(48, 187, 49, 188),
(50, 206, 51, 205),
(51, 266, 52, 267),
(53, 366, 54, 367),
(73, 136, 74, 137),
(338, 133, 339, 134),
(239, 132, 240, 133),
(157, 135, 158, 134),
(192, 129, 193, 130),
(201, 131, 202, 130),
(236, 190, 237, 189),
(237, 337, 238, 336),
(294, 152, 295, 151),
(103, 150, 104, 151),
(391, 149, 392, 148),
(34, 150, 35, 149),
(171, 146, 172, 147),
(322, 148, 323, 147)],
[Regina_Triangulation(0,0),
[unnamed link(0,0),
[[(3, 1, 4, 0),
(1, 7, 2, 6),
(11, 4, 12, 5),
(8, 16, 9, 15),
(20, 9, 21, 10),
(10, 17, 11, 18),
(18, 13, 19, 14),
(14, 19, 15, 20),
(16, 0, 17, 21),
(7, 3, 8, 23),
(5, 12, 29, 13),
(2, 32, 28, 33),
(33, 28, 34, 27),
(23, 31, 24, 32),
(31, 25, 30, 24),
(27, 34, 26, 39),
(25, 40, 26, 30),
(6, 35, 36, 29),
(35, 37, 38, 36),
(37, 39, 40, 38)],
2,
6,
3]]]],
[[(144, 42, 145, 41),
(57, 122, 58, 123),
(55, 147, 56, 146),
(56, 39, 57, 40),
(127, 58, 128, 59),
(142, 62, 143, 61),
(128, 197, 129, 198),
(209, 125, 210, 124),
(226, 123, 227, 124),
(129, 239, 130, 238),
(210, 143, 211, 144),
(224, 146, 225, 145),
(211, 43, 212, 42),
(225, 40, 226, 41),
(186, 168, 187, 167),
(187, 18, 188, 19),
(249, 15, 0, 14),
(248, 171, 249, 172),
(240, 38, 241, 37),
(241, 148, 242, 149),
(239, 121, 240, 120),
(229, 206, 230, 207),
(126, 227, 127, 228),
(125, 209, 126, 208),
(139, 199, 140, 198),
(138, 237, 139, 238),
(140, 205, 141, 206),
(141, 231, 142, 230),
(130, 70, 131, 69),
(137, 68, 138, 69),
(166, 186, 167, 185),
(216, 180, 217, 179),
(234, 109, 235, 110),
(231, 159, 232, 158),
(232, 27, 233, 28),
(99, 83, 100, 82),
(88, 217, 89, 218),
(91, 21, 92, 20),
(94, 163, 95, 164),
(95, 137, 96, 136),
(90, 181, 91, 182),
(89, 48, 90, 49),
(165, 100, 166, 101),
(49, 86, 50, 87),
(188, 85, 189, 86),
(168, 83, 169, 84),
(17, 85, 18, 84),
(218, 87, 219, 88),
(247, 79, 248, 78),
(174, 77, 175, 78),
(175, 246, 176, 247),
(176, 190, 177, 189),
(177, 51, 178, 50),
(173, 132, 174, 133),
(12, 132, 13, 131),
(8, 51, 9, 52),
(9, 190, 10, 191),
(10, 246, 11, 245),
(11, 77, 12, 76),
(102, 183, 103, 184),
(161, 237, 162, 236),
(106, 235, 107, 236),
(107, 201, 108, 200),
(160, 199, 161, 200),
(203, 27, 204, 26),
(204, 159, 205, 160),
(201, 109, 202, 108),
(196, 121, 197, 122),
(194, 148, 195, 147),
(195, 38, 196, 39),
(65, 110, 66, 111),
(62, 158, 63, 157),
(63, 28, 64, 29),
(162, 68, 163, 67),
(105, 66, 106, 67),
(118, 76, 119, 75),
(150, 73, 151, 74),
(35, 75, 36, 74),
(70, 120, 71, 119),
(72, 149, 73, 150),
(71, 37, 72, 36),
(33, 192, 34, 193),
(152, 194, 153, 193),
(116, 191, 117, 192),
(117, 245, 118, 244),
(151, 242, 152, 243),
(34, 244, 35, 243),
(32, 53, 33, 54),
(153, 55, 154, 54),
(115, 52, 116, 53),
(44, 29, 45, 30),
(43, 157, 44, 156),
(45, 112, 46, 113),
(47, 181, 48, 180),
(59, 229, 60, 228),
(113, 215, 114, 214),
(60, 207, 61, 208),
(155, 212, 156, 213),
(30, 214, 31, 213),
(134, 14, 135, 13),
(133, 172, 134, 173),
(135, 97, 136, 96),
(184, 101, 185, 102),
(92, 104, 93, 103),
(0, 98, 1, 97),
(79, 170, 80, 171),
(80, 16, 81, 15),
(81, 99, 82, 98),
(169, 16, 170, 17),
(215, 6, 216, 7),
(46, 5, 47, 6),
(164, 1, 165, 2),
(104, 4, 105, 3),
(93, 3, 94, 2),
(154, 224, 155, 223),
(31, 222, 32, 223),
(114, 221, 115, 222),
(7, 220, 8, 221),
(178, 220, 179, 219),
(21, 5, 22, 4),
(19, 182, 20, 183),
(22, 112, 23, 111),
(23, 64, 24, 65),
(25, 203, 26, 202),
(24, 233, 25, 234)],
[Regina_Triangulation(0,0),
[unnamed link(0,0),
[[(3, 1, 4, 0),
(1, 7, 2, 6),
(7, 3, 8, 2),
(8, 16, 9, 15),
(20, 9, 21, 10),
(10, 17, 11, 18),
(18, 13, 19, 14),
(14, 19, 15, 20),
(16, 0, 17, 21),
(11, 23, 12, 5),
(5, 12, 29, 13),
(23, 32, 28, 33),
(33, 28, 34, 27),
(4, 31, 24, 32),
(31, 25, 30, 24),
(27, 34, 26, 43),
(25, 44, 26, 30),
(29, 35, 36, 6),
(42, 41, 43, 44),
(40, 39, 41, 42),
(38, 37, 39, 40),
(36, 35, 37, 38)],
4,
6,
-5]]]],
[[(10, 194, 11, 193),
(9, 27, 10, 26),
(23, 13, 24, 12),
(14, 22, 15, 21),
(19, 204, 20, 205),
(18, 100, 19, 99),
(20, 184, 21, 183),
(25, 192, 26, 193),
(90, 27, 91, 28),
(114, 31, 115, 32),
(174, 29, 175, 30),
(213, 29, 214, 28),
(169, 218, 170, 219),
(163, 45, 164, 44),
(164, 259, 165, 260),
(236, 149, 237, 150),
(225, 46, 226, 47),
(223, 259, 224, 258),
(162, 128, 163, 127),
(226, 129, 227, 130),
(91, 9, 92, 8),
(116, 4, 117, 3),
(175, 7, 176, 6),
(37, 267, 38, 266),
(212, 7, 213, 8),
(173, 112, 174, 113),
(214, 112, 215, 111),
(82, 257, 83, 258),
(80, 46, 81, 45),
(79, 129, 80, 128),
(70, 154, 71, 153),
(146, 123, 147, 124),
(142, 266, 143, 265),
(109, 23, 110, 22),
(145, 63, 146, 62),
(267, 67, 0, 66),
(121, 64, 122, 65),
(240, 65, 241, 66),
(239, 121, 240, 120),
(119, 239, 120, 238),
(143, 242, 144, 243),
(0, 237, 1, 238),
(134, 104, 135, 103),
(135, 187, 136, 186),
(133, 200, 134, 201),
(130, 160, 131, 159),
(132, 229, 133, 230),
(131, 77, 132, 76),
(105, 137, 106, 136),
(155, 73, 156, 72),
(256, 73, 257, 74),
(253, 231, 254, 230),
(255, 156, 256, 157),
(251, 203, 252, 202),
(250, 185, 251, 186),
(252, 101, 253, 102),
(106, 249, 107, 250),
(196, 55, 197, 56),
(107, 55, 108, 54),
(161, 228, 162, 229),
(78, 227, 79, 228),
(68, 222, 69, 221),
(234, 219, 235, 220),
(151, 221, 152, 220),
(207, 216, 208, 217),
(180, 216, 181, 215),
(96, 218, 97, 217),
(2, 94, 3, 93),
(5, 177, 6, 176),
(4, 211, 5, 212),
(1, 149, 2, 148),
(262, 60, 263, 59),
(261, 244, 262, 245),
(260, 142, 261, 141),
(118, 147, 119, 148),
(115, 211, 116, 210),
(113, 178, 114, 179),
(117, 92, 118, 93),
(36, 67, 37, 68),
(34, 236, 35, 235),
(35, 150, 36, 151),
(32, 210, 33, 209),
(30, 177, 31, 178),
(33, 94, 34, 95),
(243, 264, 244, 265),
(60, 264, 61, 263),
(195, 24, 196, 25),
(199, 138, 200, 139),
(197, 249, 198, 248),
(63, 122, 64, 123),
(43, 140, 44, 141),
(42, 246, 43, 245),
(41, 58, 42, 59),
(61, 40, 62, 41),
(241, 39, 242, 38),
(144, 39, 145, 40),
(126, 139, 127, 140),
(125, 247, 126, 246),
(124, 57, 125, 58),
(222, 165, 223, 166),
(95, 170, 96, 171),
(179, 172, 180, 173),
(208, 172, 209, 171),
(152, 167, 153, 168),
(233, 169, 234, 168),
(74, 158, 75, 157),
(69, 166, 70, 167),
(102, 201, 103, 202),
(89, 110, 90, 111),
(187, 104, 188, 105),
(189, 199, 190, 198),
(188, 138, 189, 137),
(190, 247, 191, 248),
(191, 57, 192, 56),
(97, 86, 98, 87),
(181, 88, 182, 89),
(206, 88, 207, 87),
(232, 86, 233, 85),
(154, 83, 155, 84),
(71, 84, 72, 85),
(160, 78, 161, 77),
(224, 81, 225, 82),
(205, 16, 206, 17),
(98, 18, 99, 17),
(182, 16, 183, 15),
(108, 13, 109, 14),
(194, 12, 195, 11),
(48, 76, 49, 75),
(47, 159, 48, 158),
(50, 231, 51, 232),
(49, 254, 50, 255),
(52, 203, 53, 204),
(51, 101, 52, 100),
(53, 185, 54, 184)],
[Regina_Triangulation(0,0),
[unnamed link(0,0),
[[(3, 1, 4, 0),
(1, 7, 2, 6),
(7, 3, 8, 2),
(8, 16, 9, 15),
(20, 9, 21, 10),
(10, 17, 11, 18),
(18, 13, 19, 14),
(14, 19, 15, 20),
(16, 0, 17, 21),
(11, 23, 12, 5),
(5, 12, 29, 13),
(23, 32, 28, 33),
(33, 28, 34, 27),
(4, 31, 24, 32),
(31, 25, 30, 24),
(27, 34, 26, 39),
(25, 40, 26, 30),
(29, 35, 36, 6),
(38, 37, 39, 40),
(36, 35, 37, 38)],
4,
6,
-3]]]],
[[(39, 115, 40, 114),
(187, 257, 188, 256),
(146, 41, 147, 42),
(322, 222, 323, 221),
(7, 222, 8, 223),
(87, 251, 88, 250),
(202, 239, 203, 240),
(307, 51, 308, 50),
(303, 159, 304, 158),
(63, 288, 64, 289),
(169, 290, 170, 291),
(276, 288, 277, 287),
(302, 285, 303, 286),
(27, 287, 28, 286),
(25, 156, 26, 157),
(21, 48, 22, 49),
(275, 233, 276, 232),
(157, 231, 158, 230),
(55, 227, 56, 226),
(26, 232, 27, 231),
(304, 229, 305, 230),
(134, 290, 135, 289),
(130, 68, 131, 67),
(135, 169, 136, 168),
(132, 273, 133, 274),
(128, 153, 129, 154),
(126, 47, 127, 48),
(133, 235, 134, 234),
(305, 213, 306, 212),
(24, 211, 25, 212),
(131, 208, 132, 209),
(53, 214, 54, 215),
(155, 210, 156, 211),
(272, 207, 273, 208),
(66, 210, 67, 209),
(329, 205, 330, 204),
(306, 108, 307, 107),
(23, 106, 24, 107),
(129, 104, 130, 105),
(52, 109, 53, 110),
(154, 105, 155, 106),
(270, 101, 271, 102),
(68, 104, 69, 103),
(330, 100, 331, 99),
(172, 272, 173, 271),
(173, 103, 174, 102),
(171, 207, 172, 206),
(170, 235, 171, 236),
(268, 176, 269, 175),
(265, 22, 266, 23),
(149, 44, 150, 45),
(264, 49, 265, 50),
(178, 46, 179, 45),
(73, 41, 74, 40),
(43, 148, 44, 149),
(267, 152, 268, 153),
(177, 151, 178, 150),
(74, 146, 75, 145),
(111, 77, 112, 76),
(110, 182, 111, 181),
(108, 261, 109, 262),
(241, 97, 242, 96),
(220, 9, 221, 10),
(219, 321, 220, 320),
(216, 78, 217, 77),
(215, 183, 216, 182),
(213, 260, 214, 261),
(205, 1, 206, 0),
(236, 1, 237, 2),
(100, 0, 101, 331),
(228, 260, 229, 259),
(227, 184, 228, 185),
(225, 78, 226, 79),
(56, 80, 57, 79),
(54, 184, 55, 183),
(51, 262, 52, 263),
(161, 81, 162, 80),
(160, 186, 161, 185),
(159, 258, 160, 259),
(284, 258, 285, 257),
(283, 186, 284, 187),
(282, 81, 283, 82),
(174, 69, 175, 70),
(269, 71, 270, 70),
(34, 58, 35, 57),
(293, 60, 294, 61),
(192, 62, 193, 61),
(249, 58, 250, 59),
(88, 60, 89, 59),
(296, 86, 297, 85),
(294, 251, 295, 252),
(292, 194, 293, 193),
(295, 33, 296, 32),
(291, 137, 292, 136),
(83, 280, 84, 281),
(254, 280, 255, 279),
(190, 277, 191, 278),
(298, 282, 299, 281),
(29, 278, 30, 279),
(65, 275, 66, 274),
(62, 167, 63, 168),
(30, 166, 31, 165),
(297, 162, 298, 163),
(191, 167, 192, 166),
(253, 164, 254, 165),
(84, 164, 85, 163),
(188, 302, 189, 301),
(255, 300, 256, 301),
(82, 300, 83, 299),
(196, 328, 197, 327),
(247, 324, 248, 325),
(90, 326, 91, 325),
(91, 4, 92, 5),
(246, 6, 247, 5),
(195, 2, 196, 3),
(89, 138, 90, 139),
(248, 140, 249, 139),
(194, 137, 195, 138),
(86, 33, 87, 34),
(252, 32, 253, 31),
(189, 28, 190, 29),
(323, 7, 324, 6),
(318, 94, 319, 93),
(319, 244, 320, 245),
(317, 199, 318, 198),
(199, 317, 200, 316),
(243, 314, 244, 315),
(94, 316, 95, 315),
(75, 310, 76, 311),
(180, 309, 181, 310),
(263, 309, 264, 308),
(35, 224, 36, 225),
(36, 218, 37, 217),
(38, 314, 39, 313),
(37, 142, 38, 143),
(3, 327, 4, 326),
(328, 237, 329, 238),
(64, 233, 65, 234),
(11, 92, 12, 93),
(10, 246, 11, 245),
(8, 322, 9, 321),
(12, 197, 13, 198),
(15, 121, 16, 120),
(266, 127, 267, 128),
(176, 124, 177, 123),
(46, 125, 47, 126),
(151, 124, 152, 125),
(71, 123, 72, 122),
(98, 121, 99, 122),
(240, 120, 241, 119),
(201, 118, 202, 119),
(116, 95, 117, 96),
(115, 243, 116, 242),
(112, 312, 113, 311),
(117, 200, 118, 201),
(179, 21, 180, 20),
(42, 19, 43, 20),
(147, 18, 148, 19),
(72, 18, 73, 17),
(97, 16, 98, 17),
(203, 14, 204, 15),
(238, 14, 239, 13),
(140, 223, 141, 224),
(141, 219, 142, 218),
(143, 313, 144, 312),
(144, 114, 145, 113)],
[Regina_Triangulation(0,0),
[unnamed link(0,0),
[[(3, 1, 4, 0),
(1, 7, 2, 6),
(7, 3, 8, 2),
(8, 16, 9, 15),
(20, 9, 21, 10),
(10, 17, 11, 18),
(18, 13, 19, 14),
(14, 19, 15, 20),
(16, 0, 17, 21),
(11, 23, 12, 5),
(5, 12, 29, 13),
(23, 32, 28, 33),
(33, 28, 34, 27),
(4, 31, 24, 32),
(31, 25, 30, 24),
(27, 34, 26, 41),
(25, 42, 26, 30),
(35, 36, 6, 29),
(35, 37, 38, 36),
(37, 39, 40, 38),
(39, 41, 42, 40)],
4,
6,
4]]]],
[[(14, 157, 15, 158),
(12, 285, 13, 286),
(25, 44, 26, 45),
(16, 94, 17, 93),
(99, 19, 100, 18),
(22, 218, 23, 217),
(27, 259, 28, 258),
(19, 327, 20, 326),
(33, 167, 34, 166),
(146, 44, 147, 43),
(239, 42, 240, 43),
(104, 45, 105, 46),
(120, 52, 121, 51),
(160, 89, 161, 90),
(281, 94, 282, 95),
(90, 159, 91, 160),
(95, 280, 96, 281),
(101, 217, 102, 216),
(97, 231, 98, 230),
(106, 260, 107, 259),
(100, 326, 101, 325),
(115, 171, 116, 170),
(137, 168, 138, 169),
(145, 260, 146, 261),
(152, 276, 153, 275),
(153, 330, 154, 331),
(248, 168, 249, 167),
(294, 169, 295, 170),
(299, 176, 300, 177),
(0, 174, 1, 173),
(2, 172, 3, 171),
(235, 219, 236, 218),
(241, 263, 242, 262),
(232, 328, 233, 327),
(337, 323, 338, 322),
(338, 357, 339, 358),
(273, 224, 274, 225),
(72, 223, 73, 224),
(331, 227, 332, 226),
(348, 225, 349, 226),
(205, 223, 206, 222),
(149, 220, 150, 221),
(7, 252, 8, 253),
(140, 246, 141, 245),
(34, 249, 35, 250),
(111, 244, 112, 245),
(215, 325, 216, 324),
(212, 335, 213, 336),
(213, 93, 214, 92),
(8, 119, 9, 120),
(135, 117, 136, 116),
(37, 118, 38, 119),
(114, 296, 115, 295),
(35, 293, 36, 292),
(136, 293, 137, 294),
(250, 292, 251, 291),
(251, 6, 252, 7),
(134, 4, 135, 3),
(36, 5, 37, 6),
(117, 4, 118, 5),
(270, 263, 271, 264),
(274, 350, 275, 349),
(265, 180, 266, 181),
(266, 303, 267, 304),
(264, 378, 265, 377),
(271, 41, 272, 40),
(188, 143, 189, 144),
(182, 305, 183, 306),
(183, 375, 184, 374),
(178, 301, 179, 302),
(175, 381, 176, 380),
(278, 78, 279, 77),
(309, 371, 310, 370),
(310, 185, 311, 186),
(199, 84, 200, 85),
(323, 82, 324, 83),
(214, 81, 215, 82),
(17, 80, 18, 81),
(98, 79, 99, 80),
(150, 74, 151, 73),
(39, 55, 40, 54),
(132, 53, 133, 54),
(9, 53, 10, 52),
(76, 278, 77, 277),
(70, 42, 71, 41),
(74, 352, 75, 351),
(68, 261, 69, 262),
(67, 145, 68, 144),
(64, 29, 65, 30),
(69, 240, 70, 241),
(65, 108, 66, 109),
(339, 199, 340, 198),
(371, 309, 372, 308),
(368, 188, 369, 187),
(233, 21, 234, 20),
(229, 97, 230, 96),
(231, 78, 232, 79),
(227, 154, 228, 155),
(228, 279, 229, 280),
(336, 92, 337, 91),
(343, 88, 344, 89),
(211, 158, 212, 159),
(344, 162, 345, 161),
(333, 156, 334, 157),
(272, 207, 273, 208),
(71, 206, 72, 207),
(87, 320, 88, 321),
(86, 360, 87, 359),
(85, 196, 86, 197),
(184, 267, 185, 268),
(373, 269, 374, 268),
(306, 269, 307, 270),
(356, 84, 357, 83),
(312, 114, 313, 113),
(367, 110, 368, 111),
(190, 108, 191, 107),
(142, 109, 143, 110),
(26, 106, 27, 105),
(314, 248, 315, 247),
(369, 242, 370, 243),
(186, 244, 187, 243),
(147, 238, 148, 239),
(21, 235, 22, 234),
(315, 33, 316, 32),
(364, 31, 365, 32),
(133, 38, 134, 39),
(191, 29, 192, 28),
(56, 177, 57, 178),
(57, 300, 58, 301),
(55, 379, 56, 378),
(125, 195, 126, 194),
(124, 361, 125, 362),
(123, 319, 124, 318),
(334, 16, 335, 15),
(346, 13, 347, 14),
(208, 12, 209, 11),
(376, 182, 377, 181),
(375, 305, 376, 304),
(209, 286, 210, 287),
(347, 285, 348, 284),
(332, 283, 333, 284),
(307, 373, 308, 372),
(302, 179, 303, 180),
(210, 346, 211, 345),
(321, 343, 322, 342),
(358, 341, 359, 342),
(197, 341, 198, 340),
(282, 156, 283, 155),
(366, 142, 367, 141),
(313, 138, 314, 139),
(257, 193, 258, 192),
(256, 363, 257, 364),
(255, 317, 256, 316),
(10, 132, 11, 131),
(319, 129, 320, 128),
(360, 127, 361, 128),
(195, 127, 196, 126),
(48, 317, 49, 318),
(47, 363, 48, 362),
(46, 193, 47, 194),
(102, 355, 103, 356),
(221, 205, 222, 204),
(148, 203, 149, 204),
(24, 202, 25, 201),
(237, 203, 238, 202),
(103, 201, 104, 200),
(276, 329, 277, 330),
(75, 328, 76, 329),
(174, 297, 175, 298),
(381, 297, 0, 296),
(298, 380, 299, 379),
(172, 2, 173, 1),
(189, 66, 190, 67),
(365, 63, 366, 62),
(311, 58, 312, 59),
(139, 61, 140, 60),
(30, 63, 31, 64),
(246, 61, 247, 62),
(112, 59, 113, 60),
(23, 354, 24, 355),
(236, 353, 237, 354),
(151, 351, 152, 350),
(219, 352, 220, 353),
(162, 129, 163, 130),
(163, 123, 164, 122),
(164, 49, 165, 50),
(165, 255, 166, 254),
(287, 130, 288, 131),
(289, 50, 290, 51),
(288, 122, 289, 121),
(290, 254, 291, 253)],
[Regina_Triangulation(0,0),
[unnamed link(0,0),
[[(3, 1, 4, 0),
(1, 7, 2, 6),
(7, 3, 8, 2),
(11, 4, 12, 5),
(5, 12, 6, 13),
(8, 16, 9, 15),
(20, 9, 21, 10),
(10, 17, 11, 18),
(16, 0, 17, 21),
(18, 23, 19, 14),
(14, 19, 29, 20),
(23, 32, 28, 33),
(33, 28, 34, 27),
(13, 31, 24, 32),
(31, 25, 30, 24),
(27, 34, 26, 43),
(25, 44, 26, 30),
(29, 35, 36, 15),
(42, 41, 43, 44),
(40, 39, 41, 42),
(38, 37, 39, 40),
(36, 35, 37, 38)],
13,
15,
-5]]]],
[[(32, 222, 33, 221),
(78, 58, 79, 57),
(162, 59, 163, 60),
(265, 57, 266, 56),
(172, 67, 173, 68),
(260, 72, 261, 71),
(77, 164, 78, 165),
(80, 268, 81, 267),
(127, 220, 128, 221),
(262, 167, 263, 168),
(191, 219, 192, 218),
(75, 188, 76, 189),
(160, 180, 161, 179),
(0, 181, 1, 182),
(61, 184, 62, 185),
(60, 161, 61, 162),
(62, 248, 63, 247),
(266, 246, 267, 245),
(159, 250, 160, 251),
(79, 247, 80, 246),
(147, 203, 148, 202),
(146, 227, 147, 228),
(144, 42, 145, 41),
(145, 118, 146, 119),
(16, 116, 17, 115),
(15, 44, 16, 45),
(13, 227, 14, 226),
(12, 203, 13, 204),
(97, 117, 98, 116),
(96, 43, 97, 44),
(94, 226, 95, 225),
(93, 204, 94, 205),
(185, 58, 186, 59),
(182, 269, 183, 0),
(186, 164, 187, 163),
(189, 74, 190, 75),
(183, 248, 184, 249),
(125, 237, 126, 236),
(36, 233, 37, 234),
(197, 234, 198, 235),
(119, 150, 120, 151),
(40, 152, 41, 151),
(228, 149, 229, 150),
(201, 149, 202, 148),
(200, 11, 201, 12),
(230, 10, 231, 9),
(39, 8, 40, 9),
(121, 11, 122, 10),
(224, 237, 225, 238),
(223, 126, 224, 127),
(222, 34, 223, 33),
(199, 92, 200, 93),
(232, 90, 233, 89),
(37, 90, 38, 91),
(122, 92, 123, 91),
(207, 34, 208, 35),
(205, 125, 206, 124),
(206, 236, 207, 235),
(175, 254, 176, 255),
(198, 123, 199, 124),
(229, 121, 230, 120),
(42, 117, 43, 118),
(130, 74, 131, 73),
(133, 168, 134, 169),
(132, 262, 133, 261),
(131, 53, 132, 52),
(231, 38, 232, 39),
(196, 36, 197, 35),
(29, 50, 30, 51),
(28, 259, 29, 260),
(26, 170, 27, 169),
(27, 70, 28, 71),
(208, 195, 209, 196),
(31, 195, 32, 194),
(219, 193, 220, 192),
(49, 30, 50, 31),
(48, 130, 49, 129),
(46, 217, 47, 218),
(45, 239, 46, 238),
(66, 107, 67, 108),
(173, 107, 174, 106),
(257, 104, 258, 105),
(88, 101, 89, 102),
(7, 100, 8, 101),
(152, 100, 153, 99),
(143, 98, 144, 99),
(14, 96, 15, 95),
(114, 156, 115, 155),
(112, 3, 113, 4),
(111, 84, 112, 85),
(110, 255, 111, 256),
(109, 175, 110, 174),
(108, 65, 109, 66),
(69, 24, 70, 25),
(102, 22, 103, 21),
(170, 26, 171, 25),
(258, 23, 259, 24),
(87, 20, 88, 21),
(6, 19, 7, 20),
(154, 18, 155, 17),
(141, 18, 142, 19),
(105, 136, 106, 137),
(153, 142, 154, 143),
(5, 141, 6, 140),
(86, 140, 87, 139),
(256, 138, 257, 137),
(171, 134, 172, 135),
(68, 136, 69, 135),
(215, 157, 216, 156),
(213, 4, 214, 5),
(212, 85, 213, 86),
(178, 158, 179, 157),
(253, 83, 254, 82),
(176, 83, 177, 84),
(64, 82, 65, 81),
(249, 180, 250, 181),
(251, 158, 252, 159),
(177, 2, 178, 3),
(252, 2, 253, 1),
(63, 269, 64, 268),
(53, 166, 54, 167),
(51, 73, 52, 72),
(55, 265, 56, 264),
(138, 212, 139, 211),
(113, 215, 114, 214),
(22, 209, 23, 210),
(103, 210, 104, 211),
(242, 165, 243, 166),
(241, 77, 242, 76),
(243, 55, 244, 54),
(244, 264, 245, 263),
(239, 216, 240, 217),
(128, 193, 129, 194),
(47, 190, 48, 191),
(240, 187, 241, 188)],
[Regina_Triangulation(0,0),
[unnamed link(0,0),
[[(3, 1, 4, 0),
(1, 7, 2, 6),
(7, 3, 8, 2),
(11, 4, 12, 5),
(5, 12, 6, 13),
(8, 16, 9, 15),
(20, 9, 21, 10),
(10, 17, 11, 18),
(16, 0, 17, 21),
(18, 23, 19, 14),
(14, 19, 29, 20),
(23, 32, 28, 33),
(33, 28, 34, 27),
(13, 31, 24, 32),
(31, 25, 30, 24),
(27, 34, 26, 35),
(25, 36, 26, 30),
(29, 35, 36, 15)],
13,
15,
-1]]]],
[[(661, 169, 662, 168),
(670, 55, 671, 56),
(672, 718, 673, 717),
(643, 349, 644, 348),
(412, 639, 413, 640),
(427, 640, 428, 641),
(350, 638, 351, 637),
(28, 591, 29, 592),
(566, 507, 567, 508),
(568, 439, 569, 440),
(567, 269, 568, 268),
(564, 157, 565, 158),
(563, 59, 564, 58),
(13, 571, 14, 570),
(562, 713, 563, 714),
(33, 533, 34, 532),
(384, 512, 385, 511),
(504, 271, 505, 272),
(207, 503, 208, 502),
(151, 501, 152, 500),
(103, 508, 104, 509),
(9, 506, 10, 507),
(355, 484, 356, 485),
(754, 487, 755, 488),
(453, 51, 454, 50),
(447, 716, 448, 717),
(206, 438, 207, 437),
(11, 438, 12, 439),
(383, 264, 384, 265),
(385, 163, 386, 162),
(389, 54, 390, 55),
(391, 719, 392, 718),
(320, 164, 321, 163),
(324, 53, 325, 54),
(326, 720, 327, 719),
(748, 288, 749, 287),
(276, 63, 277, 64),
(277, 3, 278, 2),
(275, 709, 276, 708),
(211, 274, 212, 275),
(155, 272, 156, 273),
(105, 267, 106, 266),
(10, 270, 11, 269),
(34, 243, 35, 244),
(208, 154, 209, 153),
(213, 62, 214, 63),
(3, 214, 4, 215),
(212, 710, 213, 709),
(30, 186, 31, 185),
(101, 158, 102, 159),
(7, 156, 8, 157),
(100, 58, 101, 57),
(99, 714, 100, 715),
(64, 2, 65, 1),
(61, 711, 62, 710),
(5, 61, 6, 60),
(740, 32, 741, 31),
(4, 711, 5, 712),
(707, 0, 708, 1),
(6, 678, 7, 677),
(712, 676, 713, 675),
(59, 676, 60, 677),
(273, 678, 274, 679),
(210, 679, 211, 680),
(560, 674, 561, 673),
(97, 675, 98, 674),
(387, 668, 388, 669),
(149, 685, 150, 684),
(680, 335, 681, 336),
(152, 338, 153, 337),
(763, 335, 0, 334),
(706, 334, 707, 333),
(65, 332, 66, 333),
(278, 331, 279, 332),
(215, 330, 216, 331),
(559, 329, 560, 328),
(96, 330, 97, 329),
(392, 327, 393, 328),
(498, 684, 499, 683),
(501, 339, 502, 338),
(239, 537, 240, 536),
(240, 188, 241, 187),
(235, 586, 236, 587),
(234, 633, 235, 634),
(233, 286, 234, 287),
(227, 491, 228, 490),
(228, 142, 229, 141),
(390, 450, 391, 449),
(104, 441, 105, 442),
(325, 451, 326, 450),
(671, 449, 672, 448),
(715, 446, 716, 447),
(56, 446, 57, 445),
(159, 444, 160, 445),
(509, 442, 510, 443),
(267, 441, 268, 440),
(612, 444, 613, 443),
(29, 743, 30, 742),
(26, 350, 27, 349),
(25, 638, 26, 639),
(148, 402, 149, 401),
(497, 401, 498, 400),
(760, 400, 761, 399),
(703, 397, 704, 396),
(69, 394, 70, 395),
(282, 393, 283, 394),
(220, 395, 221, 396),
(553, 399, 554, 398),
(632, 285, 633, 286),
(626, 397, 627, 398),
(629, 701, 630, 700),
(623, 763, 624, 762),
(618, 504, 619, 503),
(619, 155, 620, 154),
(622, 681, 623, 682),
(621, 336, 622, 337),
(270, 617, 271, 618),
(505, 617, 506, 616),
(160, 612, 161, 611),
(102, 614, 103, 613),
(388, 609, 389, 610),
(669, 610, 670, 611),
(323, 608, 324, 609),
(455, 605, 456, 604),
(585, 284, 586, 285),
(583, 630, 584, 631),
(580, 490, 581, 489),
(581, 141, 582, 140),
(571, 205, 572, 204),
(582, 229, 583, 230),
(144, 226, 145, 225),
(493, 225, 494, 224),
(750, 232, 751, 231),
(701, 223, 702, 222),
(628, 223, 629, 224),
(68, 219, 69, 220),
(281, 218, 282, 219),
(203, 573, 204, 572),
(198, 147, 199, 148),
(197, 496, 198, 497),
(196, 759, 197, 760),
(193, 702, 194, 703),
(194, 628, 195, 627),
(192, 222, 193, 221),
(190, 284, 191, 283),
(217, 559, 218, 558),
(280, 558, 281, 557),
(67, 557, 68, 556),
(195, 552, 196, 553),
(625, 555, 626, 554),
(704, 555, 705, 556),
(752, 545, 753, 546),
(494, 551, 495, 552),
(145, 550, 146, 551),
(579, 549, 580, 548),
(414, 348, 415, 347),
(537, 239, 538, 238),
(538, 590, 539, 589),
(535, 186, 536, 187),
(473, 540, 474, 541),
(479, 23, 480, 22),
(474, 745, 475, 746),
(478, 410, 479, 409),
(476, 351, 477, 352),
(480, 426, 481, 425),
(471, 237, 472, 236),
(475, 637, 476, 636),
(472, 588, 473, 587),
(470, 189, 471, 190),
(722, 117, 723, 118),
(52, 114, 53, 113),
(607, 113, 608, 112),
(451, 114, 452, 115),
(321, 111, 322, 110),
(666, 112, 667, 111),
(386, 110, 387, 109),
(161, 108, 162, 109),
(510, 107, 511, 108),
(265, 107, 266, 106),
(646, 540, 647, 539),
(649, 189, 650, 188),
(647, 588, 648, 589),
(648, 237, 649, 238),
(641, 428, 642, 429),
(645, 745, 646, 744),
(644, 27, 645, 28),
(642, 413, 643, 414),
(737, 245, 738, 244),
(743, 591, 744, 590),
(741, 184, 742, 185),
(738, 531, 739, 532),
(143, 492, 144, 493),
(137, 289, 138, 288),
(263, 382, 264, 383),
(513, 381, 514, 380),
(164, 380, 165, 379),
(665, 378, 666, 379),
(318, 381, 319, 382),
(452, 376, 453, 375),
(606, 377, 607, 378),
(51, 376, 52, 377),
(720, 374, 721, 373),
(115, 375, 116, 374),
(371, 117, 372, 116),
(372, 722, 373, 721),
(370, 49, 371, 50),
(368, 605, 369, 606),
(369, 455, 370, 454),
(364, 315, 365, 316),
(367, 664, 368, 665),
(365, 167, 366, 166),
(183, 39, 184, 38),
(180, 248, 181, 247),
(181, 528, 182, 529),
(459, 520, 460, 521),
(319, 513, 320, 512),
(663, 517, 664, 516),
(165, 514, 166, 515),
(366, 516, 367, 515),
(424, 482, 425, 481),
(423, 294, 424, 295),
(363, 260, 364, 261),
(169, 259, 170, 258),
(660, 259, 661, 260),
(317, 262, 318, 263),
(458, 256, 459, 255),
(530, 38, 531, 37),
(534, 242, 535, 241),
(170, 660, 171, 659),
(322, 667, 323, 668),
(457, 657, 458, 656),
(256, 657, 257, 658),
(519, 659, 520, 658),
(602, 655, 603, 656),
(45, 652, 46, 653),
(727, 651, 728, 650),
(167, 315, 168, 314),
(662, 313, 663, 314),
(456, 312, 457, 311),
(261, 316, 262, 317),
(517, 313, 518, 312),
(603, 310, 604, 311),
(48, 309, 49, 310),
(723, 309, 724, 308),
(343, 419, 344, 418),
(342, 361, 343, 362),
(341, 15, 342, 14),
(340, 574, 341, 573),
(339, 202, 340, 203),
(731, 176, 732, 177),
(40, 176, 41, 175),
(594, 178, 595, 177),
(527, 178, 528, 179),
(248, 180, 249, 179),
(460, 171, 461, 172),
(429, 347, 430, 346),
(436, 206, 437, 205),
(434, 569, 435, 570),
(435, 12, 436, 13),
(433, 363, 434, 362),
(430, 415, 431, 416),
(651, 469, 652, 468),
(726, 469, 727, 470),
(44, 468, 45, 467),
(598, 466, 599, 465),
(521, 462, 522, 463),
(251, 467, 252, 466),
(172, 461, 173, 462),
(242, 534, 243, 533),
(246, 35, 247, 36),
(209, 620, 210, 621),
(565, 615, 566, 614),
(8, 616, 9, 615),
(689, 421, 690, 420),
(688, 18, 689, 17),
(686, 576, 687, 575),
(685, 200, 686, 201),
(561, 98, 562, 99),
(216, 96, 217, 95),
(279, 95, 280, 94),
(66, 94, 67, 93),
(705, 92, 706, 93),
(761, 90, 762, 91),
(499, 88, 500, 89),
(624, 92, 625, 91),
(150, 87, 151, 88),
(86, 202, 87, 201),
(85, 574, 86, 575),
(83, 16, 84, 17),
(82, 419, 83, 420),
(354, 292, 355, 291),
(482, 294, 483, 293),
(518, 258, 519, 257),
(601, 254, 602, 255),
(43, 250, 44, 251),
(728, 250, 729, 249),
(729, 526, 730, 527),
(42, 526, 43, 525),
(597, 525, 598, 524),
(41, 596, 42, 597),
(730, 596, 731, 595),
(426, 132, 427, 131),
(352, 135, 353, 136),
(411, 133, 412, 132),
(477, 134, 478, 135),
(751, 138, 752, 139),
(24, 134, 25, 133),
(577, 757, 578, 756),
(232, 750, 233, 749),
(146, 757, 147, 758),
(495, 758, 496, 759),
(687, 358, 688, 359),
(84, 360, 85, 359),
(15, 360, 16, 361),
(129, 417, 130, 416),
(128, 432, 129, 431),
(130, 345, 131, 346),
(127, 174, 128, 175),
(125, 464, 126, 465),
(122, 254, 123, 253),
(126, 523, 127, 524),
(124, 600, 125, 599),
(120, 48, 121, 47),
(118, 725, 119, 726),
(121, 655, 122, 654),
(119, 307, 120, 306),
(735, 37, 736, 36),
(592, 39, 593, 40),
(182, 733, 183, 734),
(245, 737, 246, 736),
(529, 734, 530, 735),
(32, 740, 33, 739),
(593, 733, 594, 732),
(226, 698, 227, 697),
(549, 696, 550, 697),
(755, 694, 756, 695),
(491, 698, 492, 699),
(578, 696, 579, 695),
(142, 699, 143, 700),
(421, 691, 422, 690),
(357, 692, 358, 693),
(89, 682, 90, 683),
(356, 80, 357, 79),
(422, 81, 423, 82),
(139, 75, 140, 74),
(584, 71, 585, 72),
(485, 79, 486, 78),
(753, 77, 754, 76),
(546, 76, 547, 75),
(230, 73, 231, 74),
(631, 72, 632, 73),
(191, 71, 192, 70),
(296, 417, 297, 418),
(295, 345, 296, 344),
(297, 432, 298, 433),
(298, 174, 299, 173),
(303, 252, 304, 253),
(299, 523, 300, 522),
(300, 464, 301, 463),
(301, 600, 302, 601),
(304, 653, 305, 654),
(305, 46, 306, 47),
(302, 124, 303, 123),
(307, 725, 308, 724),
(547, 488, 548, 489),
(541, 635, 542, 634),
(543, 136, 544, 137),
(542, 747, 543, 748),
(544, 290, 545, 289),
(746, 636, 747, 635),
(402, 199, 403, 200),
(403, 577, 404, 576),
(404, 694, 405, 693),
(406, 77, 407, 78),
(405, 487, 406, 486),
(407, 290, 408, 291),
(408, 353, 409, 354),
(410, 24, 411, 23),
(18, 692, 19, 691),
(19, 80, 20, 81),
(20, 484, 21, 483),
(21, 292, 22, 293)],
[Regina_Triangulation(0,0),
[unnamed link(0,0),
[[(3, 1, 4, 0),
(1, 7, 2, 6),
(7, 3, 8, 2),
(11, 4, 12, 5),
(5, 12, 6, 13),
(8, 16, 9, 15),
(20, 9, 21, 10),
(10, 17, 11, 18),
(16, 0, 17, 21),
(18, 23, 19, 14),
(14, 19, 29, 20),
(23, 32, 28, 33),
(33, 28, 34, 27),
(13, 31, 24, 32),
(31, 25, 30, 24),
(27, 34, 26, 35),
(25, 36, 26, 30),
(29, 35, 36, 15)],
13,
15,
-1]]]],
[[(103, 88, 104, 89),
(140, 83, 141, 84),
(138, 167, 139, 168),
(139, 203, 140, 202),
(232, 137, 233, 138),
(136, 36, 137, 35),
(143, 244, 144, 245),
(146, 128, 147, 127),
(126, 193, 127, 194),
(125, 226, 126, 227),
(124, 60, 125, 59),
(128, 148, 129, 147),
(241, 148, 242, 149),
(242, 63, 243, 64),
(245, 225, 246, 224),
(243, 191, 244, 190),
(41, 188, 42, 189),
(42, 221, 43, 222),
(43, 65, 44, 64),
(44, 150, 45, 149),
(9, 28, 10, 29),
(160, 135, 161, 136),
(159, 30, 160, 31),
(81, 41, 82, 40),
(204, 39, 205, 40),
(4, 33, 5, 34),
(112, 26, 113, 25),
(84, 247, 85, 0),
(98, 5, 99, 6),
(102, 198, 103, 197),
(106, 17, 107, 18),
(99, 33, 100, 32),
(101, 172, 102, 173),
(166, 38, 167, 37),
(27, 215, 28, 214),
(201, 1, 202, 0),
(90, 20, 91, 19),
(195, 18, 196, 19),
(175, 17, 176, 16),
(24, 71, 25, 72),
(145, 192, 146, 193),
(142, 223, 143, 224),
(153, 131, 154, 130),
(152, 239, 153, 240),
(150, 46, 151, 45),
(144, 62, 145, 61),
(62, 191, 63, 192),
(60, 225, 61, 226),
(68, 132, 69, 131),
(67, 238, 68, 239),
(65, 47, 66, 46),
(220, 47, 221, 48),
(217, 237, 218, 236),
(216, 133, 217, 134),
(222, 190, 223, 189),
(114, 214, 115, 213),
(110, 69, 111, 70),
(52, 186, 53, 185),
(240, 177, 241, 178),
(129, 177, 130, 176),
(219, 180, 220, 181),
(66, 180, 67, 179),
(151, 179, 152, 178),
(13, 71, 14, 70),
(10, 215, 11, 216),
(174, 107, 175, 108),
(194, 106, 195, 105),
(91, 104, 92, 105),
(210, 30, 211, 29),
(209, 135, 210, 134),
(162, 183, 163, 184),
(207, 183, 208, 182),
(77, 219, 78, 218),
(75, 132, 76, 133),
(73, 26, 74, 27),
(78, 181, 79, 182),
(23, 156, 24, 157),
(108, 155, 109, 156),
(15, 155, 16, 154),
(186, 206, 187, 205),
(187, 80, 188, 81),
(184, 165, 185, 166),
(72, 113, 73, 114),
(14, 109, 15, 110),
(211, 8, 212, 9),
(74, 12, 75, 11),
(158, 8, 159, 7),
(31, 6, 32, 7),
(111, 12, 112, 13),
(169, 2, 170, 3),
(20, 90, 21, 89),
(21, 196, 22, 197),
(22, 174, 23, 173),
(163, 50, 164, 51),
(79, 48, 80, 49),
(206, 50, 207, 49),
(51, 164, 52, 165),
(55, 82, 56, 83),
(54, 204, 55, 203),
(53, 39, 54, 38),
(56, 142, 57, 141),
(57, 246, 58, 247),
(58, 124, 59, 123),
(208, 235, 209, 236),
(76, 238, 77, 237),
(161, 235, 162, 234),
(227, 122, 228, 123),
(230, 2, 231, 1),
(228, 86, 229, 85),
(229, 200, 230, 201),
(233, 36, 234, 37),
(231, 169, 232, 168),
(170, 95, 171, 96),
(34, 98, 35, 97),
(3, 96, 4, 97),
(199, 95, 200, 94),
(86, 93, 87, 94),
(121, 93, 122, 92),
(87, 121, 88, 120),
(100, 118, 101, 117),
(198, 119, 199, 120),
(171, 119, 172, 118),
(157, 116, 158, 117),
(212, 116, 213, 115)],
[unnamed link-15_filled(0,0),
[unnamed link(0,0),
[[(3, 1, 4, 0),
(1, 7, 2, 6),
(7, 3, 8, 2),
(11, 4, 12, 5),
(5, 12, 6, 13),
(8, 16, 9, 15),
(20, 9, 21, 10),
(10, 17, 11, 18),
(16, 0, 17, 21),
(18, 23, 19, 14),
(14, 19, 29, 20),
(23, 32, 28, 33),
(33, 28, 34, 27),
(13, 31, 24, 32),
(31, 25, 30, 24),
(27, 34, 26, 43),
(25, 44, 26, 30),
(35, 36, 15, 29),
(35, 37, 38, 36),
(37, 39, 40, 38),
(39, 41, 42, 40),
(41, 43, 44, 42)],
13,
15,
5]]]],
[[(11, 19, 12, 18),
(257, 243, 258, 242),
(15, 254, 16, 255),
(52, 243, 53, 244),
(39, 236, 40, 237),
(218, 179, 219, 180),
(224, 140, 225, 139),
(221, 88, 222, 89),
(123, 209, 124, 208),
(89, 220, 90, 221),
(133, 180, 134, 181),
(91, 179, 92, 178),
(165, 20, 166, 21),
(17, 168, 18, 169),
(38, 151, 39, 152),
(84, 137, 85, 138),
(115, 108, 116, 109),
(122, 21, 123, 22),
(102, 20, 103, 19),
(61, 25, 62, 24),
(16, 56, 17, 55),
(184, 236, 185, 235),
(185, 151, 186, 150),
(207, 22, 208, 23),
(204, 103, 205, 104),
(206, 122, 207, 121),
(200, 247, 201, 248),
(106, 246, 107, 245),
(104, 203, 105, 204),
(109, 114, 110, 115),
(25, 198, 26, 199),
(196, 2, 197, 1),
(195, 268, 196, 269),
(194, 42, 195, 41),
(191, 32, 192, 33),
(118, 202, 119, 201),
(117, 246, 118, 247),
(261, 228, 262, 229),
(259, 83, 260, 82),
(260, 141, 261, 142),
(54, 14, 55, 13),
(255, 14, 256, 15),
(270, 238, 271, 237),
(271, 153, 272, 152),
(56, 157, 57, 158),
(47, 139, 48, 138),
(50, 83, 51, 84),
(49, 227, 50, 226),
(86, 223, 87, 224),
(188, 71, 189, 72),
(36, 74, 37, 73),
(273, 72, 274, 73),
(57, 98, 58, 99),
(166, 102, 167, 101),
(156, 98, 157, 97),
(241, 97, 242, 96),
(68, 95, 69, 96),
(142, 93, 143, 94),
(81, 95, 82, 94),
(77, 146, 78, 147),
(74, 275, 75, 276),
(75, 35, 76, 34),
(76, 189, 77, 190),
(79, 130, 80, 131),
(70, 130, 71, 129),
(238, 127, 239, 128),
(153, 128, 154, 129),
(163, 120, 164, 121),
(59, 127, 60, 126),
(233, 193, 234, 192),
(232, 31, 233, 32),
(234, 278, 235, 277),
(231, 133, 232, 132),
(240, 156, 241, 155),
(229, 92, 230, 93),
(230, 218, 231, 217),
(80, 215, 81, 216),
(69, 215, 70, 214),
(239, 212, 240, 213),
(154, 213, 155, 214),
(164, 205, 165, 206),
(58, 212, 59, 211),
(147, 191, 148, 190),
(148, 33, 149, 34),
(149, 277, 150, 276),
(143, 217, 144, 216),
(144, 132, 145, 131),
(99, 8, 100, 9),
(125, 7, 126, 6),
(210, 8, 211, 7),
(60, 5, 61, 6),
(167, 11, 168, 10),
(140, 228, 141, 227),
(145, 78, 146, 79),
(193, 182, 194, 183),
(272, 188, 273, 187),
(37, 186, 38, 187),
(30, 182, 31, 181),
(278, 183, 279, 184),
(171, 245, 172, 244),
(169, 12, 170, 13),
(43, 266, 44, 267),
(28, 268, 29, 267),
(0, 269, 1, 270),
(177, 263, 178, 262),
(219, 264, 220, 265),
(134, 265, 135, 266),
(90, 264, 91, 263),
(176, 88, 177, 87),
(174, 135, 175, 136),
(175, 222, 176, 223),
(258, 67, 259, 68),
(51, 67, 52, 66),
(172, 65, 173, 66),
(116, 64, 117, 63),
(107, 64, 108, 65),
(199, 63, 200, 62),
(4, 198, 5, 197),
(274, 35, 275, 36),
(173, 44, 174, 45),
(225, 49, 226, 48),
(85, 46, 86, 47),
(136, 46, 137, 45),
(279, 41, 0, 40),
(29, 42, 30, 43),
(23, 162, 24, 163),
(9, 159, 10, 158),
(209, 160, 210, 161),
(124, 161, 125, 162),
(100, 160, 101, 159),
(113, 27, 114, 26),
(112, 3, 113, 4),
(250, 106, 251, 105),
(248, 119, 249, 120),
(249, 202, 250, 203),
(251, 171, 252, 170),
(252, 53, 253, 54),
(253, 257, 254, 256),
(2, 111, 3, 112),
(27, 111, 28, 110)],
[Regina_Triangulation(0,0),
[unnamed link(0,0),
[[(3, 1, 4, 0),
(1, 7, 2, 6),
(7, 3, 8, 2),
(11, 4, 12, 5),
(5, 12, 6, 13),
(8, 16, 9, 15),
(20, 9, 21, 10),
(10, 17, 11, 18),
(18, 13, 19, 14),
(14, 19, 15, 20),
(16, 0, 23, 29),
(23, 32, 28, 33),
(33, 28, 34, 27),
(17, 31, 24, 32),
(31, 25, 30, 24),
(27, 34, 26, 35),
(25, 36, 26, 30),
(29, 35, 36, 21)],
17,
21,
-1]]]],
[[(0, 103, 1, 104),
(188, 106, 189, 105),
(121, 175, 122, 174),
(171, 117, 172, 116),
(178, 65, 179, 66),
(143, 60, 144, 61),
(119, 14, 120, 15),
(124, 67, 125, 68),
(16, 117, 17, 118),
(86, 63, 87, 64),
(9, 65, 10, 64),
(47, 63, 48, 62),
(25, 38, 26, 39),
(162, 40, 163, 39),
(108, 38, 109, 37),
(101, 146, 102, 147),
(32, 146, 33, 145),
(149, 156, 150, 157),
(148, 32, 149, 31),
(147, 102, 148, 103),
(42, 29, 43, 30),
(92, 28, 93, 27),
(34, 45, 35, 46),
(99, 45, 100, 44),
(111, 152, 112, 153),
(165, 150, 166, 151),
(22, 152, 23, 151),
(87, 71, 88, 70),
(144, 74, 145, 73),
(46, 71, 47, 72),
(107, 96, 108, 97),
(161, 94, 162, 95),
(26, 96, 27, 95),
(196, 12, 197, 11),
(195, 176, 196, 177),
(194, 123, 195, 124),
(23, 182, 24, 183),
(163, 185, 164, 184),
(110, 182, 111, 181),
(78, 116, 79, 115),
(77, 171, 78, 170),
(75, 18, 76, 19),
(79, 139, 80, 138),
(15, 140, 16, 141),
(172, 140, 173, 139),
(118, 142, 119, 141),
(122, 53, 123, 54),
(85, 48, 86, 49),
(175, 52, 176, 53),
(12, 52, 13, 51),
(69, 9, 70, 8),
(68, 179, 69, 180),
(13, 82, 14, 83),
(173, 81, 174, 80),
(120, 82, 121, 81),
(142, 132, 143, 131),
(49, 128, 50, 129),
(84, 130, 85, 129),
(66, 125, 67, 126),
(10, 127, 11, 128),
(177, 127, 178, 126),
(57, 74, 58, 75),
(56, 20, 57, 19),
(58, 133, 59, 134),
(55, 168, 56, 169),
(54, 113, 55, 114),
(137, 115, 138, 114),
(136, 170, 137, 169),
(132, 59, 133, 60),
(134, 17, 135, 18),
(135, 77, 136, 76),
(83, 199, 84, 198),
(50, 197, 51, 198),
(100, 203, 101, 0),
(33, 203, 34, 202),
(72, 201, 73, 202),
(130, 199, 131, 200),
(61, 201, 62, 200),
(91, 106, 92, 107),
(43, 105, 44, 104),
(183, 5, 184, 4),
(109, 6, 110, 7),
(164, 3, 165, 4),
(24, 6, 25, 5),
(93, 160, 94, 161),
(40, 160, 41, 159),
(20, 168, 21, 167),
(185, 159, 186, 158),
(2, 157, 3, 158),
(1, 31, 2, 30),
(187, 28, 188, 29),
(153, 112, 154, 113),
(155, 166, 156, 167),
(154, 22, 155, 21),
(97, 90, 98, 91),
(36, 90, 37, 89),
(7, 193, 8, 192),
(180, 193, 181, 194),
(41, 187, 42, 186),
(35, 190, 36, 191),
(88, 191, 89, 192),
(98, 190, 99, 189)],
[Regina_Triangulation(0,0),
[unnamed link(0,0),
[[(3, 1, 4, 0),
(1, 7, 2, 6),
(7, 3, 8, 2),
(11, 4, 12, 5),
(5, 12, 6, 13),
(8, 16, 9, 15),
(20, 9, 21, 10),
(10, 17, 11, 18),
(18, 13, 19, 14),
(16, 0, 17, 21),
(29, 23, 15, 20),
(19, 32, 28, 33),
(33, 28, 34, 27),
(23, 31, 24, 32),
(31, 25, 30, 24),
(27, 34, 26, 39),
(25, 40, 26, 30),
(14, 35, 36, 29),
(38, 37, 39, 40),
(36, 35, 37, 38)],
19,
14,
-3]]]],
[[(26, 9, 27, 10),
(84, 15, 85, 16),
(199, 11, 200, 10),
(62, 46, 63, 45),
(161, 48, 162, 49),
(0, 146, 1, 145),
(181, 122, 182, 123),
(183, 42, 184, 43),
(182, 59, 183, 60),
(184, 164, 185, 163),
(103, 162, 104, 163),
(106, 66, 107, 65),
(104, 48, 105, 47),
(105, 129, 106, 128),
(41, 164, 42, 165),
(43, 61, 44, 60),
(44, 124, 45, 123),
(33, 97, 34, 96),
(34, 191, 35, 192),
(49, 103, 50, 102),
(50, 185, 51, 186),
(51, 41, 52, 40),
(112, 175, 113, 176),
(3, 169, 4, 168),
(54, 169, 55, 170),
(2, 55, 3, 56),
(172, 39, 173, 40),
(173, 187, 174, 186),
(174, 101, 175, 102),
(61, 125, 62, 124),
(177, 110, 178, 111),
(130, 112, 131, 111),
(137, 193, 138, 192),
(139, 32, 140, 33),
(138, 95, 139, 96),
(131, 176, 132, 177),
(125, 47, 126, 46),
(153, 135, 154, 134),
(159, 179, 160, 178),
(152, 94, 153, 93),
(150, 32, 151, 31),
(154, 195, 155, 196),
(158, 109, 159, 110),
(67, 109, 68, 108),
(71, 195, 72, 194),
(75, 30, 76, 31),
(73, 94, 74, 95),
(66, 179, 67, 180),
(72, 135, 73, 136),
(1, 118, 2, 119),
(198, 89, 199, 90),
(25, 201, 26, 200),
(6, 83, 7, 84),
(165, 83, 166, 82),
(56, 85, 57, 86),
(36, 148, 37, 147),
(35, 142, 36, 143),
(38, 79, 39, 80),
(21, 146, 22, 147),
(116, 38, 117, 37),
(115, 188, 116, 189),
(114, 100, 115, 99),
(100, 77, 101, 78),
(97, 140, 98, 141),
(98, 150, 99, 149),
(107, 180, 108, 181),
(189, 148, 190, 149),
(187, 79, 188, 78),
(190, 142, 191, 141),
(18, 54, 19, 53),
(19, 170, 20, 171),
(20, 118, 21, 117),
(193, 137, 194, 136),
(196, 155, 197, 156),
(197, 71, 198, 70),
(27, 68, 28, 69),
(28, 158, 29, 157),
(29, 132, 30, 133),
(171, 80, 172, 81),
(52, 82, 53, 81),
(113, 77, 114, 76),
(151, 74, 152, 75),
(92, 133, 93, 134),
(160, 129, 161, 130),
(166, 17, 167, 18),
(167, 5, 168, 4),
(90, 69, 91, 70),
(91, 157, 92, 156),
(11, 24, 12, 25),
(88, 24, 89, 23),
(143, 22, 144, 23),
(5, 17, 6, 16),
(144, 0, 145, 203),
(87, 202, 88, 203),
(12, 202, 13, 201),
(57, 15, 58, 14),
(58, 7, 59, 8),
(64, 128, 65, 127),
(119, 86, 120, 87),
(121, 8, 122, 9),
(120, 14, 121, 13),
(126, 64, 127, 63)],
[Regina_Triangulation(0,0),
[unnamed link(0,0),
[[(3, 1, 4, 0),
(1, 7, 2, 6),
(7, 3, 8, 2),
(11, 4, 12, 5),
(5, 12, 6, 13),
(8, 16, 9, 15),
(20, 9, 21, 10),
(10, 17, 11, 18),
(18, 13, 19, 14),
(16, 0, 17, 21),
(23, 19, 15, 29),
(14, 32, 28, 33),
(33, 28, 34, 27),
(23, 31, 24, 32),
(31, 25, 30, 24),
(27, 34, 26, 37),
(25, 38, 26, 30),
(20, 35, 36, 29),
(36, 35, 37, 38)],
14,
20,
-2]]]],
[[(4, 92, 5, 91),
(68, 14, 69, 13),
(134, 16, 135, 15),
(191, 14, 192, 15),
(71, 26, 72, 27),
(189, 25, 190, 24),
(17, 8, 18, 9),
(56, 41, 57, 42),
(58, 105, 59, 106),
(55, 219, 56, 218),
(59, 84, 60, 85),
(60, 149, 61, 150),
(57, 177, 58, 176),
(183, 76, 184, 77),
(0, 25, 1, 26),
(229, 160, 230, 161),
(223, 144, 224, 145),
(221, 80, 222, 81),
(220, 180, 221, 179),
(43, 216, 44, 217),
(39, 178, 40, 179),
(38, 82, 39, 81),
(37, 147, 38, 146),
(30, 162, 31, 161),
(106, 175, 107, 176),
(104, 84, 105, 83),
(102, 148, 103, 147),
(136, 23, 137, 24),
(203, 79, 204, 78),
(204, 181, 205, 182),
(200, 146, 201, 145),
(201, 222, 202, 223),
(197, 35, 198, 34),
(3, 157, 4, 156),
(94, 19, 95, 20),
(95, 7, 96, 6),
(231, 133, 232, 132),
(28, 131, 29, 132),
(22, 157, 23, 158),
(21, 92, 22, 93),
(29, 195, 30, 194),
(230, 193, 231, 194),
(125, 148, 126, 149),
(123, 82, 124, 83),
(122, 178, 123, 177),
(133, 193, 134, 192),
(124, 103, 125, 104),
(120, 220, 121, 219),
(121, 40, 122, 41),
(20, 168, 21, 167),
(5, 168, 6, 169),
(232, 68, 233, 67),
(27, 66, 28, 67),
(128, 63, 129, 64),
(46, 65, 47, 66),
(213, 65, 214, 64),
(110, 61, 111, 62),
(12, 70, 13, 69),
(11, 190, 12, 191),
(10, 136, 11, 135),
(62, 127, 63, 128),
(79, 118, 80, 119),
(180, 120, 181, 119),
(143, 116, 144, 117),
(202, 118, 203, 117),
(142, 208, 143, 207),
(182, 205, 183, 206),
(77, 207, 78, 206),
(115, 224, 116, 225),
(113, 37, 114, 36),
(111, 126, 112, 127),
(114, 200, 115, 199),
(75, 54, 76, 55),
(184, 54, 185, 53),
(141, 52, 142, 53),
(211, 196, 212, 197),
(212, 130, 213, 129),
(210, 33, 211, 34),
(208, 226, 209, 225),
(50, 227, 51, 228),
(49, 33, 50, 32),
(47, 130, 48, 131),
(48, 196, 49, 195),
(159, 16, 160, 17),
(158, 10, 159, 9),
(166, 94, 167, 93),
(137, 3, 138, 2),
(188, 1, 189, 2),
(70, 0, 71, 233),
(164, 7, 165, 8),
(165, 19, 166, 18),
(163, 228, 164, 229),
(162, 32, 163, 31),
(198, 100, 199, 99),
(35, 101, 36, 100),
(226, 97, 227, 98),
(112, 102, 113, 101),
(209, 98, 210, 99),
(51, 97, 52, 96),
(169, 141, 170, 140),
(170, 185, 171, 186),
(171, 75, 172, 74),
(173, 42, 174, 43),
(172, 218, 173, 217),
(174, 107, 175, 108),
(85, 109, 86, 108),
(86, 215, 87, 216),
(87, 45, 88, 44),
(88, 73, 89, 74),
(89, 187, 90, 186),
(90, 139, 91, 140),
(150, 110, 151, 109),
(151, 214, 152, 215),
(152, 46, 153, 45),
(153, 72, 154, 73),
(154, 188, 155, 187),
(155, 138, 156, 139)],
[Regina_Triangulation(0,0),
[unnamed link(0,0),
[[(3, 1, 4, 0),
(1, 7, 2, 6),
(7, 3, 8, 2),
(11, 4, 12, 5),
(5, 12, 6, 13),
(8, 16, 9, 15),
(20, 9, 21, 10),
(10, 17, 11, 18),
(18, 13, 19, 14),
(14, 19, 15, 20),
(16, 29, 23, 21),
(17, 32, 28, 33),
(33, 28, 34, 27),
(23, 31, 24, 32),
(31, 25, 30, 24),
(27, 34, 26, 43),
(25, 44, 26, 30),
(0, 35, 36, 29),
(42, 41, 43, 44),
(40, 39, 41, 42),
(38, 37, 39, 40),
(36, 35, 37, 38)],
17,
0,
-5]]]],
[[(503, 53, 504, 52),
(144, 54, 145, 53),
(57, 236, 58, 237),
(599, 54, 600, 55),
(76, 219, 77, 220),
(137, 195, 138, 194),
(498, 140, 499, 139),
(138, 393, 139, 394),
(143, 546, 144, 547),
(146, 243, 147, 244),
(145, 505, 146, 504),
(302, 153, 303, 154),
(158, 227, 159, 228),
(281, 166, 282, 167),
(465, 165, 466, 164),
(161, 521, 162, 520),
(582, 165, 583, 166),
(441, 197, 442, 196),
(606, 195, 607, 196),
(306, 197, 307, 198),
(300, 234, 301, 233),
(385, 235, 386, 234),
(543, 239, 544, 238),
(586, 226, 587, 225),
(506, 241, 507, 242),
(508, 239, 509, 240),
(597, 243, 598, 242),
(279, 468, 280, 469),
(278, 523, 279, 524),
(280, 580, 281, 579),
(297, 514, 298, 515),
(295, 539, 296, 538),
(299, 385, 300, 384),
(382, 515, 383, 516),
(604, 392, 605, 391),
(497, 392, 498, 393),
(471, 527, 472, 526),
(467, 580, 468, 581),
(502, 547, 503, 548),
(542, 509, 543, 510),
(576, 527, 577, 528),
(600, 546, 601, 545),
(220, 75, 221, 76),
(168, 74, 169, 73),
(578, 71, 579, 72),
(469, 71, 470, 70),
(276, 67, 277, 68),
(381, 62, 382, 63),
(544, 55, 545, 56),
(296, 61, 297, 62),
(63, 380, 64, 381),
(521, 374, 522, 375),
(584, 372, 585, 371),
(162, 375, 163, 376),
(222, 370, 223, 369),
(464, 373, 465, 374),
(56, 593, 57, 594),
(510, 595, 511, 596),
(237, 595, 238, 594),
(541, 597, 542, 596),
(387, 593, 388, 592),
(156, 587, 157, 588),
(644, 586, 645, 585),
(64, 293, 65, 294),
(537, 295, 538, 294),
(517, 290, 518, 291),
(379, 293, 380, 292),
(581, 466, 582, 467),
(160, 464, 161, 463),
(383, 456, 384, 457),
(232, 457, 233, 458),
(513, 455, 514, 454),
(539, 452, 540, 453),
(60, 454, 61, 453),
(298, 455, 299, 456),
(488, 259, 489, 260),
(490, 38, 491, 37),
(216, 173, 217, 174),
(212, 568, 213, 567),
(210, 481, 211, 482),
(209, 267, 210, 266),
(202, 35, 203, 36),
(86, 28, 87, 27),
(85, 268, 86, 269),
(84, 480, 85, 479),
(80, 571, 81, 572),
(78, 172, 79, 171),
(536, 273, 537, 274),
(535, 25, 536, 24),
(529, 473, 530, 472),
(528, 575, 529, 576),
(522, 164, 523, 163),
(525, 69, 526, 68),
(247, 140, 248, 141),
(252, 390, 253, 389),
(244, 550, 245, 549),
(249, 46, 250, 47),
(246, 499, 247, 500),
(449, 501, 450, 500),
(450, 245, 451, 246),
(447, 49, 448, 48),
(448, 142, 449, 141),
(451, 550, 452, 551),
(443, 390, 444, 391),
(446, 601, 447, 602),
(323, 623, 324, 622),
(325, 424, 326, 425),
(324, 364, 325, 363),
(321, 215, 322, 214),
(319, 82, 320, 83),
(322, 175, 323, 176),
(320, 570, 321, 569),
(318, 477, 319, 478),
(316, 270, 317, 269),
(315, 26, 316, 27),
(624, 423, 625, 424),
(623, 365, 624, 364),
(618, 212, 619, 211),
(620, 177, 621, 178),
(619, 567, 620, 566),
(617, 480, 618, 481),
(616, 268, 617, 267),
(614, 87, 615, 88),
(615, 28, 616, 29),
(613, 315, 614, 314),
(133, 310, 134, 311),
(134, 609, 135, 610),
(129, 31, 130, 30),
(128, 207, 129, 208),
(126, 265, 127, 266),
(125, 483, 126, 482),
(124, 565, 125, 566),
(119, 179, 120, 178),
(122, 359, 123, 360),
(123, 429, 124, 428),
(642, 159, 643, 160),
(641, 462, 642, 463),
(645, 225, 646, 224),
(643, 285, 644, 284),
(639, 377, 640, 376),
(640, 519, 641, 520),
(636, 69, 637, 70),
(591, 152, 592, 153),
(386, 151, 387, 152),
(540, 147, 541, 148),
(235, 150, 236, 151),
(512, 150, 513, 149),
(59, 149, 60, 148),
(439, 308, 440, 309),
(436, 34, 437, 33),
(434, 205, 435, 206),
(432, 263, 433, 264),
(429, 485, 430, 484),
(431, 562, 432, 563),
(426, 180, 427, 179),
(425, 362, 426, 363),
(240, 507, 241, 508),
(598, 505, 599, 506),
(58, 512, 59, 511),
(361, 180, 362, 181),
(356, 562, 357, 561),
(357, 486, 358, 487),
(355, 263, 356, 262),
(353, 205, 354, 204),
(351, 34, 352, 35),
(397, 440, 398, 441),
(395, 136, 396, 137),
(396, 608, 397, 607),
(398, 308, 399, 307),
(461, 228, 462, 229),
(285, 227, 286, 226),
(301, 591, 302, 590),
(283, 373, 284, 372),
(200, 650, 201, 649),
(199, 349, 200, 348),
(198, 399, 199, 400),
(229, 289, 230, 288),
(157, 286, 158, 287),
(460, 287, 461, 288),
(583, 283, 584, 282),
(22, 534, 23, 533),
(19, 475, 20, 474),
(18, 573, 19, 574),
(14, 168, 15, 167),
(15, 73, 16, 72),
(12, 223, 13, 224),
(13, 370, 14, 371),
(106, 22, 107, 21),
(110, 271, 111, 272),
(105, 477, 106, 476),
(103, 570, 104, 571),
(101, 175, 102, 174),
(104, 82, 105, 81),
(102, 215, 103, 216),
(100, 365, 101, 366),
(99, 423, 100, 422),
(98, 625, 99, 626),
(97, 326, 98, 327),
(564, 483, 565, 484),
(496, 605, 497, 606),
(495, 443, 496, 442),
(494, 305, 495, 306),
(492, 347, 493, 348),
(493, 401, 494, 400),
(491, 648, 492, 649),
(524, 637, 525, 638),
(277, 639, 278, 638),
(470, 635, 471, 636),
(577, 635, 578, 634),
(169, 632, 170, 633),
(77, 630, 78, 631),
(218, 630, 219, 629),
(366, 628, 367, 627),
(421, 626, 422, 627),
(256, 39, 257, 40),
(257, 647, 258, 646),
(254, 401, 255, 402),
(255, 347, 256, 346),
(253, 305, 254, 304),
(251, 444, 252, 445),
(248, 604, 249, 603),
(628, 419, 629, 420),
(367, 420, 368, 421),
(217, 418, 218, 419),
(79, 417, 80, 416),
(172, 418, 173, 417),
(572, 415, 573, 416),
(475, 415, 476, 414),
(274, 411, 275, 412),
(531, 413, 532, 412),
(49, 143, 50, 142),
(51, 548, 52, 549),
(50, 502, 51, 501),
(47, 602, 48, 603),
(45, 250, 46, 251),
(44, 446, 45, 445),
(42, 303, 43, 304),
(40, 345, 41, 346),
(41, 403, 42, 402),
(38, 647, 39, 648),
(530, 335, 531, 336),
(275, 337, 276, 336),
(473, 334, 474, 335),
(574, 334, 575, 333),
(170, 331, 171, 332),
(74, 329, 75, 330),
(221, 329, 222, 328),
(368, 328, 369, 327),
(631, 331, 632, 330),
(0, 309, 1, 310),
(1, 608, 2, 609),
(2, 136, 3, 135),
(651, 439, 0, 438),
(650, 349, 651, 350),
(107, 533, 108, 532),
(20, 414, 21, 413),
(25, 272, 26, 273),
(17, 332, 18, 333),
(16, 633, 17, 634),
(427, 121, 428, 120),
(621, 118, 622, 119),
(360, 121, 361, 122),
(213, 116, 214, 117),
(176, 118, 177, 117),
(568, 115, 569, 116),
(478, 114, 479, 113),
(270, 111, 271, 112),
(83, 115, 84, 114),
(23, 109, 24, 108),
(317, 112, 318, 113),
(534, 110, 535, 109),
(358, 95, 359, 96),
(181, 97, 182, 96),
(563, 92, 564, 93),
(485, 95, 486, 94),
(264, 91, 265, 92),
(208, 89, 209, 90),
(29, 89, 30, 88),
(430, 94, 431, 93),
(127, 91, 128, 90),
(343, 589, 344, 588),
(344, 155, 345, 156),
(342, 459, 343, 460),
(341, 231, 342, 230),
(340, 290, 341, 289),
(338, 378, 339, 377),
(339, 518, 340, 519),
(337, 66, 338, 67),
(350, 7, 351, 8),
(489, 11, 490, 10),
(258, 11, 259, 12),
(201, 8, 202, 9),
(36, 10, 37, 9),
(437, 7, 438, 6),
(132, 6, 133, 5),
(610, 3, 611, 4),
(311, 4, 312, 5),
(43, 388, 44, 389),
(182, 488, 183, 487),
(187, 352, 188, 353),
(183, 560, 184, 561),
(184, 261, 185, 262),
(188, 436, 189, 435),
(186, 203, 187, 204),
(189, 33, 190, 32),
(190, 132, 191, 131),
(192, 611, 193, 612),
(191, 312, 192, 313),
(193, 395, 194, 394),
(552, 314, 553, 313),
(551, 613, 552, 612),
(554, 31, 555, 32),
(553, 130, 554, 131),
(556, 433, 557, 434),
(555, 207, 556, 206),
(557, 355, 558, 354),
(559, 261, 560, 260),
(558, 185, 559, 186),
(404, 589, 405, 590),
(403, 155, 404, 154),
(405, 459, 406, 458),
(406, 231, 407, 232),
(408, 291, 409, 292),
(407, 517, 408, 516),
(410, 66, 411, 65),
(409, 378, 410, 379)],
[unnamed link-14_filled(0,0),
[unnamed link(0,0),
[[(3, 1, 4, 0),
(1, 7, 2, 6),
(7, 3, 8, 2),
(11, 4, 12, 5),
(5, 12, 6, 13),
(8, 16, 9, 15),
(20, 9, 21, 10),
(18, 13, 19, 14),
(16, 0, 17, 21),
(14, 19, 15, 23),
(29, 17, 11, 18),
(23, 32, 28, 33),
(33, 28, 34, 27),
(20, 31, 24, 32),
(31, 25, 30, 24),
(27, 34, 26, 43),
(25, 44, 26, 30),
(35, 36, 10, 29),
(35, 37, 38, 36),
(37, 39, 40, 38),
(39, 41, 42, 40),
(41, 43, 44, 42)],
20,
10,
5]]]],
[[(923, 277, 0, 276),
(891, 708, 892, 709),
(896, 538, 897, 537),
(894, 226, 895, 225),
(881, 60, 882, 61),
(806, 875, 807, 876),
(489, 876, 490, 877),
(420, 871, 421, 872),
(350, 884, 351, 883),
(176, 874, 177, 873),
(852, 274, 853, 273),
(844, 210, 845, 209),
(834, 719, 835, 720),
(821, 702, 822, 703),
(841, 589, 842, 588),
(814, 552, 815, 551),
(828, 532, 829, 531),
(528, 834, 529, 833),
(492, 809, 493, 810),
(805, 488, 806, 489),
(827, 448, 828, 449),
(816, 238, 817, 237),
(799, 183, 800, 182),
(180, 802, 181, 801),
(147, 831, 148, 830),
(628, 796, 629, 795),
(412, 793, 413, 794),
(736, 769, 737, 770),
(284, 768, 285, 767),
(741, 310, 742, 311),
(739, 283, 740, 282),
(597, 717, 598, 716),
(527, 719, 528, 718),
(449, 720, 450, 721),
(143, 715, 144, 714),
(220, 716, 221, 715),
(711, 227, 712, 226),
(608, 702, 609, 701),
(542, 708, 543, 707),
(435, 700, 436, 701),
(339, 699, 340, 698),
(229, 707, 230, 706),
(158, 700, 159, 699),
(693, 275, 694, 274),
(615, 554, 616, 555),
(601, 532, 602, 533),
(522, 591, 523, 592),
(602, 448, 603, 447),
(616, 241, 617, 242),
(145, 598, 146, 599),
(576, 267, 577, 268),
(428, 556, 429, 555),
(348, 549, 349, 550),
(167, 552, 168, 553),
(541, 228, 542, 229),
(153, 536, 154, 537),
(533, 447, 534, 446),
(509, 272, 510, 273),
(418, 483, 419, 484),
(179, 485, 180, 484),
(421, 361, 422, 360),
(416, 182, 417, 181),
(161, 433, 162, 432),
(150, 446, 151, 445),
(425, 54, 426, 55),
(27, 384, 28, 385),
(346, 235, 347, 236),
(313, 280, 314, 281),
(200, 269, 201, 270),
(128, 275, 129, 276),
(410, 632, 411, 631),
(406, 636, 407, 635),
(107, 792, 108, 793),
(105, 631, 106, 630),
(106, 411, 107, 412),
(636, 406, 637, 405),
(409, 104, 410, 105),
(632, 104, 633, 103),
(46, 785, 47, 786),
(51, 98, 52, 99),
(45, 641, 46, 640),
(47, 400, 48, 401),
(480, 413, 481, 414),
(482, 184, 483, 183),
(481, 108, 482, 109),
(185, 103, 186, 102),
(186, 408, 187, 407),
(187, 634, 188, 635),
(184, 792, 185, 791),
(869, 179, 870, 178),
(866, 803, 867, 804),
(870, 419, 871, 420),
(865, 627, 866, 626),
(868, 485, 869, 486),
(783, 44, 784, 45),
(789, 100, 790, 101),
(784, 642, 785, 641),
(787, 402, 788, 403),
(363, 405, 364, 404),
(362, 102, 363, 101),
(364, 637, 365, 638),
(361, 791, 362, 790),
(260, 100, 261, 99),
(574, 856, 575, 855),
(577, 198, 578, 199),
(268, 199, 269, 200),
(397, 197, 398, 196),
(644, 195, 645, 196),
(41, 195, 42, 194),
(780, 194, 781, 193),
(687, 465, 688, 464),
(686, 579, 687, 580),
(682, 854, 683, 853),
(685, 202, 686, 203),
(684, 271, 685, 272),
(683, 508, 684, 509),
(848, 514, 849, 513),
(575, 506, 576, 507),
(266, 505, 267, 506),
(398, 504, 399, 503),
(643, 502, 644, 503),
(42, 502, 43, 501),
(192, 499, 193, 500),
(781, 501, 782, 500),
(461, 90, 462, 91),
(585, 87, 586, 86),
(845, 84, 846, 85),
(208, 86, 209, 85),
(516, 84, 517, 83),
(133, 83, 134, 82),
(917, 80, 918, 81),
(316, 80, 317, 79),
(733, 76, 734, 77),
(285, 79, 286, 78),
(766, 77, 767, 78),
(662, 82, 663, 81),
(383, 26, 384, 27),
(382, 75, 383, 76),
(374, 666, 375, 665),
(380, 765, 381, 766),
(377, 289, 378, 288),
(381, 732, 382, 733),
(379, 319, 380, 318),
(378, 915, 379, 916),
(376, 136, 377, 135),
(375, 519, 376, 518),
(373, 211, 374, 210),
(372, 843, 373, 844),
(371, 587, 372, 586),
(370, 457, 371, 458),
(25, 74, 26, 75),
(13, 671, 14, 670),
(19, 760, 20, 761),
(20, 292, 21, 291),
(24, 731, 25, 732),
(23, 321, 24, 320),
(21, 912, 22, 913),
(22, 140, 23, 139),
(17, 521, 18, 520),
(18, 214, 19, 213),
(15, 840, 16, 841),
(16, 590, 17, 589),
(14, 455, 15, 456),
(675, 9, 676, 8),
(669, 457, 670, 456),
(668, 587, 669, 588),
(667, 843, 668, 842),
(666, 211, 667, 212),
(664, 517, 665, 518),
(663, 134, 664, 135),
(661, 919, 662, 918),
(660, 315, 661, 316),
(658, 738, 659, 737),
(656, 281, 657, 282),
(659, 771, 660, 770),
(49, 263, 50, 262),
(359, 258, 360, 259),
(872, 258, 873, 257),
(422, 260, 423, 259),
(486, 256, 487, 255),
(804, 254, 805, 253),
(177, 256, 178, 257),
(474, 861, 475, 862),
(468, 572, 469, 571),
(469, 265, 470, 264),
(466, 198, 467, 197),
(467, 505, 468, 504),
(0, 127, 1, 128),
(743, 126, 744, 127),
(307, 125, 308, 124),
(423, 119, 424, 118),
(175, 116, 176, 117),
(487, 115, 488, 114),
(802, 112, 803, 111),
(358, 117, 359, 118),
(874, 116, 875, 115),
(761, 291, 762, 290),
(768, 735, 769, 736),
(764, 320, 765, 319),
(762, 913, 763, 914),
(763, 139, 764, 138),
(758, 522, 759, 521),
(759, 215, 760, 214),
(756, 839, 757, 840),
(757, 591, 758, 590),
(754, 453, 755, 454),
(599, 334, 600, 335),
(831, 333, 832, 332),
(146, 333, 147, 334),
(530, 331, 531, 332),
(297, 453, 298, 452),
(293, 592, 294, 593),
(295, 839, 296, 838),
(292, 215, 293, 216),
(294, 523, 295, 524),
(289, 136, 290, 137),
(287, 917, 288, 916),
(286, 317, 287, 318),
(283, 735, 284, 734),
(535, 899, 536, 898),
(152, 898, 153, 897),
(826, 901, 827, 902),
(603, 901, 604, 900),
(66, 723, 67, 724),
(69, 327, 70, 326),
(71, 908, 72, 909),
(73, 143, 74, 142),
(68, 526, 69, 525),
(72, 220, 73, 219),
(67, 836, 68, 837),
(70, 596, 71, 595),
(63, 454, 64, 455),
(52, 120, 53, 119),
(251, 879, 252, 878),
(249, 811, 250, 810),
(248, 496, 249, 495),
(247, 170, 248, 171),
(243, 427, 244, 426),
(240, 553, 241, 554),
(744, 696, 745, 695),
(308, 697, 309, 698),
(1, 695, 2, 694),
(125, 696, 126, 697),
(510, 691, 511, 692),
(203, 690, 204, 691),
(851, 693, 852, 692),
(580, 689, 581, 690),
(463, 689, 464, 688),
(564, 880, 565, 879),
(560, 808, 561, 807),
(561, 491, 562, 490),
(559, 174, 560, 175),
(557, 425, 558, 424),
(563, 250, 564, 251),
(856, 574, 857, 573),
(265, 572, 266, 573),
(399, 571, 400, 570),
(642, 569, 643, 570),
(43, 569, 44, 568),
(782, 568, 783, 567),
(191, 566, 192, 567),
(730, 322, 731, 321),
(728, 911, 729, 912),
(729, 141, 730, 140),
(725, 525, 726, 524),
(724, 837, 725, 838),
(726, 594, 727, 593),
(722, 451, 723, 452),
(190, 864, 191, 863),
(788, 859, 789, 860),
(50, 857, 51, 858),
(639, 863, 640, 862),
(403, 860, 404, 861),
(261, 859, 262, 858),
(328, 718, 329, 717),
(335, 445, 336, 444),
(325, 594, 326, 595),
(329, 833, 330, 832),
(330, 529, 331, 530),
(322, 141, 323, 142),
(324, 910, 325, 909),
(189, 477, 190, 476),
(786, 473, 787, 474),
(48, 471, 49, 472),
(638, 476, 639, 475),
(401, 472, 402, 473),
(263, 471, 264, 470),
(97, 854, 98, 855),
(96, 508, 97, 507),
(93, 579, 94, 578),
(95, 271, 96, 270),
(91, 396, 92, 397),
(94, 202, 95, 201),
(92, 465, 93, 466),
(565, 369, 566, 368),
(188, 366, 189, 365),
(864, 367, 865, 368),
(477, 366, 478, 367),
(906, 328, 907, 327),
(914, 138, 915, 137),
(905, 527, 906, 526),
(904, 835, 905, 836),
(907, 597, 908, 596),
(903, 450, 904, 451),
(902, 721, 903, 722),
(727, 217, 728, 216),
(323, 218, 324, 219),
(910, 218, 911, 217),
(144, 221, 145, 222),
(519, 212, 520, 213),
(227, 156, 228, 157),
(709, 155, 710, 154),
(442, 152, 443, 151),
(340, 159, 341, 160),
(892, 156, 893, 155),
(540, 157, 541, 158),
(600, 149, 601, 150),
(829, 149, 830, 148),
(113, 255, 114, 254),
(867, 112, 868, 113),
(415, 110, 416, 111),
(798, 109, 799, 110),
(797, 414, 798, 415),
(222, 337, 223, 338),
(713, 339, 714, 338),
(443, 337, 444, 336),
(633, 409, 634, 408),
(440, 899, 441, 900),
(710, 893, 711, 894),
(224, 896, 225, 895),
(223, 538, 224, 539),
(712, 540, 713, 539),
(441, 535, 442, 534),
(705, 436, 706, 437),
(543, 439, 544, 438),
(890, 439, 891, 440),
(341, 435, 342, 434),
(230, 438, 231, 437),
(231, 606, 232, 607),
(342, 609, 343, 610),
(889, 605, 890, 604),
(544, 605, 545, 606),
(704, 608, 705, 607),
(703, 822, 704, 823),
(545, 825, 546, 824),
(888, 825, 889, 826),
(343, 821, 344, 820),
(232, 824, 233, 823),
(172, 493, 173, 494),
(479, 794, 480, 795),
(417, 800, 418, 801),
(796, 628, 797, 627),
(478, 630, 479, 629),
(87, 778, 88, 779),
(458, 779, 459, 780),
(584, 778, 585, 777),
(846, 775, 847, 776),
(207, 777, 208, 776),
(515, 775, 516, 774),
(132, 774, 133, 773),
(919, 772, 920, 773),
(314, 772, 315, 771),
(498, 370, 499, 369),
(123, 307, 124, 306),
(160, 305, 161, 306),
(433, 305, 434, 304),
(233, 300, 234, 301),
(610, 303, 611, 304),
(819, 303, 820, 302),
(546, 299, 547, 300),
(344, 301, 345, 302),
(887, 299, 888, 298),
(65, 297, 66, 296),
(64, 755, 65, 756),
(886, 753, 887, 754),
(345, 751, 346, 750),
(547, 753, 548, 752),
(818, 749, 819, 750),
(611, 749, 612, 748),
(234, 752, 235, 751),
(431, 746, 432, 747),
(162, 748, 163, 747),
(122, 745, 123, 746),
(61, 12, 62, 13),
(884, 11, 885, 12),
(349, 11, 350, 10),
(817, 6, 818, 7),
(613, 5, 614, 4),
(550, 10, 551, 9),
(236, 8, 237, 7),
(430, 3, 431, 4),
(164, 6, 165, 5),
(121, 2, 122, 3),
(120, 682, 121, 681),
(429, 681, 430, 680),
(166, 677, 167, 678),
(239, 678, 240, 679),
(614, 679, 615, 680),
(548, 673, 549, 674),
(815, 677, 816, 676),
(347, 674, 348, 675),
(62, 672, 63, 671),
(885, 673, 886, 672),
(427, 243, 428, 242),
(165, 238, 166, 239),
(494, 171, 495, 172),
(496, 812, 497, 811),
(497, 881, 498, 880),
(245, 618, 246, 619),
(562, 623, 563, 624),
(163, 612, 164, 613),
(620, 173, 621, 174),
(621, 809, 622, 808),
(622, 492, 623, 491),
(625, 252, 626, 253),
(624, 878, 625, 877),
(459, 40, 460, 41),
(89, 38, 90, 39),
(582, 38, 583, 37),
(205, 37, 206, 36),
(849, 34, 850, 35),
(512, 36, 513, 35),
(130, 34, 131, 33),
(921, 32, 922, 33),
(278, 32, 279, 31),
(311, 31, 312, 30),
(740, 29, 741, 30),
(646, 40, 647, 39),
(385, 28, 386, 29),
(738, 658, 739, 657),
(279, 654, 280, 655),
(312, 655, 313, 656),
(920, 654, 921, 653),
(131, 652, 132, 653),
(514, 651, 515, 652),
(847, 651, 848, 650),
(206, 649, 207, 650),
(583, 648, 584, 649),
(460, 646, 461, 645),
(88, 648, 89, 647),
(354, 58, 355, 57),
(812, 59, 813, 60),
(169, 59, 170, 58),
(244, 56, 245, 55),
(556, 54, 557, 53),
(617, 57, 618, 56),
(462, 395, 463, 396),
(581, 395, 582, 394),
(204, 394, 205, 393),
(511, 393, 512, 392),
(850, 391, 851, 392),
(129, 391, 130, 390),
(922, 389, 923, 390),
(309, 387, 310, 386),
(277, 389, 278, 388),
(742, 387, 743, 388),
(558, 357, 559, 358),
(246, 355, 247, 356),
(619, 356, 620, 357),
(168, 353, 169, 354),
(813, 353, 814, 352),
(882, 352, 883, 351)],
[Regina_Triangulation(0,0),
[unnamed link(0,0),
[[(3, 1, 4, 0),
(1, 7, 2, 6),
(7, 3, 8, 2),
(11, 4, 12, 5),
(5, 12, 6, 13),
(8, 16, 9, 15),
(20, 9, 21, 10),
(18, 13, 19, 14),
(16, 0, 17, 21),
(14, 19, 15, 23),
(29, 17, 11, 18),
(23, 32, 28, 33),
(33, 28, 34, 27),
(20, 31, 24, 32),
(31, 25, 30, 24),
(27, 34, 26, 43),
(25, 44, 26, 30),
(35, 36, 10, 29),
(35, 37, 38, 36),
(37, 39, 40, 38),
(39, 41, 42, 40),
(41, 43, 44, 42)],
20,
10,
5]]]],
[[(293, 120, 0, 121),
(291, 41, 292, 40),
(234, 98, 235, 97),
(188, 71, 189, 72),
(162, 122, 163, 121),
(164, 39, 165, 40),
(125, 36, 126, 37),
(105, 74, 106, 75),
(55, 71, 56, 70),
(47, 172, 48, 173),
(245, 38, 246, 39),
(243, 123, 244, 122),
(244, 206, 245, 205),
(163, 205, 164, 204),
(292, 203, 293, 204),
(117, 261, 118, 260),
(109, 224, 110, 225),
(195, 115, 196, 114),
(198, 260, 199, 259),
(194, 219, 195, 220),
(88, 17, 89, 18),
(93, 223, 94, 222),
(92, 111, 93, 112),
(90, 253, 91, 254),
(91, 170, 92, 171),
(94, 52, 95, 51),
(89, 285, 90, 284),
(151, 219, 152, 218),
(150, 115, 151, 116),
(146, 255, 147, 256),
(148, 173, 149, 174),
(147, 47, 148, 46),
(145, 283, 146, 282),
(134, 216, 135, 215),
(27, 214, 28, 215),
(45, 256, 46, 257),
(174, 258, 175, 257),
(288, 249, 289, 250),
(72, 187, 73, 188),
(106, 186, 107, 185),
(37, 185, 38, 184),
(124, 183, 125, 184),
(31, 130, 32, 131),
(236, 63, 237, 64),
(144, 88, 145, 87),
(154, 65, 155, 66),
(16, 285, 17, 286),
(15, 253, 16, 252),
(14, 170, 15, 169),
(11, 52, 12, 53),
(9, 96, 10, 97),
(7, 65, 8, 64),
(280, 142, 281, 141),
(43, 143, 44, 142),
(175, 140, 176, 141),
(258, 139, 259, 140),
(216, 136, 217, 135),
(13, 111, 14, 110),
(48, 113, 49, 114),
(247, 290, 248, 291),
(246, 166, 247, 165),
(200, 279, 201, 280),
(201, 42, 202, 43),
(199, 177, 200, 176),
(197, 138, 198, 139),
(128, 33, 129, 34),
(126, 272, 127, 271),
(102, 270, 103, 269),
(59, 268, 60, 269),
(131, 264, 132, 265),
(35, 272, 36, 273),
(30, 266, 31, 265),
(34, 127, 35, 128),
(286, 228, 287, 227),
(251, 226, 252, 227),
(168, 225, 169, 226),
(49, 221, 50, 220),
(12, 223, 13, 224),
(231, 108, 232, 109),
(232, 54, 233, 53),
(230, 167, 231, 168),
(229, 250, 230, 251),
(228, 288, 229, 287),
(41, 202, 42, 203),
(44, 282, 45, 281),
(0, 161, 1, 162),
(277, 161, 278, 160),
(178, 159, 179, 160),
(136, 158, 137, 157),
(261, 158, 262, 159),
(217, 157, 218, 156),
(26, 155, 27, 156),
(123, 207, 124, 206),
(119, 278, 120, 279),
(118, 178, 119, 177),
(116, 137, 117, 138),
(29, 7, 30, 6),
(210, 3, 211, 4),
(263, 5, 264, 4),
(132, 5, 133, 6),
(180, 2, 181, 1),
(275, 2, 276, 3),
(213, 28, 214, 29),
(212, 134, 213, 133),
(211, 262, 212, 263),
(207, 182, 208, 183),
(209, 275, 210, 274),
(208, 242, 209, 241),
(273, 241, 274, 240),
(266, 237, 267, 238),
(129, 239, 130, 238),
(32, 239, 33, 240),
(179, 276, 180, 277),
(181, 242, 182, 243),
(100, 80, 101, 79),
(61, 78, 62, 79),
(77, 60, 78, 61),
(76, 102, 77, 101),
(75, 104, 76, 105),
(270, 104, 271, 103),
(86, 144, 87, 143),
(83, 167, 84, 166),
(84, 289, 85, 290),
(85, 249, 86, 248),
(82, 108, 83, 107),
(80, 73, 81, 74),
(267, 58, 268, 59),
(62, 58, 63, 57),
(99, 56, 100, 57),
(66, 153, 67, 154),
(69, 98, 70, 99),
(67, 9, 68, 8),
(68, 235, 69, 236),
(221, 22, 222, 23),
(254, 20, 255, 19),
(171, 21, 172, 20),
(112, 22, 113, 21),
(50, 23, 51, 24),
(283, 18, 284, 19),
(193, 25, 194, 24),
(152, 25, 153, 26),
(149, 196, 150, 197),
(10, 192, 11, 191),
(233, 190, 234, 191),
(95, 192, 96, 193),
(54, 189, 55, 190),
(81, 187, 82, 186)],
[Regina_Triangulation(0,0),
[unnamed link(0,0),
[[(3, 1, 4, 0),
(1, 7, 2, 6),
(11, 4, 12, 5),
(5, 12, 6, 13),
(8, 16, 9, 15),
(20, 9, 21, 10),
(10, 17, 11, 18),
(18, 13, 19, 14),
(14, 19, 15, 20),
(16, 0, 17, 21),
(29, 23, 8, 2),
(3, 32, 28, 33),
(33, 28, 34, 27),
(23, 31, 24, 32),
(31, 25, 30, 24),
(27, 34, 26, 39),
(25, 40, 26, 30),
(7, 35, 36, 29),
(35, 37, 38, 36),
(37, 39, 40, 38)],
3,
7,
3]]]],
[[(201, 283, 202, 282),
(177, 253, 178, 252),
(172, 228, 173, 227),
(176, 71, 177, 72),
(52, 36, 53, 35),
(245, 34, 246, 35),
(255, 46, 256, 47),
(247, 265, 248, 264),
(241, 138, 242, 139),
(157, 137, 158, 136),
(152, 261, 153, 262),
(155, 55, 156, 54),
(153, 37, 154, 36),
(108, 212, 109, 211),
(294, 209, 295, 210),
(56, 138, 57, 137),
(50, 263, 51, 264),
(301, 125, 302, 124),
(300, 22, 301, 21),
(122, 20, 123, 19),
(5, 90, 6, 91),
(212, 86, 213, 85),
(290, 92, 291, 91),
(107, 86, 108, 87),
(79, 182, 80, 183),
(68, 230, 69, 229),
(76, 179, 77, 180),
(119, 280, 120, 281),
(23, 274, 24, 275),
(299, 276, 300, 277),
(226, 174, 227, 173),
(216, 186, 217, 185),
(223, 73, 224, 72),
(6, 206, 7, 205),
(127, 303, 128, 302),
(0, 298, 1, 297),
(221, 250, 222, 251),
(33, 246, 34, 247),
(30, 152, 31, 151),
(24, 126, 25, 125),
(26, 304, 27, 303),
(273, 304, 274, 305),
(272, 27, 273, 28),
(270, 129, 271, 130),
(268, 149, 269, 150),
(265, 249, 266, 248),
(73, 223, 74, 222),
(74, 252, 75, 251),
(87, 211, 88, 210),
(234, 115, 235, 116),
(233, 285, 234, 284),
(64, 285, 65, 286),
(63, 115, 64, 114),
(166, 283, 167, 284),
(165, 117, 166, 116),
(298, 190, 299, 189),
(104, 191, 105, 192),
(305, 190, 0, 191),
(16, 199, 17, 200),
(196, 109, 197, 110),
(193, 293, 194, 292),
(195, 207, 196, 206),
(194, 89, 195, 90),
(113, 63, 114, 62),
(286, 61, 287, 62),
(11, 61, 12, 60),
(281, 199, 282, 198),
(238, 161, 239, 162),
(111, 165, 112, 164),
(289, 162, 290, 163),
(8, 164, 9, 163),
(58, 160, 59, 159),
(156, 243, 157, 244),
(55, 242, 56, 243),
(9, 236, 10, 237),
(288, 238, 289, 237),
(112, 235, 113, 236),
(207, 89, 208, 88),
(204, 8, 205, 7),
(208, 293, 209, 294),
(203, 111, 204, 110),
(202, 117, 203, 118),
(97, 168, 98, 169),
(95, 66, 96, 67),
(96, 232, 97, 231),
(94, 60, 95, 59),
(93, 161, 94, 160),
(92, 239, 93, 240),
(200, 15, 201, 16),
(167, 15, 168, 14),
(65, 13, 66, 12),
(232, 13, 233, 14),
(118, 197, 119, 198),
(180, 77, 181, 78),
(175, 225, 176, 224),
(133, 266, 134, 267),
(134, 249, 135, 250),
(131, 151, 132, 150),
(126, 26, 127, 25),
(228, 172, 229, 171),
(69, 170, 70, 171),
(260, 29, 261, 30),
(259, 130, 260, 131),
(258, 270, 259, 269),
(257, 148, 258, 149),
(253, 179, 254, 178),
(256, 219, 257, 220),
(254, 76, 255, 75),
(32, 52, 33, 51),
(132, 50, 133, 49),
(267, 48, 268, 49),
(78, 45, 79, 46),
(220, 48, 221, 47),
(181, 44, 182, 45),
(41, 174, 42, 175),
(43, 70, 44, 71),
(42, 226, 43, 225),
(37, 155, 38, 154),
(39, 244, 40, 245),
(38, 54, 39, 53),
(40, 136, 41, 135),
(31, 262, 32, 263),
(144, 169, 145, 170),
(142, 67, 143, 68),
(143, 231, 144, 230),
(141, 159, 142, 158),
(139, 240, 140, 241),
(140, 58, 141, 57),
(295, 3, 296, 2),
(188, 278, 189, 277),
(186, 123, 187, 124),
(187, 20, 188, 21),
(183, 146, 184, 147),
(28, 104, 29, 103),
(128, 102, 129, 101),
(271, 102, 272, 103),
(184, 99, 185, 100),
(84, 280, 85, 279),
(83, 120, 84, 121),
(82, 17, 83, 18),
(81, 98, 82, 99),
(80, 145, 81, 146),
(4, 292, 5, 291),
(105, 297, 106, 296),
(218, 148, 219, 147),
(217, 101, 218, 100),
(215, 19, 216, 18),
(214, 122, 215, 121),
(213, 278, 214, 279),
(106, 1, 107, 2),
(287, 11, 288, 10),
(192, 3, 193, 4),
(275, 22, 276, 23)],
[Regina_Triangulation(0,0),
[unnamed link(0,0),
[[(3, 1, 4, 0),
(1, 7, 2, 6),
(7, 3, 8, 2),
(11, 4, 12, 5),
(5, 12, 6, 13),
(8, 16, 9, 15),
(20, 9, 21, 10),
(14, 19, 15, 20),
(16, 0, 17, 21),
(18, 23, 19, 14),
(10, 17, 29, 18),
(13, 32, 28, 33),
(33, 28, 34, 27),
(23, 31, 24, 32),
(31, 25, 30, 24),
(27, 34, 26, 39),
(25, 40, 26, 30),
(11, 35, 36, 29),
(35, 37, 38, 36),
(37, 39, 40, 38)],
13,
11,
3]]]],
[[(254, 7, 255, 8),
(241, 127, 242, 126),
(30, 244, 31, 243),
(242, 30, 243, 29),
(118, 218, 119, 217),
(21, 217, 22, 216),
(206, 186, 207, 185),
(117, 202, 118, 203),
(20, 203, 21, 204),
(180, 121, 181, 122),
(115, 184, 116, 185),
(177, 26, 178, 27),
(33, 174, 34, 175),
(23, 121, 24, 120),
(81, 124, 82, 125),
(114, 87, 115, 88),
(119, 23, 120, 22),
(122, 103, 123, 104),
(24, 105, 25, 106),
(31, 78, 32, 79),
(79, 28, 80, 29),
(66, 10, 67, 9),
(12, 245, 13, 246),
(13, 128, 14, 129),
(10, 174, 11, 173),
(11, 77, 12, 76),
(135, 160, 136, 161),
(205, 232, 206, 233),
(207, 89, 208, 88),
(36, 163, 37, 164),
(219, 201, 220, 200),
(96, 193, 97, 194),
(106, 25, 107, 26),
(110, 239, 111, 240),
(108, 123, 109, 124),
(107, 179, 108, 178),
(109, 83, 110, 82),
(275, 145, 276, 144),
(213, 80, 214, 81),
(215, 176, 216, 177),
(212, 126, 213, 125),
(211, 241, 212, 240),
(214, 28, 215, 27),
(225, 1, 226, 0),
(97, 276, 98, 277),
(194, 277, 195, 0),
(59, 132, 60, 133),
(54, 249, 55, 250),
(56, 74, 57, 73),
(53, 171, 54, 170),
(158, 133, 159, 134),
(153, 250, 154, 251),
(155, 73, 156, 72),
(152, 170, 153, 169),
(222, 114, 223, 113),
(100, 111, 101, 112),
(197, 112, 198, 113),
(267, 172, 268, 173),
(266, 75, 267, 76),
(264, 130, 265, 129),
(265, 247, 266, 246),
(137, 261, 138, 260),
(145, 262, 146, 263),
(140, 227, 141, 228),
(139, 95, 140, 94),
(138, 192, 139, 191),
(196, 210, 197, 209),
(99, 211, 100, 210),
(223, 208, 224, 209),
(190, 93, 191, 94),
(186, 232, 187, 231),
(183, 220, 184, 221),
(179, 105, 180, 104),
(182, 200, 183, 199),
(195, 45, 196, 44),
(98, 46, 99, 45),
(224, 43, 225, 44),
(89, 231, 90, 230),
(86, 221, 87, 222),
(83, 103, 84, 102),
(85, 199, 86, 198),
(91, 188, 92, 189),
(236, 182, 237, 181),
(237, 85, 238, 84),
(234, 201, 235, 202),
(238, 101, 239, 102),
(235, 219, 236, 218),
(253, 271, 254, 270),
(257, 39, 258, 38),
(252, 51, 253, 52),
(251, 150, 252, 151),
(255, 162, 256, 163),
(247, 74, 248, 75),
(204, 19, 205, 20),
(77, 17, 78, 16),
(175, 19, 176, 18),
(127, 14, 128, 15),
(244, 15, 245, 16),
(32, 17, 33, 18),
(69, 248, 70, 249),
(71, 155, 72, 154),
(68, 172, 69, 171),
(70, 56, 71, 55),
(65, 34, 66, 35),
(67, 268, 68, 269),
(192, 144, 193, 143),
(95, 143, 96, 142),
(226, 141, 227, 142),
(116, 234, 117, 233),
(168, 152, 169, 151),
(167, 53, 168, 52),
(164, 35, 165, 36),
(166, 269, 167, 270),
(165, 9, 166, 8),
(146, 132, 147, 131),
(149, 157, 150, 156),
(47, 131, 48, 130),
(50, 158, 51, 157),
(48, 147, 49, 148),
(46, 263, 47, 264),
(42, 229, 43, 230),
(41, 91, 42, 90),
(40, 188, 41, 187),
(39, 259, 40, 258),
(272, 159, 273, 160),
(274, 262, 275, 261),
(271, 134, 272, 135),
(37, 64, 38, 65),
(256, 63, 257, 64),
(273, 60, 274, 61),
(136, 61, 137, 62),
(49, 59, 50, 58),
(148, 58, 149, 57),
(1, 229, 2, 228),
(2, 189, 3, 190),
(3, 92, 4, 93),
(4, 259, 5, 260),
(5, 63, 6, 62),
(6, 162, 7, 161)],
[Regina_Triangulation(0,0),
[unnamed link(0,0),
[[(3, 1, 4, 0),
(1, 7, 2, 6),
(7, 3, 8, 2),
(11, 4, 12, 5),
(20, 9, 21, 10),
(10, 17, 11, 18),
(18, 13, 19, 14),
(14, 19, 15, 20),
(16, 0, 17, 21),
(5, 12, 23, 13),
(29, 16, 9, 15),
(23, 32, 28, 33),
(33, 28, 34, 27),
(6, 31, 24, 32),
(31, 25, 30, 24),
(27, 34, 26, 43),
(25, 44, 26, 30),
(29, 35, 36, 8),
(42, 41, 43, 44),
(40, 39, 41, 42),
(38, 37, 39, 40),
(36, 35, 37, 38)],
6,
8,
-5]]]],
[[(150, 54, 151, 53),
(94, 195, 95, 196),
(92, 523, 93, 524),
(450, 102, 451, 101),
(311, 169, 312, 168),
(316, 192, 317, 191),
(495, 196, 496, 197),
(447, 308, 448, 309),
(310, 445, 311, 446),
(317, 519, 318, 518),
(449, 406, 450, 407),
(451, 1, 452, 0),
(493, 522, 494, 523),
(152, 475, 153, 476),
(48, 480, 49, 479),
(357, 474, 358, 475),
(355, 53, 356, 52),
(158, 250, 159, 249),
(9, 503, 10, 502),
(415, 499, 416, 498),
(524, 497, 525, 498),
(197, 496, 198, 497),
(6, 332, 7, 331),
(7, 177, 8, 176),
(5, 438, 6, 439),
(262, 225, 263, 226),
(470, 222, 471, 221),
(58, 219, 59, 220),
(352, 218, 353, 217),
(145, 221, 146, 220),
(167, 313, 168, 312),
(166, 95, 167, 96),
(161, 500, 162, 501),
(203, 445, 204, 444),
(201, 170, 202, 171),
(157, 11, 158, 10),
(198, 413, 199, 414),
(525, 414, 526, 415),
(165, 413, 166, 412),
(163, 526, 164, 527),
(164, 199, 165, 200),
(333, 73, 334, 72),
(2, 130, 3, 129),
(336, 131, 337, 132),
(41, 365, 42, 364),
(45, 250, 46, 251),
(40, 490, 41, 489),
(42, 88, 43, 87),
(36, 315, 37, 316),
(38, 520, 39, 519),
(37, 193, 38, 192),
(370, 193, 371, 194),
(369, 520, 370, 521),
(371, 315, 372, 314),
(367, 90, 368, 91),
(368, 491, 369, 492),
(359, 257, 360, 256),
(425, 234, 426, 235),
(264, 231, 265, 232),
(466, 234, 467, 233),
(62, 229, 63, 230),
(347, 231, 348, 230),
(228, 350, 229, 349),
(227, 60, 228, 61),
(222, 470, 223, 469),
(226, 263, 227, 264),
(385, 219, 386, 218),
(389, 259, 390, 258),
(388, 471, 389, 472),
(387, 57, 388, 56),
(384, 351, 385, 352),
(254, 115, 255, 116),
(476, 114, 477, 113),
(51, 112, 52, 113),
(360, 118, 361, 117),
(153, 115, 154, 114),
(21, 149, 22, 148),
(22, 354, 23, 353),
(19, 54, 20, 55),
(18, 474, 19, 473),
(23, 216, 24, 217),
(16, 255, 17, 256),
(155, 294, 156, 295),
(361, 290, 362, 291),
(50, 296, 51, 295),
(478, 293, 479, 294),
(253, 293, 254, 292),
(149, 394, 150, 395),
(354, 395, 355, 396),
(55, 393, 56, 392),
(472, 391, 473, 392),
(257, 391, 258, 390),
(20, 394, 21, 393),
(39, 420, 40, 421),
(365, 419, 366, 418),
(46, 11, 47, 12),
(358, 18, 359, 17),
(248, 160, 249, 159),
(252, 13, 253, 14),
(245, 416, 246, 417),
(243, 493, 244, 492),
(244, 92, 245, 91),
(240, 313, 241, 314),
(242, 522, 243, 521),
(241, 195, 242, 194),
(49, 157, 50, 156),
(93, 494, 94, 495),
(88, 418, 89, 417),
(318, 421, 319, 422),
(319, 489, 320, 488),
(190, 36, 191, 35),
(517, 35, 518, 34),
(423, 32, 424, 33),
(224, 27, 225, 28),
(383, 25, 384, 24),
(259, 30, 260, 31),
(468, 30, 469, 29),
(59, 26, 60, 27),
(350, 26, 351, 25),
(143, 29, 144, 28),
(490, 420, 491, 419),
(487, 321, 488, 320),
(481, 13, 482, 12),
(485, 86, 486, 87),
(482, 252, 483, 251),
(486, 363, 487, 364),
(480, 48, 481, 47),
(477, 154, 478, 155),
(356, 151, 357, 152),
(386, 147, 387, 148),
(57, 147, 58, 146),
(465, 140, 466, 141),
(261, 143, 262, 142),
(223, 145, 224, 144),
(428, 138, 429, 137),
(511, 138, 512, 139),
(183, 134, 184, 135),
(346, 381, 347, 382),
(63, 383, 64, 382),
(464, 379, 465, 380),
(265, 381, 266, 380),
(426, 378, 427, 377),
(238, 374, 239, 373),
(514, 375, 515, 376),
(189, 372, 190, 373),
(139, 378, 140, 379),
(212, 267, 213, 268),
(211, 430, 212, 431),
(215, 507, 216, 506),
(208, 186, 209, 185),
(209, 137, 210, 136),
(404, 133, 405, 134),
(403, 182, 404, 183),
(396, 505, 397, 506),
(400, 432, 401, 431),
(398, 270, 399, 269),
(3, 455, 4, 454),
(512, 428, 513, 427),
(329, 275, 330, 274),
(8, 273, 9, 274),
(446, 284, 447, 283),
(439, 276, 440, 277),
(509, 267, 510, 266),
(179, 435, 180, 434),
(174, 276, 175, 275),
(4, 73, 5, 74),
(453, 75, 454, 74),
(436, 71, 437, 72),
(271, 68, 272, 69),
(178, 70, 179, 69),
(507, 65, 508, 64),
(397, 67, 398, 66),
(214, 65, 215, 66),
(304, 135, 305, 136),
(302, 402, 303, 401),
(301, 433, 302, 432),
(305, 184, 306, 185),
(296, 503, 297, 504),
(299, 271, 300, 270),
(298, 68, 299, 67),
(297, 110, 298, 111),
(61, 349, 62, 348),
(213, 345, 214, 344),
(399, 342, 400, 343),
(300, 341, 301, 342),
(268, 344, 269, 343),
(508, 345, 509, 346),
(180, 339, 181, 340),
(433, 341, 434, 340),
(457, 338, 458, 339),
(132, 337, 133, 338),
(107, 70, 108, 71),
(109, 272, 110, 273),
(111, 505, 112, 504),
(108, 178, 109, 177),
(106, 435, 107, 436),
(105, 457, 106, 456),
(103, 131, 104, 130),
(104, 336, 105, 335),
(99, 408, 100, 409),
(210, 462, 211, 461),
(402, 459, 403, 460),
(303, 460, 304, 461),
(260, 468, 261, 467),
(510, 463, 511, 464),
(181, 458, 182, 459),
(429, 463, 430, 462),
(291, 14, 292, 15),
(288, 34, 289, 33),
(289, 422, 290, 423),
(287, 517, 288, 516),
(284, 188, 285, 187),
(285, 374, 286, 375),
(282, 310, 283, 309),
(279, 100, 280, 101),
(280, 408, 281, 407),
(278, 529, 279, 0),
(286, 238, 287, 237),
(141, 233, 142, 232),
(188, 240, 189, 239),
(515, 237, 516, 236),
(75, 453, 76, 452),
(307, 206, 308, 207),
(281, 204, 282, 205),
(97, 203, 98, 202),
(448, 206, 449, 205),
(411, 200, 412, 201),
(334, 455, 335, 456),
(332, 438, 333, 437),
(330, 175, 331, 176),
(327, 161, 328, 160),
(328, 501, 329, 502),
(324, 247, 325, 248),
(321, 363, 322, 362),
(323, 44, 324, 45),
(325, 83, 326, 82),
(322, 484, 323, 483),
(410, 172, 411, 171),
(409, 442, 410, 443),
(528, 442, 529, 441),
(527, 172, 528, 173),
(98, 444, 99, 443),
(96, 169, 97, 170),
(116, 16, 117, 15),
(119, 425, 120, 424),
(118, 31, 119, 32),
(121, 377, 122, 376),
(120, 235, 121, 236),
(122, 513, 123, 514),
(123, 186, 124, 187),
(124, 208, 125, 207),
(125, 306, 126, 307),
(126, 405, 127, 406),
(127, 103, 128, 102),
(128, 2, 129, 1),
(76, 277, 77, 278),
(77, 440, 78, 441),
(78, 174, 79, 173),
(81, 327, 82, 326),
(80, 500, 81, 499),
(79, 162, 80, 163),
(83, 247, 84, 246),
(84, 44, 85, 43),
(89, 366, 90, 367),
(85, 484, 86, 485)],
[Regina_Triangulation(0,0),
[unnamed link(0,0),
[[(3, 1, 4, 0),
(1, 7, 2, 6),
(11, 4, 12, 5),
(5, 12, 6, 13),
(8, 16, 9, 15),
(20, 9, 21, 10),
(10, 17, 11, 18),
(18, 13, 19, 14),
(14, 19, 15, 20),
(23, 0, 17, 21),
(7, 3, 29, 2),
(23, 32, 28, 33),
(33, 28, 34, 27),
(16, 31, 24, 32),
(31, 25, 30, 24),
(27, 34, 26, 37),
(25, 38, 26, 30),
(29, 35, 36, 8),
(36, 35, 37, 38)],
16,
8,
-2]]]],
[[(97, 217, 98, 216),
(224, 63, 225, 64),
(223, 9, 224, 8),
(195, 210, 196, 211),
(184, 60, 185, 59),
(183, 12, 184, 13),
(102, 62, 103, 61),
(103, 10, 104, 11),
(86, 31, 87, 32),
(84, 66, 85, 65),
(15, 57, 16, 56),
(47, 207, 48, 206),
(130, 212, 131, 211),
(48, 117, 49, 118),
(132, 113, 133, 114),
(24, 207, 25, 208),
(23, 117, 24, 116),
(74, 191, 75, 192),
(75, 110, 76, 111),
(73, 215, 74, 214),
(72, 178, 73, 177),
(71, 97, 72, 96),
(69, 228, 70, 229),
(67, 148, 68, 149),
(60, 12, 61, 11),
(108, 250, 109, 249),
(218, 245, 219, 246),
(180, 247, 181, 248),
(99, 246, 100, 247),
(227, 245, 228, 244),
(1, 71, 2, 70),
(4, 150, 5, 149),
(2, 230, 3, 229),
(253, 98, 0, 99),
(252, 179, 253, 180),
(0, 217, 1, 218),
(250, 110, 251, 109),
(251, 191, 252, 190),
(226, 163, 227, 164),
(100, 162, 101, 161),
(181, 161, 182, 160),
(219, 163, 220, 162),
(107, 158, 108, 159),
(155, 192, 156, 193),
(156, 111, 157, 112),
(154, 214, 155, 213),
(153, 177, 154, 176),
(152, 96, 153, 95),
(151, 230, 152, 231),
(157, 76, 158, 77),
(119, 23, 120, 22),
(118, 49, 119, 50),
(231, 126, 232, 127),
(94, 126, 95, 125),
(175, 125, 176, 124),
(212, 124, 213, 123),
(112, 121, 113, 122),
(193, 122, 194, 123),
(199, 33, 200, 32),
(205, 51, 206, 50),
(204, 21, 205, 22),
(34, 20, 35, 19),
(33, 52, 34, 53),
(83, 147, 84, 146),
(101, 143, 102, 142),
(225, 144, 226, 145),
(182, 142, 183, 141),
(35, 136, 36, 137),
(203, 135, 204, 134),
(120, 133, 121, 134),
(140, 188, 141, 187),
(13, 186, 14, 187),
(58, 186, 59, 185),
(139, 107, 140, 106),
(14, 105, 15, 106),
(57, 105, 58, 104),
(62, 221, 63, 222),
(178, 216, 179, 215),
(9, 223, 10, 222),
(143, 220, 144, 221),
(145, 83, 146, 82),
(7, 80, 8, 81),
(64, 82, 65, 81),
(55, 78, 56, 79),
(16, 80, 17, 79),
(138, 77, 139, 78),
(114, 209, 115, 210),
(88, 238, 89, 237),
(26, 236, 27, 235),
(45, 236, 46, 237),
(129, 234, 130, 235),
(89, 170, 90, 171),
(232, 94, 233, 93),
(127, 93, 128, 92),
(43, 91, 44, 90),
(28, 91, 29, 92),
(168, 29, 169, 30),
(165, 67, 166, 66),
(164, 148, 165, 147),
(167, 241, 168, 240),
(233, 175, 234, 174),
(128, 174, 129, 173),
(44, 172, 45, 171),
(27, 172, 28, 173),
(241, 150, 242, 151),
(243, 68, 244, 69),
(239, 31, 240, 30),
(131, 194, 132, 195),
(208, 115, 209, 116),
(85, 6, 86, 7),
(54, 18, 55, 17),
(242, 4, 243, 3),
(166, 5, 167, 6),
(189, 249, 190, 248),
(188, 159, 189, 160),
(169, 43, 170, 42),
(198, 39, 199, 40),
(87, 41, 88, 40),
(238, 41, 239, 42),
(51, 38, 52, 39),
(20, 38, 21, 37),
(135, 36, 136, 37),
(137, 203, 138, 202),
(18, 201, 19, 202),
(53, 201, 54, 200),
(46, 197, 47, 198),
(25, 197, 26, 196)],
[Regina_Triangulation(0,0),
[unnamed link(0,0),
[[(3, 1, 4, 0),
(7, 3, 8, 2),
(5, 12, 6, 13),
(8, 16, 9, 15),
(20, 9, 21, 10),
(10, 17, 11, 18),
(18, 13, 19, 14),
(14, 19, 15, 20),
(16, 0, 17, 21),
(23, 7, 2, 6),
(11, 29, 12, 5),
(1, 32, 28, 33),
(33, 28, 34, 27),
(23, 31, 24, 32),
(31, 25, 30, 24),
(27, 34, 26, 41),
(25, 42, 26, 30),
(4, 35, 36, 29),
(35, 37, 38, 36),
(37, 39, 40, 38),
(39, 41, 42, 40)],
1,
4,
4]]]]]