In [14]:
import KBs
reload(KBs)
from KBs import *
kb = kb_2dntca()
env = CA_sys(familyname='2dntca')
env.alias = 'b3s23'
env.alias2rulestr()
hist = sample(env)
ttb = env.family.rulestr2table(env.rulestr)
print 'Non-rev table:\n',ttb[:150]
print
ttb = env.family.rulestr2table(env.rulestr,reverse=1)
print 'Rev table:\n',ttb[:200]
# print hist[0::]
# showsptime(hist[:,0,:])
sp = hist[:,0,:]
Non-rev table:
@RULE b3aceijknqrys3aceijknqry2aceikn
@TABLE
n_States:2
neighborhood:Moore
symmetries:rotate4reflect
#>>>TAB<<<
0000000000
0000100000
0000010000
00001
Rev table:
@RULE rev_b3aceijknqrys3aceijknqry2aceikn
@TABLE
n_States:4
neighborhood:Moore
symmetries:rotate4reflect
var a0={0,2} ### curr0
var b0={1,3} ### curr1
var a1={0,2} ### curr0
var b1={1,3} ### curr1
va
In [70]:
def ntca2moore(binstr):
'''
102-bit ntCA bitstring --> 512-bit mooreCA bitstring
'''
out = [None]*512
for i,res in enumerate(binstr):
for j in ntca2rca[i]:
out[j] = res
return ''.join(out)
def table_variable_moore(s):
'''
List dummy variables (x8)
And concatenate to the input string
Useful for ruletables
'''
for i in range(8):
s += '''
var a%d={0,2} ### curr0
var b%d={1,3} ### curr1'''%(i,i)
s+='\n'
return s
r = rulestr2table(kb,env.rulestr,reverse=1);
print r
# re.findall('2,.+,\d\n',r)
Out[70]:
['a0', 'b0', 'a1', 'a2', 'b1']
In [33]:
def reverse(ruletable,sep='>>>TAB<<<'):
head,tab = ruletable.split(sep)
# head.replace('{0,2}','')
tab = '\n'.join(x[::-1] for x in tab.splitlines())
tab = tab.replace('1','?')
tab = tab.replace('2','1')
tab = tab.replace('?','2')
out = head + sep + tab
return out
# print rr==r
@RULE b3aceijknqrys3aceijknqry2aceikn
@TABLE
n_States:4
neighborhood:Moore
symmetries:none
var a={0,2}
var b={1,3}
#>>>TAB<<<
0,a,a,a,a,a,a,a,a,0
2,a,a,a,a,a,a,a,a,1
0,a,a,a,a,b,a,a,a,0
2,a,a,a,a,b,a,a,a,1
0,a,a,a,b,a,a,a,a,0
2,a,a,a,b,a,a,a,a,1
0,a,a,a,b,b,a,a,a,0
2,a,a,a,b,b,a,a,a,1
0,a,a,b,a,a,a,a,a,0
2,a,a,b,a,a,a,a,a,1
0,a,a,b,a,b,a,a,a,0
2,a,a,b,a,b,a,a,a,1
0,a,a,b,b,a,a,a,a,0
2,a,a,b,b,a,a,a,a,1
2,a,a,b,b,b,a,a,a,0
0,a,a,b,b,b,a,a,a,1
0,a,a,a,a,a,b,a,a,0
2,a,a,a,a,a,b,a,a,1
0,a,a,a,a,b,b,a,a,0
2,a,a,a,a,b,b,a,a,1
0,a,a,a,b,a,b,a,a,0
2,a,a,a,b,a,b,a,a,1
2,a,a,a,b,b,b,a,a,0
0,a,a,a,b,b,b,a,a,1
0,a,a,b,a,a,b,a,a,0
2,a,a,b,a,a,b,a,a,1
2,a,a,b,a,b,b,a,a,0
0,a,a,b,a,b,b,a,a,1
2,a,a,b,b,a,b,a,a,0
0,a,a,b,b,a,b,a,a,1
0,a,a,b,b,b,b,a,a,0
2,a,a,b,b,b,b,a,a,1
1,a,a,a,a,a,a,a,a,2
3,a,a,a,a,a,a,a,a,3
1,a,a,a,a,b,a,a,a,2
3,a,a,a,a,b,a,a,a,3
1,a,a,a,b,a,a,a,a,2
3,a,a,a,b,a,a,a,a,3
3,a,a,a,b,b,a,a,a,2
1,a,a,a,b,b,a,a,a,3
1,a,a,b,a,a,a,a,a,2
3,a,a,b,a,a,a,a,a,3
3,a,a,b,a,b,a,a,a,2
1,a,a,b,a,b,a,a,a,3
3,a,a,b,b,a,a,a,a,2
1,a,a,b,b,a,a,a,a,3
3,a,a,b,b,b,a,a,a,2
1,a,a,b,b,b,a,a,a,3
1,a,a,a,a,a,b,a,a,2
3,a,a,a,a,a,b,a,a,3
3,a,a,a,a,b,b,a,a,2
1,a,a,a,a,b,b,a,a,3
3,a,a,a,b,a,b,a,a,2
1,a,a,a,b,a,b,a,a,3
3,a,a,a,b,b,b,a,a,2
1,a,a,a,b,b,b,a,a,3
3,a,a,b,a,a,b,a,a,2
1,a,a,b,a,a,b,a,a,3
3,a,a,b,a,b,b,a,a,2
1,a,a,b,a,b,b,a,a,3
3,a,a,b,b,a,b,a,a,2
1,a,a,b,b,a,b,a,a,3
1,a,a,b,b,b,b,a,a,2
3,a,a,b,b,b,b,a,a,3
0,a,b,a,a,a,a,a,a,0
2,a,b,a,a,a,a,a,a,1
0,a,b,a,a,b,a,a,a,0
2,a,b,a,a,b,a,a,a,1
0,a,b,a,b,a,a,a,a,0
2,a,b,a,b,a,a,a,a,1
2,a,b,a,b,b,a,a,a,0
0,a,b,a,b,b,a,a,a,1
0,a,b,b,a,a,a,a,a,0
2,a,b,b,a,a,a,a,a,1
2,a,b,b,a,b,a,a,a,0
0,a,b,b,a,b,a,a,a,1
2,a,b,b,b,a,a,a,a,0
0,a,b,b,b,a,a,a,a,1
0,a,b,b,b,b,a,a,a,0
2,a,b,b,b,b,a,a,a,1
0,a,b,a,a,a,b,a,a,0
2,a,b,a,a,a,b,a,a,1
2,a,b,a,a,b,b,a,a,0
0,a,b,a,a,b,b,a,a,1
2,a,b,a,b,a,b,a,a,0
0,a,b,a,b,a,b,a,a,1
0,a,b,a,b,b,b,a,a,0
2,a,b,a,b,b,b,a,a,1
2,a,b,b,a,a,b,a,a,0
0,a,b,b,a,a,b,a,a,1
0,a,b,b,a,b,b,a,a,0
2,a,b,b,a,b,b,a,a,1
0,a,b,b,b,a,b,a,a,0
2,a,b,b,b,a,b,a,a,1
0,a,b,b,b,b,b,a,a,0
2,a,b,b,b,b,b,a,a,1
1,a,b,a,a,a,a,a,a,2
3,a,b,a,a,a,a,a,a,3
3,a,b,a,a,b,a,a,a,2
1,a,b,a,a,b,a,a,a,3
3,a,b,a,b,a,a,a,a,2
1,a,b,a,b,a,a,a,a,3
3,a,b,a,b,b,a,a,a,2
1,a,b,a,b,b,a,a,a,3
3,a,b,b,a,a,a,a,a,2
1,a,b,b,a,a,a,a,a,3
3,a,b,b,a,b,a,a,a,2
1,a,b,b,a,b,a,a,a,3
3,a,b,b,b,a,a,a,a,2
1,a,b,b,b,a,a,a,a,3
1,a,b,b,b,b,a,a,a,2
3,a,b,b,b,b,a,a,a,3
3,a,b,a,a,a,b,a,a,2
1,a,b,a,a,a,b,a,a,3
3,a,b,a,a,b,b,a,a,2
1,a,b,a,a,b,b,a,a,3
3,a,b,a,b,a,b,a,a,2
1,a,b,a,b,a,b,a,a,3
1,a,b,a,b,b,b,a,a,2
3,a,b,a,b,b,b,a,a,3
3,a,b,b,a,a,b,a,a,2
1,a,b,b,a,a,b,a,a,3
1,a,b,b,a,b,b,a,a,2
3,a,b,b,a,b,b,a,a,3
1,a,b,b,b,a,b,a,a,2
3,a,b,b,b,a,b,a,a,3
1,a,b,b,b,b,b,a,a,2
3,a,b,b,b,b,b,a,a,3
0,a,a,a,a,a,a,b,a,0
2,a,a,a,a,a,a,b,a,1
0,a,a,a,a,b,a,b,a,0
2,a,a,a,a,b,a,b,a,1
0,a,a,a,b,a,a,b,a,0
2,a,a,a,b,a,a,b,a,1
2,a,a,a,b,b,a,b,a,0
0,a,a,a,b,b,a,b,a,1
0,a,a,b,a,a,a,b,a,0
2,a,a,b,a,a,a,b,a,1
2,a,a,b,a,b,a,b,a,0
0,a,a,b,a,b,a,b,a,1
2,a,a,b,b,a,a,b,a,0
0,a,a,b,b,a,a,b,a,1
0,a,a,b,b,b,a,b,a,0
2,a,a,b,b,b,a,b,a,1
0,a,a,a,a,a,b,b,a,0
2,a,a,a,a,a,b,b,a,1
2,a,a,a,a,b,b,b,a,0
0,a,a,a,a,b,b,b,a,1
2,a,a,a,b,a,b,b,a,0
0,a,a,a,b,a,b,b,a,1
0,a,a,a,b,b,b,b,a,0
2,a,a,a,b,b,b,b,a,1
2,a,a,b,a,a,b,b,a,0
0,a,a,b,a,a,b,b,a,1
0,a,a,b,a,b,b,b,a,0
2,a,a,b,a,b,b,b,a,1
0,a,a,b,b,a,b,b,a,0
2,a,a,b,b,a,b,b,a,1
0,a,a,b,b,b,b,b,a,0
2,a,a,b,b,b,b,b,a,1
1,a,a,a,a,a,a,b,a,2
3,a,a,a,a,a,a,b,a,3
3,a,a,a,a,b,a,b,a,2
1,a,a,a,a,b,a,b,a,3
3,a,a,a,b,a,a,b,a,2
1,a,a,a,b,a,a,b,a,3
3,a,a,a,b,b,a,b,a,2
1,a,a,a,b,b,a,b,a,3
3,a,a,b,a,a,a,b,a,2
1,a,a,b,a,a,a,b,a,3
3,a,a,b,a,b,a,b,a,2
1,a,a,b,a,b,a,b,a,3
3,a,a,b,b,a,a,b,a,2
1,a,a,b,b,a,a,b,a,3
1,a,a,b,b,b,a,b,a,2
3,a,a,b,b,b,a,b,a,3
3,a,a,a,a,a,b,b,a,2
1,a,a,a,a,a,b,b,a,3
3,a,a,a,a,b,b,b,a,2
1,a,a,a,a,b,b,b,a,3
3,a,a,a,b,a,b,b,a,2
1,a,a,a,b,a,b,b,a,3
1,a,a,a,b,b,b,b,a,2
3,a,a,a,b,b,b,b,a,3
3,a,a,b,a,a,b,b,a,2
1,a,a,b,a,a,b,b,a,3
1,a,a,b,a,b,b,b,a,2
3,a,a,b,a,b,b,b,a,3
1,a,a,b,b,a,b,b,a,2
3,a,a,b,b,a,b,b,a,3
1,a,a,b,b,b,b,b,a,2
3,a,a,b,b,b,b,b,a,3
0,a,b,a,a,a,a,b,a,0
2,a,b,a,a,a,a,b,a,1
2,a,b,a,a,b,a,b,a,0
0,a,b,a,a,b,a,b,a,1
2,a,b,a,b,a,a,b,a,0
0,a,b,a,b,a,a,b,a,1
0,a,b,a,b,b,a,b,a,0
2,a,b,a,b,b,a,b,a,1
2,a,b,b,a,a,a,b,a,0
0,a,b,b,a,a,a,b,a,1
0,a,b,b,a,b,a,b,a,0
2,a,b,b,a,b,a,b,a,1
0,a,b,b,b,a,a,b,a,0
2,a,b,b,b,a,a,b,a,1
0,a,b,b,b,b,a,b,a,0
2,a,b,b,b,b,a,b,a,1
2,a,b,a,a,a,b,b,a,0
0,a,b,a,a,a,b,b,a,1
0,a,b,a,a,b,b,b,a,0
2,a,b,a,a,b,b,b,a,1
0,a,b,a,b,a,b,b,a,0
2,a,b,a,b,a,b,b,a,1
0,a,b,a,b,b,b,b,a,0
2,a,b,a,b,b,b,b,a,1
0,a,b,b,a,a,b,b,a,0
2,a,b,b,a,a,b,b,a,1
0,a,b,b,a,b,b,b,a,0
2,a,b,b,a,b,b,b,a,1
0,a,b,b,b,a,b,b,a,0
2,a,b,b,b,a,b,b,a,1
0,a,b,b,b,b,b,b,a,0
2,a,b,b,b,b,b,b,a,1
3,a,b,a,a,a,a,b,a,2
1,a,b,a,a,a,a,b,a,3
3,a,b,a,a,b,a,b,a,2
1,a,b,a,a,b,a,b,a,3
3,a,b,a,b,a,a,b,a,2
1,a,b,a,b,a,a,b,a,3
1,a,b,a,b,b,a,b,a,2
3,a,b,a,b,b,a,b,a,3
3,a,b,b,a,a,a,b,a,2
1,a,b,b,a,a,a,b,a,3
1,a,b,b,a,b,a,b,a,2
3,a,b,b,a,b,a,b,a,3
1,a,b,b,b,a,a,b,a,2
3,a,b,b,b,a,a,b,a,3
1,a,b,b,b,b,a,b,a,2
3,a,b,b,b,b,a,b,a,3
3,a,b,a,a,a,b,b,a,2
1,a,b,a,a,a,b,b,a,3
1,a,b,a,a,b,b,b,a,2
3,a,b,a,a,b,b,b,a,3
1,a,b,a,b,a,b,b,a,2
3,a,b,a,b,a,b,b,a,3
1,a,b,a,b,b,b,b,a,2
3,a,b,a,b,b,b,b,a,3
1,a,b,b,a,a,b,b,a,2
3,a,b,b,a,a,b,b,a,3
1,a,b,b,a,b,b,b,a,2
3,a,b,b,a,b,b,b,a,3
1,a,b,b,b,a,b,b,a,2
3,a,b,b,b,a,b,b,a,3
1,a,b,b,b,b,b,b,a,2
3,a,b,b,b,b,b,b,a,3
0,a,a,a,a,a,a,a,b,0
2,a,a,a,a,a,a,a,b,1
0,a,a,a,a,b,a,a,b,0
2,a,a,a,a,b,a,a,b,1
0,a,a,a,b,a,a,a,b,0
2,a,a,a,b,a,a,a,b,1
2,a,a,a,b,b,a,a,b,0
0,a,a,a,b,b,a,a,b,1
0,a,a,b,a,a,a,a,b,0
2,a,a,b,a,a,a,a,b,1
2,a,a,b,a,b,a,a,b,0
0,a,a,b,a,b,a,a,b,1
2,a,a,b,b,a,a,a,b,0
0,a,a,b,b,a,a,a,b,1
0,a,a,b,b,b,a,a,b,0
2,a,a,b,b,b,a,a,b,1
0,a,a,a,a,a,b,a,b,0
2,a,a,a,a,a,b,a,b,1
2,a,a,a,a,b,b,a,b,0
0,a,a,a,a,b,b,a,b,1
2,a,a,a,b,a,b,a,b,0
0,a,a,a,b,a,b,a,b,1
0,a,a,a,b,b,b,a,b,0
2,a,a,a,b,b,b,a,b,1
2,a,a,b,a,a,b,a,b,0
0,a,a,b,a,a,b,a,b,1
0,a,a,b,a,b,b,a,b,0
2,a,a,b,a,b,b,a,b,1
0,a,a,b,b,a,b,a,b,0
2,a,a,b,b,a,b,a,b,1
0,a,a,b,b,b,b,a,b,0
2,a,a,b,b,b,b,a,b,1
1,a,a,a,a,a,a,a,b,2
3,a,a,a,a,a,a,a,b,3
3,a,a,a,a,b,a,a,b,2
1,a,a,a,a,b,a,a,b,3
3,a,a,a,b,a,a,a,b,2
1,a,a,a,b,a,a,a,b,3
3,a,a,a,b,b,a,a,b,2
1,a,a,a,b,b,a,a,b,3
3,a,a,b,a,a,a,a,b,2
1,a,a,b,a,a,a,a,b,3
3,a,a,b,a,b,a,a,b,2
1,a,a,b,a,b,a,a,b,3
3,a,a,b,b,a,a,a,b,2
1,a,a,b,b,a,a,a,b,3
1,a,a,b,b,b,a,a,b,2
3,a,a,b,b,b,a,a,b,3
3,a,a,a,a,a,b,a,b,2
1,a,a,a,a,a,b,a,b,3
3,a,a,a,a,b,b,a,b,2
1,a,a,a,a,b,b,a,b,3
3,a,a,a,b,a,b,a,b,2
1,a,a,a,b,a,b,a,b,3
1,a,a,a,b,b,b,a,b,2
3,a,a,a,b,b,b,a,b,3
3,a,a,b,a,a,b,a,b,2
1,a,a,b,a,a,b,a,b,3
1,a,a,b,a,b,b,a,b,2
3,a,a,b,a,b,b,a,b,3
1,a,a,b,b,a,b,a,b,2
3,a,a,b,b,a,b,a,b,3
1,a,a,b,b,b,b,a,b,2
3,a,a,b,b,b,b,a,b,3
0,a,b,a,a,a,a,a,b,0
2,a,b,a,a,a,a,a,b,1
2,a,b,a,a,b,a,a,b,0
0,a,b,a,a,b,a,a,b,1
2,a,b,a,b,a,a,a,b,0
0,a,b,a,b,a,a,a,b,1
0,a,b,a,b,b,a,a,b,0
2,a,b,a,b,b,a,a,b,1
2,a,b,b,a,a,a,a,b,0
0,a,b,b,a,a,a,a,b,1
0,a,b,b,a,b,a,a,b,0
2,a,b,b,a,b,a,a,b,1
0,a,b,b,b,a,a,a,b,0
2,a,b,b,b,a,a,a,b,1
0,a,b,b,b,b,a,a,b,0
2,a,b,b,b,b,a,a,b,1
2,a,b,a,a,a,b,a,b,0
0,a,b,a,a,a,b,a,b,1
0,a,b,a,a,b,b,a,b,0
2,a,b,a,a,b,b,a,b,1
0,a,b,a,b,a,b,a,b,0
2,a,b,a,b,a,b,a,b,1
0,a,b,a,b,b,b,a,b,0
2,a,b,a,b,b,b,a,b,1
0,a,b,b,a,a,b,a,b,0
2,a,b,b,a,a,b,a,b,1
0,a,b,b,a,b,b,a,b,0
2,a,b,b,a,b,b,a,b,1
0,a,b,b,b,a,b,a,b,0
2,a,b,b,b,a,b,a,b,1
0,a,b,b,b,b,b,a,b,0
2,a,b,b,b,b,b,a,b,1
3,a,b,a,a,a,a,a,b,2
1,a,b,a,a,a,a,a,b,3
3,a,b,a,a,b,a,a,b,2
1,a,b,a,a,b,a,a,b,3
3,a,b,a,b,a,a,a,b,2
1,a,b,a,b,a,a,a,b,3
1,a,b,a,b,b,a,a,b,2
3,a,b,a,b,b,a,a,b,3
3,a,b,b,a,a,a,a,b,2
1,a,b,b,a,a,a,a,b,3
1,a,b,b,a,b,a,a,b,2
3,a,b,b,a,b,a,a,b,3
1,a,b,b,b,a,a,a,b,2
3,a,b,b,b,a,a,a,b,3
1,a,b,b,b,b,a,a,b,2
3,a,b,b,b,b,a,a,b,3
3,a,b,a,a,a,b,a,b,2
1,a,b,a,a,a,b,a,b,3
1,a,b,a,a,b,b,a,b,2
3,a,b,a,a,b,b,a,b,3
1,a,b,a,b,a,b,a,b,2
3,a,b,a,b,a,b,a,b,3
1,a,b,a,b,b,b,a,b,2
3,a,b,a,b,b,b,a,b,3
1,a,b,b,a,a,b,a,b,2
3,a,b,b,a,a,b,a,b,3
1,a,b,b,a,b,b,a,b,2
3,a,b,b,a,b,b,a,b,3
1,a,b,b,b,a,b,a,b,2
3,a,b,b,b,a,b,a,b,3
1,a,b,b,b,b,b,a,b,2
3,a,b,b,b,b,b,a,b,3
0,a,a,a,a,a,a,b,b,0
2,a,a,a,a,a,a,b,b,1
2,a,a,a,a,b,a,b,b,0
0,a,a,a,a,b,a,b,b,1
2,a,a,a,b,a,a,b,b,0
0,a,a,a,b,a,a,b,b,1
0,a,a,a,b,b,a,b,b,0
2,a,a,a,b,b,a,b,b,1
2,a,a,b,a,a,a,b,b,0
0,a,a,b,a,a,a,b,b,1
0,a,a,b,a,b,a,b,b,0
2,a,a,b,a,b,a,b,b,1
0,a,a,b,b,a,a,b,b,0
2,a,a,b,b,a,a,b,b,1
0,a,a,b,b,b,a,b,b,0
2,a,a,b,b,b,a,b,b,1
2,a,a,a,a,a,b,b,b,0
0,a,a,a,a,a,b,b,b,1
0,a,a,a,a,b,b,b,b,0
2,a,a,a,a,b,b,b,b,1
0,a,a,a,b,a,b,b,b,0
2,a,a,a,b,a,b,b,b,1
0,a,a,a,b,b,b,b,b,0
2,a,a,a,b,b,b,b,b,1
0,a,a,b,a,a,b,b,b,0
2,a,a,b,a,a,b,b,b,1
0,a,a,b,a,b,b,b,b,0
2,a,a,b,a,b,b,b,b,1
0,a,a,b,b,a,b,b,b,0
2,a,a,b,b,a,b,b,b,1
0,a,a,b,b,b,b,b,b,0
2,a,a,b,b,b,b,b,b,1
3,a,a,a,a,a,a,b,b,2
1,a,a,a,a,a,a,b,b,3
3,a,a,a,a,b,a,b,b,2
1,a,a,a,a,b,a,b,b,3
3,a,a,a,b,a,a,b,b,2
1,a,a,a,b,a,a,b,b,3
1,a,a,a,b,b,a,b,b,2
3,a,a,a,b,b,a,b,b,3
3,a,a,b,a,a,a,b,b,2
1,a,a,b,a,a,a,b,b,3
1,a,a,b,a,b,a,b,b,2
3,a,a,b,a,b,a,b,b,3
1,a,a,b,b,a,a,b,b,2
3,a,a,b,b,a,a,b,b,3
1,a,a,b,b,b,a,b,b,2
3,a,a,b,b,b,a,b,b,3
3,a,a,a,a,a,b,b,b,2
1,a,a,a,a,a,b,b,b,3
1,a,a,a,a,b,b,b,b,2
3,a,a,a,a,b,b,b,b,3
1,a,a,a,b,a,b,b,b,2
3,a,a,a,b,a,b,b,b,3
1,a,a,a,b,b,b,b,b,2
3,a,a,a,b,b,b,b,b,3
1,a,a,b,a,a,b,b,b,2
3,a,a,b,a,a,b,b,b,3
1,a,a,b,a,b,b,b,b,2
3,a,a,b,a,b,b,b,b,3
1,a,a,b,b,a,b,b,b,2
3,a,a,b,b,a,b,b,b,3
1,a,a,b,b,b,b,b,b,2
3,a,a,b,b,b,b,b,b,3
2,a,b,a,a,a,a,b,b,0
0,a,b,a,a,a,a,b,b,1
0,a,b,a,a,b,a,b,b,0
2,a,b,a,a,b,a,b,b,1
0,a,b,a,b,a,a,b,b,0
2,a,b,a,b,a,a,b,b,1
0,a,b,a,b,b,a,b,b,0
2,a,b,a,b,b,a,b,b,1
0,a,b,b,a,a,a,b,b,0
2,a,b,b,a,a,a,b,b,1
0,a,b,b,a,b,a,b,b,0
2,a,b,b,a,b,a,b,b,1
0,a,b,b,b,a,a,b,b,0
2,a,b,b,b,a,a,b,b,1
0,a,b,b,b,b,a,b,b,0
2,a,b,b,b,b,a,b,b,1
0,a,b,a,a,a,b,b,b,0
2,a,b,a,a,a,b,b,b,1
0,a,b,a,a,b,b,b,b,0
2,a,b,a,a,b,b,b,b,1
0,a,b,a,b,a,b,b,b,0
2,a,b,a,b,a,b,b,b,1
0,a,b,a,b,b,b,b,b,0
2,a,b,a,b,b,b,b,b,1
0,a,b,b,a,a,b,b,b,0
2,a,b,b,a,a,b,b,b,1
0,a,b,b,a,b,b,b,b,0
2,a,b,b,a,b,b,b,b,1
0,a,b,b,b,a,b,b,b,0
2,a,b,b,b,a,b,b,b,1
0,a,b,b,b,b,b,b,b,0
2,a,b,b,b,b,b,b,b,1
3,a,b,a,a,a,a,b,b,2
1,a,b,a,a,a,a,b,b,3
1,a,b,a,a,b,a,b,b,2
3,a,b,a,a,b,a,b,b,3
1,a,b,a,b,a,a,b,b,2
3,a,b,a,b,a,a,b,b,3
1,a,b,a,b,b,a,b,b,2
3,a,b,a,b,b,a,b,b,3
1,a,b,b,a,a,a,b,b,2
3,a,b,b,a,a,a,b,b,3
1,a,b,b,a,b,a,b,b,2
3,a,b,b,a,b,a,b,b,3
1,a,b,b,b,a,a,b,b,2
3,a,b,b,b,a,a,b,b,3
1,a,b,b,b,b,a,b,b,2
3,a,b,b,b,b,a,b,b,3
1,a,b,a,a,a,b,b,b,2
3,a,b,a,a,a,b,b,b,3
1,a,b,a,a,b,b,b,b,2
3,a,b,a,a,b,b,b,b,3
1,a,b,a,b,a,b,b,b,2
3,a,b,a,b,a,b,b,b,3
1,a,b,a,b,b,b,b,b,2
3,a,b,a,b,b,b,b,b,3
1,a,b,b,a,a,b,b,b,2
3,a,b,b,a,a,b,b,b,3
1,a,b,b,a,b,b,b,b,2
3,a,b,b,a,b,b,b,b,3
1,a,b,b,b,a,b,b,b,2
3,a,b,b,b,a,b,b,b,3
1,a,b,b,b,b,b,b,b,2
3,a,b,b,b,b,b,b,b,3
0,b,a,a,a,a,a,a,a,0
2,b,a,a,a,a,a,a,a,1
0,b,a,a,a,b,a,a,a,0
2,b,a,a,a,b,a,a,a,1
0,b,a,a,b,a,a,a,a,0
2,b,a,a,b,a,a,a,a,1
2,b,a,a,b,b,a,a,a,0
0,b,a,a,b,b,a,a,a,1
0,b,a,b,a,a,a,a,a,0
2,b,a,b,a,a,a,a,a,1
2,b,a,b,a,b,a,a,a,0
0,b,a,b,a,b,a,a,a,1
2,b,a,b,b,a,a,a,a,0
0,b,a,b,b,a,a,a,a,1
0,b,a,b,b,b,a,a,a,0
2,b,a,b,b,b,a,a,a,1
0,b,a,a,a,a,b,a,a,0
2,b,a,a,a,a,b,a,a,1
2,b,a,a,a,b,b,a,a,0
0,b,a,a,a,b,b,a,a,1
2,b,a,a,b,a,b,a,a,0
0,b,a,a,b,a,b,a,a,1
0,b,a,a,b,b,b,a,a,0
2,b,a,a,b,b,b,a,a,1
2,b,a,b,a,a,b,a,a,0
0,b,a,b,a,a,b,a,a,1
0,b,a,b,a,b,b,a,a,0
2,b,a,b,a,b,b,a,a,1
0,b,a,b,b,a,b,a,a,0
2,b,a,b,b,a,b,a,a,1
0,b,a,b,b,b,b,a,a,0
2,b,a,b,b,b,b,a,a,1
1,b,a,a,a,a,a,a,a,2
3,b,a,a,a,a,a,a,a,3
3,b,a,a,a,b,a,a,a,2
1,b,a,a,a,b,a,a,a,3
3,b,a,a,b,a,a,a,a,2
1,b,a,a,b,a,a,a,a,3
3,b,a,a,b,b,a,a,a,2
1,b,a,a,b,b,a,a,a,3
3,b,a,b,a,a,a,a,a,2
1,b,a,b,a,a,a,a,a,3
3,b,a,b,a,b,a,a,a,2
1,b,a,b,a,b,a,a,a,3
3,b,a,b,b,a,a,a,a,2
1,b,a,b,b,a,a,a,a,3
1,b,a,b,b,b,a,a,a,2
3,b,a,b,b,b,a,a,a,3
3,b,a,a,a,a,b,a,a,2
1,b,a,a,a,a,b,a,a,3
3,b,a,a,a,b,b,a,a,2
1,b,a,a,a,b,b,a,a,3
3,b,a,a,b,a,b,a,a,2
1,b,a,a,b,a,b,a,a,3
1,b,a,a,b,b,b,a,a,2
3,b,a,a,b,b,b,a,a,3
3,b,a,b,a,a,b,a,a,2
1,b,a,b,a,a,b,a,a,3
1,b,a,b,a,b,b,a,a,2
3,b,a,b,a,b,b,a,a,3
1,b,a,b,b,a,b,a,a,2
3,b,a,b,b,a,b,a,a,3
1,b,a,b,b,b,b,a,a,2
3,b,a,b,b,b,b,a,a,3
0,b,b,a,a,a,a,a,a,0
2,b,b,a,a,a,a,a,a,1
2,b,b,a,a,b,a,a,a,0
0,b,b,a,a,b,a,a,a,1
2,b,b,a,b,a,a,a,a,0
0,b,b,a,b,a,a,a,a,1
0,b,b,a,b,b,a,a,a,0
2,b,b,a,b,b,a,a,a,1
2,b,b,b,a,a,a,a,a,0
0,b,b,b,a,a,a,a,a,1
0,b,b,b,a,b,a,a,a,0
2,b,b,b,a,b,a,a,a,1
0,b,b,b,b,a,a,a,a,0
2,b,b,b,b,a,a,a,a,1
0,b,b,b,b,b,a,a,a,0
2,b,b,b,b,b,a,a,a,1
2,b,b,a,a,a,b,a,a,0
0,b,b,a,a,a,b,a,a,1
0,b,b,a,a,b,b,a,a,0
2,b,b,a,a,b,b,a,a,1
0,b,b,a,b,a,b,a,a,0
2,b,b,a,b,a,b,a,a,1
0,b,b,a,b,b,b,a,a,0
2,b,b,a,b,b,b,a,a,1
0,b,b,b,a,a,b,a,a,0
2,b,b,b,a,a,b,a,a,1
0,b,b,b,a,b,b,a,a,0
2,b,b,b,a,b,b,a,a,1
0,b,b,b,b,a,b,a,a,0
2,b,b,b,b,a,b,a,a,1
0,b,b,b,b,b,b,a,a,0
2,b,b,b,b,b,b,a,a,1
3,b,b,a,a,a,a,a,a,2
1,b,b,a,a,a,a,a,a,3
3,b,b,a,a,b,a,a,a,2
1,b,b,a,a,b,a,a,a,3
3,b,b,a,b,a,a,a,a,2
1,b,b,a,b,a,a,a,a,3
1,b,b,a,b,b,a,a,a,2
3,b,b,a,b,b,a,a,a,3
3,b,b,b,a,a,a,a,a,2
1,b,b,b,a,a,a,a,a,3
1,b,b,b,a,b,a,a,a,2
3,b,b,b,a,b,a,a,a,3
1,b,b,b,b,a,a,a,a,2
3,b,b,b,b,a,a,a,a,3
1,b,b,b,b,b,a,a,a,2
3,b,b,b,b,b,a,a,a,3
3,b,b,a,a,a,b,a,a,2
1,b,b,a,a,a,b,a,a,3
1,b,b,a,a,b,b,a,a,2
3,b,b,a,a,b,b,a,a,3
1,b,b,a,b,a,b,a,a,2
3,b,b,a,b,a,b,a,a,3
1,b,b,a,b,b,b,a,a,2
3,b,b,a,b,b,b,a,a,3
1,b,b,b,a,a,b,a,a,2
3,b,b,b,a,a,b,a,a,3
1,b,b,b,a,b,b,a,a,2
3,b,b,b,a,b,b,a,a,3
1,b,b,b,b,a,b,a,a,2
3,b,b,b,b,a,b,a,a,3
1,b,b,b,b,b,b,a,a,2
3,b,b,b,b,b,b,a,a,3
0,b,a,a,a,a,a,b,a,0
2,b,a,a,a,a,a,b,a,1
2,b,a,a,a,b,a,b,a,0
0,b,a,a,a,b,a,b,a,1
2,b,a,a,b,a,a,b,a,0
0,b,a,a,b,a,a,b,a,1
0,b,a,a,b,b,a,b,a,0
2,b,a,a,b,b,a,b,a,1
2,b,a,b,a,a,a,b,a,0
0,b,a,b,a,a,a,b,a,1
0,b,a,b,a,b,a,b,a,0
2,b,a,b,a,b,a,b,a,1
0,b,a,b,b,a,a,b,a,0
2,b,a,b,b,a,a,b,a,1
0,b,a,b,b,b,a,b,a,0
2,b,a,b,b,b,a,b,a,1
2,b,a,a,a,a,b,b,a,0
0,b,a,a,a,a,b,b,a,1
0,b,a,a,a,b,b,b,a,0
2,b,a,a,a,b,b,b,a,1
0,b,a,a,b,a,b,b,a,0
2,b,a,a,b,a,b,b,a,1
0,b,a,a,b,b,b,b,a,0
2,b,a,a,b,b,b,b,a,1
0,b,a,b,a,a,b,b,a,0
2,b,a,b,a,a,b,b,a,1
0,b,a,b,a,b,b,b,a,0
2,b,a,b,a,b,b,b,a,1
0,b,a,b,b,a,b,b,a,0
2,b,a,b,b,a,b,b,a,1
0,b,a,b,b,b,b,b,a,0
2,b,a,b,b,b,b,b,a,1
3,b,a,a,a,a,a,b,a,2
1,b,a,a,a,a,a,b,a,3
3,b,a,a,a,b,a,b,a,2
1,b,a,a,a,b,a,b,a,3
3,b,a,a,b,a,a,b,a,2
1,b,a,a,b,a,a,b,a,3
1,b,a,a,b,b,a,b,a,2
3,b,a,a,b,b,a,b,a,3
3,b,a,b,a,a,a,b,a,2
1,b,a,b,a,a,a,b,a,3
1,b,a,b,a,b,a,b,a,2
3,b,a,b,a,b,a,b,a,3
1,b,a,b,b,a,a,b,a,2
3,b,a,b,b,a,a,b,a,3
1,b,a,b,b,b,a,b,a,2
3,b,a,b,b,b,a,b,a,3
3,b,a,a,a,a,b,b,a,2
1,b,a,a,a,a,b,b,a,3
1,b,a,a,a,b,b,b,a,2
3,b,a,a,a,b,b,b,a,3
1,b,a,a,b,a,b,b,a,2
3,b,a,a,b,a,b,b,a,3
1,b,a,a,b,b,b,b,a,2
3,b,a,a,b,b,b,b,a,3
1,b,a,b,a,a,b,b,a,2
3,b,a,b,a,a,b,b,a,3
1,b,a,b,a,b,b,b,a,2
3,b,a,b,a,b,b,b,a,3
1,b,a,b,b,a,b,b,a,2
3,b,a,b,b,a,b,b,a,3
1,b,a,b,b,b,b,b,a,2
3,b,a,b,b,b,b,b,a,3
2,b,b,a,a,a,a,b,a,0
0,b,b,a,a,a,a,b,a,1
0,b,b,a,a,b,a,b,a,0
2,b,b,a,a,b,a,b,a,1
0,b,b,a,b,a,a,b,a,0
2,b,b,a,b,a,a,b,a,1
0,b,b,a,b,b,a,b,a,0
2,b,b,a,b,b,a,b,a,1
0,b,b,b,a,a,a,b,a,0
2,b,b,b,a,a,a,b,a,1
0,b,b,b,a,b,a,b,a,0
2,b,b,b,a,b,a,b,a,1
0,b,b,b,b,a,a,b,a,0
2,b,b,b,b,a,a,b,a,1
0,b,b,b,b,b,a,b,a,0
2,b,b,b,b,b,a,b,a,1
0,b,b,a,a,a,b,b,a,0
2,b,b,a,a,a,b,b,a,1
0,b,b,a,a,b,b,b,a,0
2,b,b,a,a,b,b,b,a,1
0,b,b,a,b,a,b,b,a,0
2,b,b,a,b,a,b,b,a,1
0,b,b,a,b,b,b,b,a,0
2,b,b,a,b,b,b,b,a,1
0,b,b,b,a,a,b,b,a,0
2,b,b,b,a,a,b,b,a,1
0,b,b,b,a,b,b,b,a,0
2,b,b,b,a,b,b,b,a,1
0,b,b,b,b,a,b,b,a,0
2,b,b,b,b,a,b,b,a,1
0,b,b,b,b,b,b,b,a,0
2,b,b,b,b,b,b,b,a,1
3,b,b,a,a,a,a,b,a,2
1,b,b,a,a,a,a,b,a,3
1,b,b,a,a,b,a,b,a,2
3,b,b,a,a,b,a,b,a,3
1,b,b,a,b,a,a,b,a,2
3,b,b,a,b,a,a,b,a,3
1,b,b,a,b,b,a,b,a,2
3,b,b,a,b,b,a,b,a,3
1,b,b,b,a,a,a,b,a,2
3,b,b,b,a,a,a,b,a,3
1,b,b,b,a,b,a,b,a,2
3,b,b,b,a,b,a,b,a,3
1,b,b,b,b,a,a,b,a,2
3,b,b,b,b,a,a,b,a,3
1,b,b,b,b,b,a,b,a,2
3,b,b,b,b,b,a,b,a,3
1,b,b,a,a,a,b,b,a,2
3,b,b,a,a,a,b,b,a,3
1,b,b,a,a,b,b,b,a,2
3,b,b,a,a,b,b,b,a,3
1,b,b,a,b,a,b,b,a,2
3,b,b,a,b,a,b,b,a,3
1,b,b,a,b,b,b,b,a,2
3,b,b,a,b,b,b,b,a,3
1,b,b,b,a,a,b,b,a,2
3,b,b,b,a,a,b,b,a,3
1,b,b,b,a,b,b,b,a,2
3,b,b,b,a,b,b,b,a,3
1,b,b,b,b,a,b,b,a,2
3,b,b,b,b,a,b,b,a,3
1,b,b,b,b,b,b,b,a,2
3,b,b,b,b,b,b,b,a,3
0,b,a,a,a,a,a,a,b,0
2,b,a,a,a,a,a,a,b,1
2,b,a,a,a,b,a,a,b,0
0,b,a,a,a,b,a,a,b,1
2,b,a,a,b,a,a,a,b,0
0,b,a,a,b,a,a,a,b,1
0,b,a,a,b,b,a,a,b,0
2,b,a,a,b,b,a,a,b,1
2,b,a,b,a,a,a,a,b,0
0,b,a,b,a,a,a,a,b,1
0,b,a,b,a,b,a,a,b,0
2,b,a,b,a,b,a,a,b,1
0,b,a,b,b,a,a,a,b,0
2,b,a,b,b,a,a,a,b,1
0,b,a,b,b,b,a,a,b,0
2,b,a,b,b,b,a,a,b,1
2,b,a,a,a,a,b,a,b,0
0,b,a,a,a,a,b,a,b,1
0,b,a,a,a,b,b,a,b,0
2,b,a,a,a,b,b,a,b,1
0,b,a,a,b,a,b,a,b,0
2,b,a,a,b,a,b,a,b,1
0,b,a,a,b,b,b,a,b,0
2,b,a,a,b,b,b,a,b,1
0,b,a,b,a,a,b,a,b,0
2,b,a,b,a,a,b,a,b,1
0,b,a,b,a,b,b,a,b,0
2,b,a,b,a,b,b,a,b,1
0,b,a,b,b,a,b,a,b,0
2,b,a,b,b,a,b,a,b,1
0,b,a,b,b,b,b,a,b,0
2,b,a,b,b,b,b,a,b,1
3,b,a,a,a,a,a,a,b,2
1,b,a,a,a,a,a,a,b,3
3,b,a,a,a,b,a,a,b,2
1,b,a,a,a,b,a,a,b,3
3,b,a,a,b,a,a,a,b,2
1,b,a,a,b,a,a,a,b,3
1,b,a,a,b,b,a,a,b,2
3,b,a,a,b,b,a,a,b,3
3,b,a,b,a,a,a,a,b,2
1,b,a,b,a,a,a,a,b,3
1,b,a,b,a,b,a,a,b,2
3,b,a,b,a,b,a,a,b,3
1,b,a,b,b,a,a,a,b,2
3,b,a,b,b,a,a,a,b,3
1,b,a,b,b,b,a,a,b,2
3,b,a,b,b,b,a,a,b,3
3,b,a,a,a,a,b,a,b,2
1,b,a,a,a,a,b,a,b,3
1,b,a,a,a,b,b,a,b,2
3,b,a,a,a,b,b,a,b,3
1,b,a,a,b,a,b,a,b,2
3,b,a,a,b,a,b,a,b,3
1,b,a,a,b,b,b,a,b,2
3,b,a,a,b,b,b,a,b,3
1,b,a,b,a,a,b,a,b,2
3,b,a,b,a,a,b,a,b,3
1,b,a,b,a,b,b,a,b,2
3,b,a,b,a,b,b,a,b,3
1,b,a,b,b,a,b,a,b,2
3,b,a,b,b,a,b,a,b,3
1,b,a,b,b,b,b,a,b,2
3,b,a,b,b,b,b,a,b,3
2,b,b,a,a,a,a,a,b,0
0,b,b,a,a,a,a,a,b,1
0,b,b,a,a,b,a,a,b,0
2,b,b,a,a,b,a,a,b,1
0,b,b,a,b,a,a,a,b,0
2,b,b,a,b,a,a,a,b,1
0,b,b,a,b,b,a,a,b,0
2,b,b,a,b,b,a,a,b,1
0,b,b,b,a,a,a,a,b,0
2,b,b,b,a,a,a,a,b,1
0,b,b,b,a,b,a,a,b,0
2,b,b,b,a,b,a,a,b,1
0,b,b,b,b,a,a,a,b,0
2,b,b,b,b,a,a,a,b,1
0,b,b,b,b,b,a,a,b,0
2,b,b,b,b,b,a,a,b,1
0,b,b,a,a,a,b,a,b,0
2,b,b,a,a,a,b,a,b,1
0,b,b,a,a,b,b,a,b,0
2,b,b,a,a,b,b,a,b,1
0,b,b,a,b,a,b,a,b,0
2,b,b,a,b,a,b,a,b,1
0,b,b,a,b,b,b,a,b,0
2,b,b,a,b,b,b,a,b,1
0,b,b,b,a,a,b,a,b,0
2,b,b,b,a,a,b,a,b,1
0,b,b,b,a,b,b,a,b,0
2,b,b,b,a,b,b,a,b,1
0,b,b,b,b,a,b,a,b,0
2,b,b,b,b,a,b,a,b,1
0,b,b,b,b,b,b,a,b,0
2,b,b,b,b,b,b,a,b,1
3,b,b,a,a,a,a,a,b,2
1,b,b,a,a,a,a,a,b,3
1,b,b,a,a,b,a,a,b,2
3,b,b,a,a,b,a,a,b,3
1,b,b,a,b,a,a,a,b,2
3,b,b,a,b,a,a,a,b,3
1,b,b,a,b,b,a,a,b,2
3,b,b,a,b,b,a,a,b,3
1,b,b,b,a,a,a,a,b,2
3,b,b,b,a,a,a,a,b,3
1,b,b,b,a,b,a,a,b,2
3,b,b,b,a,b,a,a,b,3
1,b,b,b,b,a,a,a,b,2
3,b,b,b,b,a,a,a,b,3
1,b,b,b,b,b,a,a,b,2
3,b,b,b,b,b,a,a,b,3
1,b,b,a,a,a,b,a,b,2
3,b,b,a,a,a,b,a,b,3
1,b,b,a,a,b,b,a,b,2
3,b,b,a,a,b,b,a,b,3
1,b,b,a,b,a,b,a,b,2
3,b,b,a,b,a,b,a,b,3
1,b,b,a,b,b,b,a,b,2
3,b,b,a,b,b,b,a,b,3
1,b,b,b,a,a,b,a,b,2
3,b,b,b,a,a,b,a,b,3
1,b,b,b,a,b,b,a,b,2
3,b,b,b,a,b,b,a,b,3
1,b,b,b,b,a,b,a,b,2
3,b,b,b,b,a,b,a,b,3
1,b,b,b,b,b,b,a,b,2
3,b,b,b,b,b,b,a,b,3
2,b,a,a,a,a,a,b,b,0
0,b,a,a,a,a,a,b,b,1
0,b,a,a,a,b,a,b,b,0
2,b,a,a,a,b,a,b,b,1
0,b,a,a,b,a,a,b,b,0
2,b,a,a,b,a,a,b,b,1
0,b,a,a,b,b,a,b,b,0
2,b,a,a,b,b,a,b,b,1
0,b,a,b,a,a,a,b,b,0
2,b,a,b,a,a,a,b,b,1
0,b,a,b,a,b,a,b,b,0
2,b,a,b,a,b,a,b,b,1
0,b,a,b,b,a,a,b,b,0
2,b,a,b,b,a,a,b,b,1
0,b,a,b,b,b,a,b,b,0
2,b,a,b,b,b,a,b,b,1
0,b,a,a,a,a,b,b,b,0
2,b,a,a,a,a,b,b,b,1
0,b,a,a,a,b,b,b,b,0
2,b,a,a,a,b,b,b,b,1
0,b,a,a,b,a,b,b,b,0
2,b,a,a,b,a,b,b,b,1
0,b,a,a,b,b,b,b,b,0
2,b,a,a,b,b,b,b,b,1
0,b,a,b,a,a,b,b,b,0
2,b,a,b,a,a,b,b,b,1
0,b,a,b,a,b,b,b,b,0
2,b,a,b,a,b,b,b,b,1
0,b,a,b,b,a,b,b,b,0
2,b,a,b,b,a,b,b,b,1
0,b,a,b,b,b,b,b,b,0
2,b,a,b,b,b,b,b,b,1
3,b,a,a,a,a,a,b,b,2
1,b,a,a,a,a,a,b,b,3
1,b,a,a,a,b,a,b,b,2
3,b,a,a,a,b,a,b,b,3
1,b,a,a,b,a,a,b,b,2
3,b,a,a,b,a,a,b,b,3
1,b,a,a,b,b,a,b,b,2
3,b,a,a,b,b,a,b,b,3
1,b,a,b,a,a,a,b,b,2
3,b,a,b,a,a,a,b,b,3
1,b,a,b,a,b,a,b,b,2
3,b,a,b,a,b,a,b,b,3
1,b,a,b,b,a,a,b,b,2
3,b,a,b,b,a,a,b,b,3
1,b,a,b,b,b,a,b,b,2
3,b,a,b,b,b,a,b,b,3
1,b,a,a,a,a,b,b,b,2
3,b,a,a,a,a,b,b,b,3
1,b,a,a,a,b,b,b,b,2
3,b,a,a,a,b,b,b,b,3
1,b,a,a,b,a,b,b,b,2
3,b,a,a,b,a,b,b,b,3
1,b,a,a,b,b,b,b,b,2
3,b,a,a,b,b,b,b,b,3
1,b,a,b,a,a,b,b,b,2
3,b,a,b,a,a,b,b,b,3
1,b,a,b,a,b,b,b,b,2
3,b,a,b,a,b,b,b,b,3
1,b,a,b,b,a,b,b,b,2
3,b,a,b,b,a,b,b,b,3
1,b,a,b,b,b,b,b,b,2
3,b,a,b,b,b,b,b,b,3
0,b,b,a,a,a,a,b,b,0
2,b,b,a,a,a,a,b,b,1
0,b,b,a,a,b,a,b,b,0
2,b,b,a,a,b,a,b,b,1
0,b,b,a,b,a,a,b,b,0
2,b,b,a,b,a,a,b,b,1
0,b,b,a,b,b,a,b,b,0
2,b,b,a,b,b,a,b,b,1
0,b,b,b,a,a,a,b,b,0
2,b,b,b,a,a,a,b,b,1
0,b,b,b,a,b,a,b,b,0
2,b,b,b,a,b,a,b,b,1
0,b,b,b,b,a,a,b,b,0
2,b,b,b,b,a,a,b,b,1
0,b,b,b,b,b,a,b,b,0
2,b,b,b,b,b,a,b,b,1
0,b,b,a,a,a,b,b,b,0
2,b,b,a,a,a,b,b,b,1
0,b,b,a,a,b,b,b,b,0
2,b,b,a,a,b,b,b,b,1
0,b,b,a,b,a,b,b,b,0
2,b,b,a,b,a,b,b,b,1
0,b,b,a,b,b,b,b,b,0
2,b,b,a,b,b,b,b,b,1
0,b,b,b,a,a,b,b,b,0
2,b,b,b,a,a,b,b,b,1
0,b,b,b,a,b,b,b,b,0
2,b,b,b,a,b,b,b,b,1
0,b,b,b,b,a,b,b,b,0
2,b,b,b,b,a,b,b,b,1
0,b,b,b,b,b,b,b,b,0
2,b,b,b,b,b,b,b,b,1
1,b,b,a,a,a,a,b,b,2
3,b,b,a,a,a,a,b,b,3
1,b,b,a,a,b,a,b,b,2
3,b,b,a,a,b,a,b,b,3
1,b,b,a,b,a,a,b,b,2
3,b,b,a,b,a,a,b,b,3
1,b,b,a,b,b,a,b,b,2
3,b,b,a,b,b,a,b,b,3
1,b,b,b,a,a,a,b,b,2
3,b,b,b,a,a,a,b,b,3
1,b,b,b,a,b,a,b,b,2
3,b,b,b,a,b,a,b,b,3
1,b,b,b,b,a,a,b,b,2
3,b,b,b,b,a,a,b,b,3
1,b,b,b,b,b,a,b,b,2
3,b,b,b,b,b,a,b,b,3
1,b,b,a,a,a,b,b,b,2
3,b,b,a,a,a,b,b,b,3
1,b,b,a,a,b,b,b,b,2
3,b,b,a,a,b,b,b,b,3
1,b,b,a,b,a,b,b,b,2
3,b,b,a,b,a,b,b,b,3
1,b,b,a,b,b,b,b,b,2
3,b,b,a,b,b,b,b,b,3
1,b,b,b,a,a,b,b,b,2
3,b,b,b,a,a,b,b,b,3
1,b,b,b,a,b,b,b,b,2
3,b,b,b,a,b,b,b,b,3
1,b,b,b,b,a,b,b,b,2
3,b,b,b,b,a,b,b,b,3
1,b,b,b,b,b,b,b,b,2
3,b,b,b,b,b,b,b,b,3
@RULE b3aceijknqrys3aceijknqry2aceikn
@TABLE
n_States:4
neighborhood:Moore
symmetries:none
var a={0,2}
var b={1,3}
#>>>TAB<<<
0,a,a,a,a,a,a,a,a,0
2,a,a,a,a,a,a,a,a,1
0,a,a,a,b,a,a,a,a,0
2,a,a,a,b,a,a,a,a,1
0,a,a,a,a,b,a,a,a,0
2,a,a,a,a,b,a,a,a,1
0,a,a,a,b,b,a,a,a,0
2,a,a,a,b,b,a,a,a,1
0,a,a,a,a,a,b,a,a,0
2,a,a,a,a,a,b,a,a,1
0,a,a,a,b,a,b,a,a,0
2,a,a,a,b,a,b,a,a,1
0,a,a,a,a,b,b,a,a,0
2,a,a,a,a,b,b,a,a,1
0,a,a,a,b,b,b,a,a,1
2,a,a,a,b,b,b,a,a,0
0,a,a,b,a,a,a,a,a,0
2,a,a,b,a,a,a,a,a,1
0,a,a,b,b,a,a,a,a,0
2,a,a,b,b,a,a,a,a,1
0,a,a,b,a,b,a,a,a,0
2,a,a,b,a,b,a,a,a,1
0,a,a,b,b,b,a,a,a,1
2,a,a,b,b,b,a,a,a,0
0,a,a,b,a,a,b,a,a,0
2,a,a,b,a,a,b,a,a,1
0,a,a,b,b,a,b,a,a,1
2,a,a,b,b,a,b,a,a,0
0,a,a,b,a,b,b,a,a,1
2,a,a,b,a,b,b,a,a,0
0,a,a,b,b,b,b,a,a,0
2,a,a,b,b,b,b,a,a,1
1,a,a,a,a,a,a,a,a,2
3,a,a,a,a,a,a,a,a,3
1,a,a,a,b,a,a,a,a,2
3,a,a,a,b,a,a,a,a,3
1,a,a,a,a,b,a,a,a,2
3,a,a,a,a,b,a,a,a,3
1,a,a,a,b,b,a,a,a,3
3,a,a,a,b,b,a,a,a,2
1,a,a,a,a,a,b,a,a,2
3,a,a,a,a,a,b,a,a,3
1,a,a,a,b,a,b,a,a,3
3,a,a,a,b,a,b,a,a,2
1,a,a,a,a,b,b,a,a,3
3,a,a,a,a,b,b,a,a,2
1,a,a,a,b,b,b,a,a,3
3,a,a,a,b,b,b,a,a,2
1,a,a,b,a,a,a,a,a,2
3,a,a,b,a,a,a,a,a,3
1,a,a,b,b,a,a,a,a,3
3,a,a,b,b,a,a,a,a,2
1,a,a,b,a,b,a,a,a,3
3,a,a,b,a,b,a,a,a,2
1,a,a,b,b,b,a,a,a,3
3,a,a,b,b,b,a,a,a,2
1,a,a,b,a,a,b,a,a,3
3,a,a,b,a,a,b,a,a,2
1,a,a,b,b,a,b,a,a,3
3,a,a,b,b,a,b,a,a,2
1,a,a,b,a,b,b,a,a,3
3,a,a,b,a,b,b,a,a,2
1,a,a,b,b,b,b,a,a,2
3,a,a,b,b,b,b,a,a,3
0,a,a,a,a,a,a,b,a,0
2,a,a,a,a,a,a,b,a,1
0,a,a,a,b,a,a,b,a,0
2,a,a,a,b,a,a,b,a,1
0,a,a,a,a,b,a,b,a,0
2,a,a,a,a,b,a,b,a,1
0,a,a,a,b,b,a,b,a,1
2,a,a,a,b,b,a,b,a,0
0,a,a,a,a,a,b,b,a,0
2,a,a,a,a,a,b,b,a,1
0,a,a,a,b,a,b,b,a,1
2,a,a,a,b,a,b,b,a,0
0,a,a,a,a,b,b,b,a,1
2,a,a,a,a,b,b,b,a,0
0,a,a,a,b,b,b,b,a,0
2,a,a,a,b,b,b,b,a,1
0,a,a,b,a,a,a,b,a,0
2,a,a,b,a,a,a,b,a,1
0,a,a,b,b,a,a,b,a,1
2,a,a,b,b,a,a,b,a,0
0,a,a,b,a,b,a,b,a,1
2,a,a,b,a,b,a,b,a,0
0,a,a,b,b,b,a,b,a,0
2,a,a,b,b,b,a,b,a,1
0,a,a,b,a,a,b,b,a,1
2,a,a,b,a,a,b,b,a,0
0,a,a,b,b,a,b,b,a,0
2,a,a,b,b,a,b,b,a,1
0,a,a,b,a,b,b,b,a,0
2,a,a,b,a,b,b,b,a,1
0,a,a,b,b,b,b,b,a,0
2,a,a,b,b,b,b,b,a,1
1,a,a,a,a,a,a,b,a,2
3,a,a,a,a,a,a,b,a,3
1,a,a,a,b,a,a,b,a,3
3,a,a,a,b,a,a,b,a,2
1,a,a,a,a,b,a,b,a,3
3,a,a,a,a,b,a,b,a,2
1,a,a,a,b,b,a,b,a,3
3,a,a,a,b,b,a,b,a,2
1,a,a,a,a,a,b,b,a,3
3,a,a,a,a,a,b,b,a,2
1,a,a,a,b,a,b,b,a,3
3,a,a,a,b,a,b,b,a,2
1,a,a,a,a,b,b,b,a,3
3,a,a,a,a,b,b,b,a,2
1,a,a,a,b,b,b,b,a,2
3,a,a,a,b,b,b,b,a,3
1,a,a,b,a,a,a,b,a,3
3,a,a,b,a,a,a,b,a,2
1,a,a,b,b,a,a,b,a,3
3,a,a,b,b,a,a,b,a,2
1,a,a,b,a,b,a,b,a,3
3,a,a,b,a,b,a,b,a,2
1,a,a,b,b,b,a,b,a,2
3,a,a,b,b,b,a,b,a,3
1,a,a,b,a,a,b,b,a,3
3,a,a,b,a,a,b,b,a,2
1,a,a,b,b,a,b,b,a,2
3,a,a,b,b,a,b,b,a,3
1,a,a,b,a,b,b,b,a,2
3,a,a,b,a,b,b,b,a,3
1,a,a,b,b,b,b,b,a,2
3,a,a,b,b,b,b,b,a,3
0,a,b,a,a,a,a,a,a,0
2,a,b,a,a,a,a,a,a,1
0,a,b,a,b,a,a,a,a,0
2,a,b,a,b,a,a,a,a,1
0,a,b,a,a,b,a,a,a,0
2,a,b,a,a,b,a,a,a,1
0,a,b,a,b,b,a,a,a,1
2,a,b,a,b,b,a,a,a,0
0,a,b,a,a,a,b,a,a,0
2,a,b,a,a,a,b,a,a,1
0,a,b,a,b,a,b,a,a,1
2,a,b,a,b,a,b,a,a,0
0,a,b,a,a,b,b,a,a,1
2,a,b,a,a,b,b,a,a,0
0,a,b,a,b,b,b,a,a,0
2,a,b,a,b,b,b,a,a,1
0,a,b,b,a,a,a,a,a,0
2,a,b,b,a,a,a,a,a,1
0,a,b,b,b,a,a,a,a,1
2,a,b,b,b,a,a,a,a,0
0,a,b,b,a,b,a,a,a,1
2,a,b,b,a,b,a,a,a,0
0,a,b,b,b,b,a,a,a,0
2,a,b,b,b,b,a,a,a,1
0,a,b,b,a,a,b,a,a,1
2,a,b,b,a,a,b,a,a,0
0,a,b,b,b,a,b,a,a,0
2,a,b,b,b,a,b,a,a,1
0,a,b,b,a,b,b,a,a,0
2,a,b,b,a,b,b,a,a,1
0,a,b,b,b,b,b,a,a,0
2,a,b,b,b,b,b,a,a,1
1,a,b,a,a,a,a,a,a,2
3,a,b,a,a,a,a,a,a,3
1,a,b,a,b,a,a,a,a,3
3,a,b,a,b,a,a,a,a,2
1,a,b,a,a,b,a,a,a,3
3,a,b,a,a,b,a,a,a,2
1,a,b,a,b,b,a,a,a,3
3,a,b,a,b,b,a,a,a,2
1,a,b,a,a,a,b,a,a,3
3,a,b,a,a,a,b,a,a,2
1,a,b,a,b,a,b,a,a,3
3,a,b,a,b,a,b,a,a,2
1,a,b,a,a,b,b,a,a,3
3,a,b,a,a,b,b,a,a,2
1,a,b,a,b,b,b,a,a,2
3,a,b,a,b,b,b,a,a,3
1,a,b,b,a,a,a,a,a,3
3,a,b,b,a,a,a,a,a,2
1,a,b,b,b,a,a,a,a,3
3,a,b,b,b,a,a,a,a,2
1,a,b,b,a,b,a,a,a,3
3,a,b,b,a,b,a,a,a,2
1,a,b,b,b,b,a,a,a,2
3,a,b,b,b,b,a,a,a,3
1,a,b,b,a,a,b,a,a,3
3,a,b,b,a,a,b,a,a,2
1,a,b,b,b,a,b,a,a,2
3,a,b,b,b,a,b,a,a,3
1,a,b,b,a,b,b,a,a,2
3,a,b,b,a,b,b,a,a,3
1,a,b,b,b,b,b,a,a,2
3,a,b,b,b,b,b,a,a,3
0,a,b,a,a,a,a,b,a,0
2,a,b,a,a,a,a,b,a,1
0,a,b,a,b,a,a,b,a,1
2,a,b,a,b,a,a,b,a,0
0,a,b,a,a,b,a,b,a,1
2,a,b,a,a,b,a,b,a,0
0,a,b,a,b,b,a,b,a,0
2,a,b,a,b,b,a,b,a,1
0,a,b,a,a,a,b,b,a,1
2,a,b,a,a,a,b,b,a,0
0,a,b,a,b,a,b,b,a,0
2,a,b,a,b,a,b,b,a,1
0,a,b,a,a,b,b,b,a,0
2,a,b,a,a,b,b,b,a,1
0,a,b,a,b,b,b,b,a,0
2,a,b,a,b,b,b,b,a,1
0,a,b,b,a,a,a,b,a,1
2,a,b,b,a,a,a,b,a,0
0,a,b,b,b,a,a,b,a,0
2,a,b,b,b,a,a,b,a,1
0,a,b,b,a,b,a,b,a,0
2,a,b,b,a,b,a,b,a,1
0,a,b,b,b,b,a,b,a,0
2,a,b,b,b,b,a,b,a,1
0,a,b,b,a,a,b,b,a,0
2,a,b,b,a,a,b,b,a,1
0,a,b,b,b,a,b,b,a,0
2,a,b,b,b,a,b,b,a,1
0,a,b,b,a,b,b,b,a,0
2,a,b,b,a,b,b,b,a,1
0,a,b,b,b,b,b,b,a,0
2,a,b,b,b,b,b,b,a,1
1,a,b,a,a,a,a,b,a,3
3,a,b,a,a,a,a,b,a,2
1,a,b,a,b,a,a,b,a,3
3,a,b,a,b,a,a,b,a,2
1,a,b,a,a,b,a,b,a,3
3,a,b,a,a,b,a,b,a,2
1,a,b,a,b,b,a,b,a,2
3,a,b,a,b,b,a,b,a,3
1,a,b,a,a,a,b,b,a,3
3,a,b,a,a,a,b,b,a,2
1,a,b,a,b,a,b,b,a,2
3,a,b,a,b,a,b,b,a,3
1,a,b,a,a,b,b,b,a,2
3,a,b,a,a,b,b,b,a,3
1,a,b,a,b,b,b,b,a,2
3,a,b,a,b,b,b,b,a,3
1,a,b,b,a,a,a,b,a,3
3,a,b,b,a,a,a,b,a,2
1,a,b,b,b,a,a,b,a,2
3,a,b,b,b,a,a,b,a,3
1,a,b,b,a,b,a,b,a,2
3,a,b,b,a,b,a,b,a,3
1,a,b,b,b,b,a,b,a,2
3,a,b,b,b,b,a,b,a,3
1,a,b,b,a,a,b,b,a,2
3,a,b,b,a,a,b,b,a,3
1,a,b,b,b,a,b,b,a,2
3,a,b,b,b,a,b,b,a,3
1,a,b,b,a,b,b,b,a,2
3,a,b,b,a,b,b,b,a,3
1,a,b,b,b,b,b,b,a,2
3,a,b,b,b,b,b,b,a,3
0,b,a,a,a,a,a,a,a,0
2,b,a,a,a,a,a,a,a,1
0,b,a,a,b,a,a,a,a,0
2,b,a,a,b,a,a,a,a,1
0,b,a,a,a,b,a,a,a,0
2,b,a,a,a,b,a,a,a,1
0,b,a,a,b,b,a,a,a,1
2,b,a,a,b,b,a,a,a,0
0,b,a,a,a,a,b,a,a,0
2,b,a,a,a,a,b,a,a,1
0,b,a,a,b,a,b,a,a,1
2,b,a,a,b,a,b,a,a,0
0,b,a,a,a,b,b,a,a,1
2,b,a,a,a,b,b,a,a,0
0,b,a,a,b,b,b,a,a,0
2,b,a,a,b,b,b,a,a,1
0,b,a,b,a,a,a,a,a,0
2,b,a,b,a,a,a,a,a,1
0,b,a,b,b,a,a,a,a,1
2,b,a,b,b,a,a,a,a,0
0,b,a,b,a,b,a,a,a,1
2,b,a,b,a,b,a,a,a,0
0,b,a,b,b,b,a,a,a,0
2,b,a,b,b,b,a,a,a,1
0,b,a,b,a,a,b,a,a,1
2,b,a,b,a,a,b,a,a,0
0,b,a,b,b,a,b,a,a,0
2,b,a,b,b,a,b,a,a,1
0,b,a,b,a,b,b,a,a,0
2,b,a,b,a,b,b,a,a,1
0,b,a,b,b,b,b,a,a,0
2,b,a,b,b,b,b,a,a,1
1,b,a,a,a,a,a,a,a,2
3,b,a,a,a,a,a,a,a,3
1,b,a,a,b,a,a,a,a,3
3,b,a,a,b,a,a,a,a,2
1,b,a,a,a,b,a,a,a,3
3,b,a,a,a,b,a,a,a,2
1,b,a,a,b,b,a,a,a,3
3,b,a,a,b,b,a,a,a,2
1,b,a,a,a,a,b,a,a,3
3,b,a,a,a,a,b,a,a,2
1,b,a,a,b,a,b,a,a,3
3,b,a,a,b,a,b,a,a,2
1,b,a,a,a,b,b,a,a,3
3,b,a,a,a,b,b,a,a,2
1,b,a,a,b,b,b,a,a,2
3,b,a,a,b,b,b,a,a,3
1,b,a,b,a,a,a,a,a,3
3,b,a,b,a,a,a,a,a,2
1,b,a,b,b,a,a,a,a,3
3,b,a,b,b,a,a,a,a,2
1,b,a,b,a,b,a,a,a,3
3,b,a,b,a,b,a,a,a,2
1,b,a,b,b,b,a,a,a,2
3,b,a,b,b,b,a,a,a,3
1,b,a,b,a,a,b,a,a,3
3,b,a,b,a,a,b,a,a,2
1,b,a,b,b,a,b,a,a,2
3,b,a,b,b,a,b,a,a,3
1,b,a,b,a,b,b,a,a,2
3,b,a,b,a,b,b,a,a,3
1,b,a,b,b,b,b,a,a,2
3,b,a,b,b,b,b,a,a,3
0,b,a,a,a,a,a,b,a,0
2,b,a,a,a,a,a,b,a,1
0,b,a,a,b,a,a,b,a,1
2,b,a,a,b,a,a,b,a,0
0,b,a,a,a,b,a,b,a,1
2,b,a,a,a,b,a,b,a,0
0,b,a,a,b,b,a,b,a,0
2,b,a,a,b,b,a,b,a,1
0,b,a,a,a,a,b,b,a,1
2,b,a,a,a,a,b,b,a,0
0,b,a,a,b,a,b,b,a,0
2,b,a,a,b,a,b,b,a,1
0,b,a,a,a,b,b,b,a,0
2,b,a,a,a,b,b,b,a,1
0,b,a,a,b,b,b,b,a,0
2,b,a,a,b,b,b,b,a,1
0,b,a,b,a,a,a,b,a,1
2,b,a,b,a,a,a,b,a,0
0,b,a,b,b,a,a,b,a,0
2,b,a,b,b,a,a,b,a,1
0,b,a,b,a,b,a,b,a,0
2,b,a,b,a,b,a,b,a,1
0,b,a,b,b,b,a,b,a,0
2,b,a,b,b,b,a,b,a,1
0,b,a,b,a,a,b,b,a,0
2,b,a,b,a,a,b,b,a,1
0,b,a,b,b,a,b,b,a,0
2,b,a,b,b,a,b,b,a,1
0,b,a,b,a,b,b,b,a,0
2,b,a,b,a,b,b,b,a,1
0,b,a,b,b,b,b,b,a,0
2,b,a,b,b,b,b,b,a,1
1,b,a,a,a,a,a,b,a,3
3,b,a,a,a,a,a,b,a,2
1,b,a,a,b,a,a,b,a,3
3,b,a,a,b,a,a,b,a,2
1,b,a,a,a,b,a,b,a,3
3,b,a,a,a,b,a,b,a,2
1,b,a,a,b,b,a,b,a,2
3,b,a,a,b,b,a,b,a,3
1,b,a,a,a,a,b,b,a,3
3,b,a,a,a,a,b,b,a,2
1,b,a,a,b,a,b,b,a,2
3,b,a,a,b,a,b,b,a,3
1,b,a,a,a,b,b,b,a,2
3,b,a,a,a,b,b,b,a,3
1,b,a,a,b,b,b,b,a,2
3,b,a,a,b,b,b,b,a,3
1,b,a,b,a,a,a,b,a,3
3,b,a,b,a,a,a,b,a,2
1,b,a,b,b,a,a,b,a,2
3,b,a,b,b,a,a,b,a,3
1,b,a,b,a,b,a,b,a,2
3,b,a,b,a,b,a,b,a,3
1,b,a,b,b,b,a,b,a,2
3,b,a,b,b,b,a,b,a,3
1,b,a,b,a,a,b,b,a,2
3,b,a,b,a,a,b,b,a,3
1,b,a,b,b,a,b,b,a,2
3,b,a,b,b,a,b,b,a,3
1,b,a,b,a,b,b,b,a,2
3,b,a,b,a,b,b,b,a,3
1,b,a,b,b,b,b,b,a,2
3,b,a,b,b,b,b,b,a,3
0,b,b,a,a,a,a,a,a,0
2,b,b,a,a,a,a,a,a,1
0,b,b,a,b,a,a,a,a,1
2,b,b,a,b,a,a,a,a,0
0,b,b,a,a,b,a,a,a,1
2,b,b,a,a,b,a,a,a,0
0,b,b,a,b,b,a,a,a,0
2,b,b,a,b,b,a,a,a,1
0,b,b,a,a,a,b,a,a,1
2,b,b,a,a,a,b,a,a,0
0,b,b,a,b,a,b,a,a,0
2,b,b,a,b,a,b,a,a,1
0,b,b,a,a,b,b,a,a,0
2,b,b,a,a,b,b,a,a,1
0,b,b,a,b,b,b,a,a,0
2,b,b,a,b,b,b,a,a,1
0,b,b,b,a,a,a,a,a,1
2,b,b,b,a,a,a,a,a,0
0,b,b,b,b,a,a,a,a,0
2,b,b,b,b,a,a,a,a,1
0,b,b,b,a,b,a,a,a,0
2,b,b,b,a,b,a,a,a,1
0,b,b,b,b,b,a,a,a,0
2,b,b,b,b,b,a,a,a,1
0,b,b,b,a,a,b,a,a,0
2,b,b,b,a,a,b,a,a,1
0,b,b,b,b,a,b,a,a,0
2,b,b,b,b,a,b,a,a,1
0,b,b,b,a,b,b,a,a,0
2,b,b,b,a,b,b,a,a,1
0,b,b,b,b,b,b,a,a,0
2,b,b,b,b,b,b,a,a,1
1,b,b,a,a,a,a,a,a,3
3,b,b,a,a,a,a,a,a,2
1,b,b,a,b,a,a,a,a,3
3,b,b,a,b,a,a,a,a,2
1,b,b,a,a,b,a,a,a,3
3,b,b,a,a,b,a,a,a,2
1,b,b,a,b,b,a,a,a,2
3,b,b,a,b,b,a,a,a,3
1,b,b,a,a,a,b,a,a,3
3,b,b,a,a,a,b,a,a,2
1,b,b,a,b,a,b,a,a,2
3,b,b,a,b,a,b,a,a,3
1,b,b,a,a,b,b,a,a,2
3,b,b,a,a,b,b,a,a,3
1,b,b,a,b,b,b,a,a,2
3,b,b,a,b,b,b,a,a,3
1,b,b,b,a,a,a,a,a,3
3,b,b,b,a,a,a,a,a,2
1,b,b,b,b,a,a,a,a,2
3,b,b,b,b,a,a,a,a,3
1,b,b,b,a,b,a,a,a,2
3,b,b,b,a,b,a,a,a,3
1,b,b,b,b,b,a,a,a,2
3,b,b,b,b,b,a,a,a,3
1,b,b,b,a,a,b,a,a,2
3,b,b,b,a,a,b,a,a,3
1,b,b,b,b,a,b,a,a,2
3,b,b,b,b,a,b,a,a,3
1,b,b,b,a,b,b,a,a,2
3,b,b,b,a,b,b,a,a,3
1,b,b,b,b,b,b,a,a,2
3,b,b,b,b,b,b,a,a,3
0,b,b,a,a,a,a,b,a,1
2,b,b,a,a,a,a,b,a,0
0,b,b,a,b,a,a,b,a,0
2,b,b,a,b,a,a,b,a,1
0,b,b,a,a,b,a,b,a,0
2,b,b,a,a,b,a,b,a,1
0,b,b,a,b,b,a,b,a,0
2,b,b,a,b,b,a,b,a,1
0,b,b,a,a,a,b,b,a,0
2,b,b,a,a,a,b,b,a,1
0,b,b,a,b,a,b,b,a,0
2,b,b,a,b,a,b,b,a,1
0,b,b,a,a,b,b,b,a,0
2,b,b,a,a,b,b,b,a,1
0,b,b,a,b,b,b,b,a,0
2,b,b,a,b,b,b,b,a,1
0,b,b,b,a,a,a,b,a,0
2,b,b,b,a,a,a,b,a,1
0,b,b,b,b,a,a,b,a,0
2,b,b,b,b,a,a,b,a,1
0,b,b,b,a,b,a,b,a,0
2,b,b,b,a,b,a,b,a,1
0,b,b,b,b,b,a,b,a,0
2,b,b,b,b,b,a,b,a,1
0,b,b,b,a,a,b,b,a,0
2,b,b,b,a,a,b,b,a,1
0,b,b,b,b,a,b,b,a,0
2,b,b,b,b,a,b,b,a,1
0,b,b,b,a,b,b,b,a,0
2,b,b,b,a,b,b,b,a,1
0,b,b,b,b,b,b,b,a,0
2,b,b,b,b,b,b,b,a,1
1,b,b,a,a,a,a,b,a,3
3,b,b,a,a,a,a,b,a,2
1,b,b,a,b,a,a,b,a,2
3,b,b,a,b,a,a,b,a,3
1,b,b,a,a,b,a,b,a,2
3,b,b,a,a,b,a,b,a,3
1,b,b,a,b,b,a,b,a,2
3,b,b,a,b,b,a,b,a,3
1,b,b,a,a,a,b,b,a,2
3,b,b,a,a,a,b,b,a,3
1,b,b,a,b,a,b,b,a,2
3,b,b,a,b,a,b,b,a,3
1,b,b,a,a,b,b,b,a,2
3,b,b,a,a,b,b,b,a,3
1,b,b,a,b,b,b,b,a,2
3,b,b,a,b,b,b,b,a,3
1,b,b,b,a,a,a,b,a,2
3,b,b,b,a,a,a,b,a,3
1,b,b,b,b,a,a,b,a,2
3,b,b,b,b,a,a,b,a,3
1,b,b,b,a,b,a,b,a,2
3,b,b,b,a,b,a,b,a,3
1,b,b,b,b,b,a,b,a,2
3,b,b,b,b,b,a,b,a,3
1,b,b,b,a,a,b,b,a,2
3,b,b,b,a,a,b,b,a,3
1,b,b,b,b,a,b,b,a,2
3,b,b,b,b,a,b,b,a,3
1,b,b,b,a,b,b,b,a,2
3,b,b,b,a,b,b,b,a,3
1,b,b,b,b,b,b,b,a,2
3,b,b,b,b,b,b,b,a,3
0,a,a,a,a,a,a,a,b,0
2,a,a,a,a,a,a,a,b,1
0,a,a,a,b,a,a,a,b,0
2,a,a,a,b,a,a,a,b,1
0,a,a,a,a,b,a,a,b,0
2,a,a,a,a,b,a,a,b,1
0,a,a,a,b,b,a,a,b,1
2,a,a,a,b,b,a,a,b,0
0,a,a,a,a,a,b,a,b,0
2,a,a,a,a,a,b,a,b,1
0,a,a,a,b,a,b,a,b,1
2,a,a,a,b,a,b,a,b,0
0,a,a,a,a,b,b,a,b,1
2,a,a,a,a,b,b,a,b,0
0,a,a,a,b,b,b,a,b,0
2,a,a,a,b,b,b,a,b,1
0,a,a,b,a,a,a,a,b,0
2,a,a,b,a,a,a,a,b,1
0,a,a,b,b,a,a,a,b,1
2,a,a,b,b,a,a,a,b,0
0,a,a,b,a,b,a,a,b,1
2,a,a,b,a,b,a,a,b,0
0,a,a,b,b,b,a,a,b,0
2,a,a,b,b,b,a,a,b,1
0,a,a,b,a,a,b,a,b,1
2,a,a,b,a,a,b,a,b,0
0,a,a,b,b,a,b,a,b,0
2,a,a,b,b,a,b,a,b,1
0,a,a,b,a,b,b,a,b,0
2,a,a,b,a,b,b,a,b,1
0,a,a,b,b,b,b,a,b,0
2,a,a,b,b,b,b,a,b,1
1,a,a,a,a,a,a,a,b,2
3,a,a,a,a,a,a,a,b,3
1,a,a,a,b,a,a,a,b,3
3,a,a,a,b,a,a,a,b,2
1,a,a,a,a,b,a,a,b,3
3,a,a,a,a,b,a,a,b,2
1,a,a,a,b,b,a,a,b,3
3,a,a,a,b,b,a,a,b,2
1,a,a,a,a,a,b,a,b,3
3,a,a,a,a,a,b,a,b,2
1,a,a,a,b,a,b,a,b,3
3,a,a,a,b,a,b,a,b,2
1,a,a,a,a,b,b,a,b,3
3,a,a,a,a,b,b,a,b,2
1,a,a,a,b,b,b,a,b,2
3,a,a,a,b,b,b,a,b,3
1,a,a,b,a,a,a,a,b,3
3,a,a,b,a,a,a,a,b,2
1,a,a,b,b,a,a,a,b,3
3,a,a,b,b,a,a,a,b,2
1,a,a,b,a,b,a,a,b,3
3,a,a,b,a,b,a,a,b,2
1,a,a,b,b,b,a,a,b,2
3,a,a,b,b,b,a,a,b,3
1,a,a,b,a,a,b,a,b,3
3,a,a,b,a,a,b,a,b,2
1,a,a,b,b,a,b,a,b,2
3,a,a,b,b,a,b,a,b,3
1,a,a,b,a,b,b,a,b,2
3,a,a,b,a,b,b,a,b,3
1,a,a,b,b,b,b,a,b,2
3,a,a,b,b,b,b,a,b,3
0,a,a,a,a,a,a,b,b,0
2,a,a,a,a,a,a,b,b,1
0,a,a,a,b,a,a,b,b,1
2,a,a,a,b,a,a,b,b,0
0,a,a,a,a,b,a,b,b,1
2,a,a,a,a,b,a,b,b,0
0,a,a,a,b,b,a,b,b,0
2,a,a,a,b,b,a,b,b,1
0,a,a,a,a,a,b,b,b,1
2,a,a,a,a,a,b,b,b,0
0,a,a,a,b,a,b,b,b,0
2,a,a,a,b,a,b,b,b,1
0,a,a,a,a,b,b,b,b,0
2,a,a,a,a,b,b,b,b,1
0,a,a,a,b,b,b,b,b,0
2,a,a,a,b,b,b,b,b,1
0,a,a,b,a,a,a,b,b,1
2,a,a,b,a,a,a,b,b,0
0,a,a,b,b,a,a,b,b,0
2,a,a,b,b,a,a,b,b,1
0,a,a,b,a,b,a,b,b,0
2,a,a,b,a,b,a,b,b,1
0,a,a,b,b,b,a,b,b,0
2,a,a,b,b,b,a,b,b,1
0,a,a,b,a,a,b,b,b,0
2,a,a,b,a,a,b,b,b,1
0,a,a,b,b,a,b,b,b,0
2,a,a,b,b,a,b,b,b,1
0,a,a,b,a,b,b,b,b,0
2,a,a,b,a,b,b,b,b,1
0,a,a,b,b,b,b,b,b,0
2,a,a,b,b,b,b,b,b,1
1,a,a,a,a,a,a,b,b,3
3,a,a,a,a,a,a,b,b,2
1,a,a,a,b,a,a,b,b,3
3,a,a,a,b,a,a,b,b,2
1,a,a,a,a,b,a,b,b,3
3,a,a,a,a,b,a,b,b,2
1,a,a,a,b,b,a,b,b,2
3,a,a,a,b,b,a,b,b,3
1,a,a,a,a,a,b,b,b,3
3,a,a,a,a,a,b,b,b,2
1,a,a,a,b,a,b,b,b,2
3,a,a,a,b,a,b,b,b,3
1,a,a,a,a,b,b,b,b,2
3,a,a,a,a,b,b,b,b,3
1,a,a,a,b,b,b,b,b,2
3,a,a,a,b,b,b,b,b,3
1,a,a,b,a,a,a,b,b,3
3,a,a,b,a,a,a,b,b,2
1,a,a,b,b,a,a,b,b,2
3,a,a,b,b,a,a,b,b,3
1,a,a,b,a,b,a,b,b,2
3,a,a,b,a,b,a,b,b,3
1,a,a,b,b,b,a,b,b,2
3,a,a,b,b,b,a,b,b,3
1,a,a,b,a,a,b,b,b,2
3,a,a,b,a,a,b,b,b,3
1,a,a,b,b,a,b,b,b,2
3,a,a,b,b,a,b,b,b,3
1,a,a,b,a,b,b,b,b,2
3,a,a,b,a,b,b,b,b,3
1,a,a,b,b,b,b,b,b,2
3,a,a,b,b,b,b,b,b,3
0,a,b,a,a,a,a,a,b,0
2,a,b,a,a,a,a,a,b,1
0,a,b,a,b,a,a,a,b,1
2,a,b,a,b,a,a,a,b,0
0,a,b,a,a,b,a,a,b,1
2,a,b,a,a,b,a,a,b,0
0,a,b,a,b,b,a,a,b,0
2,a,b,a,b,b,a,a,b,1
0,a,b,a,a,a,b,a,b,1
2,a,b,a,a,a,b,a,b,0
0,a,b,a,b,a,b,a,b,0
2,a,b,a,b,a,b,a,b,1
0,a,b,a,a,b,b,a,b,0
2,a,b,a,a,b,b,a,b,1
0,a,b,a,b,b,b,a,b,0
2,a,b,a,b,b,b,a,b,1
0,a,b,b,a,a,a,a,b,1
2,a,b,b,a,a,a,a,b,0
0,a,b,b,b,a,a,a,b,0
2,a,b,b,b,a,a,a,b,1
0,a,b,b,a,b,a,a,b,0
2,a,b,b,a,b,a,a,b,1
0,a,b,b,b,b,a,a,b,0
2,a,b,b,b,b,a,a,b,1
0,a,b,b,a,a,b,a,b,0
2,a,b,b,a,a,b,a,b,1
0,a,b,b,b,a,b,a,b,0
2,a,b,b,b,a,b,a,b,1
0,a,b,b,a,b,b,a,b,0
2,a,b,b,a,b,b,a,b,1
0,a,b,b,b,b,b,a,b,0
2,a,b,b,b,b,b,a,b,1
1,a,b,a,a,a,a,a,b,3
3,a,b,a,a,a,a,a,b,2
1,a,b,a,b,a,a,a,b,3
3,a,b,a,b,a,a,a,b,2
1,a,b,a,a,b,a,a,b,3
3,a,b,a,a,b,a,a,b,2
1,a,b,a,b,b,a,a,b,2
3,a,b,a,b,b,a,a,b,3
1,a,b,a,a,a,b,a,b,3
3,a,b,a,a,a,b,a,b,2
1,a,b,a,b,a,b,a,b,2
3,a,b,a,b,a,b,a,b,3
1,a,b,a,a,b,b,a,b,2
3,a,b,a,a,b,b,a,b,3
1,a,b,a,b,b,b,a,b,2
3,a,b,a,b,b,b,a,b,3
1,a,b,b,a,a,a,a,b,3
3,a,b,b,a,a,a,a,b,2
1,a,b,b,b,a,a,a,b,2
3,a,b,b,b,a,a,a,b,3
1,a,b,b,a,b,a,a,b,2
3,a,b,b,a,b,a,a,b,3
1,a,b,b,b,b,a,a,b,2
3,a,b,b,b,b,a,a,b,3
1,a,b,b,a,a,b,a,b,2
3,a,b,b,a,a,b,a,b,3
1,a,b,b,b,a,b,a,b,2
3,a,b,b,b,a,b,a,b,3
1,a,b,b,a,b,b,a,b,2
3,a,b,b,a,b,b,a,b,3
1,a,b,b,b,b,b,a,b,2
3,a,b,b,b,b,b,a,b,3
0,a,b,a,a,a,a,b,b,1
2,a,b,a,a,a,a,b,b,0
0,a,b,a,b,a,a,b,b,0
2,a,b,a,b,a,a,b,b,1
0,a,b,a,a,b,a,b,b,0
2,a,b,a,a,b,a,b,b,1
0,a,b,a,b,b,a,b,b,0
2,a,b,a,b,b,a,b,b,1
0,a,b,a,a,a,b,b,b,0
2,a,b,a,a,a,b,b,b,1
0,a,b,a,b,a,b,b,b,0
2,a,b,a,b,a,b,b,b,1
0,a,b,a,a,b,b,b,b,0
2,a,b,a,a,b,b,b,b,1
0,a,b,a,b,b,b,b,b,0
2,a,b,a,b,b,b,b,b,1
0,a,b,b,a,a,a,b,b,0
2,a,b,b,a,a,a,b,b,1
0,a,b,b,b,a,a,b,b,0
2,a,b,b,b,a,a,b,b,1
0,a,b,b,a,b,a,b,b,0
2,a,b,b,a,b,a,b,b,1
0,a,b,b,b,b,a,b,b,0
2,a,b,b,b,b,a,b,b,1
0,a,b,b,a,a,b,b,b,0
2,a,b,b,a,a,b,b,b,1
0,a,b,b,b,a,b,b,b,0
2,a,b,b,b,a,b,b,b,1
0,a,b,b,a,b,b,b,b,0
2,a,b,b,a,b,b,b,b,1
0,a,b,b,b,b,b,b,b,0
2,a,b,b,b,b,b,b,b,1
1,a,b,a,a,a,a,b,b,3
3,a,b,a,a,a,a,b,b,2
1,a,b,a,b,a,a,b,b,2
3,a,b,a,b,a,a,b,b,3
1,a,b,a,a,b,a,b,b,2
3,a,b,a,a,b,a,b,b,3
1,a,b,a,b,b,a,b,b,2
3,a,b,a,b,b,a,b,b,3
1,a,b,a,a,a,b,b,b,2
3,a,b,a,a,a,b,b,b,3
1,a,b,a,b,a,b,b,b,2
3,a,b,a,b,a,b,b,b,3
1,a,b,a,a,b,b,b,b,2
3,a,b,a,a,b,b,b,b,3
1,a,b,a,b,b,b,b,b,2
3,a,b,a,b,b,b,b,b,3
1,a,b,b,a,a,a,b,b,2
3,a,b,b,a,a,a,b,b,3
1,a,b,b,b,a,a,b,b,2
3,a,b,b,b,a,a,b,b,3
1,a,b,b,a,b,a,b,b,2
3,a,b,b,a,b,a,b,b,3
1,a,b,b,b,b,a,b,b,2
3,a,b,b,b,b,a,b,b,3
1,a,b,b,a,a,b,b,b,2
3,a,b,b,a,a,b,b,b,3
1,a,b,b,b,a,b,b,b,2
3,a,b,b,b,a,b,b,b,3
1,a,b,b,a,b,b,b,b,2
3,a,b,b,a,b,b,b,b,3
1,a,b,b,b,b,b,b,b,2
3,a,b,b,b,b,b,b,b,3
0,b,a,a,a,a,a,a,b,0
2,b,a,a,a,a,a,a,b,1
0,b,a,a,b,a,a,a,b,1
2,b,a,a,b,a,a,a,b,0
0,b,a,a,a,b,a,a,b,1
2,b,a,a,a,b,a,a,b,0
0,b,a,a,b,b,a,a,b,0
2,b,a,a,b,b,a,a,b,1
0,b,a,a,a,a,b,a,b,1
2,b,a,a,a,a,b,a,b,0
0,b,a,a,b,a,b,a,b,0
2,b,a,a,b,a,b,a,b,1
0,b,a,a,a,b,b,a,b,0
2,b,a,a,a,b,b,a,b,1
0,b,a,a,b,b,b,a,b,0
2,b,a,a,b,b,b,a,b,1
0,b,a,b,a,a,a,a,b,1
2,b,a,b,a,a,a,a,b,0
0,b,a,b,b,a,a,a,b,0
2,b,a,b,b,a,a,a,b,1
0,b,a,b,a,b,a,a,b,0
2,b,a,b,a,b,a,a,b,1
0,b,a,b,b,b,a,a,b,0
2,b,a,b,b,b,a,a,b,1
0,b,a,b,a,a,b,a,b,0
2,b,a,b,a,a,b,a,b,1
0,b,a,b,b,a,b,a,b,0
2,b,a,b,b,a,b,a,b,1
0,b,a,b,a,b,b,a,b,0
2,b,a,b,a,b,b,a,b,1
0,b,a,b,b,b,b,a,b,0
2,b,a,b,b,b,b,a,b,1
1,b,a,a,a,a,a,a,b,3
3,b,a,a,a,a,a,a,b,2
1,b,a,a,b,a,a,a,b,3
3,b,a,a,b,a,a,a,b,2
1,b,a,a,a,b,a,a,b,3
3,b,a,a,a,b,a,a,b,2
1,b,a,a,b,b,a,a,b,2
3,b,a,a,b,b,a,a,b,3
1,b,a,a,a,a,b,a,b,3
3,b,a,a,a,a,b,a,b,2
1,b,a,a,b,a,b,a,b,2
3,b,a,a,b,a,b,a,b,3
1,b,a,a,a,b,b,a,b,2
3,b,a,a,a,b,b,a,b,3
1,b,a,a,b,b,b,a,b,2
3,b,a,a,b,b,b,a,b,3
1,b,a,b,a,a,a,a,b,3
3,b,a,b,a,a,a,a,b,2
1,b,a,b,b,a,a,a,b,2
3,b,a,b,b,a,a,a,b,3
1,b,a,b,a,b,a,a,b,2
3,b,a,b,a,b,a,a,b,3
1,b,a,b,b,b,a,a,b,2
3,b,a,b,b,b,a,a,b,3
1,b,a,b,a,a,b,a,b,2
3,b,a,b,a,a,b,a,b,3
1,b,a,b,b,a,b,a,b,2
3,b,a,b,b,a,b,a,b,3
1,b,a,b,a,b,b,a,b,2
3,b,a,b,a,b,b,a,b,3
1,b,a,b,b,b,b,a,b,2
3,b,a,b,b,b,b,a,b,3
0,b,a,a,a,a,a,b,b,1
2,b,a,a,a,a,a,b,b,0
0,b,a,a,b,a,a,b,b,0
2,b,a,a,b,a,a,b,b,1
0,b,a,a,a,b,a,b,b,0
2,b,a,a,a,b,a,b,b,1
0,b,a,a,b,b,a,b,b,0
2,b,a,a,b,b,a,b,b,1
0,b,a,a,a,a,b,b,b,0
2,b,a,a,a,a,b,b,b,1
0,b,a,a,b,a,b,b,b,0
2,b,a,a,b,a,b,b,b,1
0,b,a,a,a,b,b,b,b,0
2,b,a,a,a,b,b,b,b,1
0,b,a,a,b,b,b,b,b,0
2,b,a,a,b,b,b,b,b,1
0,b,a,b,a,a,a,b,b,0
2,b,a,b,a,a,a,b,b,1
0,b,a,b,b,a,a,b,b,0
2,b,a,b,b,a,a,b,b,1
0,b,a,b,a,b,a,b,b,0
2,b,a,b,a,b,a,b,b,1
0,b,a,b,b,b,a,b,b,0
2,b,a,b,b,b,a,b,b,1
0,b,a,b,a,a,b,b,b,0
2,b,a,b,a,a,b,b,b,1
0,b,a,b,b,a,b,b,b,0
2,b,a,b,b,a,b,b,b,1
0,b,a,b,a,b,b,b,b,0
2,b,a,b,a,b,b,b,b,1
0,b,a,b,b,b,b,b,b,0
2,b,a,b,b,b,b,b,b,1
1,b,a,a,a,a,a,b,b,3
3,b,a,a,a,a,a,b,b,2
1,b,a,a,b,a,a,b,b,2
3,b,a,a,b,a,a,b,b,3
1,b,a,a,a,b,a,b,b,2
3,b,a,a,a,b,a,b,b,3
1,b,a,a,b,b,a,b,b,2
3,b,a,a,b,b,a,b,b,3
1,b,a,a,a,a,b,b,b,2
3,b,a,a,a,a,b,b,b,3
1,b,a,a,b,a,b,b,b,2
3,b,a,a,b,a,b,b,b,3
1,b,a,a,a,b,b,b,b,2
3,b,a,a,a,b,b,b,b,3
1,b,a,a,b,b,b,b,b,2
3,b,a,a,b,b,b,b,b,3
1,b,a,b,a,a,a,b,b,2
3,b,a,b,a,a,a,b,b,3
1,b,a,b,b,a,a,b,b,2
3,b,a,b,b,a,a,b,b,3
1,b,a,b,a,b,a,b,b,2
3,b,a,b,a,b,a,b,b,3
1,b,a,b,b,b,a,b,b,2
3,b,a,b,b,b,a,b,b,3
1,b,a,b,a,a,b,b,b,2
3,b,a,b,a,a,b,b,b,3
1,b,a,b,b,a,b,b,b,2
3,b,a,b,b,a,b,b,b,3
1,b,a,b,a,b,b,b,b,2
3,b,a,b,a,b,b,b,b,3
1,b,a,b,b,b,b,b,b,2
3,b,a,b,b,b,b,b,b,3
0,b,b,a,a,a,a,a,b,1
2,b,b,a,a,a,a,a,b,0
0,b,b,a,b,a,a,a,b,0
2,b,b,a,b,a,a,a,b,1
0,b,b,a,a,b,a,a,b,0
2,b,b,a,a,b,a,a,b,1
0,b,b,a,b,b,a,a,b,0
2,b,b,a,b,b,a,a,b,1
0,b,b,a,a,a,b,a,b,0
2,b,b,a,a,a,b,a,b,1
0,b,b,a,b,a,b,a,b,0
2,b,b,a,b,a,b,a,b,1
0,b,b,a,a,b,b,a,b,0
2,b,b,a,a,b,b,a,b,1
0,b,b,a,b,b,b,a,b,0
2,b,b,a,b,b,b,a,b,1
0,b,b,b,a,a,a,a,b,0
2,b,b,b,a,a,a,a,b,1
0,b,b,b,b,a,a,a,b,0
2,b,b,b,b,a,a,a,b,1
0,b,b,b,a,b,a,a,b,0
2,b,b,b,a,b,a,a,b,1
0,b,b,b,b,b,a,a,b,0
2,b,b,b,b,b,a,a,b,1
0,b,b,b,a,a,b,a,b,0
2,b,b,b,a,a,b,a,b,1
0,b,b,b,b,a,b,a,b,0
2,b,b,b,b,a,b,a,b,1
0,b,b,b,a,b,b,a,b,0
2,b,b,b,a,b,b,a,b,1
0,b,b,b,b,b,b,a,b,0
2,b,b,b,b,b,b,a,b,1
1,b,b,a,a,a,a,a,b,3
3,b,b,a,a,a,a,a,b,2
1,b,b,a,b,a,a,a,b,2
3,b,b,a,b,a,a,a,b,3
1,b,b,a,a,b,a,a,b,2
3,b,b,a,a,b,a,a,b,3
1,b,b,a,b,b,a,a,b,2
3,b,b,a,b,b,a,a,b,3
1,b,b,a,a,a,b,a,b,2
3,b,b,a,a,a,b,a,b,3
1,b,b,a,b,a,b,a,b,2
3,b,b,a,b,a,b,a,b,3
1,b,b,a,a,b,b,a,b,2
3,b,b,a,a,b,b,a,b,3
1,b,b,a,b,b,b,a,b,2
3,b,b,a,b,b,b,a,b,3
1,b,b,b,a,a,a,a,b,2
3,b,b,b,a,a,a,a,b,3
1,b,b,b,b,a,a,a,b,2
3,b,b,b,b,a,a,a,b,3
1,b,b,b,a,b,a,a,b,2
3,b,b,b,a,b,a,a,b,3
1,b,b,b,b,b,a,a,b,2
3,b,b,b,b,b,a,a,b,3
1,b,b,b,a,a,b,a,b,2
3,b,b,b,a,a,b,a,b,3
1,b,b,b,b,a,b,a,b,2
3,b,b,b,b,a,b,a,b,3
1,b,b,b,a,b,b,a,b,2
3,b,b,b,a,b,b,a,b,3
1,b,b,b,b,b,b,a,b,2
3,b,b,b,b,b,b,a,b,3
0,b,b,a,a,a,a,b,b,0
2,b,b,a,a,a,a,b,b,1
0,b,b,a,b,a,a,b,b,0
2,b,b,a,b,a,a,b,b,1
0,b,b,a,a,b,a,b,b,0
2,b,b,a,a,b,a,b,b,1
0,b,b,a,b,b,a,b,b,0
2,b,b,a,b,b,a,b,b,1
0,b,b,a,a,a,b,b,b,0
2,b,b,a,a,a,b,b,b,1
0,b,b,a,b,a,b,b,b,0
2,b,b,a,b,a,b,b,b,1
0,b,b,a,a,b,b,b,b,0
2,b,b,a,a,b,b,b,b,1
0,b,b,a,b,b,b,b,b,0
2,b,b,a,b,b,b,b,b,1
0,b,b,b,a,a,a,b,b,0
2,b,b,b,a,a,a,b,b,1
0,b,b,b,b,a,a,b,b,0
2,b,b,b,b,a,a,b,b,1
0,b,b,b,a,b,a,b,b,0
2,b,b,b,a,b,a,b,b,1
0,b,b,b,b,b,a,b,b,0
2,b,b,b,b,b,a,b,b,1
0,b,b,b,a,a,b,b,b,0
2,b,b,b,a,a,b,b,b,1
0,b,b,b,b,a,b,b,b,0
2,b,b,b,b,a,b,b,b,1
0,b,b,b,a,b,b,b,b,0
2,b,b,b,a,b,b,b,b,1
0,b,b,b,b,b,b,b,b,0
2,b,b,b,b,b,b,b,b,1
1,b,b,a,a,a,a,b,b,2
3,b,b,a,a,a,a,b,b,3
1,b,b,a,b,a,a,b,b,2
3,b,b,a,b,a,a,b,b,3
1,b,b,a,a,b,a,b,b,2
3,b,b,a,a,b,a,b,b,3
1,b,b,a,b,b,a,b,b,2
3,b,b,a,b,b,a,b,b,3
1,b,b,a,a,a,b,b,b,2
3,b,b,a,a,a,b,b,b,3
1,b,b,a,b,a,b,b,b,2
3,b,b,a,b,a,b,b,b,3
1,b,b,a,a,b,b,b,b,2
3,b,b,a,a,b,b,b,b,3
1,b,b,a,b,b,b,b,b,2
3,b,b,a,b,b,b,b,b,3
1,b,b,b,a,a,a,b,b,2
3,b,b,b,a,a,a,b,b,3
1,b,b,b,b,a,a,b,b,2
3,b,b,b,b,a,a,b,b,3
1,b,b,b,a,b,a,b,b,2
3,b,b,b,a,b,a,b,b,3
1,b,b,b,b,b,a,b,b,2
3,b,b,b,b,b,a,b,b,3
1,b,b,b,a,a,b,b,b,2
3,b,b,b,a,a,b,b,b,3
1,b,b,b,b,a,b,b,b,2
3,b,b,b,b,a,b,b,b,3
1,b,b,b,a,b,b,b,b,2
3,b,b,b,a,b,b,b,b,3
1,b,b,b,b,b,b,b,b,2
3,b,b,b,b,b,b,b,b,3
In [23]:
# import golly as g
# !which golly
!ln -s $repos/golly_utils/glife .
In [14]:
# bool(int('0'))^int(1)
for i,j in itertools.product(range(2),range(2)):
print i,j,i^j,
print (i^j)^i
# print i
0 0 0 0
0 1 1 1
1 0 1 0
1 1 0 1
In [81]:
def rulestr2table_moore(self,rstr,reverse=0):
'''
512-bit rulestring --> Golly ruletable
'''
nState = 4 if reverse else 2
alias = self.rulestr2alias(rstr)
if reverse:
alias = 'rev_%s'%alias
s = '''@RULE {alias:}
@TABLE
n_States:{nState}
neighborhood:Moore
symmetries:none
'''.format(alias=alias,
nState=nState)
if reverse:
s= table_variable_moore(s)
s+='''
#>>>TAB<<<
'''
d = {'0':'a','1':'b'}
if len(rstr)==26:
binstr=hex2bin(rstr,102)[::-1]
binstr = ntca2moore(binstr)
else:
binstr=hex2bin(rstr,512)[::-1]
for i,bit in enumerate(binstr):
conf = base2bin(str(i),10,9)
conf = np.take(list(conf),order_gollymoore).tolist()
if not reverse:
line = ','.join(conf+[bit])
s+='%s\n'%line
else:
c_cur = int(conf[0])
for c_his in [0,1]:
# print c_cur+2*c_his
#### Use history and proposed bit to calculate next state
c_nex = int(bit) ^ int(c_his)
lst = [str(c_cur+2*c_his)] + [d.get(x) for x in conf[1:]]+[str(c_nex+2*c_cur)]
line = ','.join( lst)
s+='%s\n'%line
return s
r = rulestr2table_moore(kb,env.rulestr,reverse=1)
# print r
# print len(r.splitlines())
rr = reverse(r)
for x,y in zip(r.splitlines(),rr.splitlines()):
print x
print y
print x==y
print r
# print rr
# print r
# re.findall('2,.+,\d\n',r)
@RULE rev_b3aceijknqrys3aceijknqry2aceikn
@RULE rev_b3aceijknqrys3aceijknqry2aceikn
True
@TABLE
@TABLE
True
n_States:4
n_States:4
True
neighborhood:Moore
neighborhood:Moore
True
symmetries:none
symmetries:none
True
True
var a0={0,2} ### curr0
var a0={0,2} ### curr0
True
var b0={1,3} ### curr1
var b0={1,3} ### curr1
True
var a1={0,2} ### curr0
var a1={0,2} ### curr0
True
var b1={1,3} ### curr1
var b1={1,3} ### curr1
True
var a2={0,2} ### curr0
var a2={0,2} ### curr0
True
var b2={1,3} ### curr1
var b2={1,3} ### curr1
True
var a3={0,2} ### curr0
var a3={0,2} ### curr0
True
var b3={1,3} ### curr1
var b3={1,3} ### curr1
True
var a4={0,2} ### curr0
var a4={0,2} ### curr0
True
var b4={1,3} ### curr1
var b4={1,3} ### curr1
True
var a5={0,2} ### curr0
var a5={0,2} ### curr0
True
var b5={1,3} ### curr1
var b5={1,3} ### curr1
True
var a6={0,2} ### curr0
var a6={0,2} ### curr0
True
var b6={1,3} ### curr1
var b6={1,3} ### curr1
True
var a7={0,2} ### curr0
var a7={0,2} ### curr0
True
var b7={1,3} ### curr1
var b7={1,3} ### curr1
True
True
#>>>TAB<<<
#>>>TAB<<<
True
0,a,a,a,a,a,a,a,a,0
0,a,a,a,a,a,a,a,a,0
True
2,a,a,a,a,a,a,a,a,1
2,a,a,a,a,a,a,a,a,1
True
0,a,a,a,b,a,a,a,a,0
0,a,a,a,a,b,a,a,a,0
False
2,a,a,a,b,a,a,a,a,1
2,a,a,a,a,b,a,a,a,1
False
0,a,a,a,a,b,a,a,a,0
0,a,a,a,b,a,a,a,a,0
False
2,a,a,a,a,b,a,a,a,1
2,a,a,a,b,a,a,a,a,1
False
0,a,a,a,b,b,a,a,a,0
0,a,a,a,b,b,a,a,a,0
True
2,a,a,a,b,b,a,a,a,1
2,a,a,a,b,b,a,a,a,1
True
0,a,a,a,a,a,b,a,a,0
0,a,a,b,a,a,a,a,a,0
False
2,a,a,a,a,a,b,a,a,1
2,a,a,b,a,a,a,a,a,1
False
0,a,a,a,b,a,b,a,a,0
0,a,a,b,a,b,a,a,a,0
False
2,a,a,a,b,a,b,a,a,1
2,a,a,b,a,b,a,a,a,1
False
0,a,a,a,a,b,b,a,a,0
0,a,a,b,b,a,a,a,a,0
False
2,a,a,a,a,b,b,a,a,1
2,a,a,b,b,a,a,a,a,1
False
0,a,a,a,b,b,b,a,a,1
2,a,a,b,b,b,a,a,a,0
False
2,a,a,a,b,b,b,a,a,0
0,a,a,b,b,b,a,a,a,1
False
0,a,a,b,a,a,a,a,a,0
0,a,a,a,a,a,b,a,a,0
False
2,a,a,b,a,a,a,a,a,1
2,a,a,a,a,a,b,a,a,1
False
0,a,a,b,b,a,a,a,a,0
0,a,a,a,a,b,b,a,a,0
False
2,a,a,b,b,a,a,a,a,1
2,a,a,a,a,b,b,a,a,1
False
0,a,a,b,a,b,a,a,a,0
0,a,a,a,b,a,b,a,a,0
False
2,a,a,b,a,b,a,a,a,1
2,a,a,a,b,a,b,a,a,1
False
0,a,a,b,b,b,a,a,a,1
2,a,a,a,b,b,b,a,a,0
False
2,a,a,b,b,b,a,a,a,0
0,a,a,a,b,b,b,a,a,1
False
0,a,a,b,a,a,b,a,a,0
0,a,a,b,a,a,b,a,a,0
True
2,a,a,b,a,a,b,a,a,1
2,a,a,b,a,a,b,a,a,1
True
0,a,a,b,b,a,b,a,a,1
2,a,a,b,a,b,b,a,a,0
False
2,a,a,b,b,a,b,a,a,0
0,a,a,b,a,b,b,a,a,1
False
0,a,a,b,a,b,b,a,a,1
2,a,a,b,b,a,b,a,a,0
False
2,a,a,b,a,b,b,a,a,0
0,a,a,b,b,a,b,a,a,1
False
0,a,a,b,b,b,b,a,a,0
0,a,a,b,b,b,b,a,a,0
True
2,a,a,b,b,b,b,a,a,1
2,a,a,b,b,b,b,a,a,1
True
1,a,a,a,a,a,a,a,a,2
1,a,a,a,a,a,a,a,a,2
True
3,a,a,a,a,a,a,a,a,3
3,a,a,a,a,a,a,a,a,3
True
1,a,a,a,b,a,a,a,a,2
1,a,a,a,a,b,a,a,a,2
False
3,a,a,a,b,a,a,a,a,3
3,a,a,a,a,b,a,a,a,3
False
1,a,a,a,a,b,a,a,a,2
1,a,a,a,b,a,a,a,a,2
False
3,a,a,a,a,b,a,a,a,3
3,a,a,a,b,a,a,a,a,3
False
1,a,a,a,b,b,a,a,a,3
3,a,a,a,b,b,a,a,a,2
False
3,a,a,a,b,b,a,a,a,2
1,a,a,a,b,b,a,a,a,3
False
1,a,a,a,a,a,b,a,a,2
1,a,a,b,a,a,a,a,a,2
False
3,a,a,a,a,a,b,a,a,3
3,a,a,b,a,a,a,a,a,3
False
1,a,a,a,b,a,b,a,a,3
3,a,a,b,a,b,a,a,a,2
False
3,a,a,a,b,a,b,a,a,2
1,a,a,b,a,b,a,a,a,3
False
1,a,a,a,a,b,b,a,a,3
3,a,a,b,b,a,a,a,a,2
False
3,a,a,a,a,b,b,a,a,2
1,a,a,b,b,a,a,a,a,3
False
1,a,a,a,b,b,b,a,a,3
3,a,a,b,b,b,a,a,a,2
False
3,a,a,a,b,b,b,a,a,2
1,a,a,b,b,b,a,a,a,3
False
1,a,a,b,a,a,a,a,a,2
1,a,a,a,a,a,b,a,a,2
False
3,a,a,b,a,a,a,a,a,3
3,a,a,a,a,a,b,a,a,3
False
1,a,a,b,b,a,a,a,a,3
3,a,a,a,a,b,b,a,a,2
False
3,a,a,b,b,a,a,a,a,2
1,a,a,a,a,b,b,a,a,3
False
1,a,a,b,a,b,a,a,a,3
3,a,a,a,b,a,b,a,a,2
False
3,a,a,b,a,b,a,a,a,2
1,a,a,a,b,a,b,a,a,3
False
1,a,a,b,b,b,a,a,a,3
3,a,a,a,b,b,b,a,a,2
False
3,a,a,b,b,b,a,a,a,2
1,a,a,a,b,b,b,a,a,3
False
1,a,a,b,a,a,b,a,a,3
3,a,a,b,a,a,b,a,a,2
False
3,a,a,b,a,a,b,a,a,2
1,a,a,b,a,a,b,a,a,3
False
1,a,a,b,b,a,b,a,a,3
3,a,a,b,a,b,b,a,a,2
False
3,a,a,b,b,a,b,a,a,2
1,a,a,b,a,b,b,a,a,3
False
1,a,a,b,a,b,b,a,a,3
3,a,a,b,b,a,b,a,a,2
False
3,a,a,b,a,b,b,a,a,2
1,a,a,b,b,a,b,a,a,3
False
1,a,a,b,b,b,b,a,a,2
1,a,a,b,b,b,b,a,a,2
True
3,a,a,b,b,b,b,a,a,3
3,a,a,b,b,b,b,a,a,3
True
0,a,a,a,a,a,a,b,a,0
0,a,b,a,a,a,a,a,a,0
False
2,a,a,a,a,a,a,b,a,1
2,a,b,a,a,a,a,a,a,1
False
0,a,a,a,b,a,a,b,a,0
0,a,b,a,a,b,a,a,a,0
False
2,a,a,a,b,a,a,b,a,1
2,a,b,a,a,b,a,a,a,1
False
0,a,a,a,a,b,a,b,a,0
0,a,b,a,b,a,a,a,a,0
False
2,a,a,a,a,b,a,b,a,1
2,a,b,a,b,a,a,a,a,1
False
0,a,a,a,b,b,a,b,a,1
2,a,b,a,b,b,a,a,a,0
False
2,a,a,a,b,b,a,b,a,0
0,a,b,a,b,b,a,a,a,1
False
0,a,a,a,a,a,b,b,a,0
0,a,b,b,a,a,a,a,a,0
False
2,a,a,a,a,a,b,b,a,1
2,a,b,b,a,a,a,a,a,1
False
0,a,a,a,b,a,b,b,a,1
2,a,b,b,a,b,a,a,a,0
False
2,a,a,a,b,a,b,b,a,0
0,a,b,b,a,b,a,a,a,1
False
0,a,a,a,a,b,b,b,a,1
2,a,b,b,b,a,a,a,a,0
False
2,a,a,a,a,b,b,b,a,0
0,a,b,b,b,a,a,a,a,1
False
0,a,a,a,b,b,b,b,a,0
0,a,b,b,b,b,a,a,a,0
False
2,a,a,a,b,b,b,b,a,1
2,a,b,b,b,b,a,a,a,1
False
0,a,a,b,a,a,a,b,a,0
0,a,b,a,a,a,b,a,a,0
False
2,a,a,b,a,a,a,b,a,1
2,a,b,a,a,a,b,a,a,1
False
0,a,a,b,b,a,a,b,a,1
2,a,b,a,a,b,b,a,a,0
False
2,a,a,b,b,a,a,b,a,0
0,a,b,a,a,b,b,a,a,1
False
0,a,a,b,a,b,a,b,a,1
2,a,b,a,b,a,b,a,a,0
False
2,a,a,b,a,b,a,b,a,0
0,a,b,a,b,a,b,a,a,1
False
0,a,a,b,b,b,a,b,a,0
0,a,b,a,b,b,b,a,a,0
False
2,a,a,b,b,b,a,b,a,1
2,a,b,a,b,b,b,a,a,1
False
0,a,a,b,a,a,b,b,a,1
2,a,b,b,a,a,b,a,a,0
False
2,a,a,b,a,a,b,b,a,0
0,a,b,b,a,a,b,a,a,1
False
0,a,a,b,b,a,b,b,a,0
0,a,b,b,a,b,b,a,a,0
False
2,a,a,b,b,a,b,b,a,1
2,a,b,b,a,b,b,a,a,1
False
0,a,a,b,a,b,b,b,a,0
0,a,b,b,b,a,b,a,a,0
False
2,a,a,b,a,b,b,b,a,1
2,a,b,b,b,a,b,a,a,1
False
0,a,a,b,b,b,b,b,a,0
0,a,b,b,b,b,b,a,a,0
False
2,a,a,b,b,b,b,b,a,1
2,a,b,b,b,b,b,a,a,1
False
1,a,a,a,a,a,a,b,a,2
1,a,b,a,a,a,a,a,a,2
False
3,a,a,a,a,a,a,b,a,3
3,a,b,a,a,a,a,a,a,3
False
1,a,a,a,b,a,a,b,a,3
3,a,b,a,a,b,a,a,a,2
False
3,a,a,a,b,a,a,b,a,2
1,a,b,a,a,b,a,a,a,3
False
1,a,a,a,a,b,a,b,a,3
3,a,b,a,b,a,a,a,a,2
False
3,a,a,a,a,b,a,b,a,2
1,a,b,a,b,a,a,a,a,3
False
1,a,a,a,b,b,a,b,a,3
3,a,b,a,b,b,a,a,a,2
False
3,a,a,a,b,b,a,b,a,2
1,a,b,a,b,b,a,a,a,3
False
1,a,a,a,a,a,b,b,a,3
3,a,b,b,a,a,a,a,a,2
False
3,a,a,a,a,a,b,b,a,2
1,a,b,b,a,a,a,a,a,3
False
1,a,a,a,b,a,b,b,a,3
3,a,b,b,a,b,a,a,a,2
False
3,a,a,a,b,a,b,b,a,2
1,a,b,b,a,b,a,a,a,3
False
1,a,a,a,a,b,b,b,a,3
3,a,b,b,b,a,a,a,a,2
False
3,a,a,a,a,b,b,b,a,2
1,a,b,b,b,a,a,a,a,3
False
1,a,a,a,b,b,b,b,a,2
1,a,b,b,b,b,a,a,a,2
False
3,a,a,a,b,b,b,b,a,3
3,a,b,b,b,b,a,a,a,3
False
1,a,a,b,a,a,a,b,a,3
3,a,b,a,a,a,b,a,a,2
False
3,a,a,b,a,a,a,b,a,2
1,a,b,a,a,a,b,a,a,3
False
1,a,a,b,b,a,a,b,a,3
3,a,b,a,a,b,b,a,a,2
False
3,a,a,b,b,a,a,b,a,2
1,a,b,a,a,b,b,a,a,3
False
1,a,a,b,a,b,a,b,a,3
3,a,b,a,b,a,b,a,a,2
False
3,a,a,b,a,b,a,b,a,2
1,a,b,a,b,a,b,a,a,3
False
1,a,a,b,b,b,a,b,a,2
1,a,b,a,b,b,b,a,a,2
False
3,a,a,b,b,b,a,b,a,3
3,a,b,a,b,b,b,a,a,3
False
1,a,a,b,a,a,b,b,a,3
3,a,b,b,a,a,b,a,a,2
False
3,a,a,b,a,a,b,b,a,2
1,a,b,b,a,a,b,a,a,3
False
1,a,a,b,b,a,b,b,a,2
1,a,b,b,a,b,b,a,a,2
False
3,a,a,b,b,a,b,b,a,3
3,a,b,b,a,b,b,a,a,3
False
1,a,a,b,a,b,b,b,a,2
1,a,b,b,b,a,b,a,a,2
False
3,a,a,b,a,b,b,b,a,3
3,a,b,b,b,a,b,a,a,3
False
1,a,a,b,b,b,b,b,a,2
1,a,b,b,b,b,b,a,a,2
False
3,a,a,b,b,b,b,b,a,3
3,a,b,b,b,b,b,a,a,3
False
0,a,b,a,a,a,a,a,a,0
0,a,a,a,a,a,a,b,a,0
False
2,a,b,a,a,a,a,a,a,1
2,a,a,a,a,a,a,b,a,1
False
0,a,b,a,b,a,a,a,a,0
0,a,a,a,a,b,a,b,a,0
False
2,a,b,a,b,a,a,a,a,1
2,a,a,a,a,b,a,b,a,1
False
0,a,b,a,a,b,a,a,a,0
0,a,a,a,b,a,a,b,a,0
False
2,a,b,a,a,b,a,a,a,1
2,a,a,a,b,a,a,b,a,1
False
0,a,b,a,b,b,a,a,a,1
2,a,a,a,b,b,a,b,a,0
False
2,a,b,a,b,b,a,a,a,0
0,a,a,a,b,b,a,b,a,1
False
0,a,b,a,a,a,b,a,a,0
0,a,a,b,a,a,a,b,a,0
False
2,a,b,a,a,a,b,a,a,1
2,a,a,b,a,a,a,b,a,1
False
0,a,b,a,b,a,b,a,a,1
2,a,a,b,a,b,a,b,a,0
False
2,a,b,a,b,a,b,a,a,0
0,a,a,b,a,b,a,b,a,1
False
0,a,b,a,a,b,b,a,a,1
2,a,a,b,b,a,a,b,a,0
False
2,a,b,a,a,b,b,a,a,0
0,a,a,b,b,a,a,b,a,1
False
0,a,b,a,b,b,b,a,a,0
0,a,a,b,b,b,a,b,a,0
False
2,a,b,a,b,b,b,a,a,1
2,a,a,b,b,b,a,b,a,1
False
0,a,b,b,a,a,a,a,a,0
0,a,a,a,a,a,b,b,a,0
False
2,a,b,b,a,a,a,a,a,1
2,a,a,a,a,a,b,b,a,1
False
0,a,b,b,b,a,a,a,a,1
2,a,a,a,a,b,b,b,a,0
False
2,a,b,b,b,a,a,a,a,0
0,a,a,a,a,b,b,b,a,1
False
0,a,b,b,a,b,a,a,a,1
2,a,a,a,b,a,b,b,a,0
False
2,a,b,b,a,b,a,a,a,0
0,a,a,a,b,a,b,b,a,1
False
0,a,b,b,b,b,a,a,a,0
0,a,a,a,b,b,b,b,a,0
False
2,a,b,b,b,b,a,a,a,1
2,a,a,a,b,b,b,b,a,1
False
0,a,b,b,a,a,b,a,a,1
2,a,a,b,a,a,b,b,a,0
False
2,a,b,b,a,a,b,a,a,0
0,a,a,b,a,a,b,b,a,1
False
0,a,b,b,b,a,b,a,a,0
0,a,a,b,a,b,b,b,a,0
False
2,a,b,b,b,a,b,a,a,1
2,a,a,b,a,b,b,b,a,1
False
0,a,b,b,a,b,b,a,a,0
0,a,a,b,b,a,b,b,a,0
False
2,a,b,b,a,b,b,a,a,1
2,a,a,b,b,a,b,b,a,1
False
0,a,b,b,b,b,b,a,a,0
0,a,a,b,b,b,b,b,a,0
False
2,a,b,b,b,b,b,a,a,1
2,a,a,b,b,b,b,b,a,1
False
1,a,b,a,a,a,a,a,a,2
1,a,a,a,a,a,a,b,a,2
False
3,a,b,a,a,a,a,a,a,3
3,a,a,a,a,a,a,b,a,3
False
1,a,b,a,b,a,a,a,a,3
3,a,a,a,a,b,a,b,a,2
False
3,a,b,a,b,a,a,a,a,2
1,a,a,a,a,b,a,b,a,3
False
1,a,b,a,a,b,a,a,a,3
3,a,a,a,b,a,a,b,a,2
False
3,a,b,a,a,b,a,a,a,2
1,a,a,a,b,a,a,b,a,3
False
1,a,b,a,b,b,a,a,a,3
3,a,a,a,b,b,a,b,a,2
False
3,a,b,a,b,b,a,a,a,2
1,a,a,a,b,b,a,b,a,3
False
1,a,b,a,a,a,b,a,a,3
3,a,a,b,a,a,a,b,a,2
False
3,a,b,a,a,a,b,a,a,2
1,a,a,b,a,a,a,b,a,3
False
1,a,b,a,b,a,b,a,a,3
3,a,a,b,a,b,a,b,a,2
False
3,a,b,a,b,a,b,a,a,2
1,a,a,b,a,b,a,b,a,3
False
1,a,b,a,a,b,b,a,a,3
3,a,a,b,b,a,a,b,a,2
False
3,a,b,a,a,b,b,a,a,2
1,a,a,b,b,a,a,b,a,3
False
1,a,b,a,b,b,b,a,a,2
1,a,a,b,b,b,a,b,a,2
False
3,a,b,a,b,b,b,a,a,3
3,a,a,b,b,b,a,b,a,3
False
1,a,b,b,a,a,a,a,a,3
3,a,a,a,a,a,b,b,a,2
False
3,a,b,b,a,a,a,a,a,2
1,a,a,a,a,a,b,b,a,3
False
1,a,b,b,b,a,a,a,a,3
3,a,a,a,a,b,b,b,a,2
False
3,a,b,b,b,a,a,a,a,2
1,a,a,a,a,b,b,b,a,3
False
1,a,b,b,a,b,a,a,a,3
3,a,a,a,b,a,b,b,a,2
False
3,a,b,b,a,b,a,a,a,2
1,a,a,a,b,a,b,b,a,3
False
1,a,b,b,b,b,a,a,a,2
1,a,a,a,b,b,b,b,a,2
False
3,a,b,b,b,b,a,a,a,3
3,a,a,a,b,b,b,b,a,3
False
1,a,b,b,a,a,b,a,a,3
3,a,a,b,a,a,b,b,a,2
False
3,a,b,b,a,a,b,a,a,2
1,a,a,b,a,a,b,b,a,3
False
1,a,b,b,b,a,b,a,a,2
1,a,a,b,a,b,b,b,a,2
False
3,a,b,b,b,a,b,a,a,3
3,a,a,b,a,b,b,b,a,3
False
1,a,b,b,a,b,b,a,a,2
1,a,a,b,b,a,b,b,a,2
False
3,a,b,b,a,b,b,a,a,3
3,a,a,b,b,a,b,b,a,3
False
1,a,b,b,b,b,b,a,a,2
1,a,a,b,b,b,b,b,a,2
False
3,a,b,b,b,b,b,a,a,3
3,a,a,b,b,b,b,b,a,3
False
0,a,b,a,a,a,a,b,a,0
0,a,b,a,a,a,a,b,a,0
True
2,a,b,a,a,a,a,b,a,1
2,a,b,a,a,a,a,b,a,1
True
0,a,b,a,b,a,a,b,a,1
2,a,b,a,a,b,a,b,a,0
False
2,a,b,a,b,a,a,b,a,0
0,a,b,a,a,b,a,b,a,1
False
0,a,b,a,a,b,a,b,a,1
2,a,b,a,b,a,a,b,a,0
False
2,a,b,a,a,b,a,b,a,0
0,a,b,a,b,a,a,b,a,1
False
0,a,b,a,b,b,a,b,a,0
0,a,b,a,b,b,a,b,a,0
True
2,a,b,a,b,b,a,b,a,1
2,a,b,a,b,b,a,b,a,1
True
0,a,b,a,a,a,b,b,a,1
2,a,b,b,a,a,a,b,a,0
False
2,a,b,a,a,a,b,b,a,0
0,a,b,b,a,a,a,b,a,1
False
0,a,b,a,b,a,b,b,a,0
0,a,b,b,a,b,a,b,a,0
False
2,a,b,a,b,a,b,b,a,1
2,a,b,b,a,b,a,b,a,1
False
0,a,b,a,a,b,b,b,a,0
0,a,b,b,b,a,a,b,a,0
False
2,a,b,a,a,b,b,b,a,1
2,a,b,b,b,a,a,b,a,1
False
0,a,b,a,b,b,b,b,a,0
0,a,b,b,b,b,a,b,a,0
False
2,a,b,a,b,b,b,b,a,1
2,a,b,b,b,b,a,b,a,1
False
0,a,b,b,a,a,a,b,a,1
2,a,b,a,a,a,b,b,a,0
False
2,a,b,b,a,a,a,b,a,0
0,a,b,a,a,a,b,b,a,1
False
0,a,b,b,b,a,a,b,a,0
0,a,b,a,a,b,b,b,a,0
False
2,a,b,b,b,a,a,b,a,1
2,a,b,a,a,b,b,b,a,1
False
0,a,b,b,a,b,a,b,a,0
0,a,b,a,b,a,b,b,a,0
False
2,a,b,b,a,b,a,b,a,1
2,a,b,a,b,a,b,b,a,1
False
0,a,b,b,b,b,a,b,a,0
0,a,b,a,b,b,b,b,a,0
False
2,a,b,b,b,b,a,b,a,1
2,a,b,a,b,b,b,b,a,1
False
0,a,b,b,a,a,b,b,a,0
0,a,b,b,a,a,b,b,a,0
True
2,a,b,b,a,a,b,b,a,1
2,a,b,b,a,a,b,b,a,1
True
0,a,b,b,b,a,b,b,a,0
0,a,b,b,a,b,b,b,a,0
False
2,a,b,b,b,a,b,b,a,1
2,a,b,b,a,b,b,b,a,1
False
0,a,b,b,a,b,b,b,a,0
0,a,b,b,b,a,b,b,a,0
False
2,a,b,b,a,b,b,b,a,1
2,a,b,b,b,a,b,b,a,1
False
0,a,b,b,b,b,b,b,a,0
0,a,b,b,b,b,b,b,a,0
True
2,a,b,b,b,b,b,b,a,1
2,a,b,b,b,b,b,b,a,1
True
1,a,b,a,a,a,a,b,a,3
3,a,b,a,a,a,a,b,a,2
False
3,a,b,a,a,a,a,b,a,2
1,a,b,a,a,a,a,b,a,3
False
1,a,b,a,b,a,a,b,a,3
3,a,b,a,a,b,a,b,a,2
False
3,a,b,a,b,a,a,b,a,2
1,a,b,a,a,b,a,b,a,3
False
1,a,b,a,a,b,a,b,a,3
3,a,b,a,b,a,a,b,a,2
False
3,a,b,a,a,b,a,b,a,2
1,a,b,a,b,a,a,b,a,3
False
1,a,b,a,b,b,a,b,a,2
1,a,b,a,b,b,a,b,a,2
True
3,a,b,a,b,b,a,b,a,3
3,a,b,a,b,b,a,b,a,3
True
1,a,b,a,a,a,b,b,a,3
3,a,b,b,a,a,a,b,a,2
False
3,a,b,a,a,a,b,b,a,2
1,a,b,b,a,a,a,b,a,3
False
1,a,b,a,b,a,b,b,a,2
1,a,b,b,a,b,a,b,a,2
False
3,a,b,a,b,a,b,b,a,3
3,a,b,b,a,b,a,b,a,3
False
1,a,b,a,a,b,b,b,a,2
1,a,b,b,b,a,a,b,a,2
False
3,a,b,a,a,b,b,b,a,3
3,a,b,b,b,a,a,b,a,3
False
1,a,b,a,b,b,b,b,a,2
1,a,b,b,b,b,a,b,a,2
False
3,a,b,a,b,b,b,b,a,3
3,a,b,b,b,b,a,b,a,3
False
1,a,b,b,a,a,a,b,a,3
3,a,b,a,a,a,b,b,a,2
False
3,a,b,b,a,a,a,b,a,2
1,a,b,a,a,a,b,b,a,3
False
1,a,b,b,b,a,a,b,a,2
1,a,b,a,a,b,b,b,a,2
False
3,a,b,b,b,a,a,b,a,3
3,a,b,a,a,b,b,b,a,3
False
1,a,b,b,a,b,a,b,a,2
1,a,b,a,b,a,b,b,a,2
False
3,a,b,b,a,b,a,b,a,3
3,a,b,a,b,a,b,b,a,3
False
1,a,b,b,b,b,a,b,a,2
1,a,b,a,b,b,b,b,a,2
False
3,a,b,b,b,b,a,b,a,3
3,a,b,a,b,b,b,b,a,3
False
1,a,b,b,a,a,b,b,a,2
1,a,b,b,a,a,b,b,a,2
True
3,a,b,b,a,a,b,b,a,3
3,a,b,b,a,a,b,b,a,3
True
1,a,b,b,b,a,b,b,a,2
1,a,b,b,a,b,b,b,a,2
False
3,a,b,b,b,a,b,b,a,3
3,a,b,b,a,b,b,b,a,3
False
1,a,b,b,a,b,b,b,a,2
1,a,b,b,b,a,b,b,a,2
False
3,a,b,b,a,b,b,b,a,3
3,a,b,b,b,a,b,b,a,3
False
1,a,b,b,b,b,b,b,a,2
1,a,b,b,b,b,b,b,a,2
True
3,a,b,b,b,b,b,b,a,3
3,a,b,b,b,b,b,b,a,3
True
0,b,a,a,a,a,a,a,a,0
0,a,a,a,a,a,a,a,b,0
False
2,b,a,a,a,a,a,a,a,1
2,a,a,a,a,a,a,a,b,1
False
0,b,a,a,b,a,a,a,a,0
0,a,a,a,a,b,a,a,b,0
False
2,b,a,a,b,a,a,a,a,1
2,a,a,a,a,b,a,a,b,1
False
0,b,a,a,a,b,a,a,a,0
0,a,a,a,b,a,a,a,b,0
False
2,b,a,a,a,b,a,a,a,1
2,a,a,a,b,a,a,a,b,1
False
0,b,a,a,b,b,a,a,a,1
2,a,a,a,b,b,a,a,b,0
False
2,b,a,a,b,b,a,a,a,0
0,a,a,a,b,b,a,a,b,1
False
0,b,a,a,a,a,b,a,a,0
0,a,a,b,a,a,a,a,b,0
False
2,b,a,a,a,a,b,a,a,1
2,a,a,b,a,a,a,a,b,1
False
0,b,a,a,b,a,b,a,a,1
2,a,a,b,a,b,a,a,b,0
False
2,b,a,a,b,a,b,a,a,0
0,a,a,b,a,b,a,a,b,1
False
0,b,a,a,a,b,b,a,a,1
2,a,a,b,b,a,a,a,b,0
False
2,b,a,a,a,b,b,a,a,0
0,a,a,b,b,a,a,a,b,1
False
0,b,a,a,b,b,b,a,a,0
0,a,a,b,b,b,a,a,b,0
False
2,b,a,a,b,b,b,a,a,1
2,a,a,b,b,b,a,a,b,1
False
0,b,a,b,a,a,a,a,a,0
0,a,a,a,a,a,b,a,b,0
False
2,b,a,b,a,a,a,a,a,1
2,a,a,a,a,a,b,a,b,1
False
0,b,a,b,b,a,a,a,a,1
2,a,a,a,a,b,b,a,b,0
False
2,b,a,b,b,a,a,a,a,0
0,a,a,a,a,b,b,a,b,1
False
0,b,a,b,a,b,a,a,a,1
2,a,a,a,b,a,b,a,b,0
False
2,b,a,b,a,b,a,a,a,0
0,a,a,a,b,a,b,a,b,1
False
0,b,a,b,b,b,a,a,a,0
0,a,a,a,b,b,b,a,b,0
False
2,b,a,b,b,b,a,a,a,1
2,a,a,a,b,b,b,a,b,1
False
0,b,a,b,a,a,b,a,a,1
2,a,a,b,a,a,b,a,b,0
False
2,b,a,b,a,a,b,a,a,0
0,a,a,b,a,a,b,a,b,1
False
0,b,a,b,b,a,b,a,a,0
0,a,a,b,a,b,b,a,b,0
False
2,b,a,b,b,a,b,a,a,1
2,a,a,b,a,b,b,a,b,1
False
0,b,a,b,a,b,b,a,a,0
0,a,a,b,b,a,b,a,b,0
False
2,b,a,b,a,b,b,a,a,1
2,a,a,b,b,a,b,a,b,1
False
0,b,a,b,b,b,b,a,a,0
0,a,a,b,b,b,b,a,b,0
False
2,b,a,b,b,b,b,a,a,1
2,a,a,b,b,b,b,a,b,1
False
1,b,a,a,a,a,a,a,a,2
1,a,a,a,a,a,a,a,b,2
False
3,b,a,a,a,a,a,a,a,3
3,a,a,a,a,a,a,a,b,3
False
1,b,a,a,b,a,a,a,a,3
3,a,a,a,a,b,a,a,b,2
False
3,b,a,a,b,a,a,a,a,2
1,a,a,a,a,b,a,a,b,3
False
1,b,a,a,a,b,a,a,a,3
3,a,a,a,b,a,a,a,b,2
False
3,b,a,a,a,b,a,a,a,2
1,a,a,a,b,a,a,a,b,3
False
1,b,a,a,b,b,a,a,a,3
3,a,a,a,b,b,a,a,b,2
False
3,b,a,a,b,b,a,a,a,2
1,a,a,a,b,b,a,a,b,3
False
1,b,a,a,a,a,b,a,a,3
3,a,a,b,a,a,a,a,b,2
False
3,b,a,a,a,a,b,a,a,2
1,a,a,b,a,a,a,a,b,3
False
1,b,a,a,b,a,b,a,a,3
3,a,a,b,a,b,a,a,b,2
False
3,b,a,a,b,a,b,a,a,2
1,a,a,b,a,b,a,a,b,3
False
1,b,a,a,a,b,b,a,a,3
3,a,a,b,b,a,a,a,b,2
False
3,b,a,a,a,b,b,a,a,2
1,a,a,b,b,a,a,a,b,3
False
1,b,a,a,b,b,b,a,a,2
1,a,a,b,b,b,a,a,b,2
False
3,b,a,a,b,b,b,a,a,3
3,a,a,b,b,b,a,a,b,3
False
1,b,a,b,a,a,a,a,a,3
3,a,a,a,a,a,b,a,b,2
False
3,b,a,b,a,a,a,a,a,2
1,a,a,a,a,a,b,a,b,3
False
1,b,a,b,b,a,a,a,a,3
3,a,a,a,a,b,b,a,b,2
False
3,b,a,b,b,a,a,a,a,2
1,a,a,a,a,b,b,a,b,3
False
1,b,a,b,a,b,a,a,a,3
3,a,a,a,b,a,b,a,b,2
False
3,b,a,b,a,b,a,a,a,2
1,a,a,a,b,a,b,a,b,3
False
1,b,a,b,b,b,a,a,a,2
1,a,a,a,b,b,b,a,b,2
False
3,b,a,b,b,b,a,a,a,3
3,a,a,a,b,b,b,a,b,3
False
1,b,a,b,a,a,b,a,a,3
3,a,a,b,a,a,b,a,b,2
False
3,b,a,b,a,a,b,a,a,2
1,a,a,b,a,a,b,a,b,3
False
1,b,a,b,b,a,b,a,a,2
1,a,a,b,a,b,b,a,b,2
False
3,b,a,b,b,a,b,a,a,3
3,a,a,b,a,b,b,a,b,3
False
1,b,a,b,a,b,b,a,a,2
1,a,a,b,b,a,b,a,b,2
False
3,b,a,b,a,b,b,a,a,3
3,a,a,b,b,a,b,a,b,3
False
1,b,a,b,b,b,b,a,a,2
1,a,a,b,b,b,b,a,b,2
False
3,b,a,b,b,b,b,a,a,3
3,a,a,b,b,b,b,a,b,3
False
0,b,a,a,a,a,a,b,a,0
0,a,b,a,a,a,a,a,b,0
False
2,b,a,a,a,a,a,b,a,1
2,a,b,a,a,a,a,a,b,1
False
0,b,a,a,b,a,a,b,a,1
2,a,b,a,a,b,a,a,b,0
False
2,b,a,a,b,a,a,b,a,0
0,a,b,a,a,b,a,a,b,1
False
0,b,a,a,a,b,a,b,a,1
2,a,b,a,b,a,a,a,b,0
False
2,b,a,a,a,b,a,b,a,0
0,a,b,a,b,a,a,a,b,1
False
0,b,a,a,b,b,a,b,a,0
0,a,b,a,b,b,a,a,b,0
False
2,b,a,a,b,b,a,b,a,1
2,a,b,a,b,b,a,a,b,1
False
0,b,a,a,a,a,b,b,a,1
2,a,b,b,a,a,a,a,b,0
False
2,b,a,a,a,a,b,b,a,0
0,a,b,b,a,a,a,a,b,1
False
0,b,a,a,b,a,b,b,a,0
0,a,b,b,a,b,a,a,b,0
False
2,b,a,a,b,a,b,b,a,1
2,a,b,b,a,b,a,a,b,1
False
0,b,a,a,a,b,b,b,a,0
0,a,b,b,b,a,a,a,b,0
False
2,b,a,a,a,b,b,b,a,1
2,a,b,b,b,a,a,a,b,1
False
0,b,a,a,b,b,b,b,a,0
0,a,b,b,b,b,a,a,b,0
False
2,b,a,a,b,b,b,b,a,1
2,a,b,b,b,b,a,a,b,1
False
0,b,a,b,a,a,a,b,a,1
2,a,b,a,a,a,b,a,b,0
False
2,b,a,b,a,a,a,b,a,0
0,a,b,a,a,a,b,a,b,1
False
0,b,a,b,b,a,a,b,a,0
0,a,b,a,a,b,b,a,b,0
False
2,b,a,b,b,a,a,b,a,1
2,a,b,a,a,b,b,a,b,1
False
0,b,a,b,a,b,a,b,a,0
0,a,b,a,b,a,b,a,b,0
False
2,b,a,b,a,b,a,b,a,1
2,a,b,a,b,a,b,a,b,1
False
0,b,a,b,b,b,a,b,a,0
0,a,b,a,b,b,b,a,b,0
False
2,b,a,b,b,b,a,b,a,1
2,a,b,a,b,b,b,a,b,1
False
0,b,a,b,a,a,b,b,a,0
0,a,b,b,a,a,b,a,b,0
False
2,b,a,b,a,a,b,b,a,1
2,a,b,b,a,a,b,a,b,1
False
0,b,a,b,b,a,b,b,a,0
0,a,b,b,a,b,b,a,b,0
False
2,b,a,b,b,a,b,b,a,1
2,a,b,b,a,b,b,a,b,1
False
0,b,a,b,a,b,b,b,a,0
0,a,b,b,b,a,b,a,b,0
False
2,b,a,b,a,b,b,b,a,1
2,a,b,b,b,a,b,a,b,1
False
0,b,a,b,b,b,b,b,a,0
0,a,b,b,b,b,b,a,b,0
False
2,b,a,b,b,b,b,b,a,1
2,a,b,b,b,b,b,a,b,1
False
1,b,a,a,a,a,a,b,a,3
3,a,b,a,a,a,a,a,b,2
False
3,b,a,a,a,a,a,b,a,2
1,a,b,a,a,a,a,a,b,3
False
1,b,a,a,b,a,a,b,a,3
3,a,b,a,a,b,a,a,b,2
False
3,b,a,a,b,a,a,b,a,2
1,a,b,a,a,b,a,a,b,3
False
1,b,a,a,a,b,a,b,a,3
3,a,b,a,b,a,a,a,b,2
False
3,b,a,a,a,b,a,b,a,2
1,a,b,a,b,a,a,a,b,3
False
1,b,a,a,b,b,a,b,a,2
1,a,b,a,b,b,a,a,b,2
False
3,b,a,a,b,b,a,b,a,3
3,a,b,a,b,b,a,a,b,3
False
1,b,a,a,a,a,b,b,a,3
3,a,b,b,a,a,a,a,b,2
False
3,b,a,a,a,a,b,b,a,2
1,a,b,b,a,a,a,a,b,3
False
1,b,a,a,b,a,b,b,a,2
1,a,b,b,a,b,a,a,b,2
False
3,b,a,a,b,a,b,b,a,3
3,a,b,b,a,b,a,a,b,3
False
1,b,a,a,a,b,b,b,a,2
1,a,b,b,b,a,a,a,b,2
False
3,b,a,a,a,b,b,b,a,3
3,a,b,b,b,a,a,a,b,3
False
1,b,a,a,b,b,b,b,a,2
1,a,b,b,b,b,a,a,b,2
False
3,b,a,a,b,b,b,b,a,3
3,a,b,b,b,b,a,a,b,3
False
1,b,a,b,a,a,a,b,a,3
3,a,b,a,a,a,b,a,b,2
False
3,b,a,b,a,a,a,b,a,2
1,a,b,a,a,a,b,a,b,3
False
1,b,a,b,b,a,a,b,a,2
1,a,b,a,a,b,b,a,b,2
False
3,b,a,b,b,a,a,b,a,3
3,a,b,a,a,b,b,a,b,3
False
1,b,a,b,a,b,a,b,a,2
1,a,b,a,b,a,b,a,b,2
False
3,b,a,b,a,b,a,b,a,3
3,a,b,a,b,a,b,a,b,3
False
1,b,a,b,b,b,a,b,a,2
1,a,b,a,b,b,b,a,b,2
False
3,b,a,b,b,b,a,b,a,3
3,a,b,a,b,b,b,a,b,3
False
1,b,a,b,a,a,b,b,a,2
1,a,b,b,a,a,b,a,b,2
False
3,b,a,b,a,a,b,b,a,3
3,a,b,b,a,a,b,a,b,3
False
1,b,a,b,b,a,b,b,a,2
1,a,b,b,a,b,b,a,b,2
False
3,b,a,b,b,a,b,b,a,3
3,a,b,b,a,b,b,a,b,3
False
1,b,a,b,a,b,b,b,a,2
1,a,b,b,b,a,b,a,b,2
False
3,b,a,b,a,b,b,b,a,3
3,a,b,b,b,a,b,a,b,3
False
1,b,a,b,b,b,b,b,a,2
1,a,b,b,b,b,b,a,b,2
False
3,b,a,b,b,b,b,b,a,3
3,a,b,b,b,b,b,a,b,3
False
0,b,b,a,a,a,a,a,a,0
0,a,a,a,a,a,a,b,b,0
False
2,b,b,a,a,a,a,a,a,1
2,a,a,a,a,a,a,b,b,1
False
0,b,b,a,b,a,a,a,a,1
2,a,a,a,a,b,a,b,b,0
False
2,b,b,a,b,a,a,a,a,0
0,a,a,a,a,b,a,b,b,1
False
0,b,b,a,a,b,a,a,a,1
2,a,a,a,b,a,a,b,b,0
False
2,b,b,a,a,b,a,a,a,0
0,a,a,a,b,a,a,b,b,1
False
0,b,b,a,b,b,a,a,a,0
0,a,a,a,b,b,a,b,b,0
False
2,b,b,a,b,b,a,a,a,1
2,a,a,a,b,b,a,b,b,1
False
0,b,b,a,a,a,b,a,a,1
2,a,a,b,a,a,a,b,b,0
False
2,b,b,a,a,a,b,a,a,0
0,a,a,b,a,a,a,b,b,1
False
0,b,b,a,b,a,b,a,a,0
0,a,a,b,a,b,a,b,b,0
False
2,b,b,a,b,a,b,a,a,1
2,a,a,b,a,b,a,b,b,1
False
0,b,b,a,a,b,b,a,a,0
0,a,a,b,b,a,a,b,b,0
False
2,b,b,a,a,b,b,a,a,1
2,a,a,b,b,a,a,b,b,1
False
0,b,b,a,b,b,b,a,a,0
0,a,a,b,b,b,a,b,b,0
False
2,b,b,a,b,b,b,a,a,1
2,a,a,b,b,b,a,b,b,1
False
0,b,b,b,a,a,a,a,a,1
2,a,a,a,a,a,b,b,b,0
False
2,b,b,b,a,a,a,a,a,0
0,a,a,a,a,a,b,b,b,1
False
0,b,b,b,b,a,a,a,a,0
0,a,a,a,a,b,b,b,b,0
False
2,b,b,b,b,a,a,a,a,1
2,a,a,a,a,b,b,b,b,1
False
0,b,b,b,a,b,a,a,a,0
0,a,a,a,b,a,b,b,b,0
False
2,b,b,b,a,b,a,a,a,1
2,a,a,a,b,a,b,b,b,1
False
0,b,b,b,b,b,a,a,a,0
0,a,a,a,b,b,b,b,b,0
False
2,b,b,b,b,b,a,a,a,1
2,a,a,a,b,b,b,b,b,1
False
0,b,b,b,a,a,b,a,a,0
0,a,a,b,a,a,b,b,b,0
False
2,b,b,b,a,a,b,a,a,1
2,a,a,b,a,a,b,b,b,1
False
0,b,b,b,b,a,b,a,a,0
0,a,a,b,a,b,b,b,b,0
False
2,b,b,b,b,a,b,a,a,1
2,a,a,b,a,b,b,b,b,1
False
0,b,b,b,a,b,b,a,a,0
0,a,a,b,b,a,b,b,b,0
False
2,b,b,b,a,b,b,a,a,1
2,a,a,b,b,a,b,b,b,1
False
0,b,b,b,b,b,b,a,a,0
0,a,a,b,b,b,b,b,b,0
False
2,b,b,b,b,b,b,a,a,1
2,a,a,b,b,b,b,b,b,1
False
1,b,b,a,a,a,a,a,a,3
3,a,a,a,a,a,a,b,b,2
False
3,b,b,a,a,a,a,a,a,2
1,a,a,a,a,a,a,b,b,3
False
1,b,b,a,b,a,a,a,a,3
3,a,a,a,a,b,a,b,b,2
False
3,b,b,a,b,a,a,a,a,2
1,a,a,a,a,b,a,b,b,3
False
1,b,b,a,a,b,a,a,a,3
3,a,a,a,b,a,a,b,b,2
False
3,b,b,a,a,b,a,a,a,2
1,a,a,a,b,a,a,b,b,3
False
1,b,b,a,b,b,a,a,a,2
1,a,a,a,b,b,a,b,b,2
False
3,b,b,a,b,b,a,a,a,3
3,a,a,a,b,b,a,b,b,3
False
1,b,b,a,a,a,b,a,a,3
3,a,a,b,a,a,a,b,b,2
False
3,b,b,a,a,a,b,a,a,2
1,a,a,b,a,a,a,b,b,3
False
1,b,b,a,b,a,b,a,a,2
1,a,a,b,a,b,a,b,b,2
False
3,b,b,a,b,a,b,a,a,3
3,a,a,b,a,b,a,b,b,3
False
1,b,b,a,a,b,b,a,a,2
1,a,a,b,b,a,a,b,b,2
False
3,b,b,a,a,b,b,a,a,3
3,a,a,b,b,a,a,b,b,3
False
1,b,b,a,b,b,b,a,a,2
1,a,a,b,b,b,a,b,b,2
False
3,b,b,a,b,b,b,a,a,3
3,a,a,b,b,b,a,b,b,3
False
1,b,b,b,a,a,a,a,a,3
3,a,a,a,a,a,b,b,b,2
False
3,b,b,b,a,a,a,a,a,2
1,a,a,a,a,a,b,b,b,3
False
1,b,b,b,b,a,a,a,a,2
1,a,a,a,a,b,b,b,b,2
False
3,b,b,b,b,a,a,a,a,3
3,a,a,a,a,b,b,b,b,3
False
1,b,b,b,a,b,a,a,a,2
1,a,a,a,b,a,b,b,b,2
False
3,b,b,b,a,b,a,a,a,3
3,a,a,a,b,a,b,b,b,3
False
1,b,b,b,b,b,a,a,a,2
1,a,a,a,b,b,b,b,b,2
False
3,b,b,b,b,b,a,a,a,3
3,a,a,a,b,b,b,b,b,3
False
1,b,b,b,a,a,b,a,a,2
1,a,a,b,a,a,b,b,b,2
False
3,b,b,b,a,a,b,a,a,3
3,a,a,b,a,a,b,b,b,3
False
1,b,b,b,b,a,b,a,a,2
1,a,a,b,a,b,b,b,b,2
False
3,b,b,b,b,a,b,a,a,3
3,a,a,b,a,b,b,b,b,3
False
1,b,b,b,a,b,b,a,a,2
1,a,a,b,b,a,b,b,b,2
False
3,b,b,b,a,b,b,a,a,3
3,a,a,b,b,a,b,b,b,3
False
1,b,b,b,b,b,b,a,a,2
1,a,a,b,b,b,b,b,b,2
False
3,b,b,b,b,b,b,a,a,3
3,a,a,b,b,b,b,b,b,3
False
0,b,b,a,a,a,a,b,a,1
2,a,b,a,a,a,a,b,b,0
False
2,b,b,a,a,a,a,b,a,0
0,a,b,a,a,a,a,b,b,1
False
0,b,b,a,b,a,a,b,a,0
0,a,b,a,a,b,a,b,b,0
False
2,b,b,a,b,a,a,b,a,1
2,a,b,a,a,b,a,b,b,1
False
0,b,b,a,a,b,a,b,a,0
0,a,b,a,b,a,a,b,b,0
False
2,b,b,a,a,b,a,b,a,1
2,a,b,a,b,a,a,b,b,1
False
0,b,b,a,b,b,a,b,a,0
0,a,b,a,b,b,a,b,b,0
False
2,b,b,a,b,b,a,b,a,1
2,a,b,a,b,b,a,b,b,1
False
0,b,b,a,a,a,b,b,a,0
0,a,b,b,a,a,a,b,b,0
False
2,b,b,a,a,a,b,b,a,1
2,a,b,b,a,a,a,b,b,1
False
0,b,b,a,b,a,b,b,a,0
0,a,b,b,a,b,a,b,b,0
False
2,b,b,a,b,a,b,b,a,1
2,a,b,b,a,b,a,b,b,1
False
0,b,b,a,a,b,b,b,a,0
0,a,b,b,b,a,a,b,b,0
False
2,b,b,a,a,b,b,b,a,1
2,a,b,b,b,a,a,b,b,1
False
0,b,b,a,b,b,b,b,a,0
0,a,b,b,b,b,a,b,b,0
False
2,b,b,a,b,b,b,b,a,1
2,a,b,b,b,b,a,b,b,1
False
0,b,b,b,a,a,a,b,a,0
0,a,b,a,a,a,b,b,b,0
False
2,b,b,b,a,a,a,b,a,1
2,a,b,a,a,a,b,b,b,1
False
0,b,b,b,b,a,a,b,a,0
0,a,b,a,a,b,b,b,b,0
False
2,b,b,b,b,a,a,b,a,1
2,a,b,a,a,b,b,b,b,1
False
0,b,b,b,a,b,a,b,a,0
0,a,b,a,b,a,b,b,b,0
False
2,b,b,b,a,b,a,b,a,1
2,a,b,a,b,a,b,b,b,1
False
0,b,b,b,b,b,a,b,a,0
0,a,b,a,b,b,b,b,b,0
False
2,b,b,b,b,b,a,b,a,1
2,a,b,a,b,b,b,b,b,1
False
0,b,b,b,a,a,b,b,a,0
0,a,b,b,a,a,b,b,b,0
False
2,b,b,b,a,a,b,b,a,1
2,a,b,b,a,a,b,b,b,1
False
0,b,b,b,b,a,b,b,a,0
0,a,b,b,a,b,b,b,b,0
False
2,b,b,b,b,a,b,b,a,1
2,a,b,b,a,b,b,b,b,1
False
0,b,b,b,a,b,b,b,a,0
0,a,b,b,b,a,b,b,b,0
False
2,b,b,b,a,b,b,b,a,1
2,a,b,b,b,a,b,b,b,1
False
0,b,b,b,b,b,b,b,a,0
0,a,b,b,b,b,b,b,b,0
False
2,b,b,b,b,b,b,b,a,1
2,a,b,b,b,b,b,b,b,1
False
1,b,b,a,a,a,a,b,a,3
3,a,b,a,a,a,a,b,b,2
False
3,b,b,a,a,a,a,b,a,2
1,a,b,a,a,a,a,b,b,3
False
1,b,b,a,b,a,a,b,a,2
1,a,b,a,a,b,a,b,b,2
False
3,b,b,a,b,a,a,b,a,3
3,a,b,a,a,b,a,b,b,3
False
1,b,b,a,a,b,a,b,a,2
1,a,b,a,b,a,a,b,b,2
False
3,b,b,a,a,b,a,b,a,3
3,a,b,a,b,a,a,b,b,3
False
1,b,b,a,b,b,a,b,a,2
1,a,b,a,b,b,a,b,b,2
False
3,b,b,a,b,b,a,b,a,3
3,a,b,a,b,b,a,b,b,3
False
1,b,b,a,a,a,b,b,a,2
1,a,b,b,a,a,a,b,b,2
False
3,b,b,a,a,a,b,b,a,3
3,a,b,b,a,a,a,b,b,3
False
1,b,b,a,b,a,b,b,a,2
1,a,b,b,a,b,a,b,b,2
False
3,b,b,a,b,a,b,b,a,3
3,a,b,b,a,b,a,b,b,3
False
1,b,b,a,a,b,b,b,a,2
1,a,b,b,b,a,a,b,b,2
False
3,b,b,a,a,b,b,b,a,3
3,a,b,b,b,a,a,b,b,3
False
1,b,b,a,b,b,b,b,a,2
1,a,b,b,b,b,a,b,b,2
False
3,b,b,a,b,b,b,b,a,3
3,a,b,b,b,b,a,b,b,3
False
1,b,b,b,a,a,a,b,a,2
1,a,b,a,a,a,b,b,b,2
False
3,b,b,b,a,a,a,b,a,3
3,a,b,a,a,a,b,b,b,3
False
1,b,b,b,b,a,a,b,a,2
1,a,b,a,a,b,b,b,b,2
False
3,b,b,b,b,a,a,b,a,3
3,a,b,a,a,b,b,b,b,3
False
1,b,b,b,a,b,a,b,a,2
1,a,b,a,b,a,b,b,b,2
False
3,b,b,b,a,b,a,b,a,3
3,a,b,a,b,a,b,b,b,3
False
1,b,b,b,b,b,a,b,a,2
1,a,b,a,b,b,b,b,b,2
False
3,b,b,b,b,b,a,b,a,3
3,a,b,a,b,b,b,b,b,3
False
1,b,b,b,a,a,b,b,a,2
1,a,b,b,a,a,b,b,b,2
False
3,b,b,b,a,a,b,b,a,3
3,a,b,b,a,a,b,b,b,3
False
1,b,b,b,b,a,b,b,a,2
1,a,b,b,a,b,b,b,b,2
False
3,b,b,b,b,a,b,b,a,3
3,a,b,b,a,b,b,b,b,3
False
1,b,b,b,a,b,b,b,a,2
1,a,b,b,b,a,b,b,b,2
False
3,b,b,b,a,b,b,b,a,3
3,a,b,b,b,a,b,b,b,3
False
1,b,b,b,b,b,b,b,a,2
1,a,b,b,b,b,b,b,b,2
False
3,b,b,b,b,b,b,b,a,3
3,a,b,b,b,b,b,b,b,3
False
0,a,a,a,a,a,a,a,b,0
0,b,a,a,a,a,a,a,a,0
False
2,a,a,a,a,a,a,a,b,1
2,b,a,a,a,a,a,a,a,1
False
0,a,a,a,b,a,a,a,b,0
0,b,a,a,a,b,a,a,a,0
False
2,a,a,a,b,a,a,a,b,1
2,b,a,a,a,b,a,a,a,1
False
0,a,a,a,a,b,a,a,b,0
0,b,a,a,b,a,a,a,a,0
False
2,a,a,a,a,b,a,a,b,1
2,b,a,a,b,a,a,a,a,1
False
0,a,a,a,b,b,a,a,b,1
2,b,a,a,b,b,a,a,a,0
False
2,a,a,a,b,b,a,a,b,0
0,b,a,a,b,b,a,a,a,1
False
0,a,a,a,a,a,b,a,b,0
0,b,a,b,a,a,a,a,a,0
False
2,a,a,a,a,a,b,a,b,1
2,b,a,b,a,a,a,a,a,1
False
0,a,a,a,b,a,b,a,b,1
2,b,a,b,a,b,a,a,a,0
False
2,a,a,a,b,a,b,a,b,0
0,b,a,b,a,b,a,a,a,1
False
0,a,a,a,a,b,b,a,b,1
2,b,a,b,b,a,a,a,a,0
False
2,a,a,a,a,b,b,a,b,0
0,b,a,b,b,a,a,a,a,1
False
0,a,a,a,b,b,b,a,b,0
0,b,a,b,b,b,a,a,a,0
False
2,a,a,a,b,b,b,a,b,1
2,b,a,b,b,b,a,a,a,1
False
0,a,a,b,a,a,a,a,b,0
0,b,a,a,a,a,b,a,a,0
False
2,a,a,b,a,a,a,a,b,1
2,b,a,a,a,a,b,a,a,1
False
0,a,a,b,b,a,a,a,b,1
2,b,a,a,a,b,b,a,a,0
False
2,a,a,b,b,a,a,a,b,0
0,b,a,a,a,b,b,a,a,1
False
0,a,a,b,a,b,a,a,b,1
2,b,a,a,b,a,b,a,a,0
False
2,a,a,b,a,b,a,a,b,0
0,b,a,a,b,a,b,a,a,1
False
0,a,a,b,b,b,a,a,b,0
0,b,a,a,b,b,b,a,a,0
False
2,a,a,b,b,b,a,a,b,1
2,b,a,a,b,b,b,a,a,1
False
0,a,a,b,a,a,b,a,b,1
2,b,a,b,a,a,b,a,a,0
False
2,a,a,b,a,a,b,a,b,0
0,b,a,b,a,a,b,a,a,1
False
0,a,a,b,b,a,b,a,b,0
0,b,a,b,a,b,b,a,a,0
False
2,a,a,b,b,a,b,a,b,1
2,b,a,b,a,b,b,a,a,1
False
0,a,a,b,a,b,b,a,b,0
0,b,a,b,b,a,b,a,a,0
False
2,a,a,b,a,b,b,a,b,1
2,b,a,b,b,a,b,a,a,1
False
0,a,a,b,b,b,b,a,b,0
0,b,a,b,b,b,b,a,a,0
False
2,a,a,b,b,b,b,a,b,1
2,b,a,b,b,b,b,a,a,1
False
1,a,a,a,a,a,a,a,b,2
1,b,a,a,a,a,a,a,a,2
False
3,a,a,a,a,a,a,a,b,3
3,b,a,a,a,a,a,a,a,3
False
1,a,a,a,b,a,a,a,b,3
3,b,a,a,a,b,a,a,a,2
False
3,a,a,a,b,a,a,a,b,2
1,b,a,a,a,b,a,a,a,3
False
1,a,a,a,a,b,a,a,b,3
3,b,a,a,b,a,a,a,a,2
False
3,a,a,a,a,b,a,a,b,2
1,b,a,a,b,a,a,a,a,3
False
1,a,a,a,b,b,a,a,b,3
3,b,a,a,b,b,a,a,a,2
False
3,a,a,a,b,b,a,a,b,2
1,b,a,a,b,b,a,a,a,3
False
1,a,a,a,a,a,b,a,b,3
3,b,a,b,a,a,a,a,a,2
False
3,a,a,a,a,a,b,a,b,2
1,b,a,b,a,a,a,a,a,3
False
1,a,a,a,b,a,b,a,b,3
3,b,a,b,a,b,a,a,a,2
False
3,a,a,a,b,a,b,a,b,2
1,b,a,b,a,b,a,a,a,3
False
1,a,a,a,a,b,b,a,b,3
3,b,a,b,b,a,a,a,a,2
False
3,a,a,a,a,b,b,a,b,2
1,b,a,b,b,a,a,a,a,3
False
1,a,a,a,b,b,b,a,b,2
1,b,a,b,b,b,a,a,a,2
False
3,a,a,a,b,b,b,a,b,3
3,b,a,b,b,b,a,a,a,3
False
1,a,a,b,a,a,a,a,b,3
3,b,a,a,a,a,b,a,a,2
False
3,a,a,b,a,a,a,a,b,2
1,b,a,a,a,a,b,a,a,3
False
1,a,a,b,b,a,a,a,b,3
3,b,a,a,a,b,b,a,a,2
False
3,a,a,b,b,a,a,a,b,2
1,b,a,a,a,b,b,a,a,3
False
1,a,a,b,a,b,a,a,b,3
3,b,a,a,b,a,b,a,a,2
False
3,a,a,b,a,b,a,a,b,2
1,b,a,a,b,a,b,a,a,3
False
1,a,a,b,b,b,a,a,b,2
1,b,a,a,b,b,b,a,a,2
False
3,a,a,b,b,b,a,a,b,3
3,b,a,a,b,b,b,a,a,3
False
1,a,a,b,a,a,b,a,b,3
3,b,a,b,a,a,b,a,a,2
False
3,a,a,b,a,a,b,a,b,2
1,b,a,b,a,a,b,a,a,3
False
1,a,a,b,b,a,b,a,b,2
1,b,a,b,a,b,b,a,a,2
False
3,a,a,b,b,a,b,a,b,3
3,b,a,b,a,b,b,a,a,3
False
1,a,a,b,a,b,b,a,b,2
1,b,a,b,b,a,b,a,a,2
False
3,a,a,b,a,b,b,a,b,3
3,b,a,b,b,a,b,a,a,3
False
1,a,a,b,b,b,b,a,b,2
1,b,a,b,b,b,b,a,a,2
False
3,a,a,b,b,b,b,a,b,3
3,b,a,b,b,b,b,a,a,3
False
0,a,a,a,a,a,a,b,b,0
0,b,b,a,a,a,a,a,a,0
False
2,a,a,a,a,a,a,b,b,1
2,b,b,a,a,a,a,a,a,1
False
0,a,a,a,b,a,a,b,b,1
2,b,b,a,a,b,a,a,a,0
False
2,a,a,a,b,a,a,b,b,0
0,b,b,a,a,b,a,a,a,1
False
0,a,a,a,a,b,a,b,b,1
2,b,b,a,b,a,a,a,a,0
False
2,a,a,a,a,b,a,b,b,0
0,b,b,a,b,a,a,a,a,1
False
0,a,a,a,b,b,a,b,b,0
0,b,b,a,b,b,a,a,a,0
False
2,a,a,a,b,b,a,b,b,1
2,b,b,a,b,b,a,a,a,1
False
0,a,a,a,a,a,b,b,b,1
2,b,b,b,a,a,a,a,a,0
False
2,a,a,a,a,a,b,b,b,0
0,b,b,b,a,a,a,a,a,1
False
0,a,a,a,b,a,b,b,b,0
0,b,b,b,a,b,a,a,a,0
False
2,a,a,a,b,a,b,b,b,1
2,b,b,b,a,b,a,a,a,1
False
0,a,a,a,a,b,b,b,b,0
0,b,b,b,b,a,a,a,a,0
False
2,a,a,a,a,b,b,b,b,1
2,b,b,b,b,a,a,a,a,1
False
0,a,a,a,b,b,b,b,b,0
0,b,b,b,b,b,a,a,a,0
False
2,a,a,a,b,b,b,b,b,1
2,b,b,b,b,b,a,a,a,1
False
0,a,a,b,a,a,a,b,b,1
2,b,b,a,a,a,b,a,a,0
False
2,a,a,b,a,a,a,b,b,0
0,b,b,a,a,a,b,a,a,1
False
0,a,a,b,b,a,a,b,b,0
0,b,b,a,a,b,b,a,a,0
False
2,a,a,b,b,a,a,b,b,1
2,b,b,a,a,b,b,a,a,1
False
0,a,a,b,a,b,a,b,b,0
0,b,b,a,b,a,b,a,a,0
False
2,a,a,b,a,b,a,b,b,1
2,b,b,a,b,a,b,a,a,1
False
0,a,a,b,b,b,a,b,b,0
0,b,b,a,b,b,b,a,a,0
False
2,a,a,b,b,b,a,b,b,1
2,b,b,a,b,b,b,a,a,1
False
0,a,a,b,a,a,b,b,b,0
0,b,b,b,a,a,b,a,a,0
False
2,a,a,b,a,a,b,b,b,1
2,b,b,b,a,a,b,a,a,1
False
0,a,a,b,b,a,b,b,b,0
0,b,b,b,a,b,b,a,a,0
False
2,a,a,b,b,a,b,b,b,1
2,b,b,b,a,b,b,a,a,1
False
0,a,a,b,a,b,b,b,b,0
0,b,b,b,b,a,b,a,a,0
False
2,a,a,b,a,b,b,b,b,1
2,b,b,b,b,a,b,a,a,1
False
0,a,a,b,b,b,b,b,b,0
0,b,b,b,b,b,b,a,a,0
False
2,a,a,b,b,b,b,b,b,1
2,b,b,b,b,b,b,a,a,1
False
1,a,a,a,a,a,a,b,b,3
3,b,b,a,a,a,a,a,a,2
False
3,a,a,a,a,a,a,b,b,2
1,b,b,a,a,a,a,a,a,3
False
1,a,a,a,b,a,a,b,b,3
3,b,b,a,a,b,a,a,a,2
False
3,a,a,a,b,a,a,b,b,2
1,b,b,a,a,b,a,a,a,3
False
1,a,a,a,a,b,a,b,b,3
3,b,b,a,b,a,a,a,a,2
False
3,a,a,a,a,b,a,b,b,2
1,b,b,a,b,a,a,a,a,3
False
1,a,a,a,b,b,a,b,b,2
1,b,b,a,b,b,a,a,a,2
False
3,a,a,a,b,b,a,b,b,3
3,b,b,a,b,b,a,a,a,3
False
1,a,a,a,a,a,b,b,b,3
3,b,b,b,a,a,a,a,a,2
False
3,a,a,a,a,a,b,b,b,2
1,b,b,b,a,a,a,a,a,3
False
1,a,a,a,b,a,b,b,b,2
1,b,b,b,a,b,a,a,a,2
False
3,a,a,a,b,a,b,b,b,3
3,b,b,b,a,b,a,a,a,3
False
1,a,a,a,a,b,b,b,b,2
1,b,b,b,b,a,a,a,a,2
False
3,a,a,a,a,b,b,b,b,3
3,b,b,b,b,a,a,a,a,3
False
1,a,a,a,b,b,b,b,b,2
1,b,b,b,b,b,a,a,a,2
False
3,a,a,a,b,b,b,b,b,3
3,b,b,b,b,b,a,a,a,3
False
1,a,a,b,a,a,a,b,b,3
3,b,b,a,a,a,b,a,a,2
False
3,a,a,b,a,a,a,b,b,2
1,b,b,a,a,a,b,a,a,3
False
1,a,a,b,b,a,a,b,b,2
1,b,b,a,a,b,b,a,a,2
False
3,a,a,b,b,a,a,b,b,3
3,b,b,a,a,b,b,a,a,3
False
1,a,a,b,a,b,a,b,b,2
1,b,b,a,b,a,b,a,a,2
False
3,a,a,b,a,b,a,b,b,3
3,b,b,a,b,a,b,a,a,3
False
1,a,a,b,b,b,a,b,b,2
1,b,b,a,b,b,b,a,a,2
False
3,a,a,b,b,b,a,b,b,3
3,b,b,a,b,b,b,a,a,3
False
1,a,a,b,a,a,b,b,b,2
1,b,b,b,a,a,b,a,a,2
False
3,a,a,b,a,a,b,b,b,3
3,b,b,b,a,a,b,a,a,3
False
1,a,a,b,b,a,b,b,b,2
1,b,b,b,a,b,b,a,a,2
False
3,a,a,b,b,a,b,b,b,3
3,b,b,b,a,b,b,a,a,3
False
1,a,a,b,a,b,b,b,b,2
1,b,b,b,b,a,b,a,a,2
False
3,a,a,b,a,b,b,b,b,3
3,b,b,b,b,a,b,a,a,3
False
1,a,a,b,b,b,b,b,b,2
1,b,b,b,b,b,b,a,a,2
False
3,a,a,b,b,b,b,b,b,3
3,b,b,b,b,b,b,a,a,3
False
0,a,b,a,a,a,a,a,b,0
0,b,a,a,a,a,a,b,a,0
False
2,a,b,a,a,a,a,a,b,1
2,b,a,a,a,a,a,b,a,1
False
0,a,b,a,b,a,a,a,b,1
2,b,a,a,a,b,a,b,a,0
False
2,a,b,a,b,a,a,a,b,0
0,b,a,a,a,b,a,b,a,1
False
0,a,b,a,a,b,a,a,b,1
2,b,a,a,b,a,a,b,a,0
False
2,a,b,a,a,b,a,a,b,0
0,b,a,a,b,a,a,b,a,1
False
0,a,b,a,b,b,a,a,b,0
0,b,a,a,b,b,a,b,a,0
False
2,a,b,a,b,b,a,a,b,1
2,b,a,a,b,b,a,b,a,1
False
0,a,b,a,a,a,b,a,b,1
2,b,a,b,a,a,a,b,a,0
False
2,a,b,a,a,a,b,a,b,0
0,b,a,b,a,a,a,b,a,1
False
0,a,b,a,b,a,b,a,b,0
0,b,a,b,a,b,a,b,a,0
False
2,a,b,a,b,a,b,a,b,1
2,b,a,b,a,b,a,b,a,1
False
0,a,b,a,a,b,b,a,b,0
0,b,a,b,b,a,a,b,a,0
False
2,a,b,a,a,b,b,a,b,1
2,b,a,b,b,a,a,b,a,1
False
0,a,b,a,b,b,b,a,b,0
0,b,a,b,b,b,a,b,a,0
False
2,a,b,a,b,b,b,a,b,1
2,b,a,b,b,b,a,b,a,1
False
0,a,b,b,a,a,a,a,b,1
2,b,a,a,a,a,b,b,a,0
False
2,a,b,b,a,a,a,a,b,0
0,b,a,a,a,a,b,b,a,1
False
0,a,b,b,b,a,a,a,b,0
0,b,a,a,a,b,b,b,a,0
False
2,a,b,b,b,a,a,a,b,1
2,b,a,a,a,b,b,b,a,1
False
0,a,b,b,a,b,a,a,b,0
0,b,a,a,b,a,b,b,a,0
False
2,a,b,b,a,b,a,a,b,1
2,b,a,a,b,a,b,b,a,1
False
0,a,b,b,b,b,a,a,b,0
0,b,a,a,b,b,b,b,a,0
False
2,a,b,b,b,b,a,a,b,1
2,b,a,a,b,b,b,b,a,1
False
0,a,b,b,a,a,b,a,b,0
0,b,a,b,a,a,b,b,a,0
False
2,a,b,b,a,a,b,a,b,1
2,b,a,b,a,a,b,b,a,1
False
0,a,b,b,b,a,b,a,b,0
0,b,a,b,a,b,b,b,a,0
False
2,a,b,b,b,a,b,a,b,1
2,b,a,b,a,b,b,b,a,1
False
0,a,b,b,a,b,b,a,b,0
0,b,a,b,b,a,b,b,a,0
False
2,a,b,b,a,b,b,a,b,1
2,b,a,b,b,a,b,b,a,1
False
0,a,b,b,b,b,b,a,b,0
0,b,a,b,b,b,b,b,a,0
False
2,a,b,b,b,b,b,a,b,1
2,b,a,b,b,b,b,b,a,1
False
1,a,b,a,a,a,a,a,b,3
3,b,a,a,a,a,a,b,a,2
False
3,a,b,a,a,a,a,a,b,2
1,b,a,a,a,a,a,b,a,3
False
1,a,b,a,b,a,a,a,b,3
3,b,a,a,a,b,a,b,a,2
False
3,a,b,a,b,a,a,a,b,2
1,b,a,a,a,b,a,b,a,3
False
1,a,b,a,a,b,a,a,b,3
3,b,a,a,b,a,a,b,a,2
False
3,a,b,a,a,b,a,a,b,2
1,b,a,a,b,a,a,b,a,3
False
1,a,b,a,b,b,a,a,b,2
1,b,a,a,b,b,a,b,a,2
False
3,a,b,a,b,b,a,a,b,3
3,b,a,a,b,b,a,b,a,3
False
1,a,b,a,a,a,b,a,b,3
3,b,a,b,a,a,a,b,a,2
False
3,a,b,a,a,a,b,a,b,2
1,b,a,b,a,a,a,b,a,3
False
1,a,b,a,b,a,b,a,b,2
1,b,a,b,a,b,a,b,a,2
False
3,a,b,a,b,a,b,a,b,3
3,b,a,b,a,b,a,b,a,3
False
1,a,b,a,a,b,b,a,b,2
1,b,a,b,b,a,a,b,a,2
False
3,a,b,a,a,b,b,a,b,3
3,b,a,b,b,a,a,b,a,3
False
1,a,b,a,b,b,b,a,b,2
1,b,a,b,b,b,a,b,a,2
False
3,a,b,a,b,b,b,a,b,3
3,b,a,b,b,b,a,b,a,3
False
1,a,b,b,a,a,a,a,b,3
3,b,a,a,a,a,b,b,a,2
False
3,a,b,b,a,a,a,a,b,2
1,b,a,a,a,a,b,b,a,3
False
1,a,b,b,b,a,a,a,b,2
1,b,a,a,a,b,b,b,a,2
False
3,a,b,b,b,a,a,a,b,3
3,b,a,a,a,b,b,b,a,3
False
1,a,b,b,a,b,a,a,b,2
1,b,a,a,b,a,b,b,a,2
False
3,a,b,b,a,b,a,a,b,3
3,b,a,a,b,a,b,b,a,3
False
1,a,b,b,b,b,a,a,b,2
1,b,a,a,b,b,b,b,a,2
False
3,a,b,b,b,b,a,a,b,3
3,b,a,a,b,b,b,b,a,3
False
1,a,b,b,a,a,b,a,b,2
1,b,a,b,a,a,b,b,a,2
False
3,a,b,b,a,a,b,a,b,3
3,b,a,b,a,a,b,b,a,3
False
1,a,b,b,b,a,b,a,b,2
1,b,a,b,a,b,b,b,a,2
False
3,a,b,b,b,a,b,a,b,3
3,b,a,b,a,b,b,b,a,3
False
1,a,b,b,a,b,b,a,b,2
1,b,a,b,b,a,b,b,a,2
False
3,a,b,b,a,b,b,a,b,3
3,b,a,b,b,a,b,b,a,3
False
1,a,b,b,b,b,b,a,b,2
1,b,a,b,b,b,b,b,a,2
False
3,a,b,b,b,b,b,a,b,3
3,b,a,b,b,b,b,b,a,3
False
0,a,b,a,a,a,a,b,b,1
2,b,b,a,a,a,a,b,a,0
False
2,a,b,a,a,a,a,b,b,0
0,b,b,a,a,a,a,b,a,1
False
0,a,b,a,b,a,a,b,b,0
0,b,b,a,a,b,a,b,a,0
False
2,a,b,a,b,a,a,b,b,1
2,b,b,a,a,b,a,b,a,1
False
0,a,b,a,a,b,a,b,b,0
0,b,b,a,b,a,a,b,a,0
False
2,a,b,a,a,b,a,b,b,1
2,b,b,a,b,a,a,b,a,1
False
0,a,b,a,b,b,a,b,b,0
0,b,b,a,b,b,a,b,a,0
False
2,a,b,a,b,b,a,b,b,1
2,b,b,a,b,b,a,b,a,1
False
0,a,b,a,a,a,b,b,b,0
0,b,b,b,a,a,a,b,a,0
False
2,a,b,a,a,a,b,b,b,1
2,b,b,b,a,a,a,b,a,1
False
0,a,b,a,b,a,b,b,b,0
0,b,b,b,a,b,a,b,a,0
False
2,a,b,a,b,a,b,b,b,1
2,b,b,b,a,b,a,b,a,1
False
0,a,b,a,a,b,b,b,b,0
0,b,b,b,b,a,a,b,a,0
False
2,a,b,a,a,b,b,b,b,1
2,b,b,b,b,a,a,b,a,1
False
0,a,b,a,b,b,b,b,b,0
0,b,b,b,b,b,a,b,a,0
False
2,a,b,a,b,b,b,b,b,1
2,b,b,b,b,b,a,b,a,1
False
0,a,b,b,a,a,a,b,b,0
0,b,b,a,a,a,b,b,a,0
False
2,a,b,b,a,a,a,b,b,1
2,b,b,a,a,a,b,b,a,1
False
0,a,b,b,b,a,a,b,b,0
0,b,b,a,a,b,b,b,a,0
False
2,a,b,b,b,a,a,b,b,1
2,b,b,a,a,b,b,b,a,1
False
0,a,b,b,a,b,a,b,b,0
0,b,b,a,b,a,b,b,a,0
False
2,a,b,b,a,b,a,b,b,1
2,b,b,a,b,a,b,b,a,1
False
0,a,b,b,b,b,a,b,b,0
0,b,b,a,b,b,b,b,a,0
False
2,a,b,b,b,b,a,b,b,1
2,b,b,a,b,b,b,b,a,1
False
0,a,b,b,a,a,b,b,b,0
0,b,b,b,a,a,b,b,a,0
False
2,a,b,b,a,a,b,b,b,1
2,b,b,b,a,a,b,b,a,1
False
0,a,b,b,b,a,b,b,b,0
0,b,b,b,a,b,b,b,a,0
False
2,a,b,b,b,a,b,b,b,1
2,b,b,b,a,b,b,b,a,1
False
0,a,b,b,a,b,b,b,b,0
0,b,b,b,b,a,b,b,a,0
False
2,a,b,b,a,b,b,b,b,1
2,b,b,b,b,a,b,b,a,1
False
0,a,b,b,b,b,b,b,b,0
0,b,b,b,b,b,b,b,a,0
False
2,a,b,b,b,b,b,b,b,1
2,b,b,b,b,b,b,b,a,1
False
1,a,b,a,a,a,a,b,b,3
3,b,b,a,a,a,a,b,a,2
False
3,a,b,a,a,a,a,b,b,2
1,b,b,a,a,a,a,b,a,3
False
1,a,b,a,b,a,a,b,b,2
1,b,b,a,a,b,a,b,a,2
False
3,a,b,a,b,a,a,b,b,3
3,b,b,a,a,b,a,b,a,3
False
1,a,b,a,a,b,a,b,b,2
1,b,b,a,b,a,a,b,a,2
False
3,a,b,a,a,b,a,b,b,3
3,b,b,a,b,a,a,b,a,3
False
1,a,b,a,b,b,a,b,b,2
1,b,b,a,b,b,a,b,a,2
False
3,a,b,a,b,b,a,b,b,3
3,b,b,a,b,b,a,b,a,3
False
1,a,b,a,a,a,b,b,b,2
1,b,b,b,a,a,a,b,a,2
False
3,a,b,a,a,a,b,b,b,3
3,b,b,b,a,a,a,b,a,3
False
1,a,b,a,b,a,b,b,b,2
1,b,b,b,a,b,a,b,a,2
False
3,a,b,a,b,a,b,b,b,3
3,b,b,b,a,b,a,b,a,3
False
1,a,b,a,a,b,b,b,b,2
1,b,b,b,b,a,a,b,a,2
False
3,a,b,a,a,b,b,b,b,3
3,b,b,b,b,a,a,b,a,3
False
1,a,b,a,b,b,b,b,b,2
1,b,b,b,b,b,a,b,a,2
False
3,a,b,a,b,b,b,b,b,3
3,b,b,b,b,b,a,b,a,3
False
1,a,b,b,a,a,a,b,b,2
1,b,b,a,a,a,b,b,a,2
False
3,a,b,b,a,a,a,b,b,3
3,b,b,a,a,a,b,b,a,3
False
1,a,b,b,b,a,a,b,b,2
1,b,b,a,a,b,b,b,a,2
False
3,a,b,b,b,a,a,b,b,3
3,b,b,a,a,b,b,b,a,3
False
1,a,b,b,a,b,a,b,b,2
1,b,b,a,b,a,b,b,a,2
False
3,a,b,b,a,b,a,b,b,3
3,b,b,a,b,a,b,b,a,3
False
1,a,b,b,b,b,a,b,b,2
1,b,b,a,b,b,b,b,a,2
False
3,a,b,b,b,b,a,b,b,3
3,b,b,a,b,b,b,b,a,3
False
1,a,b,b,a,a,b,b,b,2
1,b,b,b,a,a,b,b,a,2
False
3,a,b,b,a,a,b,b,b,3
3,b,b,b,a,a,b,b,a,3
False
1,a,b,b,b,a,b,b,b,2
1,b,b,b,a,b,b,b,a,2
False
3,a,b,b,b,a,b,b,b,3
3,b,b,b,a,b,b,b,a,3
False
1,a,b,b,a,b,b,b,b,2
1,b,b,b,b,a,b,b,a,2
False
3,a,b,b,a,b,b,b,b,3
3,b,b,b,b,a,b,b,a,3
False
1,a,b,b,b,b,b,b,b,2
1,b,b,b,b,b,b,b,a,2
False
3,a,b,b,b,b,b,b,b,3
3,b,b,b,b,b,b,b,a,3
False
0,b,a,a,a,a,a,a,b,0
0,b,a,a,a,a,a,a,b,0
True
2,b,a,a,a,a,a,a,b,1
2,b,a,a,a,a,a,a,b,1
True
0,b,a,a,b,a,a,a,b,1
2,b,a,a,a,b,a,a,b,0
False
2,b,a,a,b,a,a,a,b,0
0,b,a,a,a,b,a,a,b,1
False
0,b,a,a,a,b,a,a,b,1
2,b,a,a,b,a,a,a,b,0
False
2,b,a,a,a,b,a,a,b,0
0,b,a,a,b,a,a,a,b,1
False
0,b,a,a,b,b,a,a,b,0
0,b,a,a,b,b,a,a,b,0
True
2,b,a,a,b,b,a,a,b,1
2,b,a,a,b,b,a,a,b,1
True
0,b,a,a,a,a,b,a,b,1
2,b,a,b,a,a,a,a,b,0
False
2,b,a,a,a,a,b,a,b,0
0,b,a,b,a,a,a,a,b,1
False
0,b,a,a,b,a,b,a,b,0
0,b,a,b,a,b,a,a,b,0
False
2,b,a,a,b,a,b,a,b,1
2,b,a,b,a,b,a,a,b,1
False
0,b,a,a,a,b,b,a,b,0
0,b,a,b,b,a,a,a,b,0
False
2,b,a,a,a,b,b,a,b,1
2,b,a,b,b,a,a,a,b,1
False
0,b,a,a,b,b,b,a,b,0
0,b,a,b,b,b,a,a,b,0
False
2,b,a,a,b,b,b,a,b,1
2,b,a,b,b,b,a,a,b,1
False
0,b,a,b,a,a,a,a,b,1
2,b,a,a,a,a,b,a,b,0
False
2,b,a,b,a,a,a,a,b,0
0,b,a,a,a,a,b,a,b,1
False
0,b,a,b,b,a,a,a,b,0
0,b,a,a,a,b,b,a,b,0
False
2,b,a,b,b,a,a,a,b,1
2,b,a,a,a,b,b,a,b,1
False
0,b,a,b,a,b,a,a,b,0
0,b,a,a,b,a,b,a,b,0
False
2,b,a,b,a,b,a,a,b,1
2,b,a,a,b,a,b,a,b,1
False
0,b,a,b,b,b,a,a,b,0
0,b,a,a,b,b,b,a,b,0
False
2,b,a,b,b,b,a,a,b,1
2,b,a,a,b,b,b,a,b,1
False
0,b,a,b,a,a,b,a,b,0
0,b,a,b,a,a,b,a,b,0
True
2,b,a,b,a,a,b,a,b,1
2,b,a,b,a,a,b,a,b,1
True
0,b,a,b,b,a,b,a,b,0
0,b,a,b,a,b,b,a,b,0
False
2,b,a,b,b,a,b,a,b,1
2,b,a,b,a,b,b,a,b,1
False
0,b,a,b,a,b,b,a,b,0
0,b,a,b,b,a,b,a,b,0
False
2,b,a,b,a,b,b,a,b,1
2,b,a,b,b,a,b,a,b,1
False
0,b,a,b,b,b,b,a,b,0
0,b,a,b,b,b,b,a,b,0
True
2,b,a,b,b,b,b,a,b,1
2,b,a,b,b,b,b,a,b,1
True
1,b,a,a,a,a,a,a,b,3
3,b,a,a,a,a,a,a,b,2
False
3,b,a,a,a,a,a,a,b,2
1,b,a,a,a,a,a,a,b,3
False
1,b,a,a,b,a,a,a,b,3
3,b,a,a,a,b,a,a,b,2
False
3,b,a,a,b,a,a,a,b,2
1,b,a,a,a,b,a,a,b,3
False
1,b,a,a,a,b,a,a,b,3
3,b,a,a,b,a,a,a,b,2
False
3,b,a,a,a,b,a,a,b,2
1,b,a,a,b,a,a,a,b,3
False
1,b,a,a,b,b,a,a,b,2
1,b,a,a,b,b,a,a,b,2
True
3,b,a,a,b,b,a,a,b,3
3,b,a,a,b,b,a,a,b,3
True
1,b,a,a,a,a,b,a,b,3
3,b,a,b,a,a,a,a,b,2
False
3,b,a,a,a,a,b,a,b,2
1,b,a,b,a,a,a,a,b,3
False
1,b,a,a,b,a,b,a,b,2
1,b,a,b,a,b,a,a,b,2
False
3,b,a,a,b,a,b,a,b,3
3,b,a,b,a,b,a,a,b,3
False
1,b,a,a,a,b,b,a,b,2
1,b,a,b,b,a,a,a,b,2
False
3,b,a,a,a,b,b,a,b,3
3,b,a,b,b,a,a,a,b,3
False
1,b,a,a,b,b,b,a,b,2
1,b,a,b,b,b,a,a,b,2
False
3,b,a,a,b,b,b,a,b,3
3,b,a,b,b,b,a,a,b,3
False
1,b,a,b,a,a,a,a,b,3
3,b,a,a,a,a,b,a,b,2
False
3,b,a,b,a,a,a,a,b,2
1,b,a,a,a,a,b,a,b,3
False
1,b,a,b,b,a,a,a,b,2
1,b,a,a,a,b,b,a,b,2
False
3,b,a,b,b,a,a,a,b,3
3,b,a,a,a,b,b,a,b,3
False
1,b,a,b,a,b,a,a,b,2
1,b,a,a,b,a,b,a,b,2
False
3,b,a,b,a,b,a,a,b,3
3,b,a,a,b,a,b,a,b,3
False
1,b,a,b,b,b,a,a,b,2
1,b,a,a,b,b,b,a,b,2
False
3,b,a,b,b,b,a,a,b,3
3,b,a,a,b,b,b,a,b,3
False
1,b,a,b,a,a,b,a,b,2
1,b,a,b,a,a,b,a,b,2
True
3,b,a,b,a,a,b,a,b,3
3,b,a,b,a,a,b,a,b,3
True
1,b,a,b,b,a,b,a,b,2
1,b,a,b,a,b,b,a,b,2
False
3,b,a,b,b,a,b,a,b,3
3,b,a,b,a,b,b,a,b,3
False
1,b,a,b,a,b,b,a,b,2
1,b,a,b,b,a,b,a,b,2
False
3,b,a,b,a,b,b,a,b,3
3,b,a,b,b,a,b,a,b,3
False
1,b,a,b,b,b,b,a,b,2
1,b,a,b,b,b,b,a,b,2
True
3,b,a,b,b,b,b,a,b,3
3,b,a,b,b,b,b,a,b,3
True
0,b,a,a,a,a,a,b,b,1
2,b,b,a,a,a,a,a,b,0
False
2,b,a,a,a,a,a,b,b,0
0,b,b,a,a,a,a,a,b,1
False
0,b,a,a,b,a,a,b,b,0
0,b,b,a,a,b,a,a,b,0
False
2,b,a,a,b,a,a,b,b,1
2,b,b,a,a,b,a,a,b,1
False
0,b,a,a,a,b,a,b,b,0
0,b,b,a,b,a,a,a,b,0
False
2,b,a,a,a,b,a,b,b,1
2,b,b,a,b,a,a,a,b,1
False
0,b,a,a,b,b,a,b,b,0
0,b,b,a,b,b,a,a,b,0
False
2,b,a,a,b,b,a,b,b,1
2,b,b,a,b,b,a,a,b,1
False
0,b,a,a,a,a,b,b,b,0
0,b,b,b,a,a,a,a,b,0
False
2,b,a,a,a,a,b,b,b,1
2,b,b,b,a,a,a,a,b,1
False
0,b,a,a,b,a,b,b,b,0
0,b,b,b,a,b,a,a,b,0
False
2,b,a,a,b,a,b,b,b,1
2,b,b,b,a,b,a,a,b,1
False
0,b,a,a,a,b,b,b,b,0
0,b,b,b,b,a,a,a,b,0
False
2,b,a,a,a,b,b,b,b,1
2,b,b,b,b,a,a,a,b,1
False
0,b,a,a,b,b,b,b,b,0
0,b,b,b,b,b,a,a,b,0
False
2,b,a,a,b,b,b,b,b,1
2,b,b,b,b,b,a,a,b,1
False
0,b,a,b,a,a,a,b,b,0
0,b,b,a,a,a,b,a,b,0
False
2,b,a,b,a,a,a,b,b,1
2,b,b,a,a,a,b,a,b,1
False
0,b,a,b,b,a,a,b,b,0
0,b,b,a,a,b,b,a,b,0
False
2,b,a,b,b,a,a,b,b,1
2,b,b,a,a,b,b,a,b,1
False
0,b,a,b,a,b,a,b,b,0
0,b,b,a,b,a,b,a,b,0
False
2,b,a,b,a,b,a,b,b,1
2,b,b,a,b,a,b,a,b,1
False
0,b,a,b,b,b,a,b,b,0
0,b,b,a,b,b,b,a,b,0
False
2,b,a,b,b,b,a,b,b,1
2,b,b,a,b,b,b,a,b,1
False
0,b,a,b,a,a,b,b,b,0
0,b,b,b,a,a,b,a,b,0
False
2,b,a,b,a,a,b,b,b,1
2,b,b,b,a,a,b,a,b,1
False
0,b,a,b,b,a,b,b,b,0
0,b,b,b,a,b,b,a,b,0
False
2,b,a,b,b,a,b,b,b,1
2,b,b,b,a,b,b,a,b,1
False
0,b,a,b,a,b,b,b,b,0
0,b,b,b,b,a,b,a,b,0
False
2,b,a,b,a,b,b,b,b,1
2,b,b,b,b,a,b,a,b,1
False
0,b,a,b,b,b,b,b,b,0
0,b,b,b,b,b,b,a,b,0
False
2,b,a,b,b,b,b,b,b,1
2,b,b,b,b,b,b,a,b,1
False
1,b,a,a,a,a,a,b,b,3
3,b,b,a,a,a,a,a,b,2
False
3,b,a,a,a,a,a,b,b,2
1,b,b,a,a,a,a,a,b,3
False
1,b,a,a,b,a,a,b,b,2
1,b,b,a,a,b,a,a,b,2
False
3,b,a,a,b,a,a,b,b,3
3,b,b,a,a,b,a,a,b,3
False
1,b,a,a,a,b,a,b,b,2
1,b,b,a,b,a,a,a,b,2
False
3,b,a,a,a,b,a,b,b,3
3,b,b,a,b,a,a,a,b,3
False
1,b,a,a,b,b,a,b,b,2
1,b,b,a,b,b,a,a,b,2
False
3,b,a,a,b,b,a,b,b,3
3,b,b,a,b,b,a,a,b,3
False
1,b,a,a,a,a,b,b,b,2
1,b,b,b,a,a,a,a,b,2
False
3,b,a,a,a,a,b,b,b,3
3,b,b,b,a,a,a,a,b,3
False
1,b,a,a,b,a,b,b,b,2
1,b,b,b,a,b,a,a,b,2
False
3,b,a,a,b,a,b,b,b,3
3,b,b,b,a,b,a,a,b,3
False
1,b,a,a,a,b,b,b,b,2
1,b,b,b,b,a,a,a,b,2
False
3,b,a,a,a,b,b,b,b,3
3,b,b,b,b,a,a,a,b,3
False
1,b,a,a,b,b,b,b,b,2
1,b,b,b,b,b,a,a,b,2
False
3,b,a,a,b,b,b,b,b,3
3,b,b,b,b,b,a,a,b,3
False
1,b,a,b,a,a,a,b,b,2
1,b,b,a,a,a,b,a,b,2
False
3,b,a,b,a,a,a,b,b,3
3,b,b,a,a,a,b,a,b,3
False
1,b,a,b,b,a,a,b,b,2
1,b,b,a,a,b,b,a,b,2
False
3,b,a,b,b,a,a,b,b,3
3,b,b,a,a,b,b,a,b,3
False
1,b,a,b,a,b,a,b,b,2
1,b,b,a,b,a,b,a,b,2
False
3,b,a,b,a,b,a,b,b,3
3,b,b,a,b,a,b,a,b,3
False
1,b,a,b,b,b,a,b,b,2
1,b,b,a,b,b,b,a,b,2
False
3,b,a,b,b,b,a,b,b,3
3,b,b,a,b,b,b,a,b,3
False
1,b,a,b,a,a,b,b,b,2
1,b,b,b,a,a,b,a,b,2
False
3,b,a,b,a,a,b,b,b,3
3,b,b,b,a,a,b,a,b,3
False
1,b,a,b,b,a,b,b,b,2
1,b,b,b,a,b,b,a,b,2
False
3,b,a,b,b,a,b,b,b,3
3,b,b,b,a,b,b,a,b,3
False
1,b,a,b,a,b,b,b,b,2
1,b,b,b,b,a,b,a,b,2
False
3,b,a,b,a,b,b,b,b,3
3,b,b,b,b,a,b,a,b,3
False
1,b,a,b,b,b,b,b,b,2
1,b,b,b,b,b,b,a,b,2
False
3,b,a,b,b,b,b,b,b,3
3,b,b,b,b,b,b,a,b,3
False
0,b,b,a,a,a,a,a,b,1
2,b,a,a,a,a,a,b,b,0
False
2,b,b,a,a,a,a,a,b,0
0,b,a,a,a,a,a,b,b,1
False
0,b,b,a,b,a,a,a,b,0
0,b,a,a,a,b,a,b,b,0
False
2,b,b,a,b,a,a,a,b,1
2,b,a,a,a,b,a,b,b,1
False
0,b,b,a,a,b,a,a,b,0
0,b,a,a,b,a,a,b,b,0
False
2,b,b,a,a,b,a,a,b,1
2,b,a,a,b,a,a,b,b,1
False
0,b,b,a,b,b,a,a,b,0
0,b,a,a,b,b,a,b,b,0
False
2,b,b,a,b,b,a,a,b,1
2,b,a,a,b,b,a,b,b,1
False
0,b,b,a,a,a,b,a,b,0
0,b,a,b,a,a,a,b,b,0
False
2,b,b,a,a,a,b,a,b,1
2,b,a,b,a,a,a,b,b,1
False
0,b,b,a,b,a,b,a,b,0
0,b,a,b,a,b,a,b,b,0
False
2,b,b,a,b,a,b,a,b,1
2,b,a,b,a,b,a,b,b,1
False
0,b,b,a,a,b,b,a,b,0
0,b,a,b,b,a,a,b,b,0
False
2,b,b,a,a,b,b,a,b,1
2,b,a,b,b,a,a,b,b,1
False
0,b,b,a,b,b,b,a,b,0
0,b,a,b,b,b,a,b,b,0
False
2,b,b,a,b,b,b,a,b,1
2,b,a,b,b,b,a,b,b,1
False
0,b,b,b,a,a,a,a,b,0
0,b,a,a,a,a,b,b,b,0
False
2,b,b,b,a,a,a,a,b,1
2,b,a,a,a,a,b,b,b,1
False
0,b,b,b,b,a,a,a,b,0
0,b,a,a,a,b,b,b,b,0
False
2,b,b,b,b,a,a,a,b,1
2,b,a,a,a,b,b,b,b,1
False
0,b,b,b,a,b,a,a,b,0
0,b,a,a,b,a,b,b,b,0
False
2,b,b,b,a,b,a,a,b,1
2,b,a,a,b,a,b,b,b,1
False
0,b,b,b,b,b,a,a,b,0
0,b,a,a,b,b,b,b,b,0
False
2,b,b,b,b,b,a,a,b,1
2,b,a,a,b,b,b,b,b,1
False
0,b,b,b,a,a,b,a,b,0
0,b,a,b,a,a,b,b,b,0
False
2,b,b,b,a,a,b,a,b,1
2,b,a,b,a,a,b,b,b,1
False
0,b,b,b,b,a,b,a,b,0
0,b,a,b,a,b,b,b,b,0
False
2,b,b,b,b,a,b,a,b,1
2,b,a,b,a,b,b,b,b,1
False
0,b,b,b,a,b,b,a,b,0
0,b,a,b,b,a,b,b,b,0
False
2,b,b,b,a,b,b,a,b,1
2,b,a,b,b,a,b,b,b,1
False
0,b,b,b,b,b,b,a,b,0
0,b,a,b,b,b,b,b,b,0
False
2,b,b,b,b,b,b,a,b,1
2,b,a,b,b,b,b,b,b,1
False
1,b,b,a,a,a,a,a,b,3
3,b,a,a,a,a,a,b,b,2
False
3,b,b,a,a,a,a,a,b,2
1,b,a,a,a,a,a,b,b,3
False
1,b,b,a,b,a,a,a,b,2
1,b,a,a,a,b,a,b,b,2
False
3,b,b,a,b,a,a,a,b,3
3,b,a,a,a,b,a,b,b,3
False
1,b,b,a,a,b,a,a,b,2
1,b,a,a,b,a,a,b,b,2
False
3,b,b,a,a,b,a,a,b,3
3,b,a,a,b,a,a,b,b,3
False
1,b,b,a,b,b,a,a,b,2
1,b,a,a,b,b,a,b,b,2
False
3,b,b,a,b,b,a,a,b,3
3,b,a,a,b,b,a,b,b,3
False
1,b,b,a,a,a,b,a,b,2
1,b,a,b,a,a,a,b,b,2
False
3,b,b,a,a,a,b,a,b,3
3,b,a,b,a,a,a,b,b,3
False
1,b,b,a,b,a,b,a,b,2
1,b,a,b,a,b,a,b,b,2
False
3,b,b,a,b,a,b,a,b,3
3,b,a,b,a,b,a,b,b,3
False
1,b,b,a,a,b,b,a,b,2
1,b,a,b,b,a,a,b,b,2
False
3,b,b,a,a,b,b,a,b,3
3,b,a,b,b,a,a,b,b,3
False
1,b,b,a,b,b,b,a,b,2
1,b,a,b,b,b,a,b,b,2
False
3,b,b,a,b,b,b,a,b,3
3,b,a,b,b,b,a,b,b,3
False
1,b,b,b,a,a,a,a,b,2
1,b,a,a,a,a,b,b,b,2
False
3,b,b,b,a,a,a,a,b,3
3,b,a,a,a,a,b,b,b,3
False
1,b,b,b,b,a,a,a,b,2
1,b,a,a,a,b,b,b,b,2
False
3,b,b,b,b,a,a,a,b,3
3,b,a,a,a,b,b,b,b,3
False
1,b,b,b,a,b,a,a,b,2
1,b,a,a,b,a,b,b,b,2
False
3,b,b,b,a,b,a,a,b,3
3,b,a,a,b,a,b,b,b,3
False
1,b,b,b,b,b,a,a,b,2
1,b,a,a,b,b,b,b,b,2
False
3,b,b,b,b,b,a,a,b,3
3,b,a,a,b,b,b,b,b,3
False
1,b,b,b,a,a,b,a,b,2
1,b,a,b,a,a,b,b,b,2
False
3,b,b,b,a,a,b,a,b,3
3,b,a,b,a,a,b,b,b,3
False
1,b,b,b,b,a,b,a,b,2
1,b,a,b,a,b,b,b,b,2
False
3,b,b,b,b,a,b,a,b,3
3,b,a,b,a,b,b,b,b,3
False
1,b,b,b,a,b,b,a,b,2
1,b,a,b,b,a,b,b,b,2
False
3,b,b,b,a,b,b,a,b,3
3,b,a,b,b,a,b,b,b,3
False
1,b,b,b,b,b,b,a,b,2
1,b,a,b,b,b,b,b,b,2
False
3,b,b,b,b,b,b,a,b,3
3,b,a,b,b,b,b,b,b,3
False
0,b,b,a,a,a,a,b,b,0
0,b,b,a,a,a,a,b,b,0
True
2,b,b,a,a,a,a,b,b,1
2,b,b,a,a,a,a,b,b,1
True
0,b,b,a,b,a,a,b,b,0
0,b,b,a,a,b,a,b,b,0
False
2,b,b,a,b,a,a,b,b,1
2,b,b,a,a,b,a,b,b,1
False
0,b,b,a,a,b,a,b,b,0
0,b,b,a,b,a,a,b,b,0
False
2,b,b,a,a,b,a,b,b,1
2,b,b,a,b,a,a,b,b,1
False
0,b,b,a,b,b,a,b,b,0
0,b,b,a,b,b,a,b,b,0
True
2,b,b,a,b,b,a,b,b,1
2,b,b,a,b,b,a,b,b,1
True
0,b,b,a,a,a,b,b,b,0
0,b,b,b,a,a,a,b,b,0
False
2,b,b,a,a,a,b,b,b,1
2,b,b,b,a,a,a,b,b,1
False
0,b,b,a,b,a,b,b,b,0
0,b,b,b,a,b,a,b,b,0
False
2,b,b,a,b,a,b,b,b,1
2,b,b,b,a,b,a,b,b,1
False
0,b,b,a,a,b,b,b,b,0
0,b,b,b,b,a,a,b,b,0
False
2,b,b,a,a,b,b,b,b,1
2,b,b,b,b,a,a,b,b,1
False
0,b,b,a,b,b,b,b,b,0
0,b,b,b,b,b,a,b,b,0
False
2,b,b,a,b,b,b,b,b,1
2,b,b,b,b,b,a,b,b,1
False
0,b,b,b,a,a,a,b,b,0
0,b,b,a,a,a,b,b,b,0
False
2,b,b,b,a,a,a,b,b,1
2,b,b,a,a,a,b,b,b,1
False
0,b,b,b,b,a,a,b,b,0
0,b,b,a,a,b,b,b,b,0
False
2,b,b,b,b,a,a,b,b,1
2,b,b,a,a,b,b,b,b,1
False
0,b,b,b,a,b,a,b,b,0
0,b,b,a,b,a,b,b,b,0
False
2,b,b,b,a,b,a,b,b,1
2,b,b,a,b,a,b,b,b,1
False
0,b,b,b,b,b,a,b,b,0
0,b,b,a,b,b,b,b,b,0
False
2,b,b,b,b,b,a,b,b,1
2,b,b,a,b,b,b,b,b,1
False
0,b,b,b,a,a,b,b,b,0
0,b,b,b,a,a,b,b,b,0
True
2,b,b,b,a,a,b,b,b,1
2,b,b,b,a,a,b,b,b,1
True
0,b,b,b,b,a,b,b,b,0
0,b,b,b,a,b,b,b,b,0
False
2,b,b,b,b,a,b,b,b,1
2,b,b,b,a,b,b,b,b,1
False
0,b,b,b,a,b,b,b,b,0
0,b,b,b,b,a,b,b,b,0
False
2,b,b,b,a,b,b,b,b,1
2,b,b,b,b,a,b,b,b,1
False
0,b,b,b,b,b,b,b,b,0
0,b,b,b,b,b,b,b,b,0
True
2,b,b,b,b,b,b,b,b,1
2,b,b,b,b,b,b,b,b,1
True
1,b,b,a,a,a,a,b,b,2
1,b,b,a,a,a,a,b,b,2
True
3,b,b,a,a,a,a,b,b,3
3,b,b,a,a,a,a,b,b,3
True
1,b,b,a,b,a,a,b,b,2
1,b,b,a,a,b,a,b,b,2
False
3,b,b,a,b,a,a,b,b,3
3,b,b,a,a,b,a,b,b,3
False
1,b,b,a,a,b,a,b,b,2
1,b,b,a,b,a,a,b,b,2
False
3,b,b,a,a,b,a,b,b,3
3,b,b,a,b,a,a,b,b,3
False
1,b,b,a,b,b,a,b,b,2
1,b,b,a,b,b,a,b,b,2
True
3,b,b,a,b,b,a,b,b,3
3,b,b,a,b,b,a,b,b,3
True
1,b,b,a,a,a,b,b,b,2
1,b,b,b,a,a,a,b,b,2
False
3,b,b,a,a,a,b,b,b,3
3,b,b,b,a,a,a,b,b,3
False
1,b,b,a,b,a,b,b,b,2
1,b,b,b,a,b,a,b,b,2
False
3,b,b,a,b,a,b,b,b,3
3,b,b,b,a,b,a,b,b,3
False
1,b,b,a,a,b,b,b,b,2
1,b,b,b,b,a,a,b,b,2
False
3,b,b,a,a,b,b,b,b,3
3,b,b,b,b,a,a,b,b,3
False
1,b,b,a,b,b,b,b,b,2
1,b,b,b,b,b,a,b,b,2
False
3,b,b,a,b,b,b,b,b,3
3,b,b,b,b,b,a,b,b,3
False
1,b,b,b,a,a,a,b,b,2
1,b,b,a,a,a,b,b,b,2
False
3,b,b,b,a,a,a,b,b,3
3,b,b,a,a,a,b,b,b,3
False
1,b,b,b,b,a,a,b,b,2
1,b,b,a,a,b,b,b,b,2
False
3,b,b,b,b,a,a,b,b,3
3,b,b,a,a,b,b,b,b,3
False
1,b,b,b,a,b,a,b,b,2
1,b,b,a,b,a,b,b,b,2
False
3,b,b,b,a,b,a,b,b,3
3,b,b,a,b,a,b,b,b,3
False
1,b,b,b,b,b,a,b,b,2
1,b,b,a,b,b,b,b,b,2
False
3,b,b,b,b,b,a,b,b,3
3,b,b,a,b,b,b,b,b,3
False
1,b,b,b,a,a,b,b,b,2
1,b,b,b,a,a,b,b,b,2
True
3,b,b,b,a,a,b,b,b,3
3,b,b,b,a,a,b,b,b,3
True
1,b,b,b,b,a,b,b,b,2
1,b,b,b,a,b,b,b,b,2
False
3,b,b,b,b,a,b,b,b,3
3,b,b,b,a,b,b,b,b,3
False
1,b,b,b,a,b,b,b,b,2
1,b,b,b,b,a,b,b,b,2
False
3,b,b,b,a,b,b,b,b,3
3,b,b,b,b,a,b,b,b,3
False
1,b,b,b,b,b,b,b,b,2
1,b,b,b,b,b,b,b,b,2
True
3,b,b,b,b,b,b,b,b,3
3,b,b,b,b,b,b,b,b,3
True
@RULE rev_b3aceijknqrys3aceijknqry2aceikn
@TABLE
n_States:4
neighborhood:Moore
symmetries:none
var a0={0,2} ### curr0
var b0={1,3} ### curr1
var a1={0,2} ### curr0
var b1={1,3} ### curr1
var a2={0,2} ### curr0
var b2={1,3} ### curr1
var a3={0,2} ### curr0
var b3={1,3} ### curr1
var a4={0,2} ### curr0
var b4={1,3} ### curr1
var a5={0,2} ### curr0
var b5={1,3} ### curr1
var a6={0,2} ### curr0
var b6={1,3} ### curr1
var a7={0,2} ### curr0
var b7={1,3} ### curr1
#>>>TAB<<<
0,a,a,a,a,a,a,a,a,0
2,a,a,a,a,a,a,a,a,1
0,a,a,a,b,a,a,a,a,0
2,a,a,a,b,a,a,a,a,1
0,a,a,a,a,b,a,a,a,0
2,a,a,a,a,b,a,a,a,1
0,a,a,a,b,b,a,a,a,0
2,a,a,a,b,b,a,a,a,1
0,a,a,a,a,a,b,a,a,0
2,a,a,a,a,a,b,a,a,1
0,a,a,a,b,a,b,a,a,0
2,a,a,a,b,a,b,a,a,1
0,a,a,a,a,b,b,a,a,0
2,a,a,a,a,b,b,a,a,1
0,a,a,a,b,b,b,a,a,1
2,a,a,a,b,b,b,a,a,0
0,a,a,b,a,a,a,a,a,0
2,a,a,b,a,a,a,a,a,1
0,a,a,b,b,a,a,a,a,0
2,a,a,b,b,a,a,a,a,1
0,a,a,b,a,b,a,a,a,0
2,a,a,b,a,b,a,a,a,1
0,a,a,b,b,b,a,a,a,1
2,a,a,b,b,b,a,a,a,0
0,a,a,b,a,a,b,a,a,0
2,a,a,b,a,a,b,a,a,1
0,a,a,b,b,a,b,a,a,1
2,a,a,b,b,a,b,a,a,0
0,a,a,b,a,b,b,a,a,1
2,a,a,b,a,b,b,a,a,0
0,a,a,b,b,b,b,a,a,0
2,a,a,b,b,b,b,a,a,1
1,a,a,a,a,a,a,a,a,2
3,a,a,a,a,a,a,a,a,3
1,a,a,a,b,a,a,a,a,2
3,a,a,a,b,a,a,a,a,3
1,a,a,a,a,b,a,a,a,2
3,a,a,a,a,b,a,a,a,3
1,a,a,a,b,b,a,a,a,3
3,a,a,a,b,b,a,a,a,2
1,a,a,a,a,a,b,a,a,2
3,a,a,a,a,a,b,a,a,3
1,a,a,a,b,a,b,a,a,3
3,a,a,a,b,a,b,a,a,2
1,a,a,a,a,b,b,a,a,3
3,a,a,a,a,b,b,a,a,2
1,a,a,a,b,b,b,a,a,3
3,a,a,a,b,b,b,a,a,2
1,a,a,b,a,a,a,a,a,2
3,a,a,b,a,a,a,a,a,3
1,a,a,b,b,a,a,a,a,3
3,a,a,b,b,a,a,a,a,2
1,a,a,b,a,b,a,a,a,3
3,a,a,b,a,b,a,a,a,2
1,a,a,b,b,b,a,a,a,3
3,a,a,b,b,b,a,a,a,2
1,a,a,b,a,a,b,a,a,3
3,a,a,b,a,a,b,a,a,2
1,a,a,b,b,a,b,a,a,3
3,a,a,b,b,a,b,a,a,2
1,a,a,b,a,b,b,a,a,3
3,a,a,b,a,b,b,a,a,2
1,a,a,b,b,b,b,a,a,2
3,a,a,b,b,b,b,a,a,3
0,a,a,a,a,a,a,b,a,0
2,a,a,a,a,a,a,b,a,1
0,a,a,a,b,a,a,b,a,0
2,a,a,a,b,a,a,b,a,1
0,a,a,a,a,b,a,b,a,0
2,a,a,a,a,b,a,b,a,1
0,a,a,a,b,b,a,b,a,1
2,a,a,a,b,b,a,b,a,0
0,a,a,a,a,a,b,b,a,0
2,a,a,a,a,a,b,b,a,1
0,a,a,a,b,a,b,b,a,1
2,a,a,a,b,a,b,b,a,0
0,a,a,a,a,b,b,b,a,1
2,a,a,a,a,b,b,b,a,0
0,a,a,a,b,b,b,b,a,0
2,a,a,a,b,b,b,b,a,1
0,a,a,b,a,a,a,b,a,0
2,a,a,b,a,a,a,b,a,1
0,a,a,b,b,a,a,b,a,1
2,a,a,b,b,a,a,b,a,0
0,a,a,b,a,b,a,b,a,1
2,a,a,b,a,b,a,b,a,0
0,a,a,b,b,b,a,b,a,0
2,a,a,b,b,b,a,b,a,1
0,a,a,b,a,a,b,b,a,1
2,a,a,b,a,a,b,b,a,0
0,a,a,b,b,a,b,b,a,0
2,a,a,b,b,a,b,b,a,1
0,a,a,b,a,b,b,b,a,0
2,a,a,b,a,b,b,b,a,1
0,a,a,b,b,b,b,b,a,0
2,a,a,b,b,b,b,b,a,1
1,a,a,a,a,a,a,b,a,2
3,a,a,a,a,a,a,b,a,3
1,a,a,a,b,a,a,b,a,3
3,a,a,a,b,a,a,b,a,2
1,a,a,a,a,b,a,b,a,3
3,a,a,a,a,b,a,b,a,2
1,a,a,a,b,b,a,b,a,3
3,a,a,a,b,b,a,b,a,2
1,a,a,a,a,a,b,b,a,3
3,a,a,a,a,a,b,b,a,2
1,a,a,a,b,a,b,b,a,3
3,a,a,a,b,a,b,b,a,2
1,a,a,a,a,b,b,b,a,3
3,a,a,a,a,b,b,b,a,2
1,a,a,a,b,b,b,b,a,2
3,a,a,a,b,b,b,b,a,3
1,a,a,b,a,a,a,b,a,3
3,a,a,b,a,a,a,b,a,2
1,a,a,b,b,a,a,b,a,3
3,a,a,b,b,a,a,b,a,2
1,a,a,b,a,b,a,b,a,3
3,a,a,b,a,b,a,b,a,2
1,a,a,b,b,b,a,b,a,2
3,a,a,b,b,b,a,b,a,3
1,a,a,b,a,a,b,b,a,3
3,a,a,b,a,a,b,b,a,2
1,a,a,b,b,a,b,b,a,2
3,a,a,b,b,a,b,b,a,3
1,a,a,b,a,b,b,b,a,2
3,a,a,b,a,b,b,b,a,3
1,a,a,b,b,b,b,b,a,2
3,a,a,b,b,b,b,b,a,3
0,a,b,a,a,a,a,a,a,0
2,a,b,a,a,a,a,a,a,1
0,a,b,a,b,a,a,a,a,0
2,a,b,a,b,a,a,a,a,1
0,a,b,a,a,b,a,a,a,0
2,a,b,a,a,b,a,a,a,1
0,a,b,a,b,b,a,a,a,1
2,a,b,a,b,b,a,a,a,0
0,a,b,a,a,a,b,a,a,0
2,a,b,a,a,a,b,a,a,1
0,a,b,a,b,a,b,a,a,1
2,a,b,a,b,a,b,a,a,0
0,a,b,a,a,b,b,a,a,1
2,a,b,a,a,b,b,a,a,0
0,a,b,a,b,b,b,a,a,0
2,a,b,a,b,b,b,a,a,1
0,a,b,b,a,a,a,a,a,0
2,a,b,b,a,a,a,a,a,1
0,a,b,b,b,a,a,a,a,1
2,a,b,b,b,a,a,a,a,0
0,a,b,b,a,b,a,a,a,1
2,a,b,b,a,b,a,a,a,0
0,a,b,b,b,b,a,a,a,0
2,a,b,b,b,b,a,a,a,1
0,a,b,b,a,a,b,a,a,1
2,a,b,b,a,a,b,a,a,0
0,a,b,b,b,a,b,a,a,0
2,a,b,b,b,a,b,a,a,1
0,a,b,b,a,b,b,a,a,0
2,a,b,b,a,b,b,a,a,1
0,a,b,b,b,b,b,a,a,0
2,a,b,b,b,b,b,a,a,1
1,a,b,a,a,a,a,a,a,2
3,a,b,a,a,a,a,a,a,3
1,a,b,a,b,a,a,a,a,3
3,a,b,a,b,a,a,a,a,2
1,a,b,a,a,b,a,a,a,3
3,a,b,a,a,b,a,a,a,2
1,a,b,a,b,b,a,a,a,3
3,a,b,a,b,b,a,a,a,2
1,a,b,a,a,a,b,a,a,3
3,a,b,a,a,a,b,a,a,2
1,a,b,a,b,a,b,a,a,3
3,a,b,a,b,a,b,a,a,2
1,a,b,a,a,b,b,a,a,3
3,a,b,a,a,b,b,a,a,2
1,a,b,a,b,b,b,a,a,2
3,a,b,a,b,b,b,a,a,3
1,a,b,b,a,a,a,a,a,3
3,a,b,b,a,a,a,a,a,2
1,a,b,b,b,a,a,a,a,3
3,a,b,b,b,a,a,a,a,2
1,a,b,b,a,b,a,a,a,3
3,a,b,b,a,b,a,a,a,2
1,a,b,b,b,b,a,a,a,2
3,a,b,b,b,b,a,a,a,3
1,a,b,b,a,a,b,a,a,3
3,a,b,b,a,a,b,a,a,2
1,a,b,b,b,a,b,a,a,2
3,a,b,b,b,a,b,a,a,3
1,a,b,b,a,b,b,a,a,2
3,a,b,b,a,b,b,a,a,3
1,a,b,b,b,b,b,a,a,2
3,a,b,b,b,b,b,a,a,3
0,a,b,a,a,a,a,b,a,0
2,a,b,a,a,a,a,b,a,1
0,a,b,a,b,a,a,b,a,1
2,a,b,a,b,a,a,b,a,0
0,a,b,a,a,b,a,b,a,1
2,a,b,a,a,b,a,b,a,0
0,a,b,a,b,b,a,b,a,0
2,a,b,a,b,b,a,b,a,1
0,a,b,a,a,a,b,b,a,1
2,a,b,a,a,a,b,b,a,0
0,a,b,a,b,a,b,b,a,0
2,a,b,a,b,a,b,b,a,1
0,a,b,a,a,b,b,b,a,0
2,a,b,a,a,b,b,b,a,1
0,a,b,a,b,b,b,b,a,0
2,a,b,a,b,b,b,b,a,1
0,a,b,b,a,a,a,b,a,1
2,a,b,b,a,a,a,b,a,0
0,a,b,b,b,a,a,b,a,0
2,a,b,b,b,a,a,b,a,1
0,a,b,b,a,b,a,b,a,0
2,a,b,b,a,b,a,b,a,1
0,a,b,b,b,b,a,b,a,0
2,a,b,b,b,b,a,b,a,1
0,a,b,b,a,a,b,b,a,0
2,a,b,b,a,a,b,b,a,1
0,a,b,b,b,a,b,b,a,0
2,a,b,b,b,a,b,b,a,1
0,a,b,b,a,b,b,b,a,0
2,a,b,b,a,b,b,b,a,1
0,a,b,b,b,b,b,b,a,0
2,a,b,b,b,b,b,b,a,1
1,a,b,a,a,a,a,b,a,3
3,a,b,a,a,a,a,b,a,2
1,a,b,a,b,a,a,b,a,3
3,a,b,a,b,a,a,b,a,2
1,a,b,a,a,b,a,b,a,3
3,a,b,a,a,b,a,b,a,2
1,a,b,a,b,b,a,b,a,2
3,a,b,a,b,b,a,b,a,3
1,a,b,a,a,a,b,b,a,3
3,a,b,a,a,a,b,b,a,2
1,a,b,a,b,a,b,b,a,2
3,a,b,a,b,a,b,b,a,3
1,a,b,a,a,b,b,b,a,2
3,a,b,a,a,b,b,b,a,3
1,a,b,a,b,b,b,b,a,2
3,a,b,a,b,b,b,b,a,3
1,a,b,b,a,a,a,b,a,3
3,a,b,b,a,a,a,b,a,2
1,a,b,b,b,a,a,b,a,2
3,a,b,b,b,a,a,b,a,3
1,a,b,b,a,b,a,b,a,2
3,a,b,b,a,b,a,b,a,3
1,a,b,b,b,b,a,b,a,2
3,a,b,b,b,b,a,b,a,3
1,a,b,b,a,a,b,b,a,2
3,a,b,b,a,a,b,b,a,3
1,a,b,b,b,a,b,b,a,2
3,a,b,b,b,a,b,b,a,3
1,a,b,b,a,b,b,b,a,2
3,a,b,b,a,b,b,b,a,3
1,a,b,b,b,b,b,b,a,2
3,a,b,b,b,b,b,b,a,3
0,b,a,a,a,a,a,a,a,0
2,b,a,a,a,a,a,a,a,1
0,b,a,a,b,a,a,a,a,0
2,b,a,a,b,a,a,a,a,1
0,b,a,a,a,b,a,a,a,0
2,b,a,a,a,b,a,a,a,1
0,b,a,a,b,b,a,a,a,1
2,b,a,a,b,b,a,a,a,0
0,b,a,a,a,a,b,a,a,0
2,b,a,a,a,a,b,a,a,1
0,b,a,a,b,a,b,a,a,1
2,b,a,a,b,a,b,a,a,0
0,b,a,a,a,b,b,a,a,1
2,b,a,a,a,b,b,a,a,0
0,b,a,a,b,b,b,a,a,0
2,b,a,a,b,b,b,a,a,1
0,b,a,b,a,a,a,a,a,0
2,b,a,b,a,a,a,a,a,1
0,b,a,b,b,a,a,a,a,1
2,b,a,b,b,a,a,a,a,0
0,b,a,b,a,b,a,a,a,1
2,b,a,b,a,b,a,a,a,0
0,b,a,b,b,b,a,a,a,0
2,b,a,b,b,b,a,a,a,1
0,b,a,b,a,a,b,a,a,1
2,b,a,b,a,a,b,a,a,0
0,b,a,b,b,a,b,a,a,0
2,b,a,b,b,a,b,a,a,1
0,b,a,b,a,b,b,a,a,0
2,b,a,b,a,b,b,a,a,1
0,b,a,b,b,b,b,a,a,0
2,b,a,b,b,b,b,a,a,1
1,b,a,a,a,a,a,a,a,2
3,b,a,a,a,a,a,a,a,3
1,b,a,a,b,a,a,a,a,3
3,b,a,a,b,a,a,a,a,2
1,b,a,a,a,b,a,a,a,3
3,b,a,a,a,b,a,a,a,2
1,b,a,a,b,b,a,a,a,3
3,b,a,a,b,b,a,a,a,2
1,b,a,a,a,a,b,a,a,3
3,b,a,a,a,a,b,a,a,2
1,b,a,a,b,a,b,a,a,3
3,b,a,a,b,a,b,a,a,2
1,b,a,a,a,b,b,a,a,3
3,b,a,a,a,b,b,a,a,2
1,b,a,a,b,b,b,a,a,2
3,b,a,a,b,b,b,a,a,3
1,b,a,b,a,a,a,a,a,3
3,b,a,b,a,a,a,a,a,2
1,b,a,b,b,a,a,a,a,3
3,b,a,b,b,a,a,a,a,2
1,b,a,b,a,b,a,a,a,3
3,b,a,b,a,b,a,a,a,2
1,b,a,b,b,b,a,a,a,2
3,b,a,b,b,b,a,a,a,3
1,b,a,b,a,a,b,a,a,3
3,b,a,b,a,a,b,a,a,2
1,b,a,b,b,a,b,a,a,2
3,b,a,b,b,a,b,a,a,3
1,b,a,b,a,b,b,a,a,2
3,b,a,b,a,b,b,a,a,3
1,b,a,b,b,b,b,a,a,2
3,b,a,b,b,b,b,a,a,3
0,b,a,a,a,a,a,b,a,0
2,b,a,a,a,a,a,b,a,1
0,b,a,a,b,a,a,b,a,1
2,b,a,a,b,a,a,b,a,0
0,b,a,a,a,b,a,b,a,1
2,b,a,a,a,b,a,b,a,0
0,b,a,a,b,b,a,b,a,0
2,b,a,a,b,b,a,b,a,1
0,b,a,a,a,a,b,b,a,1
2,b,a,a,a,a,b,b,a,0
0,b,a,a,b,a,b,b,a,0
2,b,a,a,b,a,b,b,a,1
0,b,a,a,a,b,b,b,a,0
2,b,a,a,a,b,b,b,a,1
0,b,a,a,b,b,b,b,a,0
2,b,a,a,b,b,b,b,a,1
0,b,a,b,a,a,a,b,a,1
2,b,a,b,a,a,a,b,a,0
0,b,a,b,b,a,a,b,a,0
2,b,a,b,b,a,a,b,a,1
0,b,a,b,a,b,a,b,a,0
2,b,a,b,a,b,a,b,a,1
0,b,a,b,b,b,a,b,a,0
2,b,a,b,b,b,a,b,a,1
0,b,a,b,a,a,b,b,a,0
2,b,a,b,a,a,b,b,a,1
0,b,a,b,b,a,b,b,a,0
2,b,a,b,b,a,b,b,a,1
0,b,a,b,a,b,b,b,a,0
2,b,a,b,a,b,b,b,a,1
0,b,a,b,b,b,b,b,a,0
2,b,a,b,b,b,b,b,a,1
1,b,a,a,a,a,a,b,a,3
3,b,a,a,a,a,a,b,a,2
1,b,a,a,b,a,a,b,a,3
3,b,a,a,b,a,a,b,a,2
1,b,a,a,a,b,a,b,a,3
3,b,a,a,a,b,a,b,a,2
1,b,a,a,b,b,a,b,a,2
3,b,a,a,b,b,a,b,a,3
1,b,a,a,a,a,b,b,a,3
3,b,a,a,a,a,b,b,a,2
1,b,a,a,b,a,b,b,a,2
3,b,a,a,b,a,b,b,a,3
1,b,a,a,a,b,b,b,a,2
3,b,a,a,a,b,b,b,a,3
1,b,a,a,b,b,b,b,a,2
3,b,a,a,b,b,b,b,a,3
1,b,a,b,a,a,a,b,a,3
3,b,a,b,a,a,a,b,a,2
1,b,a,b,b,a,a,b,a,2
3,b,a,b,b,a,a,b,a,3
1,b,a,b,a,b,a,b,a,2
3,b,a,b,a,b,a,b,a,3
1,b,a,b,b,b,a,b,a,2
3,b,a,b,b,b,a,b,a,3
1,b,a,b,a,a,b,b,a,2
3,b,a,b,a,a,b,b,a,3
1,b,a,b,b,a,b,b,a,2
3,b,a,b,b,a,b,b,a,3
1,b,a,b,a,b,b,b,a,2
3,b,a,b,a,b,b,b,a,3
1,b,a,b,b,b,b,b,a,2
3,b,a,b,b,b,b,b,a,3
0,b,b,a,a,a,a,a,a,0
2,b,b,a,a,a,a,a,a,1
0,b,b,a,b,a,a,a,a,1
2,b,b,a,b,a,a,a,a,0
0,b,b,a,a,b,a,a,a,1
2,b,b,a,a,b,a,a,a,0
0,b,b,a,b,b,a,a,a,0
2,b,b,a,b,b,a,a,a,1
0,b,b,a,a,a,b,a,a,1
2,b,b,a,a,a,b,a,a,0
0,b,b,a,b,a,b,a,a,0
2,b,b,a,b,a,b,a,a,1
0,b,b,a,a,b,b,a,a,0
2,b,b,a,a,b,b,a,a,1
0,b,b,a,b,b,b,a,a,0
2,b,b,a,b,b,b,a,a,1
0,b,b,b,a,a,a,a,a,1
2,b,b,b,a,a,a,a,a,0
0,b,b,b,b,a,a,a,a,0
2,b,b,b,b,a,a,a,a,1
0,b,b,b,a,b,a,a,a,0
2,b,b,b,a,b,a,a,a,1
0,b,b,b,b,b,a,a,a,0
2,b,b,b,b,b,a,a,a,1
0,b,b,b,a,a,b,a,a,0
2,b,b,b,a,a,b,a,a,1
0,b,b,b,b,a,b,a,a,0
2,b,b,b,b,a,b,a,a,1
0,b,b,b,a,b,b,a,a,0
2,b,b,b,a,b,b,a,a,1
0,b,b,b,b,b,b,a,a,0
2,b,b,b,b,b,b,a,a,1
1,b,b,a,a,a,a,a,a,3
3,b,b,a,a,a,a,a,a,2
1,b,b,a,b,a,a,a,a,3
3,b,b,a,b,a,a,a,a,2
1,b,b,a,a,b,a,a,a,3
3,b,b,a,a,b,a,a,a,2
1,b,b,a,b,b,a,a,a,2
3,b,b,a,b,b,a,a,a,3
1,b,b,a,a,a,b,a,a,3
3,b,b,a,a,a,b,a,a,2
1,b,b,a,b,a,b,a,a,2
3,b,b,a,b,a,b,a,a,3
1,b,b,a,a,b,b,a,a,2
3,b,b,a,a,b,b,a,a,3
1,b,b,a,b,b,b,a,a,2
3,b,b,a,b,b,b,a,a,3
1,b,b,b,a,a,a,a,a,3
3,b,b,b,a,a,a,a,a,2
1,b,b,b,b,a,a,a,a,2
3,b,b,b,b,a,a,a,a,3
1,b,b,b,a,b,a,a,a,2
3,b,b,b,a,b,a,a,a,3
1,b,b,b,b,b,a,a,a,2
3,b,b,b,b,b,a,a,a,3
1,b,b,b,a,a,b,a,a,2
3,b,b,b,a,a,b,a,a,3
1,b,b,b,b,a,b,a,a,2
3,b,b,b,b,a,b,a,a,3
1,b,b,b,a,b,b,a,a,2
3,b,b,b,a,b,b,a,a,3
1,b,b,b,b,b,b,a,a,2
3,b,b,b,b,b,b,a,a,3
0,b,b,a,a,a,a,b,a,1
2,b,b,a,a,a,a,b,a,0
0,b,b,a,b,a,a,b,a,0
2,b,b,a,b,a,a,b,a,1
0,b,b,a,a,b,a,b,a,0
2,b,b,a,a,b,a,b,a,1
0,b,b,a,b,b,a,b,a,0
2,b,b,a,b,b,a,b,a,1
0,b,b,a,a,a,b,b,a,0
2,b,b,a,a,a,b,b,a,1
0,b,b,a,b,a,b,b,a,0
2,b,b,a,b,a,b,b,a,1
0,b,b,a,a,b,b,b,a,0
2,b,b,a,a,b,b,b,a,1
0,b,b,a,b,b,b,b,a,0
2,b,b,a,b,b,b,b,a,1
0,b,b,b,a,a,a,b,a,0
2,b,b,b,a,a,a,b,a,1
0,b,b,b,b,a,a,b,a,0
2,b,b,b,b,a,a,b,a,1
0,b,b,b,a,b,a,b,a,0
2,b,b,b,a,b,a,b,a,1
0,b,b,b,b,b,a,b,a,0
2,b,b,b,b,b,a,b,a,1
0,b,b,b,a,a,b,b,a,0
2,b,b,b,a,a,b,b,a,1
0,b,b,b,b,a,b,b,a,0
2,b,b,b,b,a,b,b,a,1
0,b,b,b,a,b,b,b,a,0
2,b,b,b,a,b,b,b,a,1
0,b,b,b,b,b,b,b,a,0
2,b,b,b,b,b,b,b,a,1
1,b,b,a,a,a,a,b,a,3
3,b,b,a,a,a,a,b,a,2
1,b,b,a,b,a,a,b,a,2
3,b,b,a,b,a,a,b,a,3
1,b,b,a,a,b,a,b,a,2
3,b,b,a,a,b,a,b,a,3
1,b,b,a,b,b,a,b,a,2
3,b,b,a,b,b,a,b,a,3
1,b,b,a,a,a,b,b,a,2
3,b,b,a,a,a,b,b,a,3
1,b,b,a,b,a,b,b,a,2
3,b,b,a,b,a,b,b,a,3
1,b,b,a,a,b,b,b,a,2
3,b,b,a,a,b,b,b,a,3
1,b,b,a,b,b,b,b,a,2
3,b,b,a,b,b,b,b,a,3
1,b,b,b,a,a,a,b,a,2
3,b,b,b,a,a,a,b,a,3
1,b,b,b,b,a,a,b,a,2
3,b,b,b,b,a,a,b,a,3
1,b,b,b,a,b,a,b,a,2
3,b,b,b,a,b,a,b,a,3
1,b,b,b,b,b,a,b,a,2
3,b,b,b,b,b,a,b,a,3
1,b,b,b,a,a,b,b,a,2
3,b,b,b,a,a,b,b,a,3
1,b,b,b,b,a,b,b,a,2
3,b,b,b,b,a,b,b,a,3
1,b,b,b,a,b,b,b,a,2
3,b,b,b,a,b,b,b,a,3
1,b,b,b,b,b,b,b,a,2
3,b,b,b,b,b,b,b,a,3
0,a,a,a,a,a,a,a,b,0
2,a,a,a,a,a,a,a,b,1
0,a,a,a,b,a,a,a,b,0
2,a,a,a,b,a,a,a,b,1
0,a,a,a,a,b,a,a,b,0
2,a,a,a,a,b,a,a,b,1
0,a,a,a,b,b,a,a,b,1
2,a,a,a,b,b,a,a,b,0
0,a,a,a,a,a,b,a,b,0
2,a,a,a,a,a,b,a,b,1
0,a,a,a,b,a,b,a,b,1
2,a,a,a,b,a,b,a,b,0
0,a,a,a,a,b,b,a,b,1
2,a,a,a,a,b,b,a,b,0
0,a,a,a,b,b,b,a,b,0
2,a,a,a,b,b,b,a,b,1
0,a,a,b,a,a,a,a,b,0
2,a,a,b,a,a,a,a,b,1
0,a,a,b,b,a,a,a,b,1
2,a,a,b,b,a,a,a,b,0
0,a,a,b,a,b,a,a,b,1
2,a,a,b,a,b,a,a,b,0
0,a,a,b,b,b,a,a,b,0
2,a,a,b,b,b,a,a,b,1
0,a,a,b,a,a,b,a,b,1
2,a,a,b,a,a,b,a,b,0
0,a,a,b,b,a,b,a,b,0
2,a,a,b,b,a,b,a,b,1
0,a,a,b,a,b,b,a,b,0
2,a,a,b,a,b,b,a,b,1
0,a,a,b,b,b,b,a,b,0
2,a,a,b,b,b,b,a,b,1
1,a,a,a,a,a,a,a,b,2
3,a,a,a,a,a,a,a,b,3
1,a,a,a,b,a,a,a,b,3
3,a,a,a,b,a,a,a,b,2
1,a,a,a,a,b,a,a,b,3
3,a,a,a,a,b,a,a,b,2
1,a,a,a,b,b,a,a,b,3
3,a,a,a,b,b,a,a,b,2
1,a,a,a,a,a,b,a,b,3
3,a,a,a,a,a,b,a,b,2
1,a,a,a,b,a,b,a,b,3
3,a,a,a,b,a,b,a,b,2
1,a,a,a,a,b,b,a,b,3
3,a,a,a,a,b,b,a,b,2
1,a,a,a,b,b,b,a,b,2
3,a,a,a,b,b,b,a,b,3
1,a,a,b,a,a,a,a,b,3
3,a,a,b,a,a,a,a,b,2
1,a,a,b,b,a,a,a,b,3
3,a,a,b,b,a,a,a,b,2
1,a,a,b,a,b,a,a,b,3
3,a,a,b,a,b,a,a,b,2
1,a,a,b,b,b,a,a,b,2
3,a,a,b,b,b,a,a,b,3
1,a,a,b,a,a,b,a,b,3
3,a,a,b,a,a,b,a,b,2
1,a,a,b,b,a,b,a,b,2
3,a,a,b,b,a,b,a,b,3
1,a,a,b,a,b,b,a,b,2
3,a,a,b,a,b,b,a,b,3
1,a,a,b,b,b,b,a,b,2
3,a,a,b,b,b,b,a,b,3
0,a,a,a,a,a,a,b,b,0
2,a,a,a,a,a,a,b,b,1
0,a,a,a,b,a,a,b,b,1
2,a,a,a,b,a,a,b,b,0
0,a,a,a,a,b,a,b,b,1
2,a,a,a,a,b,a,b,b,0
0,a,a,a,b,b,a,b,b,0
2,a,a,a,b,b,a,b,b,1
0,a,a,a,a,a,b,b,b,1
2,a,a,a,a,a,b,b,b,0
0,a,a,a,b,a,b,b,b,0
2,a,a,a,b,a,b,b,b,1
0,a,a,a,a,b,b,b,b,0
2,a,a,a,a,b,b,b,b,1
0,a,a,a,b,b,b,b,b,0
2,a,a,a,b,b,b,b,b,1
0,a,a,b,a,a,a,b,b,1
2,a,a,b,a,a,a,b,b,0
0,a,a,b,b,a,a,b,b,0
2,a,a,b,b,a,a,b,b,1
0,a,a,b,a,b,a,b,b,0
2,a,a,b,a,b,a,b,b,1
0,a,a,b,b,b,a,b,b,0
2,a,a,b,b,b,a,b,b,1
0,a,a,b,a,a,b,b,b,0
2,a,a,b,a,a,b,b,b,1
0,a,a,b,b,a,b,b,b,0
2,a,a,b,b,a,b,b,b,1
0,a,a,b,a,b,b,b,b,0
2,a,a,b,a,b,b,b,b,1
0,a,a,b,b,b,b,b,b,0
2,a,a,b,b,b,b,b,b,1
1,a,a,a,a,a,a,b,b,3
3,a,a,a,a,a,a,b,b,2
1,a,a,a,b,a,a,b,b,3
3,a,a,a,b,a,a,b,b,2
1,a,a,a,a,b,a,b,b,3
3,a,a,a,a,b,a,b,b,2
1,a,a,a,b,b,a,b,b,2
3,a,a,a,b,b,a,b,b,3
1,a,a,a,a,a,b,b,b,3
3,a,a,a,a,a,b,b,b,2
1,a,a,a,b,a,b,b,b,2
3,a,a,a,b,a,b,b,b,3
1,a,a,a,a,b,b,b,b,2
3,a,a,a,a,b,b,b,b,3
1,a,a,a,b,b,b,b,b,2
3,a,a,a,b,b,b,b,b,3
1,a,a,b,a,a,a,b,b,3
3,a,a,b,a,a,a,b,b,2
1,a,a,b,b,a,a,b,b,2
3,a,a,b,b,a,a,b,b,3
1,a,a,b,a,b,a,b,b,2
3,a,a,b,a,b,a,b,b,3
1,a,a,b,b,b,a,b,b,2
3,a,a,b,b,b,a,b,b,3
1,a,a,b,a,a,b,b,b,2
3,a,a,b,a,a,b,b,b,3
1,a,a,b,b,a,b,b,b,2
3,a,a,b,b,a,b,b,b,3
1,a,a,b,a,b,b,b,b,2
3,a,a,b,a,b,b,b,b,3
1,a,a,b,b,b,b,b,b,2
3,a,a,b,b,b,b,b,b,3
0,a,b,a,a,a,a,a,b,0
2,a,b,a,a,a,a,a,b,1
0,a,b,a,b,a,a,a,b,1
2,a,b,a,b,a,a,a,b,0
0,a,b,a,a,b,a,a,b,1
2,a,b,a,a,b,a,a,b,0
0,a,b,a,b,b,a,a,b,0
2,a,b,a,b,b,a,a,b,1
0,a,b,a,a,a,b,a,b,1
2,a,b,a,a,a,b,a,b,0
0,a,b,a,b,a,b,a,b,0
2,a,b,a,b,a,b,a,b,1
0,a,b,a,a,b,b,a,b,0
2,a,b,a,a,b,b,a,b,1
0,a,b,a,b,b,b,a,b,0
2,a,b,a,b,b,b,a,b,1
0,a,b,b,a,a,a,a,b,1
2,a,b,b,a,a,a,a,b,0
0,a,b,b,b,a,a,a,b,0
2,a,b,b,b,a,a,a,b,1
0,a,b,b,a,b,a,a,b,0
2,a,b,b,a,b,a,a,b,1
0,a,b,b,b,b,a,a,b,0
2,a,b,b,b,b,a,a,b,1
0,a,b,b,a,a,b,a,b,0
2,a,b,b,a,a,b,a,b,1
0,a,b,b,b,a,b,a,b,0
2,a,b,b,b,a,b,a,b,1
0,a,b,b,a,b,b,a,b,0
2,a,b,b,a,b,b,a,b,1
0,a,b,b,b,b,b,a,b,0
2,a,b,b,b,b,b,a,b,1
1,a,b,a,a,a,a,a,b,3
3,a,b,a,a,a,a,a,b,2
1,a,b,a,b,a,a,a,b,3
3,a,b,a,b,a,a,a,b,2
1,a,b,a,a,b,a,a,b,3
3,a,b,a,a,b,a,a,b,2
1,a,b,a,b,b,a,a,b,2
3,a,b,a,b,b,a,a,b,3
1,a,b,a,a,a,b,a,b,3
3,a,b,a,a,a,b,a,b,2
1,a,b,a,b,a,b,a,b,2
3,a,b,a,b,a,b,a,b,3
1,a,b,a,a,b,b,a,b,2
3,a,b,a,a,b,b,a,b,3
1,a,b,a,b,b,b,a,b,2
3,a,b,a,b,b,b,a,b,3
1,a,b,b,a,a,a,a,b,3
3,a,b,b,a,a,a,a,b,2
1,a,b,b,b,a,a,a,b,2
3,a,b,b,b,a,a,a,b,3
1,a,b,b,a,b,a,a,b,2
3,a,b,b,a,b,a,a,b,3
1,a,b,b,b,b,a,a,b,2
3,a,b,b,b,b,a,a,b,3
1,a,b,b,a,a,b,a,b,2
3,a,b,b,a,a,b,a,b,3
1,a,b,b,b,a,b,a,b,2
3,a,b,b,b,a,b,a,b,3
1,a,b,b,a,b,b,a,b,2
3,a,b,b,a,b,b,a,b,3
1,a,b,b,b,b,b,a,b,2
3,a,b,b,b,b,b,a,b,3
0,a,b,a,a,a,a,b,b,1
2,a,b,a,a,a,a,b,b,0
0,a,b,a,b,a,a,b,b,0
2,a,b,a,b,a,a,b,b,1
0,a,b,a,a,b,a,b,b,0
2,a,b,a,a,b,a,b,b,1
0,a,b,a,b,b,a,b,b,0
2,a,b,a,b,b,a,b,b,1
0,a,b,a,a,a,b,b,b,0
2,a,b,a,a,a,b,b,b,1
0,a,b,a,b,a,b,b,b,0
2,a,b,a,b,a,b,b,b,1
0,a,b,a,a,b,b,b,b,0
2,a,b,a,a,b,b,b,b,1
0,a,b,a,b,b,b,b,b,0
2,a,b,a,b,b,b,b,b,1
0,a,b,b,a,a,a,b,b,0
2,a,b,b,a,a,a,b,b,1
0,a,b,b,b,a,a,b,b,0
2,a,b,b,b,a,a,b,b,1
0,a,b,b,a,b,a,b,b,0
2,a,b,b,a,b,a,b,b,1
0,a,b,b,b,b,a,b,b,0
2,a,b,b,b,b,a,b,b,1
0,a,b,b,a,a,b,b,b,0
2,a,b,b,a,a,b,b,b,1
0,a,b,b,b,a,b,b,b,0
2,a,b,b,b,a,b,b,b,1
0,a,b,b,a,b,b,b,b,0
2,a,b,b,a,b,b,b,b,1
0,a,b,b,b,b,b,b,b,0
2,a,b,b,b,b,b,b,b,1
1,a,b,a,a,a,a,b,b,3
3,a,b,a,a,a,a,b,b,2
1,a,b,a,b,a,a,b,b,2
3,a,b,a,b,a,a,b,b,3
1,a,b,a,a,b,a,b,b,2
3,a,b,a,a,b,a,b,b,3
1,a,b,a,b,b,a,b,b,2
3,a,b,a,b,b,a,b,b,3
1,a,b,a,a,a,b,b,b,2
3,a,b,a,a,a,b,b,b,3
1,a,b,a,b,a,b,b,b,2
3,a,b,a,b,a,b,b,b,3
1,a,b,a,a,b,b,b,b,2
3,a,b,a,a,b,b,b,b,3
1,a,b,a,b,b,b,b,b,2
3,a,b,a,b,b,b,b,b,3
1,a,b,b,a,a,a,b,b,2
3,a,b,b,a,a,a,b,b,3
1,a,b,b,b,a,a,b,b,2
3,a,b,b,b,a,a,b,b,3
1,a,b,b,a,b,a,b,b,2
3,a,b,b,a,b,a,b,b,3
1,a,b,b,b,b,a,b,b,2
3,a,b,b,b,b,a,b,b,3
1,a,b,b,a,a,b,b,b,2
3,a,b,b,a,a,b,b,b,3
1,a,b,b,b,a,b,b,b,2
3,a,b,b,b,a,b,b,b,3
1,a,b,b,a,b,b,b,b,2
3,a,b,b,a,b,b,b,b,3
1,a,b,b,b,b,b,b,b,2
3,a,b,b,b,b,b,b,b,3
0,b,a,a,a,a,a,a,b,0
2,b,a,a,a,a,a,a,b,1
0,b,a,a,b,a,a,a,b,1
2,b,a,a,b,a,a,a,b,0
0,b,a,a,a,b,a,a,b,1
2,b,a,a,a,b,a,a,b,0
0,b,a,a,b,b,a,a,b,0
2,b,a,a,b,b,a,a,b,1
0,b,a,a,a,a,b,a,b,1
2,b,a,a,a,a,b,a,b,0
0,b,a,a,b,a,b,a,b,0
2,b,a,a,b,a,b,a,b,1
0,b,a,a,a,b,b,a,b,0
2,b,a,a,a,b,b,a,b,1
0,b,a,a,b,b,b,a,b,0
2,b,a,a,b,b,b,a,b,1
0,b,a,b,a,a,a,a,b,1
2,b,a,b,a,a,a,a,b,0
0,b,a,b,b,a,a,a,b,0
2,b,a,b,b,a,a,a,b,1
0,b,a,b,a,b,a,a,b,0
2,b,a,b,a,b,a,a,b,1
0,b,a,b,b,b,a,a,b,0
2,b,a,b,b,b,a,a,b,1
0,b,a,b,a,a,b,a,b,0
2,b,a,b,a,a,b,a,b,1
0,b,a,b,b,a,b,a,b,0
2,b,a,b,b,a,b,a,b,1
0,b,a,b,a,b,b,a,b,0
2,b,a,b,a,b,b,a,b,1
0,b,a,b,b,b,b,a,b,0
2,b,a,b,b,b,b,a,b,1
1,b,a,a,a,a,a,a,b,3
3,b,a,a,a,a,a,a,b,2
1,b,a,a,b,a,a,a,b,3
3,b,a,a,b,a,a,a,b,2
1,b,a,a,a,b,a,a,b,3
3,b,a,a,a,b,a,a,b,2
1,b,a,a,b,b,a,a,b,2
3,b,a,a,b,b,a,a,b,3
1,b,a,a,a,a,b,a,b,3
3,b,a,a,a,a,b,a,b,2
1,b,a,a,b,a,b,a,b,2
3,b,a,a,b,a,b,a,b,3
1,b,a,a,a,b,b,a,b,2
3,b,a,a,a,b,b,a,b,3
1,b,a,a,b,b,b,a,b,2
3,b,a,a,b,b,b,a,b,3
1,b,a,b,a,a,a,a,b,3
3,b,a,b,a,a,a,a,b,2
1,b,a,b,b,a,a,a,b,2
3,b,a,b,b,a,a,a,b,3
1,b,a,b,a,b,a,a,b,2
3,b,a,b,a,b,a,a,b,3
1,b,a,b,b,b,a,a,b,2
3,b,a,b,b,b,a,a,b,3
1,b,a,b,a,a,b,a,b,2
3,b,a,b,a,a,b,a,b,3
1,b,a,b,b,a,b,a,b,2
3,b,a,b,b,a,b,a,b,3
1,b,a,b,a,b,b,a,b,2
3,b,a,b,a,b,b,a,b,3
1,b,a,b,b,b,b,a,b,2
3,b,a,b,b,b,b,a,b,3
0,b,a,a,a,a,a,b,b,1
2,b,a,a,a,a,a,b,b,0
0,b,a,a,b,a,a,b,b,0
2,b,a,a,b,a,a,b,b,1
0,b,a,a,a,b,a,b,b,0
2,b,a,a,a,b,a,b,b,1
0,b,a,a,b,b,a,b,b,0
2,b,a,a,b,b,a,b,b,1
0,b,a,a,a,a,b,b,b,0
2,b,a,a,a,a,b,b,b,1
0,b,a,a,b,a,b,b,b,0
2,b,a,a,b,a,b,b,b,1
0,b,a,a,a,b,b,b,b,0
2,b,a,a,a,b,b,b,b,1
0,b,a,a,b,b,b,b,b,0
2,b,a,a,b,b,b,b,b,1
0,b,a,b,a,a,a,b,b,0
2,b,a,b,a,a,a,b,b,1
0,b,a,b,b,a,a,b,b,0
2,b,a,b,b,a,a,b,b,1
0,b,a,b,a,b,a,b,b,0
2,b,a,b,a,b,a,b,b,1
0,b,a,b,b,b,a,b,b,0
2,b,a,b,b,b,a,b,b,1
0,b,a,b,a,a,b,b,b,0
2,b,a,b,a,a,b,b,b,1
0,b,a,b,b,a,b,b,b,0
2,b,a,b,b,a,b,b,b,1
0,b,a,b,a,b,b,b,b,0
2,b,a,b,a,b,b,b,b,1
0,b,a,b,b,b,b,b,b,0
2,b,a,b,b,b,b,b,b,1
1,b,a,a,a,a,a,b,b,3
3,b,a,a,a,a,a,b,b,2
1,b,a,a,b,a,a,b,b,2
3,b,a,a,b,a,a,b,b,3
1,b,a,a,a,b,a,b,b,2
3,b,a,a,a,b,a,b,b,3
1,b,a,a,b,b,a,b,b,2
3,b,a,a,b,b,a,b,b,3
1,b,a,a,a,a,b,b,b,2
3,b,a,a,a,a,b,b,b,3
1,b,a,a,b,a,b,b,b,2
3,b,a,a,b,a,b,b,b,3
1,b,a,a,a,b,b,b,b,2
3,b,a,a,a,b,b,b,b,3
1,b,a,a,b,b,b,b,b,2
3,b,a,a,b,b,b,b,b,3
1,b,a,b,a,a,a,b,b,2
3,b,a,b,a,a,a,b,b,3
1,b,a,b,b,a,a,b,b,2
3,b,a,b,b,a,a,b,b,3
1,b,a,b,a,b,a,b,b,2
3,b,a,b,a,b,a,b,b,3
1,b,a,b,b,b,a,b,b,2
3,b,a,b,b,b,a,b,b,3
1,b,a,b,a,a,b,b,b,2
3,b,a,b,a,a,b,b,b,3
1,b,a,b,b,a,b,b,b,2
3,b,a,b,b,a,b,b,b,3
1,b,a,b,a,b,b,b,b,2
3,b,a,b,a,b,b,b,b,3
1,b,a,b,b,b,b,b,b,2
3,b,a,b,b,b,b,b,b,3
0,b,b,a,a,a,a,a,b,1
2,b,b,a,a,a,a,a,b,0
0,b,b,a,b,a,a,a,b,0
2,b,b,a,b,a,a,a,b,1
0,b,b,a,a,b,a,a,b,0
2,b,b,a,a,b,a,a,b,1
0,b,b,a,b,b,a,a,b,0
2,b,b,a,b,b,a,a,b,1
0,b,b,a,a,a,b,a,b,0
2,b,b,a,a,a,b,a,b,1
0,b,b,a,b,a,b,a,b,0
2,b,b,a,b,a,b,a,b,1
0,b,b,a,a,b,b,a,b,0
2,b,b,a,a,b,b,a,b,1
0,b,b,a,b,b,b,a,b,0
2,b,b,a,b,b,b,a,b,1
0,b,b,b,a,a,a,a,b,0
2,b,b,b,a,a,a,a,b,1
0,b,b,b,b,a,a,a,b,0
2,b,b,b,b,a,a,a,b,1
0,b,b,b,a,b,a,a,b,0
2,b,b,b,a,b,a,a,b,1
0,b,b,b,b,b,a,a,b,0
2,b,b,b,b,b,a,a,b,1
0,b,b,b,a,a,b,a,b,0
2,b,b,b,a,a,b,a,b,1
0,b,b,b,b,a,b,a,b,0
2,b,b,b,b,a,b,a,b,1
0,b,b,b,a,b,b,a,b,0
2,b,b,b,a,b,b,a,b,1
0,b,b,b,b,b,b,a,b,0
2,b,b,b,b,b,b,a,b,1
1,b,b,a,a,a,a,a,b,3
3,b,b,a,a,a,a,a,b,2
1,b,b,a,b,a,a,a,b,2
3,b,b,a,b,a,a,a,b,3
1,b,b,a,a,b,a,a,b,2
3,b,b,a,a,b,a,a,b,3
1,b,b,a,b,b,a,a,b,2
3,b,b,a,b,b,a,a,b,3
1,b,b,a,a,a,b,a,b,2
3,b,b,a,a,a,b,a,b,3
1,b,b,a,b,a,b,a,b,2
3,b,b,a,b,a,b,a,b,3
1,b,b,a,a,b,b,a,b,2
3,b,b,a,a,b,b,a,b,3
1,b,b,a,b,b,b,a,b,2
3,b,b,a,b,b,b,a,b,3
1,b,b,b,a,a,a,a,b,2
3,b,b,b,a,a,a,a,b,3
1,b,b,b,b,a,a,a,b,2
3,b,b,b,b,a,a,a,b,3
1,b,b,b,a,b,a,a,b,2
3,b,b,b,a,b,a,a,b,3
1,b,b,b,b,b,a,a,b,2
3,b,b,b,b,b,a,a,b,3
1,b,b,b,a,a,b,a,b,2
3,b,b,b,a,a,b,a,b,3
1,b,b,b,b,a,b,a,b,2
3,b,b,b,b,a,b,a,b,3
1,b,b,b,a,b,b,a,b,2
3,b,b,b,a,b,b,a,b,3
1,b,b,b,b,b,b,a,b,2
3,b,b,b,b,b,b,a,b,3
0,b,b,a,a,a,a,b,b,0
2,b,b,a,a,a,a,b,b,1
0,b,b,a,b,a,a,b,b,0
2,b,b,a,b,a,a,b,b,1
0,b,b,a,a,b,a,b,b,0
2,b,b,a,a,b,a,b,b,1
0,b,b,a,b,b,a,b,b,0
2,b,b,a,b,b,a,b,b,1
0,b,b,a,a,a,b,b,b,0
2,b,b,a,a,a,b,b,b,1
0,b,b,a,b,a,b,b,b,0
2,b,b,a,b,a,b,b,b,1
0,b,b,a,a,b,b,b,b,0
2,b,b,a,a,b,b,b,b,1
0,b,b,a,b,b,b,b,b,0
2,b,b,a,b,b,b,b,b,1
0,b,b,b,a,a,a,b,b,0
2,b,b,b,a,a,a,b,b,1
0,b,b,b,b,a,a,b,b,0
2,b,b,b,b,a,a,b,b,1
0,b,b,b,a,b,a,b,b,0
2,b,b,b,a,b,a,b,b,1
0,b,b,b,b,b,a,b,b,0
2,b,b,b,b,b,a,b,b,1
0,b,b,b,a,a,b,b,b,0
2,b,b,b,a,a,b,b,b,1
0,b,b,b,b,a,b,b,b,0
2,b,b,b,b,a,b,b,b,1
0,b,b,b,a,b,b,b,b,0
2,b,b,b,a,b,b,b,b,1
0,b,b,b,b,b,b,b,b,0
2,b,b,b,b,b,b,b,b,1
1,b,b,a,a,a,a,b,b,2
3,b,b,a,a,a,a,b,b,3
1,b,b,a,b,a,a,b,b,2
3,b,b,a,b,a,a,b,b,3
1,b,b,a,a,b,a,b,b,2
3,b,b,a,a,b,a,b,b,3
1,b,b,a,b,b,a,b,b,2
3,b,b,a,b,b,a,b,b,3
1,b,b,a,a,a,b,b,b,2
3,b,b,a,a,a,b,b,b,3
1,b,b,a,b,a,b,b,b,2
3,b,b,a,b,a,b,b,b,3
1,b,b,a,a,b,b,b,b,2
3,b,b,a,a,b,b,b,b,3
1,b,b,a,b,b,b,b,b,2
3,b,b,a,b,b,b,b,b,3
1,b,b,b,a,a,a,b,b,2
3,b,b,b,a,a,a,b,b,3
1,b,b,b,b,a,a,b,b,2
3,b,b,b,b,a,a,b,b,3
1,b,b,b,a,b,a,b,b,2
3,b,b,b,a,b,a,b,b,3
1,b,b,b,b,b,a,b,b,2
3,b,b,b,b,b,a,b,b,3
1,b,b,b,a,a,b,b,b,2
3,b,b,b,a,a,b,b,b,3
1,b,b,b,b,a,b,b,b,2
3,b,b,b,b,a,b,b,b,3
1,b,b,b,a,b,b,b,b,2
3,b,b,b,a,b,b,b,b,3
1,b,b,b,b,b,b,b,b,2
3,b,b,b,b,b,b,b,b,3
In [17]:
# def adv(rulestr):
# kb.rulestr2adv??
# ??kb.bin2adv
def sample(self,t=1,ini=None,adv = None,T = None):
'''
Sample an iterator ('CA_sys' object)
'''
if T is None:
T = self.hmax
if adv is None:
adv = self.adv
if ini is None:
ini=self.rdf(t=t).astype(int)
avc = ini
hist = np.zeros((T+1+t,)+avc.shape[-3:],dtype=np.int)
hist[:t]=avc
for i in range(T+1):
hist[i+t]=avc[-1]
avc=(adv(avc))
return hist
class kb_r2dntca(kb_2dntca):
def bin2adv(self, ruleprj):
if isinstance(ruleprj,str):
ruleprj = list(ruleprj)
ruleprj = np.array(ruleprj,np.int)
def adv(a,horizon=0):
old = a[0]
curr = a[1]
new = ruleprj[self.conv(curr)]^old
return np.array([curr,new])
return adv
kb = kb_r2dntca()
adv= kb.rulestr2adv(env.rulestr)
np.random.seed(0)
env.change_size((2,100,16**2))
ini = np.array([env.rdf(),env.rdf()])
ini = ini[:,0:1]
hist = sample(env,adv=adv,ini=ini,T=100,t=2)
print hist.shape
showsptime(hist[:,0,:])
plt.show()
# ??kb_r2dntca
# kb.rulestr2adv(rulestr)
(103, 1, 16, 16)
In [45]:
lst = []
i = 0
for bs in ['b','s']:
for i in range(9):
lst += [bs+str(i)]
print lst
['b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7', 'b8', 's0', 's1', 's2', 's3', 's4', 's5', 's6', 's7', 's8']
In [53]:
print len(bslist)
18
In [80]:
bslist = ['b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7', 'b8', 's0', 's1', 's2', 's3', 's4', 's5', 's6', 's7', 's8']
def rulestr2table(self,rstr,reverse=0):
prev={'b':'0','s':'1'}
# binstr = base2bin(rstr,10,18)
binstr = rstr
nState = 4 if reverse else 2
s = '''@RULE rev_{alias:}
@TABLE
n_States:{nState}
neighborhood:Moore
symmetries:permute
'''.format(
alias = rstr,
# alias=self.rulestr2alias(rstr),
nState=nState)
if reverse:
s += '''
var a={0,2}
var b={1,3}
#>>>TAB<<<
'''
# letters = ['a','b']
# else:
# letters = ['0','1']
for i,bit in enumerate(binstr):
conf = bslist[i]
n1 = int(conf[-1])
if not reverse:
lst = [prev[conf[0]]] + ['1']*n1 + ['0']*(8-n1) + [bit]
line = ','.join(lst)
s+='%s\n'%line
else:
c_cur = int(conf[0])
for c_his in [0,1]:
# print c_cur+2*c_his
#### Use history and proposed bit to calculate next state
c_nex = int(bit) ^ int(c_his)
lst = [str(c_cur+2*c_his)] + [d.get(x) for x in conf[1:]]+[str(c_nex+2*c_cur)]
line = ','.join( lst)
s+='%s\n'%line
return s
r = rulestr2table(kb,'000100000001100000',reverse=0)
print r
@RULE rev_000100000001100000
@TABLE
n_States:2
neighborhood:Moore
symmetries:permute
0,0,0,0,0,0,0,0,0,0
0,1,0,0,0,0,0,0,0,0
0,1,1,0,0,0,0,0,0,0
0,1,1,1,0,0,0,0,0,1
0,1,1,1,1,0,0,0,0,0
0,1,1,1,1,1,0,0,0,0
0,1,1,1,1,1,1,0,0,0
0,1,1,1,1,1,1,1,0,0
0,1,1,1,1,1,1,1,1,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,1,0,0,0,0,0,0,1
1,1,1,1,0,0,0,0,0,1
1,1,1,1,1,0,0,0,0,0
1,1,1,1,1,1,0,0,0,0
1,1,1,1,1,1,1,0,0,0
1,1,1,1,1,1,1,1,0,0
1,1,1,1,1,1,1,1,1,0
In [74]:
# env.rdf??
env.rdf = lambda self,p=0.5:(np.random.random(self.siz)<=p).astype(np.int);
In [20]:
kb = kb_r2dntca()
adv= kb.rulestr2adv(env.rulestr)
np.random.seed(0)
env.change_size((2,100,64**2))
p = .05
ini = np.array([env.rdf(p),env.rdf(p)])
ini = ini[:,0:1]
hist = sample(env,adv=adv,ini=ini,t=2)
showsptime(hist[:,0,:])
plt.show()
# ini = ini[::-1]
ini2 = hist[-2:][::-1]
print ini.shape
print ini2.shape
hist = sample(env,adv=adv,ini=ini2,t=2)
showsptime(hist[:,0,:])
plt.show()
(2, 1, 64, 64)
(2, 1, 64, 64)
In [21]:
hist = sample(env,adv=adv,ini=ini,t=2)
animate(hist[:,0,:])
Out[21]:
In [17]:
sp = hist[:,3,:]
animate(sp)
Out[17]:
In [ ]:
def flat2dict(lst):
'''
Group duplicate objects
'''
d = {}
for i,val in enumerate(lst):
d[val] = d.get(val,[]) + [i]
return d
def appendIndex(lst):
'''
Add index to duplicated objects
'''
d = flat2dict(lst)
out = len(lst)* [None]
for k,pos in d.items():
vals = ['%s%d'%(k,i) for i in range(len(pos))]
for i,v in zip(pos,vals):
out[i]=v
return out
if __name__=='__main__':
IN = ['a','b','a','a','b']
print IN
print addIndex(IN)
In [ ]:
from KBs import *
ntca2rca = [[0], [1, 4, 64, 256], [2, 8, 32, 128], [3, 6, 9, 36, 72, 192, 288, 384], [5, 65, 260, 320], [7, 73, 292, 448], [10, 34, 136, 160], [11, 38, 200, 416], [12, 33, 66, 96, 129, 132, 258, 264], [13, 37, 67, 193, 262, 328, 352, 388], [14, 35, 74, 137, 164, 224, 290, 392], [15, 39, 75, 201, 294, 420, 456, 480], [16], [17, 20, 80, 272], [18, 24, 48, 144], [19, 22, 25, 52, 88, 208, 304, 400], [21, 81, 276, 336], [23, 89, 308, 464], [26, 50, 152, 176], [27, 54, 216, 432], [28, 49, 82, 112, 145, 148, 274, 280], [29, 53, 83, 209, 278, 344, 368, 404], [30, 51, 90, 153, 180, 240, 306, 408], [31, 55, 91, 217, 310, 436, 472, 496], [40, 130], [41, 44, 104, 131, 134, 194, 296, 386], [42, 138, 162, 168], [43, 46, 139, 166, 202, 232, 418, 424], [45, 195, 360, 390], [47, 203, 422, 488], [56, 146], [57, 60, 120, 147, 150, 210, 312, 402], [58, 154, 178, 184], [59, 62, 155, 182, 218, 248, 434, 440], [61, 211, 376, 406], [63, 219, 438, 504], [68, 257], [69, 261, 321, 324], [70, 76, 100, 196, 259, 265, 289, 385], [71, 77, 263, 293, 329, 356, 449, 452], [78, 228, 291, 393], [79, 295, 457, 484], [84, 273], [85, 277, 337, 340], [86, 92, 116, 212, 275, 281, 305, 401], [87, 93, 279, 309, 345, 372, 465, 468], [94, 244, 307, 409], [95, 311, 473, 500], [97, 133, 268, 322], [98, 140, 161, 266], [99, 141, 165, 225, 270, 330, 354, 396], [101, 197, 269, 323, 326, 332, 353, 389], [102, 204, 267, 417], [103, 205, 271, 331, 358, 421, 460, 481], [105, 135, 300, 450], [106, 142, 163, 169, 172, 226, 298, 394], [107, 143, 167, 233, 302, 428, 458, 482], [108, 198, 297, 387], [109, 199, 301, 361, 364, 391, 451, 454], [110, 206, 230, 236, 299, 395, 419, 425], [111, 207, 303, 423, 459, 486, 489, 492], [113, 149, 284, 338], [114, 156, 177, 282], [115, 157, 181, 241, 286, 346, 370, 412], [117, 213, 285, 339, 342, 348, 369, 405], [118, 220, 283, 433], [119, 221, 287, 347, 374, 437, 476, 497], [121, 151, 316, 466], [122, 158, 179, 185, 188, 242, 314, 410], [123, 159, 183, 249, 318, 444, 474, 498], [124, 214, 313, 403], [125, 215, 317, 377, 380, 407, 467, 470], [126, 222, 246, 252, 315, 411, 435, 441], [127, 223, 319, 439, 475, 502, 505, 508], [170], [171, 174, 234, 426], [173, 227, 362, 398], [175, 235, 430, 490], [186], [187, 190, 250, 442], [189, 243, 378, 414], [191, 251, 446, 506], [229, 334, 355, 397], [231, 237, 363, 366, 399, 429, 462, 483], [238, 427], [239, 431, 491, 494], [245, 350, 371, 413], [247, 253, 379, 382, 415, 445, 478, 499], [254, 443], [255, 447, 507, 510], [325], [327, 333, 357, 453], [335, 359, 461, 485], [341], [343, 349, 373, 469], [351, 375, 477, 501], [365, 455], [367, 463, 487, 493], [381, 471], [383, 479, 503, 509], [495], [511]]
#### Testing
l = rca2ntca
l = l.tolist() if not isinstance(l,list) else l
assert ntca2rca==[[i for i,y in enumerate(l) if y==x] for x in range(102)]
class kb_2dntca():
def __init__(self):
self.familyname='2dntca'
pass
def rulestr2alias(self, rulestr):
'''
Convert a 26-digit hexadecimal rulestring to a B/S alias
'''
OUT = ''
# rulestr = '000000000060031c61c67f86a0'
r=hex2bin(rulestr,102);
r=r[::-1];
rule=[i for i,x in enumerate(r) if x=='1'];
# print r
lst = [hensellist[i] for i in rule]
lst.sort()
#### group by B/S
d = collections.OrderedDict((('b',{}),('s',{}))) ### set default
# d = {'b':{},'s':{}} ### set default
d.update(
{k:list(gp) for k,gp in itertools.groupby(lst, lambda x:x[0])}
)
for k,lst in d.items():
d[k] = {k:list(gp) for k,gp in itertools.groupby(lst, lambda x:x[1])}
for bs, dd in d.items():
OUT += bs
for k,lst in dd.items():
OUT += k + ''.join( conf[-1] for conf in lst)
OUT = OUT.replace('_','')
alias = OUT
return alias
def alias2rulestr(self,alias):
'''
Convert a B/S alias to a 26-digit hexadecimal rulestring
'''
# alias.replace('-','')
alias = re.sub('(\d-[a-zA-Z]+)',lambda o:invert(o.group()),alias)
alias = p_NOTnumletter.sub( '', alias).lower()
OUT = ['0']*102
d = collections.OrderedDict((('b',{}),('s',{}))) ### set default
# d.update()
# alias.split('s')
s = alias
lst = [x for x in re.split("([bs])", s) if x]
if len(lst) % 2: #### Padding to even length
lst += ['']
d = dict(ntuple(lst,2))
idxs = []
for k, v in d.items():
s = v
lst = [x for x in re.split("(\d)", s) if x]
L = len(lst)
v_old = ''
for i,v in enumerate(lst):
if v.isdigit():
if v_old.isdigit():
idx = [henselidx.get( k + v_old + c,None) for c in subconf]
idxs.extend(idx)
if i + 1 == L:
idx = [henselidx.get( k + v + c,None) for c in subconf]
idxs.extend(idx)
num = v
else:
idx = [henselidx[ k + num + v_i] for v_i in v ]
idxs.extend(idx)
v_old = v
idxs = [ x for x in idxs if x is not None]
for i in idxs:
if not i is None:
OUT[i] = '1'
bitstr=''.join(OUT[::-1]);
hexstr=hex(int(bitstr,2)).lstrip('0x').rstrip('L').zfill(26)
return hexstr
def rulestr2adv(self,rulestr):
ruleprj=np.array(
list(hex2bin(rulestr,102)[::-1]),
np.int);
adv = self.bin2adv(ruleprj)
return adv
def conv(self,IN):
'''
Convovle using non-totalistic isotropic filter
'''
fir=(2**np.arange(0,9)).reshape([1,3,3]);
pj=rca2ntca;
return pj[convolve_int(IN,fir,'wrap').astype(np.int)]
def bin2adv(self, ruleprj):
if isinstance(ruleprj,str):
ruleprj = list(ruleprj)
ruleprj = np.array(ruleprj,np.int)
def adv(a,horizon=0):
return ruleprj[self.conv(a)]
return adv
def rstr(self,callback=(lambda x:bin2hex(x).zfill(26)) ):
r = '{:0102b}'.format(random.randrange(2**102))
if callback is not None:
r = callback(r)
return r
def randadv(self):
return self.bin2adv(self.rstr(None))
def bulk_rstr(self,seed = 0,bsize=2**18,**kwargs):
random.seed(seed)
lst = [{'family':self.familyname,
'rulestr':self.rstr(**kwargs)} for x in range(bsize)]
return lst
def rulestr2table(self,rstr):
s = '''@RULE {alias:}
@TABLE
n_States:2
neighborhood:Moore
symmetries:rotate4reflect
'''.format(alias=self.rulestr2alias(rstr))
binstr=hex2bin(rstr,102)[::-1]
for i,bit in enumerate(binstr):
# if bit is '1':
conf = base2bin(str(ntca2rca[i]),10,9)
conf = np.take(list(conf),order_gollymoore)
line = ''.join(conf.tolist()+[bit])
# conf = ''.join([conf[order_gollymoore[x]] for x in range(len(conf))])
# print conf
s+='%s\n'%line
return s
def rulestr2table(self,rstr,reverse=0):
nState = 4 if reverse else 2
alias = self.rulestr2alias(rstr)
if reverse:
alias = 'rev_%s'%alias
s = '''@RULE {alias:}
@TABLE
n_States:{nState}
neighborhood:Moore
symmetries:rotate4reflect
'''.format(alias=alias,
nState=nState)
if reverse:
s=table_variable_moore(s)
s += '#>>>TAB<<<\n'
d = {'0':'a','1':'b'}
binstr=hex2bin(rstr,102)[::-1]
for i,bit in enumerate(binstr):
conf = base2bin(str(ntca2rca[i][0]),10,9)
conf = np.take(list(conf),order_gollymoore).tolist()
if not reverse:
line = ''.join(conf+[bit])
s+='%s\n'%line
else:
c_cur = int(conf[0])
for c_his in [0,1]:
# print c_cur+2*c_his
#### Use history and proposed bit to calculate next state
c_nex = int(bit) ^ int(c_his)
var = [d.get(x) for x in conf[1:]]
lst = [str(c_cur+2*c_his)] + appendIndex(var) +[str(c_nex+2*c_cur)]
line = ','.join( lst)
s+='%s\n'%line
# line = conf
return s
Content source: shouldsee/calc_temp
Similar notebooks: