Jump to content

The Third Great Number War: The Long Haul!


AtomicTech

Choose your side!  

131 members have voted

  1. 1. Which one?

    • The Positive Guard
    • The Negative Mercenaries
    • The Neutralists (Can go either way)
    • The Other People. Chaotic beings, the lot of them.


Recommended Posts

btw, I just found 24 and a half pages without a single negative number. Looks like lost negatives went on vacation last summer.

Also found 2 pages that have more than 50% of their posts equal (posts #1 are the same, etc.)

--Upd. --
Only 31 pages left!

Edited by Nazalassa
Link to comment
Share on other sites

WHEW! Finished!

@AtomicTech the following spoilers contains everything, until the end of page 850 (last page).

Complete graph:  (note: on which we can clearly see the "train" of positive battles from last summer)

Spoiler

0000
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
11000
12000
13000
14000
15000
16000
17000
18000
19000
20000
21000
22000

Per-battle graph:

Spoiler

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

Statistics:  (until page 850, included)

Spoiler

Total posts: 21250

Battles: 38
Shortest: #35: 19044-19156 [len: 113] -> Positive
Longest: #18: 10644-12355 [len: 1712] -> Negative

Positive wins: 19
Negative wins: 18
Times zero reached (from ±1): 742

And, of course, the program used:

Spoiler
#!/bin/python3

# +-----------------------------------------------------------------------------+
# |                           WARNING: SPAGHETTI CODE!                          |
# +-----------------------------------------------------------------------------+

inv = 'i'
#############################################################################################
## Here goes all the data. As I write this it takes 850 lines. It is in the spoiler below. ##
#############################################################################################


help_text = '''Please enter a list of arguments.
Recognized arguments are:

  +/-before             Border before graph
  +/-after              Border after graph
  +/-digits[:arg:arg..] Add digits
  +/-lines[:length]     Add lines every 100 posts
  +/-vertical           Orient vertically
  +/-horizontal         Orient horizontally
  +/-orient             Same as +/-vertical
  bat[:num[:arg:arg..]] Display battles - or, if 'num' given, set range to
                        battle 'num', and (optionally) display a title
  stats                 Display statistics (nb. of posts, battles, etc.)
  quit / exit           Terminate without plotting

'-' means "deactivate', '+' means 'activate'.

Arguments for +/-digits and bat:

  left      Digits/title on left
  right     Digits/title on right
  top       Digits/title on top
  bottom    Digits/title on bottom

Arguments for +/-lines:

  <integer> Spacing between lines
'''

def pos(t, mini, maxi):
	paged = 0
	if t.startswith('p'): t, paged = t[1:], 1
	if not t.isdigit(): return -1
	return max(mini, min(int(t), maxi))

for k in range(len(CN)):
	if CN[k]==inv: CN[k] = CN[k-1]

bat = []
i,lststrt = 0,0
while i < len(CN)-1:
	if abs(CN[i]-CN[i+1])>50:
		t = CN[i]-CN[i+1]
		bat.append((lststrt, i, t//abs(t)))
		while CN[i+1] == 0 and i < len(CN)-1: i += 1
		lststrt = i+1
	i += 1
if lststrt < len(CN): bat.append((lststrt, len(CN)-1, 0))

import sys
def do_statistics(CN, teams):
	bmin, bmax = 0, 0
	bminlen, bmaxlen = len(CN) + 16, 0
	poswin, nulwin, negwin = 0, 0, 0
	for i in range(len(bat)):
		blen = bat[i][1] - bat[i][0] + 1
		if blen < bminlen: bmin, bminlen = i, blen
		if blen > bmaxlen: bmax, bmaxlen = i, blen
		if bat[i][2] == 1: poswin += 1
		elif bat[i][2] == -1: negwin += 1
	teammin, teammax = teams[bat[bmin][2]], teams[bat[bmax][2]]
	print()
	print(f'Total posts: {len(CN)-1}')
	print(f'Battles: {len(bat)}')
	print(f'Shortest: #{bmin+1}: {bat[bmin][0]}-{bat[bmin][1]} [len: {bminlen}]\
 -> {teammin}')
	print(f'Longest: #{bmax+1}: {bat[bmax][0]}-{bat[bmax][1]} [len: {bmaxlen}]\
 -> {teammax}')
	for i in range(1, len(CN)):
		if CN[i-1] in (-1,1) and CN[i] == 0: nulwin += 1
	print()
	print(f'{teams[1]} wins: {poswin}')
	print(f'{teams[-1]} wins: {negwin}')
	print(f'Times zero reached (from ±1): {nulwin}')
	print()

DIGITS_TOP, DIGITS_BOT, DIGITS_LEFT, DIGITS_RIGHT = 1,2,4,8
topBorder, bottomBorder, lineSpace, orient, digits = 1, 1, 100, 0, 0
batt, title = 0, 0
start, end = -1, -1

prefix = {'+': 1, '-': 0}
teams  = {-1: 'Negative', 1: 'Positive', 0: 'None'}
while 1:
	params = input('Parameters: ').split(' ')
	if not len(params): continue
	cont = 1
	for p in params:
		if not len(p): continue
		pref='+'
		if p[0] in prefix: pref, p = p[0], p[1:]
		if p.startswith('before'): topBorder = prefix[pref]
		elif p.startswith('after'): bottomBorder = prefix[pref]
		elif p.startswith('digits'):
			if not prefix[pref]:
				digits = 0
				continue
			p2 = p.split(':')
			if len(p2) < 2: continue
			for p3 in p2[1:]:
				if p3.startswith('top'):   digits |= DIGITS_TOP
				elif p3.startswith('bot'): digits |= DIGITS_BOT
				elif p3.startswith('le'):  digits |= DIGITS_LEFT
				elif p3.startswith('ri'):  digits |= DIGITS_RIGHT
		elif p.startswith('line'):
			if prefix[pref]:
				lineSpace = 100
				if ':' not in p: continue
				p2 = p.split(':')
				if len(p2) < 2 or not p2[1].isdigit(): continue
				lineSpace = max(2,int(p2[1]))
			else: lineSpace = 0
		elif p.startswith('hor'): orient = 1-prefix[pref]
		elif p.startswith('vert') or p.startswith('ori'): orient = prefix[pref]
		elif p.startswith('h'): cont = print(help_text)
		elif p.startswith('stat'):
			cont = 0
			do_statistics(CN, teams)
		elif p.startswith('bat'):
			if ':' not in p:
				cont = 0
				print('Battles:')
				for i,b in enumerate(bat):
					print(f' #{i+1}: {b[0]}-{b[1]} [len: {b[1]-b[0]+1}] -> {teams[b[2]]}')
				continue
			p2 = p.split(':')
			if len(p2) < 2 or not p2[1].isdigit(): continue
			batt = int(p2[1])
			if not 0 < batt <= len(bat): continue
			start, end, batwin = bat[batt-1]
			if len(p2) < 3: continue
			for p3 in p2[2:]:
				if p3.startswith('top'):   title |= DIGITS_TOP
				elif p3.startswith('bot'): title |= DIGITS_BOT
				elif p3.startswith('le'):  title |= DIGITS_LEFT
				elif p3.startswith('ri'):  title |= DIGITS_RIGHT
				elif p.startswith('q') or p.startswith('exit'): sys.exit(0)
	if cont: break

if orient: digits = (digits & (DIGITS_TOP  | DIGITS_BOT  )) << 2 | \
                    (digits & (DIGITS_LEFT | DIGITS_RIGHT)) >> 2
if orient: title  = (title  & (DIGITS_TOP  | DIGITS_BOT  )) << 2 | \
                    (title  & (DIGITS_LEFT | DIGITS_RIGHT)) >> 2
if (digits & DIGITS_LEFT): topBorder = 1
if (digits & DIGITS_RIGHT): bottomBorder = 1

while start == -1 or end == -1:
	start = input('Start position [0-'+str(len(CN)-1)+']: ')
	end = input('End position [0-'+str(len(CN)-1)+']: ')
	start, end = pos(start, 0, len(CN)-1), pos(end, 0, len(CN)-1)

# 0000nslo
# n -> whether to show numbers next to the graph
# s -> Side of numbers: left/top (0) or right/bottom (1)
# l -> whether to add grey lines every [100] pixels
# o -> orientation: vertical (1) or horizontal (0)

CN = CN[start:end+1]
postN = list(range(start,len(CN)+start))

DIGITS = {'width': 3, 'height': 5, '-': 515,
	'0': 64367, '1': 44183, '2': 62439, '3': 62159, '4': 56265,
	'5': 63951, '6': 63983, '7': 62025, '8': 64495, '9': 64463}

FONT = { 'width': 5, 'height':10,
	'A':1599390860849,'a':1099526356527,'B':2149159847486,'b':1667016214078,
	'C':1599389320750,'c':1099527897615,'D':2149146215998,'d':1134994966063,
	'E':2182410158623,'e':1099526896142,'F':2182410158608,'f':1207034843268,
	'G':1599355995694,'g':1125916601793582,'H':1702484297265,'h':1667016214065,
	'I':2169097031839,'i':1103819313294,'J':2166880274524,'j':1125968695593548,
	'K':1703651461681,'k':1667004785299,'L':1667001500191,'l':1516262002819,
	'M':1713345447473,'m':1099543795381,'N':1711332314737,'n':1099543660081,
	'O':1599390402094,'o':1099526882862,'P':2149159813648,'p':1125932707936784,
	'Q':51180492871107,'q':1125916601793569,'R':2149159946801,'r':1099535532560,
	'S':1599353161262,'s':1099527895102,'T':2169097031812,'t':1103956676740,
	'U':1702469617198,'u':1099530028590,'V':1702469609796,'v':1099530021188,
	'W':1702469752490,'w':1099530032810,'X':1702220875313,'x':1099529785681,
	'Y':1702226956420,'y':1125918749277230,'Z':2165808841247,'z':1099544203551,
	'0':1115132839470,'1':1104213577870,'2':1115115692575,'3':1115115685422,
	'4':1101871545410,'5':1133352257070,'6':1115132216878,'7':1132833345668,
	'8':1115132741166,'9':1115132757550,'-':1073741838,'\'':1156,
	' ':0,'.':1099511627780,',':35184372088964,':':34359742468,'/':35220950753552,
	'<':1099515183491,'>':1099536991448,'(':1172803166338,')':1378753775752,
	'#':1099523140586}  # Numworks-style font

for l in 'qwertyuiopasdfghjklzxcvbnm': FONT[l] = FONT[l.upper()]

from PIL import Image, ImageChops, ImageDraw
BG, FG = (255,255,255), (0,0,0)                     # No comment.
GC, DC = (0,64,255), (92,92,92)                     # Graph color, digit color
LC0 = (128,128,128)                                              # Middle line
LC25, LC50, LC75 =  (255,224,192), (255,224,192), (128,192,128)  # Milestones
LCS =(192,192,192)                                  # Transversal lines

def coords(x, y, orient = 1):
	if orient: return y,x
	return x,y

def rot90(x, y, w, orient = 1):  # 90° ccw
	if orient: return y, w-x-1
	return x,y

def dotpos(x, y, orient):
	if orient: return -y,x
	return x,y

def text(txt, FG, font, orient):
	# Assume txt is a str
	l, cw, ch = len(txt), font['width'], font['height']
	w, h = coords(l*cw + l-1, ch, orient)
	render = Image.new('RGB', (w, h), BG)
	px = render.load()
	for i,c in enumerate(txt):
		X = i*cw + i
		for j, n in enumerate(bin(font[c])[3:]):
			if n == '1':
				x,y = rot90(X + (j%cw), j//cw, h, orient)
				px[x,y] = FG
	return render

def txtOffset(txt, font, orient):
	off = (font['width'] * len(txt) + len(txt) - 1) // 2
	if txt.startswith('-'): off += 1 - 2*orient
	return off

def draw_border(draw, sizeX, sizeY, topBorder, bottomBorder):
	sizeX, sizeY = sizeX-1, sizeY-1
	c1, c2, c3, c4 = (0,0), coords(sizeX,0,orient), coords(0,sizeY,orient), \
		coords(sizeX,sizeY,orient)
	draw.line(c1+c2, fill=FG)
	draw.line(c3+c4, fill=FG)
	if topBorder: draw.line(c1+c3, fill=FG)
	if bottomBorder: draw.line(c2+c4, fill=FG)

def draw_grads(draw, marginX, drawLen, sizeY):
	o = marginX - 1 - ((start-1) % lineSpace)
	c1y = 8         if digits & DIGITS_TOP else 1
	c2y = sizeY-1-8 if digits & DIGITS_BOT else sizeY-2
	for X in range(o, drawLen + marginX + lineSpace, lineSpace):
		c1, c2 = coords(X, c1y, orient), coords(X, c2y, orient)
		draw.line(c1+c2, fill=LCS)

def draw_lines(graph, draw, marginX, drawLen, sizeX, *lines):
	has_digits = digits & (DIGITS_LEFT | DIGITS_RIGHT)
	font = DIGITS
	o = (marginX - 2) if digits & DIGITS_LEFT else topBorder
	o2 = (drawLen + 3) if digits & DIGITS_RIGHT else (sizeX-1 - o - bottomBorder)
	ox, oy = coords(o, sizeY // 2, orient)
	for line in lines:
		x, y = dotpos(0, -line[0], orient)
		lx, ly = dotpos(o2, -line[0], orient)
		draw.line((x+ox, y+oy, lx+ox, ly+oy), fill=line[1])
		if has_digits:
			s = str(line[0])
			render = text(s, DC, font, 1-orient)
			if digits & DIGITS_LEFT:
				o1x, o1y = coords(-3 - font['width'], -txtOffset(s, font, 1-orient),
				                  orient)
				graph.paste(render, (x+ox+o1x, y+oy+o1y))
			if digits & DIGITS_RIGHT:
				o2x, o2y = coords(2, -txtOffset(s, font, 1-orient), orient)
				graph.paste(render, (lx+ox+o2x, ly+oy+o2y))

def draw_nums(graph):
	if not digits: return
	font = DIGITS
	if digits & (DIGITS_TOP | DIGITS_BOT):
		o = marginX - 1 - ((start-1) % lineSpace)
		c1y = 7 - font['height']
		c2y = sizeY - 7
		for X in range(o, drawLen + marginX + 2*lineSpace, lineSpace):
			s = str(X + start - marginX)
			l = txtOffset(s, font, orient)
			c1, c2 = coords(X-l, c1y, orient), coords(X-l, c2y, orient)
			render = text(s, DC, font, orient)
			if digits & DIGITS_TOP: graph.paste(render, c1)
			if digits & DIGITS_BOT: graph.paste(render, c2)


def addTitles(gr, draw, sizeX, sizeY, topBorder, bottomBorder, font):
	titleAdd = font['height'] + 4
	marginX0, marginX1 = (title & DIGITS_LEFT) != 0, (title & DIGITS_RIGHT != 0)
	marginY0, marginY1 = (title & DIGITS_TOP)  != 0, (title & DIGITS_BOT   != 0)
	marginX0, marginX1 = marginX0 * titleAdd, marginX1 * titleAdd
	marginY0, marginY1 = marginY0 * titleAdd, marginY1 * titleAdd
	Sx, Sy = marginX0 + sizeX + marginX1, marginY0 + sizeY + marginY1
	graph = Image.new('RGB', coords(Sx, Sy, orient), BG)

	if batt: s = f'Battle #{batt} -> {teams[batwin]}'
	else: s = f'Posts {start}-{end}'
	offset = txtOffset(s, font, 0)  # orient only useful when it starts by '-'
	if title & (DIGITS_TOP | DIGITS_BOT):
		ox, oy = -offset, -font['height']
		c1 = coords(marginX0+ox + sizeX // 2, oy + 3+font['height'], orient)
		c2 = coords(marginX0+ox + sizeX // 2, oy + Sy - 4, orient)
		render = text(s, FG, font, orient)
		if title & DIGITS_TOP: graph.paste(render, c1)
		if title & DIGITS_BOT: graph.paste(render, c2)
	if title & (DIGITS_LEFT | DIGITS_RIGHT):
		ox, oy = -font['height'], -offset
		c1 = coords(ox + 3+font['height'], marginY0+oy + sizeY // 2, orient)
		c2 = coords(ox + Sx - 4, marginY0+oy + sizeY // 2, orient)
		render = text(s, FG, font, 1-orient)
		if title & DIGITS_LEFT: graph.paste(render, c1)
		if title & DIGITS_RIGHT: graph.paste(render, c2)

	graph.paste(gr, coords(marginX0, marginY0, orient))
	draw_border(ImageDraw.Draw(graph), Sx, Sy, topBorder, bottomBorder)
	return graph


sizeX, sizeY, marginX, drawLen = len(postN), 171, 0, len(postN)
if topBorder:
	sizeX += 10
	marginX += 10
if bottomBorder: sizeX += 10
marginY = sizeY // 2

graph = Image.new('RGB', coords(sizeX, sizeY, orient), BG)
draw = ImageDraw.Draw(graph)
if not title: draw_border(draw, sizeX, sizeY, topBorder, bottomBorder)
if lineSpace: draw_grads(draw, marginX, drawLen, sizeY)
draw_lines(graph, draw, marginX, drawLen, sizeX, (0, LC0), (25, LC25),
           (50, LC50), (75, LC75), (-75, LC75), (-50, LC50), (-25, LC25))
#draw_border(draw, sizeX, sizeY, topBorder, bottomBorder)
draw_nums(graph)

ox, oy = coords(marginX, marginY, orient)
px = graph.load()
for x in range(drawLen):
	pos = dotpos(x, -CN[x], orient)
	px[ox + pos[0], oy + pos[1]] = GC

if title: graph = addTitles(graph, draw, sizeX, sizeY, topBorder, bottomBorder,
                            FONT)

if batt: name = f'numberWarGraph-bat{batt}.png'
else:    name = f'numberWarGraph{str(start)+"-" if start else ""}{end}.png'
graph.save(name)

 --

OPERATION INSTRUCTIONS
Launch the program in a terminal, or in the IDE of your choice. It will ask for a list of space-separated arguments, a bit like commmands - the 'help' command does work, so I will not list what the others are. If you have any questions, feel free to ask. Then, if you didn't specify a battle to plot, it will ask for the start and the end of the section to plot. Then it will create a file in the current directory, names 'numberWarGraph[xxx].png' and that's it.

Data in spoiler (850 lines):

Spoiler
CN = [
	0,1,2,3,4,5,4,5,4,5,4,5,6,5,6,7,6,7,6,7,8,9,10,9,10,9,
	10,11,10,11,10,9,8,9,inv,10,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,
	24,25,26,27,28,29,30,31,32,33,34,35,36,37,36,35,34,33,32,31,30,29,28,27,26,
	25,24,23,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,25,24,25,24,
	25,24,23,22,23,24,23,22,21,22,21,20,19,20,21,22,23,22,21,22,21,22,21,22,21,
	22,21,22,21,22,21,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,
	19,20,19,20,19,20,19,20,19,20,19,20,19,18,17,16,15,14,inv,inv,13,12,11,10,11,
	10,inv,9,8,7,6,5,4,3,inv,inv,inv,3,4,3,2,1,2,1,0,-1,-2,-3,-2,-3,
	-4,-5,-4,-5,-6,-7,-8,-9,-10,-11,-12,-13,-14,-15,-14,-13,-12,-13,-12,-13,-12,-13,-14,-13,-12,
	-13,-12,-11,-10,-11,-12,-11,-12,-11,-12,-11,-12,-11,-12,-13,-14,-15,-14,-15,-14,-15,-16,-17,-18,-19,
	-20,-21,-22,-23,-24,-25,-26,-27,-28,-29,-28,-29,-28,-29,-30,-31,-32,-33,-32,-33,-34,-35,-36,-37,-38,
	-39,-40,-41,-42,-43,-44,-45,-46,-45,-46,-47,-48,-49,-50,-51,-52,-53,-52,-53,-52,-53,-54,-55,-56,-57,
	-58,-59,-60,-59,-58,inv,-59,-58,-57,-56,-55,-56,-57,-58,-59,-60,-61,-62,-63,-62,-63,-62,-63,-62,-63,
	-64,-65,-64,-65,-66,-67,-68,-67,-68,-69,-68,-67,-68,-69,-70,-71,-72,-73,-74,-75,0,1,2,1,2,
	1,2,1,0,-1,0,1,2,1,2,3,4,3,4,5,6,5,6,5,6,5,6,5,6,5,
	6,5,6,5,6,5,6,5,6,5,6,7,8,7,8,9,10,11,10,11,10,inv,11,12,13,
	12,13,12,13,12,13,12,13,12,13,12,13,12,13,12,13,12,11,12,11,12,11,12,11,10,
	11,10,11,10,9,10,9,10,9,10,9,10,9,10,11,12,13,12,13,14,13,14,13,12,11,
	12,11,10,9,8,9,8,9,8,9,10,11,12,13,12,11,10,11,12,11,12,11,10,11,10,
	9,8,9,8,7,8,7,8,7,8,7,6,7,8,7,6,7,6,7,6,7,8,7,8,7,
	8,9,10,11,12,13,14,15,16,15,16,15,16,15,14,15,16,17,18,17,16,15,16,15,16,
	15,14,13,12,11,12,13,14,15,16,17,18,19,18,19,20,21,22,23,24,25,24,23,22,21,
	22,21,20,19,20,19,20,19,18,19,18,17,16,15,16,15,16,15,14,13,14,13,14,15,16,
	17,18,19,20,21,20,21,22,23,24,25,26,27,28,27,28,29,30,31,32,31,32,31,30,31,
	30,31,30,31,32,33,34,35,36,37,38,39,40,41,42,43,42,43,44,45,46,47,48,49,50,
	51,52,53,54,55,56,57,58,59,60,61,62,61,62,61,62,61,62,61,62,61,62,61,62,61,
	62,61,62,61,62,61,62,61,62,61,62,61,62,61,62,61,62,61,62,61,62,63,64,65,66,
	65,66,67,66,67,66,67,68,69,70,71,72,73,72,inv,73,72,73,74,73,74,75,0,0,0,
	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
	0,1,0,1,2,1,2,1,0,-1,-2,-3,-2,-3,-4,-5,-4,-5,-6,-5,inv,-4,-5,-4,-5,
	-4,-5,-6,-7,-6,-7,-6,-7,-6,-7,-6,-7,-6,-7,-6,-5,-4,-3,-2,-1,0,1,2,1,0,
	1,0,1,0,1,0,-1,-2,-3,-4,-5,-4,-5,-6,-7,-8,-9,-8,-9,-8,-9,-10,-11,-10,-11,
	-12,-13,-12,-13,-12,-13,-14,-15,-16,-15,-16,-15,-16,-15,-14,-13,-14,-13,-14,inv,-13,-12,-13,-12,-13,
	-12,-13,-12,-13,-12,-13,-12,-13,-12,-13,-14,-15,-16,-17,-18,-19,-18,-19,-20,-21,-22,-23,-24,-25,-26,
	-27,-28,-29,-28,-29,-28,-29,-30,-29,-30,-31,-32,-33,-34,-35,-36,-35,-36,-35,-34,-33,-34,-33,-34,-33,
	inv,-34,-33,-32,-31,-32,-31,-32,-31,-32,-31,-32,-33,-34,-35,-36,-37,-36,-37,-36,-37,-36,-37,-38,-39,
	-40,-41,-42,-41,-42,-43,-42,-43,-44,-43,-44,-45,-44,-45,-44,-45,-44,-45,-44,-45,-44,-45,-44,-45,-44,
	-45,-46,-45,inv,-44,-45,-46,-47,-48,-49,-50,-51,-52,-53,-52,-53,-52,-53,-54,-55,-56,-57,-58,-57,-58,
	-59,-60,-61,-60,-61,-62,-61,-62,-61,-62,-63,-64,-65,-64,-63,-64,-65,-64,-63,-64,-63,-64,-63,-64,-63,
	-64,-63,-64,-63,-64,-63,-62,-63,-64,-63,-64,-63,-62,-63,-64,-63,-64,-63,-64,-63,-64,-65,-64,-65,-64,
	-65,-64,-65,-64,-65,-64,-63,-64,-63,-64,-63,-64,-63,-64,-63,-64,-63,inv,-62,-63,-62,-63,-62,-61,-62,
	-61,-62,-61,-60,-61,-60,inv,-61,-60,-59,-60,-59,-60,-59,-60,-59,-58,-59,-58,inv,-59,-58,-59,-58,-59,
	-58,-59,-58,-59,-58,-59,-58,-57,inv,-58,inv,-57,-58,-57,-58,-57,-56,-55,-54,-53,-52,-51,-50,-49,-48,
	-47,-46,-45,-44,-43,-42,-43,-44,-43,-44,-43,-44,-45,-44,-45,-46,-45,-46,-45,-44,-43,-42,-41,-42,-41,
	-42,-41,-42,-41,-42,-43,-42,-41,-42,inv,inv,-41,-42,-41,-42,-43,-44,-43,-42,-43,-42,-41,-42,-41,-40,
	-41,-40,-41,-40,-41,-40,-41,-40,-41,-42,-43,-44,-45,-46,-47,-48,-49,-50,-51,-52,-53,-54,-55,-56,-55,
	-56,-57,-56,-57,-56,-57,-56,-57,-56,-57,-56,-57,-56,-57,-56,-55,-56,-55,-56,-55,-56,-55,-56,-55,-56,
	-55,-56,-55,-56,-55,-56,-55,-56,-55,-56,-55,-56,-57,-58,-59,-58,-59,-60,-61,-60,-61,-62,-63,-64,-65,
	-66,-67,-68,-69,-70,-71,-72,-73,-74,-75,0,0,0,0,0,0,0,1,2,1,2,1,2,1,0,
	1,0,-1,0,1,0,1,0,1,2,1,2,1,0,1,0,1,2,1,0,1,0,1,0,inv,
	-1,0,1,2,1,2,3,2,3,2,1,2,1,2,3,2,3,4,3,4,3,4,5,6,7,
	6,5,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,3,2,3,2,3,2,
	3,2,3,2,3,4,5,4,3,4,3,4,3,2,3,2,3,4,3,2,1,0,-1,0,-1,
	-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-3,-4,-5,-6,-7,-8,-9,-8,-9,-8,-9,-8,-9,-8,
	-7,-6,-5,-4,-3,-2,-3,-4,-3,-4,-3,-4,-3,-4,-3,-4,-3,-2,-1,-2,-1,-2,-1,-2,-3,
	-2,-3,-4,-3,-4,-5,-6,-7,-8,-7,-6,-7,-6,-7,-8,-9,-10,-9,-10,-9,-10,-9,-8,-9,-8,
	-9,-8,-9,-8,-7,-6,-7,-8,-9,-8,-9,-8,-9,-8,-9,-8,-7,-6,-7,-6,-7,-6,-7,-6,-7,
	-8,-7,-8,-9,-8,-9,-8,-7,-6,-7,-8,-7,-6,-5,-6,-7,-8,-7,-8,-7,-8,-7,-8,-7,-6,
	-7,-8,-7,-8,-9,-10,-9,inv,-10,-9,-10,-9,-10,-11,-10,-11,-12,-11,-12,-13,-14,-13,-12,-13,-12,
	-13,-12,-13,-12,-13,-12,-13,-12,-13,-14,-13,-14,-13,-14,-13,-14,-13,-14,-15,-16,-15,-16,-15,-16,-15,
	-16,-17,-18,-17,inv,-16,-17,-16,-17,-16,-15,-14,-15,-16,-17,-16,-17,-18,-19,-18,-19,-20,-21,-22,-23,
	-22,-23,-24,-25,-24,-25,-26,-27,-26,-27,-26,-27,-28,-27,-28,-29,-30,-31,-32,-33,-34,-35,-34,-35,-34,
	-35,-36,-37,-36,-37,-36,-35,-36,-37,-36,-37,-36,-35,-34,-33,-32,-31,inv,inv,-30,-29,-28,-27,-26,-25,
	-24,-23,-22,-21,-20,-19,-18,-17,-16,-15,-14,-13,-12,-11,-12,-11,-12,-11,-12,-11,-10,-11,-12,-13,-12,
	-11,-10,-9,-10,-9,-10,-9,-8,-9,-8,-9,-8,-9,-8,-9,-8,-9,-8,-7,inv,-8,-9,-8,-9,-8,
	-9,-8,-7,-8,-7,-8,-7,-8,-7,-8,-9,-10,-11,-12,-13,-14,-13,-14,-13,-14,-13,-14,-13,-14,-13,
	-14,-13,-14,-13,-14,-15,-14,-15,-16,-17,-18,-17,-18,-17,-18,-19,-20,-21,-22,-23,-24,-25,-24,inv,-23,
	-24,-23,-24,-25,-24,-25,-26,-27,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-34,-35,-36,-35,-34,-35,-36,
	-35,-34,-33,-32,-31,-30,-29,-30,-31,-32,-31,-32,-33,-32,-31,-30,-29,-28,-27,-26,-27,-26,-25,-24,-23,
	-22,-21,-20,-19,-18,-17,-16,-15,-14,-15,-14,inv,-15,-14,inv,-15,-14,-13,-12,-11,-12,-11,-12,-11,-12,
	-11,-10,-12,-11,-10,-9,-10,-9,-8,-9,-8,-7,-8,-7,-6,-7,-8,-7,-6,inv,inv,inv,inv,inv,inv,
	inv,inv,inv,inv,-7,inv,-8,-7,-8,-7,-6,-5,-4,-3,-4,-3,-4,-5,-6,-5,-6,-5,-6,-5,-6,
	-5,-6,-5,-6,-5,-6,-7,-6,-7,-8,-9,-10,-9,-10,-11,-10,-11,-10,-9,-10,-9,-10,-9,-10,-9,
	-10,-9,-10,-9,-10,-9,-10,-11,-10,inv,inv,inv,-11,-10,-11,-10,-11,-10,-11,-10,-11,-12,-11,-12,-13,
	-12,-13,-12,-13,-12,-13,-12,-11,-12,-11,-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,
	3,4,5,6,7,8,9,10,11,10,9,10,9,10,9,10,9,8,7,8,7,6,5,6,5,
	4,3,2,1,0,-1,-2,-3,-4,-3,-4,-3,-4,-5,-6,-7,-6,-5,-6,-7,-6,-5,-6,-5,-4,
	-5,-6,-7,-8,-7,-8,-9,-10,-11,-12,-13,-12,-11,-10,-9,-10,-9,-8,-9,-8,-9,-8,-9,-8,-7,
	-6,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,3,2,1,0,-1,-2,-3,-4,-5,-6,-5,-6,
	-5,-6,-5,-6,-5,-6,-7,-8,-9,-10,-11,-12,-13,-14,-13,-14,-15,-16,-17,-18,-19,-20,-21,-22,-23,
	-24,-25,-26,-27,-26,-25,-26,-27,-28,-29,-28,-29,-28,-29,-30,-29,-28,-27,-26,-25,-26,-25,-26,-25,-24,
	-23,-24,-23,-24,-23,-24,-23,-24,-23,-24,-23,-24,-23,-24,-23,-24,-23,-24,-23,inv,-24,-23,-22,-21,-22,
	-23,-22,-23,-24,-25,-24,-25,-26,-27,-28,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-35,-36,-37,-38,-39,
	-38,-39,-38,-37,-38,-37,-38,-39,-40,-41,-40,-41,-40,-41,-42,-43,-42,-43,-42,-41,-42,-41,-42,-41,-42,
	-41,-40,-39,-38,-37,-36,-37,-38,-39,-40,-41,-40,-41,-40,-41,-40,-41,-42,-43,-44,-45,-46,-47,-48,-49,
	-50,-51,-52,-53,-54,-55,-56,-57,-56,-57,-56,-57,-58,-59,-60,-59,-60,inv,-61,-60,-61,-60,-61,-60,-61,
	-60,-61,-60,-61,-60,-61,-60,-61,-62,-61,-62,-61,-62,-61,-62,-61,-60,inv,inv,inv,-61,inv,-62,-61,inv,
	inv,inv,-60,-59,-60,-61,-60,-59,-60,-59,inv,-60,-61,-60,inv,inv,inv,-59,-60,-59,-60,-59,inv,inv,-60,
	-61,-62,-61,-62,-63,-64,-65,-64,-65,-66,-67,-68,-69,-70,-71,-72,-73,inv,-74,-75,0,0,0,0,0,
	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,-1,-2,-3,-2,-3,
	-2,-3,-2,-3,-2,-3,-2,-3,-2,-3,-2,-3,-2,-1,0,-1,inv,inv,-2,-3,-4,-5,-6,-7,-6,
	-7,-8,-7,-8,-7,-8,-9,-10,-11,-12,-13,-14,-15,-16,inv,inv,-17,-18,-19,-20,-21,-22,-23,-24,-25,
	-26,-27,-28,-27,-28,-27,-28,-29,-28,-29,-28,-29,-28,-29,-28,-29,-28,-29,-30,-31,-32,-33,-34,-33,-34,
	-35,-34,-35,-34,-35,-36,-37,-38,-39,-40,-41,-42,-41,-42,-41,-42,-43,-44,-45,-46,-47,-48,-49,-50,-51,
	-52,-53,-54,-55,-56,-57,-58,-59,-60,-59,-58,-59,-60,-61,-62,-61,-60,-61,-60,-61,-60,-59,-58,-59,-58,
	-59,-58,-59,-58,-57,-56,-55,-54,-53,-52,-51,-52,-51,-50,-49,-48,-47,-46,-45,-44,-43,-42,-41,inv,-40,
	-39,-38,-37,-38,-37,-38,-37,-38,-37,-38,-37,-38,-37,-38,-37,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,
	-48,-47,-48,-47,-46,-47,-48,-49,-48,-49,-50,-51,-50,-51,-50,-51,-50,-51,-52,-51,-52,-51,inv,inv,-52,
	-51,-52,-53,-52,-53,-54,-53,-54,-55,-54,-55,-54,-55,-54,-55,-54,-55,-54,-55,-56,-55,-56,-55,-56,-55,
	-56,-55,-56,-55,-56,-55,-56,-55,-56,-55,-56,-57,-58,-59,-60,-61,-62,-63,-62,-63,-64,-63,-64,-63,-64,
	-65,-64,-63,-62,-61,-60,-59,-58,-59,-58,-57,-56,-55,-54,-53,-52,-51,-52,-51,-52,-53,-54,-55,-56,-57,
	-58,-59,-60,-59,-60,inv,-61,-62,-63,-64,-65,-66,-67,-68,-69,-70,-71,-72,-73,-74,-75,-1,-2,-3,-4,
	-5,-6,-7,-8,-9,-10,-11,-12,-13,-14,-15,-16,-17,-18,-19,-18,-19,-20,-19,-20,-19,-20,-21,-22,-23,
	-24,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-38,-39,-38,-39,-38,-37,-36,-37,-36,
	-37,-36,-37,-36,-35,-36,-37,-36,-37,-38,-39,-38,-39,-40,-39,-40,-41,-42,-43,-44,-43,-42,-41,-42,inv,
	-41,-40,-41,-42,-43,-44,-43,-42,-43,-42,-43,-42,-43,-42,-43,-42,-43,-42,-43,-42,-43,-44,-45,-44,-45,
	inv,-46,-47,-48,-49,-48,-47,-46,-45,-44,-43,-42,-43,-42,-41,-40,-39,-38,-37,-36,-35,-34,-33,-32,-31,
	-30,-31,-30,-31,-30,-31,-30,-31,-30,-31,-30,-31,-30,-31,-30,-31,-30,-31,-32,-31,-32,-31,-32,-31,-32,
	-31,-32,-31,-32,-31,-32,-33,-32,-31,-30,-29,-28,-27,-26,-25,-24,-23,-22,-21,-20,-21,-22,-21,-22,-21,
	-22,-23,-22,-23,-22,-23,-24,-25,-26,-27,-28,-29,-30,-31,-32,-33,-32,-33,-34,-35,-36,-37,-38,-39,-40,
	-41,-42,-43,-44,-45,-44,-45,-44,-45,-46,-45,-46,-47,-48,-49,-50,-51,-52,-53,-54,-55,-56,-57,-58,-59,
	-60,-61,-62,-63,-64,-65,-66,-67,-68,-69,-68,-69,-70,-71,-72,-73,-74,-75,-1,-2,-3,-4,-5,-6,-7,
	-8,-7,-8,-9,-8,-9,-10,-11,-12,-13,-14,inv,inv,-13,-14,-13,-14,-13,-14,-15,-14,-15,-14,-15,inv,
	-14,-15,-14,-15,-14,-15,-16,-15,-14,-13,-12,-13,-12,-13,-12,-13,-12,-11,-10,-11,-10,-11,-10,-11,-10,
	-11,-10,-11,-10,-9,-10,-9,-10,-9,-10,-9,inv,-10,-9,-10,-9,inv,-10,-9,-10,-11,-10,-9,-8,-7,
	-8,-7,-8,-7,-6,-7,-6,-7,-6,-7,inv,inv,-6,inv,-7,-6,-7,-6,-5,-4,-3,-4,-3,-2,-3,
	-2,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,
	inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,
	inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,
	inv,inv,inv,inv,-1,0,-1,0,-1,0,1,0,1,0,1,2,1,2,3,4,5,6,5,4,5,
	6,7,6,7,6,7,8,7,8,7,8,7,8,7,8,7,8,9,8,9,8,9,10,11,12,
	13,12,13,12,13,14,13,14,13,14,15,14,13,14,15,14,15,14,15,16,17,18,19,18,19,
	18,19,20,21,20,19,20,19,20,19,20,19,18,19,20,19,20,19,20,19,20,21,22,21,22,
	21,22,23,24,25,24,25,26,27,28,29,28,29,30,31,32,33,34,35,36,37,38,39,40,39,
	38,37,38,37,38,37,36,37,36,37,36,35,36,35,36,37,36,35,34,35,36,37,38,37,38,
	37,38,37,38,39,38,39,38,39,40,41,40,inv,39,inv,inv,inv,inv,40,39,40,41,42,41,42,
	41,42,41,42,43,42,43,42,41,42,43,42,43,44,45,44,43,44,43,42,43,42,43,42,43,
	42,43,44,43,44,43,44,43,42,41,40,41,42,43,42,43,44,43,44,43,44,45,46,45,46,
	45,46,47,46,47,46,45,44,45,44,45,44,45,44,45,44,45,44,45,44,45,44,45,44,45,
	44,45,46,45,46,45,46,45,46,45,44,45,46,47,48,49,50,51,52,53,54,53,54,53,54,
	53,54,55,54,55,54,55,56,55,56,55,56,55,56,55,56,55,56,57,56,57,56,55,54,55,
	56,57,56,57,56,57,58,57,58,57,58,59,60,59,60,59,60,59,60,59,60,59,60,inv,inv,
	inv,inv,inv,inv,inv,inv,61,62,inv,inv,63,64,65,66,67,68,69,68,inv,inv,inv,69,70,71,70,
	inv,71,72,73,74,75,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,2,3,2,
	3,2,3,4,5,6,7,8,inv,7,8,9,8,9,10,11,12,13,14,13,14,13,14,15,14,
	13,14,13,14,13,14,15,14,15,14,15,16,17,18,19,18,19,20,21,22,23,22,inv,23,22,
	23,22,23,22,23,24,25,26,25,26,25,24,25,24,23,24,23,24,25,24,23,24,23,24,23,
	22,23,24,25,24,25,24,25,26,25,24,23,24,23,24,23,22,21,20,19,18,17,18,17,18,
	inv,inv,inv,inv,inv,inv,17,inv,inv,inv,inv,16,inv,inv,inv,inv,15,14,13,14,15,16,17,16,17,
	18,19,18,19,20,19,20,19,20,21,22,23,24,23,24,23,22,inv,21,22,21,20,21,22,21,
	20,19,18,17,16,15,14,13,12,11,10,9,10,9,8,7,6,5,4,3,4,3,2,1,2,
	1,2,1,inv,inv,inv,0,inv,inv,-1,0,-1,inv,0,inv,-1,-2,-1,0,1,0,1,2,3,inv,
	inv,4,5,6,7,8,9,10,11,12,13,14,15,14,15,14,15,14,13,14,15,14,13,12,11,
	10,9,inv,inv,8,inv,inv,7,inv,6,7,6,inv,7,6,5,4,3,2,1,0,-1,-2,-3,inv,
	inv,inv,inv,-4,-5,-6,inv,inv,-5,-6,-7,-6,-7,-6,-7,-6,-7,-8,-9,-10,-9,-10,-9,-10,-9,
	-10,-9,-8,inv,-7,-8,-7,-8,-7,-6,inv,inv,inv,-7,-6,inv,-7,inv,-8,-7,inv,-8,-9,-8,-9,
	-10,-9,-10,-9,-10,-9,-10,-9,-8,-9,-8,-9,-8,-9,-8,-7,-8,-7,-8,-7,-6,-5,-6,-5,-4,
	-5,-4,-3,-2,-1,-2,-1,0,-1,0,-1,-2,-1,0,1,0,1,0,-1,-2,-1,-2,-1,-2,-3,
	-4,-5,-4,-5,-4,-5,-4,-5,-4,-5,-4,-5,-4,-3,-4,-3,-4,-3,-4,-3,-4,-3,-4,-3,-2,
	-3,-2,-3,-2,-3,-2,-3,-4,-5,-6,-7,-8,-9,-8,-9,-8,-7,-8,-9,-10,-11,-12,-13,-12,-13,
	-14,-13,-14,-13,-14,-13,-12,-13,-12,-13,-12,-13,-12,-13,-12,-13,-12,-13,-12,-11,-10,-9,-8,-7,-6,
	-7,-6,-5,-6,-7,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,3,4,3,4,5,6,7,
	8,7,8,7,8,9,inv,inv,inv,inv,inv,inv,inv,8,7,8,inv,inv,7,6,7,8,9,8,9,
	10,9,8,9,10,9,10,9,10,9,10,9,10,9,8,9,10,11,12,13,12,inv,13,12,13,
	14,13,14,15,16,17,18,19,20,21,22,21,22,21,22,21,20,21,20,19,20,19,20,19,20,
	19,18,17,18,17,18,17,18,19,inv,18,19,18,inv,19,20,21,inv,inv,22,23,24,25,26,27,
	28,29,30,29,30,31,32,31,32,33,34,35,34,35,36,37,38,39,40,41,42,43,42,43,42,
	41,42,43,44,45,44,45,46,47,48,47,48,49,50,49,50,51,52,53,52,53,54,55,56,57,
	58,59,60,61,62,63,64,65,66,67,66,67,66,65,66,67,66,67,68,69,68,69,70,69,68,
	69,70,69,70,71,72,73,inv,74,73,74,75,0,0,0,0,1,inv,0,-1,0,-1,0,-1,0,
	1,0,-1,-2,-3,inv,inv,-4,-5,-4,-5,-4,-5,-6,inv,-7,-8,-9,-10,-11,-12,-13,-14,-15,-16,
	-17,-18,-19,-20,-21,-22,-23,-24,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-33,-34,-33,-34,-35,inv,-34,
	-33,-32,inv,-31,-30,-29,-30,-29,inv,-28,-29,inv,-28,-27,-26,-25,-24,-23,-22,-23,-24,-23,-24,-25,-26,
	-27,-28,-29,-28,-29,-28,-29,inv,-30,-31,-32,-33,-34,-35,-36,-35,-34,-33,-34,-33,-34,-33,inv,-32,-33,
	inv,inv,-32,-31,inv,-30,inv,inv,inv,-31,inv,inv,-30,-29,-28,-27,-28,-27,-26,-25,-26,-25,-26,-25,-24,
	-25,-26,-25,-26,-27,-26,-25,-26,-25,-24,-25,-24,-23,-24,-23,-24,-23,-24,-23,inv,inv,inv,inv,-24,-23,
	inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,-22,-21,-20,-19,-18,-19,-18,-19,-18,-17,-16,-15,-14,-13,-12,
	-13,-12,-11,-10,-11,-10,-9,-8,-7,-6,-7,-6,-7,-6,-7,-8,-7,-6,-5,-4,-5,-6,-7,-8,-9,
	-10,inv,-9,-10,-11,inv,-12,-13,-12,inv,inv,-13,-12,-13,inv,-14,inv,inv,-13,-14,-15,-14,inv,-15,-16,
	-15,-16,-17,-18,-17,-18,-17,-18,-19,-20,-21,-20,-21,-22,-21,-22,-23,-24,-25,-26,-25,-24,-25,-24,-23,
	-24,-23,-22,-23,-24,-25,-26,-25,-26,-27,-28,-29,-30,-31,-32,-31,-32,-33,-34,-33,-34,-33,-34,-35,-36,
	-37,-38,-39,-38,-37,-38,-39,-38,-37,-36,-35,-36,-35,-34,-35,-34,-35,-36,-37,inv,-36,-35,-36,inv,-37,
	-36,-35,-34,-35,-34,-35,-34,-33,-34,-33,-34,-33,-32,inv,-33,-32,-31,-30,-31,-30,-31,-30,-29,-28,-29,
	-28,-29,-30,-29,-30,-29,-30,-29,-28,-27,-26,-25,-24,-25,-24,-23,-24,-25,-24,-23,-24,-23,-22,-21,-20,
	-19,-18,-17,-16,-15,-14,-15,inv,-16,-17,-18,-19,-20,-21,-20,-19,-18,-17,-16,-15,-16,-15,-14,-13,-12,
	-11,-10,-9,-8,-9,-8,-7,-6,-5,-6,-5,-4,-3,-4,-3,-4,-3,-4,-5,-6,-5,-6,-5,-6,-5,
	-4,-3,-4,-3,-4,-3,-4,-3,-4,-3,inv,-2,inv,inv,-3,-2,-3,inv,-4,-3,-4,-3,-4,-3,-4,
	-3,-4,-3,-4,-3,-4,-3,-2,-1,-2,-1,0,-1,-2,-1,0,-1,0,1,0,1,2,3,4,5,
	6,5,6,7,8,7,8,9,8,7,8,9,8,7,6,5,6,7,6,5,4,5,4,5,4,
	3,2,1,2,1,2,inv,1,2,1,2,1,2,1,inv,0,1,0,1,0,1,inv,inv,0,1,
	inv,inv,0,1,0,1,0,1,0,1,0,-1,-2,-3,-2,-1,-2,-1,inv,inv,-2,-1,-2,-3,-2,
	-1,-2,-3,-2,-3,-4,-3,-4,-5,-4,-5,-4,-3,-2,-1,0,1,0,1,2,3,4,5,6,7,
	8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,23,24,25,26,27,28,29,30,
	29,30,31,32,31,32,31,30,31,32,31,32,31,32,31,32,31,32,31,32,31,32,31,32,33,
	32,33,34,33,34,33,34,35,34,35,36,37,36,37,36,37,38,37,38,37,38,37,38,37,38,
	37,38,37,38,37,inv,38,37,36,37,36,35,34,35,34,35,34,35,36,inv,inv,inv,37,38,37,
	38,37,38,37,38,39,38,39,40,39,38,37,38,37,38,37,36,37,inv,36,37,36,37,inv,38,
	39,38,39,38,39,inv,inv,38,39,38,39,inv,40,39,inv,inv,inv,inv,40,39,40,41,40,39,38,
	37,inv,36,35,36,35,36,35,36,35,36,35,36,35,34,33,32,31,inv,30,29,30,29,28,27,
	26,25,24,23,22,21,22,21,22,21,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22,
	21,20,inv,21,inv,20,19,20,19,18,17,16,17,16,17,16,17,16,17,18,17,16,inv,inv,17,
	18,17,16,17,18,19,18,17,18,17,16,15,14,13,12,inv,13,12,13,14,15,14,13,12,13,
	14,15,14,13,12,11,10,11,inv,10,11,12,13,14,inv,15,14,15,14,15,14,15,16,17,16,
	15,14,13,14,13,14,15,14,15,16,inv,inv,17,18,17,16,17,16,17,16,17,16,17,16,17,
	18,17,inv,inv,inv,18,inv,17,18,19,20,21,22,21,22,21,20,21,20,21,20,21,20,19,18,
	19,18,17,16,inv,17,16,15,16,15,inv,14,15,14,15,14,15,14,13,12,11,12,11,10,9,
	8,7,6,5,4,3,2,3,2,1,0,-1,-2,-3,-2,-3,-2,-3,-2,-1,0,1,2,inv,3,
	4,5,4,3,4,3,2,3,2,3,4,5,4,3,2,1,0,inv,inv,inv,inv,inv,inv,inv,inv,
	inv,inv,-1,0,-1,0,-1,0,-1,-2,-1,-2,-1,-2,-3,-2,-1,-2,-3,-2,inv,-1,0,-1,0,
	-1,-2,-3,-4,-5,inv,inv,inv,-6,-5,-6,-7,-8,-7,-8,-9,-10,-9,-10,-11,-10,-11,-10,inv,-9,
	-8,-7,-6,-5,-4,-3,-2,-1,-2,-1,0,1,2,3,4,3,2,1,0,-1,inv,-2,-3,-4,-5,
	-6,-5,-6,-5,-6,-7,-6,-7,-8,-9,-10,-11,-10,-11,-12,-13,-12,-13,-14,-15,-16,-15,-16,-17,-18,
	-17,-16,-17,-16,-17,-16,-17,-16,-17,-16,-17,-18,inv,-19,-20,-21,-22,inv,-21,-22,-23,-24,-25,-26,-27,
	-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-49,-50,inv,inv,
	-51,-50,-51,-52,-53,-54,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-65,-66,-67,-68,-69,-70,-71,-72,-73,
	-74,-75,0,0,0,0,0,1,0,1,0,-1,inv,-2,-3,-4,inv,-3,-2,-3,-4,-5,-4,-3,-4,
	inv,-5,-6,-5,-6,-7,-8,-7,-8,-9,-10,-11,-12,-13,inv,-14,-13,-12,-11,-10,-11,-10,-9,-10,-9,
	-10,-11,-12,-11,-12,-11,-10,-11,-10,-11,-10,-11,inv,-12,-11,-12,-11,-12,-11,-10,-9,-8,-9,-8,-7,
	-6,-5,-6,-5,-6,-7,-6,inv,-7,-6,-7,-6,-7,-8,-9,-10,-11,-12,-13,-14,-15,-14,-15,-14,-13,
	-12,-11,-10,-9,-8,-7,-6,-7,-6,-5,-4,-3,-2,-3,-2,-3,-2,-3,-2,-3,-2,-3,-2,-3,-2,
	-3,-4,-5,-6,-7,-8,-7,-8,-7,-8,-9,-10,-11,-12,-11,-12,-11,-10,-11,-10,-11,-12,-11,-10,-9,
	-8,-7,-6,-7,-6,-7,-6,-7,-6,-5,-4,-5,-4,-5,-4,-5,-6,-7,-8,-9,-8,-9,-8,-9,-8,
	-9,-8,-7,-8,-7,-8,-7,-8,-9,-8,-9,-10,-11,-12,-13,-14,-15,-14,-15,-14,-15,-14,-15,-14,-15,
	-14,-15,-16,-15,-16,-17,-18,-19,-20,-19,-20,-21,-22,-21,-22,-21,-20,-21,-20,-19,-20,-19,-18,-17,-16,
	-15,-14,-13,-14,-15,-16,-17,-16,-17,-18,-19,-20,-21,-20,-21,-22,-23,-24,-23,-22,-21,-20,inv,-19,-18,
	-19,-18,-19,inv,-18,-19,-18,-19,-20,-19,-18,-17,-18,-17,-18,-17,-16,-17,-18,-19,-18,-19,-20,-19,-20,
	-21,-22,-23,-24,-23,-24,-25,-26,-25,-26,-27,-28,-29,-30,-29,-28,-27,-26,-27,-26,-25,-26,-27,-28,-29,
	-30,-31,-32,-33,-34,-35,-36,-37,-36,-37,-38,-39,-38,-39,inv,-38,-37,-36,-35,-34,-35,-34,-33,-34,-33,
	-34,-33,-34,-35,-36,-35,-36,-37,-38,-39,-40,-41,-42,-43,-42,-43,-42,-43,-44,-45,-44,-45,-44,-45,-44,
	-43,-44,-43,-44,-43,-42,-41,-42,-41,-42,-41,-42,-43,inv,-42,-43,-42,-43,-42,-43,-44,-45,-44,-45,-44,
	-45,-46,-45,-46,-47,-48,-49,-50,-51,-52,-51,-52,-51,-52,-51,-52,-51,-50,-49,-50,-49,-48,-47,-46,-45,
	-44,-45,-44,-43,-44,-43,-44,-43,-44,-43,-44,-45,-46,-47,-48,-47,-48,-47,-48,-49,-50,-49,-50,-49,-50,
	-49,-50,inv,inv,-49,-50,-49,-50,-51,-50,-51,-50,-51,-50,-51,-50,-51,-50,-51,-50,-51,-50,-51,-50,-49,
	-50,-49,-50,-51,-50,-51,-50,-51,-52,-51,-50,-49,-48,-47,-46,-47,-46,-45,-44,-45,-44,-43,-44,-45,-44,
	-45,-46,-47,-46,-45,inv,-44,-43,-44,-43,-44,-43,-44,-45,-44,-43,-42,-43,-42,-41,-40,-41,-40,-39,-38,
	-39,-40,-39,-40,-41,-42,-43,-44,-43,-44,-45,-44,-45,-46,-47,-48,-47,-48,-49,-48,-47,-48,-47,-46,-47,
	-48,-47,-46,-45,-46,-45,-46,-45,-46,-47,-48,-49,-48,-49,-48,-49,-50,-49,-50,-49,-50,-51,-50,-49,-50,
	-51,-52,-53,-54,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-65,-66,-67,-68,-69,-70,-71,-72,-73,-74,-75,
	-1,-2,-3,-4,-5,-4,-5,-4,inv,-3,inv,-2,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,
	inv,inv,10,11,10,11,12,11,12,13,12,13,14,inv,13,14,13,14,13,14,13,12,13,14,15,
	16,17,16,17,18,17,18,19,20,21,22,23,22,23,24,25,26,27,28,29,30,29,30,inv,29,
	30,inv,inv,29,30,29,30,29,30,29,30,31,30,31,30,31,32,31,32,33,34,35,36,35,36,
	37,38,37,38,37,36,35,34,33,32,31,30,29,28,29,28,27,26,25,24,23,22,inv,21,20,
	19,18,19,18,inv,inv,17,16,17,16,15,16,15,16,15,14,15,14,15,14,15,14,15,14,15,
	14,15,14,15,14,15,14,15,14,13,14,13,14,13,12,13,12,13,12,13,12,13,12,11,10,
	9,8,9,10,11,12,13,14,13,14,13,14,15,14,15,14,15,16,17,18,inv,inv,17,18,inv,
	17,18,17,18,19,20,19,20,21,22,23,22,23,22,23,24,25,24,23,22,23,24,23,24,23,
	22,23,22,21,20,21,20,21,20,19,18,inv,19,18,17,16,inv,15,14,13,14,13,inv,14,13,
	inv,inv,inv,14,15,14,15,14,13,12,11,10,9,8,7,8,7,6,5,6,5,4,3,2,1,
	0,1,0,-1,-2,-3,-4,-5,-6,-7,-8,-7,-8,-9,inv,-8,-9,-10,inv,-9,-10,-11,inv,inv,-10,
	inv,-11,inv,inv,-10,-9,-10,-9,-10,-9,-10,-9,-10,-9,-10,-9,-8,-9,-8,-7,-6,-7,-6,-7,-6,
	-7,-6,-7,-8,-9,-10,-11,inv,inv,inv,-12,inv,inv,-13,inv,inv,inv,-12,-13,-14,inv,-15,-16,-17,-18,
	-19,-20,-21,-22,-23,-24,-25,-26,-25,-26,-27,-28,-27,-28,-27,-28,-27,-28,-27,-28,-29,-28,-29,-28,-29,
	-28,-27,-28,-27,-28,-29,-30,-31,-32,-33,inv,-34,inv,inv,-33,-34,-35,-36,-35,-36,-37,-38,-37,-38,-39,
	inv,-38,-39,-38,-39,-38,-39,-38,-39,-40,-39,inv,-40,-41,-42,-41,-42,-43,-44,-45,-46,-47,-46,-45,-46,
	-45,-44,-45,-44,-45,-44,-45,-44,-45,-44,-43,-44,-45,-46,-45,-44,-45,-44,-43,-42,-41,-40,-39,-40,-39,
	-40,-39,-40,-39,-38,-39,-38,-37,-36,-35,-34,-35,-34,-33,-32,-33,inv,-32,-33,-32,-31,-32,-31,-30,-29,
	-30,inv,inv,-29,-28,-27,-28,-27,-26,-25,-24,-23,-22,-21,-20,-21,-20,-19,-18,-17,-16,-15,-14,-13,-12,
	-11,-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,inv,-1,0,inv,1,2,3,4,5,6,7,8,9,
	10,9,10,11,12,13,14,15,16,17,18,19,inv,inv,20,inv,21,22,21,22,23,22,23,24,25,
	26,27,inv,28,27,28,29,inv,30,29,30,29,30,31,32,33,34,35,36,37,38,39,40,39,40,
	39,40,41,42,41,42,41,40,39,38,37,36,35,34,35,34,35,34,35,34,33,32,33,32,33,
	34,33,34,33,34,33,34,35,36,35,34,35,34,35,34,35,36,37,38,39,40,41,42,43,44,
	45,46,47,48,47,46,47,46,45,44,45,46,45,44,43,42,41,40,39,40,39,38,39,38,37,
	38,39,38,39,38,39,38,39,40,41,40,41,42,43,44,43,44,43,44,45,46,47,48,49,50,
	51,52,inv,53,54,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,inv,inv,inv,68,69,
	70,71,inv,inv,72,73,inv,inv,inv,inv,inv,74,75,0,inv,inv,inv,1,2,1,2,1,0,-1,-2,
	-1,-2,-1,-2,-3,-4,-5,-6,-7,-6,-7,-8,-9,-10,-11,-12,-13,-12,-13,-12,-11,-12,-11,-12,-11,
	-10,-11,-10,-11,-12,-13,-12,-13,-14,-15,-16,-17,-18,-19,-20,-19,-18,-19,-18,-19,-20,-21,inv,-22,-21,
	-22,-21,-22,-21,-22,-23,-22,-23,-22,-23,-22,-21,-22,-21,-20,-19,-20,-19,-18,-19,-18,-19,-18,-17,-16,
	-15,-14,-15,-14,-15,-16,-15,-14,-15,-16,-15,-14,-13,-14,-13,-12,-11,-10,-11,-10,-9,-8,-9,-8,-7,
	-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,inv,10,9,10,11,12,13,12,13,
	12,11,12,11,12,11,12,13,12,11,10,11,12,11,10,11,10,11,10,11,10,11,10,11,10,
	9,8,7,6,7,6,7,6,5,4,3,2,3,2,1,0,1,0,-1,-2,-3,-2,-3,-4,-3,
	-4,-5,-4,-5,-6,-5,-6,-5,-4,-5,-4,-5,-6,-5,-6,-5,-4,-5,-6,-7,-6,-5,-4,-3,-4,
	-5,-4,-5,-6,-7,-6,-5,-4,-5,-4,-3,-2,-1,0,-1,-2,-3,-2,-3,-2,-3,-2,-3,-2,-1,
	-2,-1,-2,-1,0,1,2,3,2,3,4,5,6,5,6,5,6,5,6,5,6,5,6,5,6,
	5,6,7,8,9,10,11,12,13,12,13,14,13,12,13,14,15,16,15,16,17,16,17,18,19,
	20,21,22,23,24,23,22,23,22,23,22,21,22,21,22,23,24,25,26,25,26,25,26,25,24,
	25,24,25,24,25,24,23,24,25,24,25,24,25,24,25,24,25,24,25,24,25,24,25,24,25,
	26,25,26,27,28,27,28,29,28,27,28,29,30,31,30,31,30,31,32,31,32,31,32,33,32,
	33,34,35,36,37,38,39,40,41,42,43,42,43,42,41,40,41,40,41,40,41,40,41,40,39,
	40,39,40,41,40,41,40,41,40,41,42,43,42,41,40,41,40,39,inv,40,39,40,39,38,39,
	38,39,38,39,38,37,38,37,36,35,36,inv,inv,37,38,39,38,37,36,35,36,35,34,35,34,
	33,32,31,30,29,28,27,26,25,26,25,26,25,26,27,28,27,28,29,28,29,30,29,30,31,
	30,31,30,31,32,33,32,31,32,31,30,29,28,29,28,29,30,29,30,31,30,31,30,31,30,
	31,30,31,30,29,30,31,30,31,32,33,34,33,34,35,34,35,36,37,36,37,38,37,38,37,
	36,35,36,35,34,35,34,35,34,33,32,31,30,29,28,29,28,27,26,27,26,25,26,25,24,
	25,24,25,24,25,24,25,26,25,26,25,26,27,26,25,26,25,24,25,24,25,24,23,24,23,
	24,25,24,25,24,25,26,27,26,27,26,27,26,27,28,27,28,27,28,27,28,29,30,29,30,
	31,32,31,32,31,30,31,32,33,32,33,34,33,34,35,34,35,34,35,36,37,38,39,40,41,
	42,43,42,43,42,43,44,45,46,45,44,43,44,43,42,inv,41,42,41,42,41,42,41,inv,40,
	41,40,39,40,41,42,43,42,43,42,43,42,41,42,41,42,43,42,43,42,43,42,41,42,41,
	40,39,40,39,38,37,38,37,38,39,38,39,38,39,38,inv,inv,39,38,39,38,39,38,37,38,
	37,38,39,38,39,38,37,36,35,34,35,36,37,36,37,36,37,38,37,36,37,36,37,36,35,
	36,35,34,35,36,37,38,37,38,37,38,37,38,37,38,37,38,37,38,37,36,35,34,35,34,
	35,34,33,34,33,34,35,36,37,38,39,40,39,40,41,42,41,42,43,42,43,42,43,44,43,
	44,43,44,45,46,45,46,45,46,45,46,45,44,43,42,41,40,39,38,39,38,39,38,37,inv,
	inv,inv,38,37,38,37,38,37,38,37,38,37,36,37,38,39,40,41,40,41,42,41,42,41,42,
	43,44,45,44,45,46,45,46,45,46,47,48,49,50,49,48,49,48,49,48,47,48,47,48,inv,
	47,46,47,46,47,46,47,46,47,48,47,48,47,48,47,46,45,46,47,46,45,46,45,inv,46,
	45,46,45,46,47,46,47,46,47,46,47,46,47,46,47,46,47,46,47,48,49,48,49,50,51,
	52,53,52,53,54,53,54,55,54,55,56,57,56,55,inv,56,55,54,55,54,55,54,53,54,55,
	54,55,54,53,52,51,52,53,54,53,54,53,54,55,54,53,52,51,50,49,48,47,46,45,44,
	43,42,41,40,39,38,37,36,37,36,37,36,35,36,35,36,35,36,35,36,37,38,39,40,41,
	42,43,44,45,44,45,46,45,46,47,48,47,46,45,44,43,42,41,40,41,42,41,42,43,42,
	43,44,43,42,41,42,41,42,43,42,43,42,41,42,41,42,41,42,43,44,43,44,43,42,43,
	42,43,42,41,40,39,38,37,36,35,34,33,inv,32,inv,33,32,31,32,31,30,29,30,29,28,
	27,28,27,28,29,28,27,26,27,26,25,26,25,24,25,24,25,26,25,24,23,22,23,22,23,
	24,25,24,25,26,27,28,29,28,27,26,25,26,25,26,25,24,25,24,25,26,25,24,25,24,
	25,24,23,22,23,22,23,22,21,20,19,18,17,18,17,16,15,14,13,12,13,12,11,10,9,
	8,7,6,5,4,3,4,3,2,1,2,1,0,inv,-1,0,-1,-2,-3,-4,-3,-4,-5,-6,-7,
	-8,-9,-10,-11,-12,-13,-14,-15,-16,-17,-18,-19,inv,-20,-19,-20,inv,-19,-18,-19,-18,-17,-18,-17,-16,
	-17,-18,-17,-16,-15,-14,-13,-12,-11,-10,-9,-8,-7,-8,-7,-8,-7,-8,inv,-7,-6,-5,-6,-5,-6,
	-7,-6,-5,-4,-3,-4,-3,-4,-3,-4,-5,-6,-5,-4,-5,-6,-7,-6,-7,-6,-7,-6,-5,-6,-7,
	-8,-9,-10,-11,-10,-11,-12,-13,-12,-13,-12,-13,-12,-13,-14,-15,-16,-17,-18,inv,-19,-20,-21,-22,-23,
	-24,-25,-24,-25,-24,-25,-26,-27,-28,-29,inv,-30,-31,-32,-33,-34,-35,-36,-37,-38,-37,-38,-39,-40,-41,
	inv,-42,-43,-42,-41,-42,-43,-42,-41,-42,-43,-42,-43,-42,-41,-42,-41,inv,-40,-39,-40,-39,-38,-37,-36,
	-37,-36,inv,-35,-34,-35,-36,-35,-34,-33,-32,-31,-30,-29,inv,-30,inv,-29,-28,-27,-26,-25,-24,-23,-22,
	-21,-20,-19,-18,-17,-16,-15,-14,-13,-12,-11,-10,-9,-8,-7,-8,-9,-10,-9,-10,-9,-10,-9,-10,-9,
	-10,-9,-10,-9,-10,-9,-10,-9,-10,-9,-8,-9,-8,-7,-8,-7,-8,-7,-8,-7,-8,-9,-10,-11,-12,
	-11,-12,-13,-14,-15,-14,-13,-12,-13,-12,-13,-14,-15,-16,-17,-16,-17,-18,-17,-18,-19,-20,-21,-22,-23,
	-24,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-33,-34,-35,-36,-37,-38,-39,-40,-39,-40,-41,-42,-43,-42,
	-43,-44,-45,-46,-47,-48,-49,-48,-49,-48,-49,-50,-51,-52,-51,-52,-53,-54,-53,-54,-55,-56,-55,-56,-55,
	-56,inv,-57,-58,inv,-59,-60,-59,-60,-61,-62,inv,inv,-63,-62,-63,inv,inv,inv,inv,inv,-62,-63,-64,-63,
	inv,inv,-64,-65,-66,inv,inv,-67,inv,-66,-67,-68,-69,-68,-69,-68,-69,-68,-69,-68,-67,inv,inv,-68,-67,
	-68,-69,-68,-69,inv,-70,-71,inv,-70,-71,-72,-71,inv,-72,-73,-72,inv,-73,-74,-73,-74,inv,-75,0,inv,
	inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,
	inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,
	inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,inv,
	inv,inv,inv,inv,inv,inv,inv,inv,inv,-1,0,1,0,-1,inv,0,1,inv,2,3,4,3,4,3,4,
	5,6,7,8,9,8,9,10,11,12,13,14,13,14,13,14,15,14,15,14,13,12,13,12,11,
	10,11,10,11,10,9,8,9,8,7,8,9,10,11,12,11,12,11,10,11,10,11,12,11,10,
	11,12,13,14,13,14,13,14,15,16,17,18,19,20,21,20,21,22,23,24,25,26,27,26,27,
	26,27,inv,28,29,30,31,30,31,30,31,30,31,32,31,32,33,32,33,32,31,30,29,28,27,
	26,25,24,25,26,27,28,27,26,27,28,29,30,31,32,33,34,35,34,35,36,37,36,37,38,
	39,40,39,40,41,40,41,40,41,40,41,42,43,44,inv,inv,43,42,43,42,43,42,41,42,41,
	42,41,42,43,42,43,42,43,42,43,42,41,40,41,40,39,38,39,38,39,38,39,40,41,40,
	41,42,43,44,43,42,43,42,43,44,45,46,47,48,49,50,51,50,51,50,49,50,49,48,47,
	48,49,50,49,50,51,50,49,50,51,50,51,52,53,54,55,56,57,58,59,60,61,62,61,62,
	61,62,63,64,65,66,65,66,67,66,67,66,67,68,69,70,71,72,73,74,75,0,inv,inv,1,
	2,1,2,1,0,-1,-2,-3,-2,-3,-4,-5,-4,-5,-6,-7,-6,-5,-6,-5,-4,-5,-4,-5,-6,
	-5,-4,-3,-2,-1,-2,-1,0,inv,-1,0,-1,-2,-3,-4,-3,-4,-3,-4,-3,-2,-3,-2,-3,-2,
	-3,-2,-3,-2,-3,-4,-3,-4,-3,-2,-3,-2,-3,-2,-3,-4,-3,-2,-1,0,1,2,1,2,1,
	2,1,2,1,2,1,2,1,2,1,2,1,0,1,0,1,0,-1,0,-1,0,-1,0,-1,0,
	1,2,1,2,1,0,1,2,3,4,3,4,3,4,3,4,3,4,3,4,3,4,5,6,7,
	8,9,10,11,12,13,14,15,14,13,14,inv,13,14,15,14,15,14,15,16,17,18,17,18,17,
	18,17,16,15,14,13,14,13,14,15,14,15,14,15,14,15,14,15,14,15,14,15,14,13,14,
	13,14,13,14,13,14,15,16,15,16,15,16,15,16,17,18,19,20,19,20,19,20,19,20,19,
	20,19,20,19,20,21,20,21,22,23,24,23,24,25,26,25,26,27,28,29,28,27,28,27,26,
	27,28,27,26,27,26,27,26,27,26,inv,25,26,27,26,27,28,29,30,31,32,31,32,31,32,
	31,inv,inv,32,31,30,31,32,33,34,inv,33,34,33,32,33,34,35,36,35,36,35,36,35,36,
	37,38,39,40,39,40,41,42,41,40,41,42,43,42,43,44,45,44,43,44,45,44,43,44,45,
	44,43,44,45,46,47,46,47,48,49,50,51,52,53,54,53,54,53,52,inv,inv,53,54,55,56,
	57,58,57,58,59,58,57,56,57,56,55,54,53,54,55,54,55,56,57,58,57,58,57,58,57,
	58,57,58,59,58,59,60,61,62,63,62,63,64,63,62,63,62,63,64,65,66,67,68,67,66,
	65,64,65,64,65,66,65,66,65,64,65,66,67,68,67,68,67,68,67,68,69,70,71,72,73,
	72,73,74,75,0,inv,inv,inv,1,2,1,0,-1,0,1,0,1,0,1,2,1,0,1,2,3,
	4,3,4,5,6,5,6,5,6,5,6,5,4,3,4,3,4,5,4,3,4,3,4,3,4,
	3,2,3,4,3,4,5,4,5,6,7,6,7,8,7,8,9,8,9,10,11,10,11,12,11,
	12,11,12,11,12,11,12,13,14,15,16,17,18,17,18,19,20,21,20,19,20,19,18,19,18,
	19,20,19,20,19,20,19,20,21,20,19,20,19,20,19,18,17,18,17,18,17,18,19,20,21,
	20,21,20,19,18,17,16,17,18,17,16,15,16,15,16,17,16,15,14,13,14,15,14,15,16,
	17,16,17,18,19,20,21,22,21,22,23,24,25,24,25,26,27,26,27,28,29,28,29,28,29,
	30,31,30,31,32,31,30,29,30,31,32,33,34,35,36,37,36,37,36,35,36,37,36,35,34,
	33,34,33,34,33,34,33,34,33,34,35,36,37,38,37,38,39,40,41,42,43,44,43,44,45,
	46,47,46,45,46,47,48,49,48,49,50,51,50,51,52,53,54,55,56,57,58,57,58,57,58,
	57,58,59,60,61,62,61,62,61,60,61,62,63,64,65,66,67,66,67,66,67,66,67,66,67,
	66,67,68,69,70,71,70,71,72,73,74,73,74,73,74,75,0,-1,0,1,2,1,2,3,2,
	1,0,1,inv,2,1,0,-1,0,-1,0,-1,0,-1,0,-1,0,1,0,-1,0,-1,0,1,2,
	3,2,1,0,1,2,1,2,3,2,3,2,3,2,1,2,1,2,1,2,1,2,1,2,1,
	2,1,2,1,2,1,2,1,0,1,0,1,2,1,inv,0,-1,0,inv,-1,0,1,0,1,0,
	1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,
	0,-1,0,-1,0,-1,0,1,0,-1,0,-1,0,1,0,-1,-2,-1,0,-1,0,-1,-2,-1,-2,
	-1,-2,-1,0,-1,0,-1,-2,-1,-2,-1,-2,-3,-2,-1,0,1,2,3,4,inv,3,4,5,6,
	7,8,7,6,7,6,7,6,7,6,7,6,7,inv,8,7,8,7,8,9,10,9,10,9,10,
	9,10,9,8,7,6,5,4,5,4,5,4,3,4,3,4,3,4,3,4,3,4,3,2,3,
	2,3,2,3,4,3,2,1,2,1,2,1,0,1,0,1,2,1,0,-1,0,-1,0,-1,0,
	-1,-2,-1,0,1,0,-1,0,1,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,
	2,1,2,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,1,2,3,4,3,4,
	3,4,3,2,3,2,3,2,3,2,3,4,3,4,5,6,7,8,9,10,9,10,9,10,9,
	8,9,8,9,8,9,8,7,8,9,8,9,8,9,8,9,8,9,8,9,8,9,8,9,8,
	9,8,9,8,9,8,9,8,7,8,7,6,7,6,7,6,7,inv,6,5,6,5,6,5,6,
	7,6,7,8,7,6,7,8,7,8,9,8,9,8,9,8,9,8,9,10,11,10,11,12,13,
	14,13,14,15,16,15,16,15,16,15,16,15,14,15,14,13,14,13,14,13,14,13,14,13,14,
	15,14,15,14,15,14,15,14,15,14,15,14,15,14,15,14,13,14,15,14,15,14,15,14,15,
	16,15,16,15,16,15,16,15,16,15,14,15,14,15,16,15,16,15,16,15,16,15,16,17,16,
	15,14,13,14,15,14,15,14,13,14,13,14,13,12,13,12,11,12,11,12,11,12,13,12,13,
	12,13,12,13,12,13,14,15,16,15,16,15,16,17,16,17,16,17,16,17,18,17,18,19,20,
	19,20,19,20,19,20,19,20,19,18,19,20,21,22,21,22,21,22,21,22,21,22,23,22,23,
	22,23,22,23,22,23,22,23,22,21,22,23,22,21,22,21,22,21,20,19,18,19,18,17,18,
	17,18,19,18,19,18,19,20,19,20,21,22,21,22,21,22,23,22,21,20,19,20,21,20,21,
	20,21,20,19,20,19,20,19,20,19,20,19,20,19,20,21,20,21,20,21,22,21,22,21,22,
	23,22,23,22,23,22,23,22,23,22,23,22,23,24,23,24,23,24,23,22,23,24,25,26,27,
	28,29,30,31,30,31,inv,30,31,30,31,30,31,30,29,30,29,30,29,30,29,30,29,30,29,
	30,29,30,29,30,29,30,29,30,31,30,31,30,31,32,31,32,31,32,31,30,31,32,31,32,
	31,32,33,34,33,34,35,34,35,34,35,34,33,34,35,36,37,38,37,38,37,38,39,38,37,
	38,37,38,37,38,39,38,37,38,39,40,41,40,41,40,41,40,41,42,41,42,43,44,45,46,
	47,48,49,50,51,50,51,52,51,52,51,52,53,52,53,52,53,54,55,56,55,56,55,56,55,
	56,55,54,53,54,53,54,55,54,55,54,55,54,55,54,53,52,53,52,51,52,51,52,51,50,
	49,48,49,48,49,48,49,50,51,50,51,50,51,50,51,50,51,50,51,52,53,54,55,54,55,
	54,55,54,55,54,55,54,55,56,55,56,55,56,55,54,55,54,55,54,55,54,55,54,55,54,
	55,54,55,56,57,56,57,56,57,56,57,56,55,56,55,56,55,56,55,56,57,56,57,56,57,
	56,57,58,59,58,59,58,59,58,59,58,59,58,59,58,inv,57,56,57,56,55,56,55,56,57,
	56,55,56,55,56,55,56,55,56,55,56,55,56,55,56,55,54,55,54,53,54,53,54,55,56,
	55,56,55,56,55,56,55,54,55,54,55,54,55,54,55,54,55,54,55,54,53,54,53,54,53,
	54,53,54,53,54,53,54,53,54,53,54,53,54,53,52,51,52,51,52,51,50,51,50,inv,49,
	50,49,50,51,50,51,50,51,50,51,50,51,50,51,50,49,50,49,50,49,50,49,50,49,50,
	49,50,49,50,49,48,inv,47,46,47,46,47,46,47,46,47,46,47,48,47,48,47,48,47,48,
	47,46,47,46,45,46,45,46,47,46,47,46,47,46,47,46,45,44,45,44,43,44,45,44,43,
	44,45,46,47,46,47,46,47,46,47,46,47,46,47,46,45,46,45,46,45,46,47,46,47,46,
	47,48,47,48,47,48,49,48,49,50,51,52,53,54,55,56,55,56,57,56,55,54,55,54,55,
	54,55,54,55,54,55,54,55,54,55,56,57,58,59,60,61,60,61,62,63,64,65,64,65,66,
	65,66,67,66,67,66,67,66,67,68,69,68,69,68,69,68,67,66,67,66,67,68,69,70,69,
	68,67,68,67,68,67,68,67,66,67,66,65,64,65,64,65,64,65,66,67,66,67,66,65,66,
	65,66,65,66,67,66,67,66,65,66,65,66,65,66,65,66,65,66,65,66,65,66,65,66,65,
	66,65,66,65,66,65,66,65,66,65,64,63,64,63,64,63,64,63,62,63,62,63,62,63,62,
	63,62,63,62,61,62,61,62,61,60,61,60,59,58,57,58,57,58,57,58,57,56,57,58,57,
	56,55,56,57,58,57,56,57,58,59,58,57,58,57,58,59,60,61,62,63,62,61,62,61,60,
	61,62,61,62,63,62,63,62,63,62,63,62,63,64,63,64,63,64,63,62,61,60,61,60,61,
	60,61,60,61,60,59,60,59,60,59,60,59,60,59,60,61,62,61,62,61,62,61,62,61,62,
	63,62,63,62,63,64,63,inv,64,63,64,63,64,65,66,65,66,65,66,65,66,65,66,65,64,
	63,64,63,64,63,64,63,62,61,62,61,62,63,62,inv,inv,63,64,63,64,63,64,65,64,65,
	66,65,66,65,66,67,66,67,68,67,66,67,68,69,68,69,68,69,68,69,68,inv,69,inv,70,
	71,70,71,72,71,72,73,72,73,74,inv,75,0,inv,inv,1,0,1,2,1,inv,0,1,2,3,
	2,3,2,3,2,3,2,3,4,3,4,3,4,3,2,1,2,1,0,-1,-2,-3,-4,-5,-6,
	-7,-8,-7,-8,-9,-10,-11,-10,-11,-10,-11,-10,-11,-12,-13,-14,-13,-14,-15,-16,-17,-18,-19,-20,-19,
	-20,-21,-20,-21,-22,-21,-22,-21,-22,-21,-22,-21,-22,-23,-24,-23,-24,-25,-24,-25,-24,-25,-26,-27,-26,
	-27,-26,-25,-26,-27,-28,-27,-28,-29,-28,-29,-28,-29,-30,-31,-32,-31,-30,-29,-30,-29,-30,-31,-32,-33,
	-32,-31,-32,-31,-32,-31,-30,-29,-30,-29,-28,-29,-28,-29,-30,-31,-32,-33,-34,-33,-34,-33,-34,-33,-34,
	-35,-34,-35,-36,-37,-36,-37,-38,-39,-40,-39,-40,-39,-40,-39,-40,-41,-40,-41,-40,-41,-40,-41,-40,-41,
	-42,-43,-44,-43,-44,-45,-46,-45,-46,-45,-46,-47,-48,-49,-50,-51,-52,-53,-54,-55,-56,-57,-58,-59,-60,
	-61,-60,-61,-60,-59,-60,-61,-60,-61,-60,-61,-60,-61,-60,-61,-60,-61,-60,-59,-60,-61,-60,-61,-60,-61,
	-60,-61,-60,-61,-60,-61,-60,-61,-62,-63,-62,-63,-64,-63,-64,-63,-64,-65,-66,-67,-68,-69,-70,-69,-70,
	-71,-70,-71,-70,-71,-70,-71,-72,-73,-74,inv,inv,inv,-73,-74,-75,0,inv,1,0,1,2,1,2,1,
	2,1,2,1,2,3,2,1,0,-1,-2,-3,-4,-3,-4,-3,-4,-3,-2,-1,-2,-1,-2,-3,-2,
	-3,-4,-5,-6,-7,-6,-7,-8,-7,-6,-7,-6,-7,-6,-7,-8,-9,-8,-9,-10,-11,-10,-11,-12,-11,
	-12,-11,-12,-11,-12,-11,-12,-13,-12,-13,-14,-13,-14,-15,-14,-13,-12,-11,-10,-11,-10,-9,-10,-11,-10,
	-11,-12,-11,-12,-11,-12,-11,-10,-9,-8,-9,-8,-7,-6,-5,-4,-3,-4,-3,-2,-1,0,1,0,-1,
	0,1,0,1,0,1,0,-1,-2,-1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,
	1,0,1,0,-1,0,-1,-2,-1,0,-1,0,1,0,1,0,1,2,3,4,5,6,5,4,3,
	2,3,2,1,0,-1,-2,-1,0,1,0,1,0,1,0,1,0,1,0,-1,-2,-1,0,-1,0,
	-1,0,-1,-2,-1,-2,-1,0,1,2,3,2,1,0,-1,0,-1,0,-1,-2,-1,-2,-1,-2,-3,
	-4,-5,-4,-5,-6,-7,-6,-7,-8,-9,-10,-9,-8,-7,-6,inv,-7,-6,-5,-6,-5,-4,-3,-2,-1,
	0,1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,1,0,1,0,1,2,
	1,2,3,4,5,6,7,8,9,10,9,8,7,6,5,6,5,4,5,4,5,4,3,2,1,
	0,-1,0,-1,inv,inv,inv,-2,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,1,0,1,
	2,3,4,5,4,3,4,3,4,3,2,3,2,3,2,3,4,5,6,7,8,7,6,5,4,
	3,2,1,2,1,2,1,0,1,0,-1,0,1,0,-1,-2,-1,0,-1,-2,-3,-2,-3,-2,-3,
	-2,-3,-2,-3,-2,-3,-2,-1,0,1,2,3,2,3,2,3,4,3,4,5,6,7,8,9,10,
	11,12,13,12,11,12,11,10,9,10,9,8,9,8,7,6,5,4,5,4,3,2,3,2,1,
	2,3,4,3,4,5,6,5,4,3,2,3,2,3,2,3,2,3,4,5,6,5,6,5,6,
	5,4,3,2,1,0,-1,0,1,0,-1,-2,-3,-4,-3,-4,-3,-2,-3,-2,-3,-2,-1,-2,-1,
	0,1,0,1,0,1,2,3,4,5,6,7,6,7,8,7,6,5,6,5,4,3,2,1,0,
	-1,0,1,0,1,0,-1,-2,-3,-2,-3,-4,-5,-4,-5,-6,-5,-6,-5,-6,-7,-6,-5,-4,-3,
	-2,-3,-2,-1,0,1,0,1,0,inv,inv,-1,0,-1,0,1,0,1,0,1,0,1,0,1,0,
	-1,0,1,0,-1,0,1,0,1,0,1,2,3,2,3,4,3,2,1,0,1,0,1,0,-1,
	0,-1,0,-1,-2,-1,0,-1,0,1,0,-1,0,-1,0,-1,0,-1,0,1,0,-1,-2,-3,-4,
	-3,-4,-3,-2,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,1,0,-1,-2,-1,-2,-3,
	-2,-3,-4,-5,-4,-5,-4,-3,-4,-5,-6,-7,-8,-9,-10,-9,-8,-7,-6,-5,-4,-5,-6,-7,-8,
	-9,-8,-9,-10,-9,-10,-9,-8,-7,-6,-7,-6,-5,-4,-5,-4,-5,-4,-5,-4,-3,-2,-1,0,1,
	2,3,2,3,2,3,4,5,6,7,6,5,6,5,4,5,6,5,4,3,4,5,6,7,6,
	5,4,5,4,3,2,1,0,-1,-2,-3,-2,-3,-2,-3,-2,-3,-2,-3,-2,-1,-2,-3,-2,-3,
	-2,-1,0,1,0,-1,0,1,0,-1,0,1,2,1,2,1,0,-1,0,-1,0,1,2,1,2,
	1,2,1,2,1,2,1,2,1,0,1,0,1,0,-1,0,-1,0,1,0,1,2,1,2,3,
	4,5,6,7,6,7,6,7,6,5,6,7,6,7,8,9,10,11,10,11,10,11,10,9,10,
	9,10,11,12,11,10,9,8,7,6,5,4,3,2,1,0,-1,0,-1,-2,-1,-2,-3,-4,-3,
	-2,-3,-2,-1,0,1,2,1,0,-1,0,-1,-2,-3,-4,-5,-4,-3,-2,-3,-2,-3,-4,-5,-4,
	-5,-4,-5,-4,-3,-2,-1,-2,-1,0,1,0,-1,-2,-3,-4,-3,-4,-3,-2,-1,0,1,0,1,
	0,1,0,1,0,-1,0,1,2,1,0,1,0,1,0,-1,-2,-3,-4,-5,-4,-5,-4,-5,-4,
	-5,-4,-5,-4,-5,-4,-3,-2,-1,0,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,
	14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,inv,inv,inv,inv,31,inv,inv,inv,
	inv,32,33,34,inv,35,inv,36,37,38,37,38,39,38,39,38,39,38,39,40,41,40,41,42,inv,
	inv,43,42,41,42,41,40,39,38,39,38,37,36,35,34,35,34,33,32,31,30,31,30,29,inv,
	inv,28,27,26,25,24,23,22,23,22,23,24,25,26,27,28,29,30,31,30,29,30,29,28,27,
	28,27,28,27,28,29,28,29,28,29,28,29,28,29,28,29,28,inv,29,28,29,inv,inv,30,29,
	30,inv,29,30,31,30,31,32,31,32,31,32,inv,33,32,33,32,33,34,33,34,35,34,35,34,
	35,34,35,inv,34,33,34,33,34,33,34,33,34,33,34,33,34,33,34,35,34,35,34,35,34,
	35,34,35,34,35,34,35,inv,36,37,36,37,36,35,36,35,36,37,36,37,36,35,36,35,36,
	35,34,33,32,33,32,33,32,33,32,33,34,33,34,33,32,31,32,31,32,31,32,31,32,31,
	32,31,32,31,32,31,32,31,32,33,34,inv,33,inv,34,33,inv,inv,inv,34,35,36,37,36,37,
	inv,38,39,40,41,42,43,42,41,42,41,40,39,40,41,42,43,44,43,44,45,46,47,48,49,
	50,51,52,51,50,49,48,49,inv,inv,48,47,48,47,46,45,44,43,42,41,40,39,38,37,36,
	35,36,35,36,35,36,35,36,35,36,35,36,35,36,35,34,33,34,33,32,31,30,29,28,27,
	26,25,24,23,22,21,20,19,20,19,18,17,16,17,16,15,16,15,16,15,16,15,16,15,16,
	15,16,inv,17,16,17,18,19,20,21,22,23,24,23,24,25,26,25,26,27,26,27,26,27,28,
	29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,28,27,26,25,26,25,26,25,
	24,25,26,27,28,29,30,31,32,33,32,33,34,35,36,35,36,35,36,35,34,33,34,33,34,
	33,34,33,34,33,34,35,34,33,34,33,34,35,36,37,38,39,40,39,40,41,42,43,42,41,
	42,43,44,45,46,47,48,49,48,49,50,51,52,53,52,51,50,49,48,47,48,47,48,49,50,
	51,50,51,52,53,54,53,54,53,54,55,56,57,inv,58,59,60,61,62,63,64,65,66,65,inv,
	64,65,64,63,62,61,60,59,58,57,58,57,inv,58,inv,inv,57,56,57,inv,inv,56,57,56,57,
	56,55,56,55,54,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,41,40,39,38,
	37,38,37,38,37,36,35,34,33,32,33,32,33,32,31,30,31,30,29,28,27,26,25,24,23,
	22,21,20,19,20,19,20,19,20,19,20,19,20,19,inv,20,19,20,19,20,19,18,17,18,17,
	16,15,14,13,12,11,12,11,10,9,8,7,6,5,4,3,2,1,2,1,0,-1,-2,-1,-2,
	-1,0,-1,0,-1,0,1,0,1,0,1,0,1,0,1,0,-1,-2,-1,-2,-3,-4,-3,-4,-3,
	-4,-3,-2,inv,-3,-2,-1,0,1,2,3,2,1,0,-1,-2,-3,-4,-5,-4,-5,-6,-5,-6,-7,
	-8,-7,-8,-9,-10,-9,-10,-11,-12,-11,-12,-13,-14,-15,-16,-17,-18,-17,-18,-17,-18,-17,-18,-17,-18,
	-17,-18,-19,-20,-19,-20,-21,-22,-23,-24,-25,-26,-27,-28,-29,-30,-31,-32,-31,-32,-33,-32,-33,-34,-35,
	-34,-35,-34,-35,-34,-35,-36,-37,-36,-35,-34,-35,-34,-33,-34,-33,-34,-33,-32,-31,-32,-33,-34,-35,-36,
	-37,-36,-37,-36,-37,-38,-37,-38,-37,-38,-37,-38,-37,-38,-39,-40,inv,inv,-41,-42,-43,-44,-45,-46,-47,
	-48,-49,-50,-51,-52,-53,-54,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-65,-66,-67,-68,-69,-70,inv,inv,
	-71,-72,-73,-74,-75,0,1,0,1,2,1,0,1,0,-1,-2,-3,-4,-5,-4,-3,-2,-1,0,-1,
	0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,1,inv,inv,0,-1,0,
	-1,-2,-1,-2,-3,-2,-1,0,-1,-2,-1,0,1,0,1,0,-1,-2,-3,-2,-3,-4,-5,-6,-5,
	-6,-5,-6,-7,-8,-7,-8,-7,-8,-9,-10,-11,-12,-11,-10,-11,-12,-13,-12,-11,-12,-11,-12,-13,-12,
	-13,-14,-13,-14,-15,-14,-15,-14,-15,-14,-15,-16,-17,-18,-19,-20,-21,-22,-23,-24,-23,-24,-23,-24,-25,
	-24,-25,-24,-23,-22,-23,-24,-25,-26,-25,-26,-25,-26,-25,-26,-25,-26,-27,-28,-27,-28,-27,-26,-27,-26,
	-25,-24,-23,-24,-25,-24,-25,-24,-25,-24,-25,-24,-25,-26,-25,-24,-23,-24,-25,-24,-25,-24,-25,-24,-25,
	-26,-25,-26,-25,-26,-27,-26,-27,-26,-25,-24,-25,-24,-25,-24,-25,-24,-25,-26,-25,-26,-25,-26,-25,-26,
	-27,-26,-27,-28,-29,-28,-29,-30,-31,-32,-33,-34,-35,-36,-35,-36,-35,-36,-35,-36,-35,-36,-35,-36,-35,
	-34,-35,-34,-35,-34,-35,-34,-35,-34,-35,-34,-35,-34,-35,-36,-35,-36,-35,-34,-35,-36,-35,-36,-35,-36,
	-37,-36,-35,-34,-35,-36,-37,-38,-39,-38,-39,-40,-39,inv,inv,-40,-39,-40,-41,-42,-43,-44,-45,-46,-47,
	-48,-49,-50,-51,-52,-53,-52,-53,-52,-53,-52,-53,-52,-51,-50,-51,-52,-51,-52,-53,-52,-53,-54,-53,-54,
	-53,-52,-51,-50,-51,-50,-51,-50,-49,-50,-49,-50,-49,-50,-49,-50,-49,-50,-49,-50,-49,-48,-49,-48,-49,
	-48,-49,-48,-49,-48,-49,-48,-49,-48,-49,-48,-49,-50,-51,-52,-53,-54,inv,-53,-54,-53,-54,-53,-54,-55,
	-54,-55,-56,-57,-56,-55,-54,-55,-54,-55,-54,-53,-54,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-65,-66,
	-67,-66,-67,-66,-67,-66,-67,-66,-67,-66,-67,-66,-65,-64,-63,-64,-63,-64,-65,-64,-65,-64,-65,-64,-65,
	-64,-63,-64,-63,-64,-63,-62,-63,-62,-63,-62,-63,-64,-63,-64,-63,-64,-65,-64,-65,-64,-65,-64,-65,-64,
	-65,-64,-65,-64,-65,-64,-65,-64,-65,-64,-65,-64,-65,-64,-65,-64,-65,-66,-65,-66,-65,-66,-65,-66,-67,
	-66,-65,-64,-65,-64,-65,-64,-65,-64,-65,-66,-67,-68,-69,-70,-71,-72,-73,-74,-75,0,-1,0,-1,0,
	-1,0,-1,0,-1,0,-1,-2,-1,0,1,2,1,2,3,4,3,4,5,4,5,4,5,6,7,
	6,7,6,7,6,7,6,7,6,7,6,7,6,5,6,7,8,9,8,9,8,9,8,9,10,
	9,10,inv,inv,11,10,9,8,7,6,7,8,7,inv,inv,8,7,6,5,6,7,8,7,8,9,
	10,11,12,11,12,13,12,13,14,15,16,17,16,15,14,15,16,17,16,17,18,19,18,19,18,
	19,20,21,22,23,24,25,26,25,24,23,24,25,24,25,26,inv,25,24,23,22,21,20,19,20,
	19,20,19,18,17,18,19,20,19,20,21,inv,22,23,24,23,22,21,22,21,22,23,22,21,22,
	21,20,19,20,21,22,23,24,25,24,23,24,25,26,27,26,27,28,29,28,29,28,27,28,29,
	28,29,30,31,32,33,32,31,30,31,32,31,32,31,32,31,32,33,34,35,36,35,36,37,36,
	35,36,37,36,35,34,35,36,37,38,39,40,41,42,41,42,41,42,43,44,45,44,45,46,47,
	48,49,50,51,52,53,54,55,54,55,56,57,56,57,56,57,56,57,56,55,54,inv,inv,55,54,
	53,54,53,54,53,54,55,54,53,52,inv,inv,53,52,53,52,53,54,55,54,55,56,55,56,55,
	56,57,58,57,56,57,56,57,58,59,58,59,60,61,62,61,62,63,64,63,64,63,62,63,64,
	65,64,65,66,67,68,69,70,71,70,71,70,71,70,69,70,69,70,71,72,71,72,73,74,75,
	0,-1,-2,-3,-4,-5,-6,inv,-5,-6,-7,-6,inv,-5,-6,-5,-6,-5,-6,-5,-4,-3,-2,-1,0,
	1,0,-1,0,-1,-2,-3,-2,-3,-4,-5,-4,-5,-6,-5,-6,-7,-8,-9,-10,-11,-12,-11,-12,-11,
	-10,-9,-8,-9,-8,-9,-10,-9,-8,-7,-8,-9,-10,-9,-10,-11,-12,-11,-12,-13,-14,-13,-14,-15,-16,
	-15,-16,-17,-18,-17,-18,-17,-18,-17,-18,-17,-18,-17,-18,-17,-18,-17,-18,-19,-20,-21,-22,-23,-22,-23,
	-24,-25,-26,-27,-26,-27,-28,-27,-28,-27,-26,-27,-26,-27,-26,-27,-28,-27,-26,-27,-28,-29,-30,-31,-32,
	-31,-32,-31,-32,-31,-32,-31,-32,-33,-32,-31,-32,-31,-32,-31,-32,-31,-30,-31,-32,-31,-32,-31,-32,-33,
	-34,-35,-36,-37,-38,-39,-38,-39,-40,-39,-40,-39,-40,-39,-40,-41,-42,-43,-44,inv,-45,-46,-47,-48,-49,
	-50,-51,-52,-53,-54,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-65,-66,-67,-68,-69,-70,-71,-70,-69,-70,
	-69,-70,-69,-70,-71,-72,-73,-74,-75,0,-1,-2,-3,-4,-5,-4,-5,-4,-3,-2,-1,0,1,0,1,
	0,1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,-2,-3,-4,-5,-6,-7,-6,-7,-8,-7,-6,
	-5,-6,-5,-6,-5,-6,-7,-8,-7,-8,-7,-8,-7,-8,-7,-8,-7,-8,-7,-6,-5,-4,-3,-2,-3,
	-2,-1,-2,-1,-2,-1,-2,-3,-4,-5,-6,-5,-6,-5,-6,-5,-6,-5,-6,-7,-8,-7,-8,-9,-8,
	-9,-10,-9,-8,-7,-8,-9,-10,-11,-12,-13,-14,-13,-12,-11,-10,-11,-12,-13,-14,-15,-14,-15,-14,-15,
	-14,-15,-16,-15,-16,-15,-16,-15,-14,-13,-14,-13,-12,-13,-12,-13,-12,-13,-14,-15,-16,-17,-18,-19,-18,
	-17,-18,-17,-16,-17,-16,-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,-2,-1,0,1,
	2,1,0,1,2,1,0,-1,-2,-3,-4,-3,-4,-3,-4,-3,-4,-3,-2,-1,-2,-1,-2,-3,-2,
	-3,-4,-3,-4,-3,-4,-3,-4,-5,-4,-3,-4,-3,-4,-5,-6,-5,-6,-5,-6,-7,-8,-9,-8,-9,
	-10,-11,-12,-13,-12,-13,-14,-15,-14,-15,-16,-15,-16,-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-7,-6,
	-5,-6,-7,-8,-7,-8,-7,-6,-7,-8,-9,-8,-7,-6,-7,-6,-7,-8,-9,-10,-9,-8,-7,-8,-7,
	-8,-7,-6,-5,-4,-3,-4,-5,-4,-3,-4,-3,-4,-3,-2,-3,-2,-3,-2,-3,-4,-5,-4,-5,-4,
	-5,-4,-3,-4,-3,-2,-1,-2,-1,0,1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,
	14,15,16,17,16,15,14,13,12,11,inv,12,11,12,inv,11,10,11,10,9,10,9,inv,10,9,
	inv,10,11,12,13,12,13,12,11,inv,12,11,10,9,10,9,10,9,10,9,8,9,8,7,8,
	7,8,7,8,9,10,11,12,11,12,13,14,13,14,15,16,17,18,19,20,21,22,23,24,25,
	26,27,26,27,26,27,26,25,26,25,26,25,26,25,24,23,22,23,22,23,22,23,22,23,22,
	23,22,23,22,23,24,25,26,27,26,27,26,27,28,27,26,25,24,23,24,23,24,23,24,23,
	24,25,26,27,28,29,30,31,32,33,34,33,32,33,32,31,30,29,30,29,30,29,28,27,26,
	27,26,25,24,25,24,25,24,25,24,25,24,25,26,27,28,29,30,31,32,33,34,35,36,37,
	36,37,36,37,36,37,36,37,36,37,36,37,36,37,36,37,36,35,36,37,38,39,40,41,42,
	43,44,45,46,47,48,47,48,47,48,49,50,51,50,51,52,51,52,51,52,53,54,55,56,57,
	58,59,60,61,62,63,64,65,66,67,68,69,70,69,68,67,66,65,64,63,62,61,60,59,58,
	59,58,57,58,57,58,57,58,57,58,59,60,59,60,59,60,59,60,59,60,59,58,57,58,57,
	58,57,58,57,58,57,56,57,56,57,56,55,54,55,54,53,54,53,52,53,52,53,52,53,52,
	53,52,53,52,53,52,53,54,55,56,55,56,55,56,57,56,57,58,59,58,59,58,59,60,59,
	60,59,60,59,60,59,58,59,58,57,58,57,58,57,58,57,58,59,58,59,58,59,60,61,62,
	63,64,65,66,67,68,69,70,71,72,73,74,75,0,inv,-1,-2,-3,-2,-3,-2,-3,-4,-5,-6,
	-7,-8,-9,-8,-9,-8,-9,-10,inv,inv,inv,-11,-12,-13,-14,-15,-16,-17,-18,-19,-20,-21,-22,-23,-24,
	-25,-26,-27,-28,-29,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,
	-48,-49,-50,-51,-52,-53,-54,-55,-56,-55,-56,-57,-58,-59,-60,inv,-61,-62,-63,-64,-65,-66,-65,-66,-65,
	-66,-65,-66,-65,-66,-65,-66,-67,-68,-67,-68,-67,-68,-69,-70,-71,-70,-71,-70,-71,-72,-73,-72,-73,-72,
	-73,-72,-73,-74,-75,0,-1,-2,-3,-2,-3,-2,-3,-2,-3,-4,-5,-6,-5,-4,-3,-4,-3,-2,-1,
	-2,-3,-4,-5,-6,-7,-8,-9,-8,-9,-8,-9,-8,-9,-10,-9,-10,-11,-12,-13,-14,-15,-16,-15,-14,
	-13,-14,-13,-12,-11,-10,-11,-10,-9,-10,-11,-12,-11,-12,-11,-12,-11,-12,-11,-12,-11,-12,-11,-12,-11,
	-12,-11,-12,-11,-12,-11,-12,-11,-12,-13,-14,-13,-12,-11,-10,-11,-10,-11,-12,-11,-12,-13,-12,-13,-12,
	-11,-12,-11,-10,-9,-8,-9,-8,-7,-6,-5,-4,-3,-4,-5,-6,-7,-6,-7,-8,-9,-8,-7,-8,-7,
	-8,-7,-6,-5,-4,-3,-2,-1,inv,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,-1,
	0,-1,0,-1,0,-1,0,-1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,
	1,0,inv,inv,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,-1,0,-1,0,-1,
	0,-1,0,-1,0,1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,
	1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,1,
	0,1,2,1,2,1,0,1,2,1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,1,0,
	1,0,1,0,1,0,1,0,-1,0,-1,0,1,0,1,0,-1,0,-1,0,-1,0,1,0,-1,
	0,-1,-2,-1,-2,-1,0,-1,-2,-3,-2,-3,-4,-3,-4,-3,-4,-5,-4,-5,-6,-5,-4,-3,-2,
	-1,-2,-1,-2,-3,-2,-1,0,1,0,1,0,1,0,-1,0,-1,0,-1,0,1,0,1,0,-1,
	0,-1,0,1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,-2,-1,-2,-1,-2,-3,-4,
	-5,-4,-5,-4,-5,-4,-3,-4,-3,-4,-3,-4,-3,-4,-3,-2,-3,-2,-1,-2,-1,-2,-3,-2,-1,
	0,-1,-2,-1,-2,-3,-2,-3,-2,-1,0,-1,0,-1,0,-1,0,-1,0,-1,inv,inv,0,-1,0,
	1,0,-1,0,-1,-2,-1,0,-1,0,1,0,1,0,-1,0,1,2,1,0,-1,-2,-3,-4,-5,
	-4,-5,-4,-5,-4,-5,-6,-7,-8,-7,-6,-7,-6,-5,-4,-5,-4,-5,-6,-7,-6,-7,-6,-7,-6,
	-7,-6,-7,-6,-7,-8,-7,-8,-7,-8,-7,-6,-7,-6,-5,-6,-5,-4,-3,-2,-3,-2,-3,-2,-1,
	0,-1,-2,-3,-2,-3,-2,-3,-2,-3,-2,-3,-2,-3,-2,-3,-2,-1,0,-1,0,1,inv,2,1,
	2,3,4,5,4,3,2,1,2,1,0,-1,0,-1,0,-1,0,-1,-2,-1,-2,-3,-4,-5,-4,
	-3,-4,-5,-6,-5,-6,-5,-6,-5,-6,-5,-6,-5,-4,-3,-2,-1,-2,-1,0,-1,-2,-3,-2,-3,
	-2,-3,-2,-3,-2,-3,-2,-3,-2,-3,-4,-5,-4,-5,-4,-3,-2,-1,0,-1,0,-1,0,-1,0,
	-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11,-12,-13,-14,-15,-16,-17,-18,-19,-20,-21,-22,-23,-24,-25,
	-26,-27,-28,-29,-28,-27,-26,-27,-26,-25,-26,-25,-24,-23,-24,-23,-24,-23,-22,-23,-24,-25,-26,-27,-28,
	-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-49,-50,-51,-52,-53,
	-52,-53,-52,-53,-52,-53,-52,-53,-52,-53,-52,-53,-52,-53,-54,-53,-54,-55,-56,-55,-56,-57,-58,-59,-60,
	-59,-60,-59,-60,-61,-62,-63,-64,-65,-66,-67,-68,-69,-70,-71,-72,-73,-74,-75,0,inv,-1,-2,-1,0,
	-1,0,-1,0,-1,-2,-1,-2,-1,-2,-3,-2,-3,-2,-3,-2,-3,-2,-3,-2,-3,-2,-3,-2,-1,
	0,1,0,-1,0,1,0,-1,-2,-1,-2,-3,-4,-5,-4,-3,-2,-3,-4,-5,-6,-7,-8,-7,-6,
	-7,-6,-5,-6,-7,-8,-7,-6,-7,-6,-7,-6,-7,-6,-5,-4,-5,-4,-3,-4,-3,-4,-3,-4,-3,
	-4,-3,-2,-3,-2,-3,-2,-1,0,-1,0,-1,0,1,0,1,0,-1,0,-1,0,-1,0,1,2,
	1,2,1,0,-1,0,-1,0,-1,0,inv,1,0,-1,0,1,0,1,0,-1,0,-1,0,1,0,
	1,0,1,0,-1,0,-1,0,-1,0,1,2,1,2,1,0,1,0,-1,-2,-3,-2,-3,-2,-3,
	-4,-5,-6,-7,-6,-7,-6,-7,-6,-7,-8,-9,-10,-11,-12,-13,-14,-13,-14,-13,-12,-13,-14,-15,-14,
	-15,-14,-13,-12,-11,-10,-9,-8,-9,-10,-9,-8,-9,-10,-11,-10,-11,-10,-11,-10,-9,-8,-7,-6,-7,
	-6,-7,-6,-5,-4,-5,-4,-3,-2,-3,-2,-1,0,1,2,1,0,1,0,1,0,1,0,-1,-2,
	-1,-2,-1,0,-1,-2,-1,0,-1,0,-1,0,1,0,1,0,1,0,1,0,1,2,3,4,5,
	4,3,4,3,4,5,4,5,4,5,4,5,6,7,8,9,10,9,8,9,8,7,6,5,6,
	7,8,9,10,11,12,13,14,15,14,15,14,15,14,15,14,15,14,inv,13,12,11,10,9,10,
	9,10,11,10,9,10,11,12,13,12,13,12,13,12,11,10,9,8,9,8,7,6,5,inv,4,
	3,2,1,0,-1,inv,inv,-2,-3,-4,inv,-3,-4,-5,-6,-7,-8,-7,-8,-7,-8,-9,-10,-11,-10,
	inv,-9,-10,-9,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,-2,-1,-2,-1,-2,-3,-4,-3,-4,-3,-4,
	-3,-2,-3,-2,-1,0,-1,0,-1,0,1,2,1,2,1,0,-1,0,-1,-2,-3,-4,-3,-4,-3,
	-4,-3,-4,-3,-2,-1,0,-1,0,1,2,1,2,3,4,5,4,3,4,3,inv,2,1,0,-1,
	0,-1,0,-1,0,-1,0,1,2,3,4,5,6,5,6,5,6,7,8,7,6,5,6,7,6,
	7,6,7,8,9,8,7,8,7,8,9,10,9,10,9,10,11,10,9,8,9,8,7,6,7,
	8,9,10,9,8,9,8,9,8,7,8,7,8,9,10,11,10,11,10,9,10,9,10,9,8,
	7,8,7,6,5,6,5,4,5,4,5,4,3,4,3,4,3,4,3,2,3,2,1,0,-1,
	0,1,2,3,4,5,6,7,8,9,10,9,10,9,10,9,8,9,8,9,8,9,8,9,8,
	9,8,9,8,9,8,9,10,11,12,13,14,15,14,15,16,15,16,15,14,13,14,15,16,15,
	16,15,16,17,18,19,20,19,20,21,22,23,24,25,24,23,24,23,24,25,24,25,24,25,24,
	25,24,25,26,27,26,27,28,27,28,27,26,25,26,25,26,25,26,25,26,25,26,27,28,29,
	28,29,28,29,28,29,28,29,28,29,30,31,30,31,30,31,30,31,30,31,30,31,30,31,32,
	33,34,35,36,37,38,39,38,39,40,41,42,43,44,43,42,43,42,43,44,43,44,45,46,45,
	46,45,46,45,46,45,46,47,46,47,48,49,50,51,52,53,54,55,56,57,56,57,58,59,60,
	59,60,59,60,59,58,57,56,55,56,55,56,55,56,55,56,55,56,55,56,55,56,55,56,55,
	56,55,56,55,56,55,56,55,56,57,58,59,58,59,58,59,60,61,62,63,64,65,66,65,66,
	67,68,69,70,71,72,73,72,71,72,71,70,69,68,69,70,71,70,71,72,73,72,73,74,73,
	74,73,74,73,74,75,0,-1,0,-1,-2,-3,-2,-1,0,-1,0,-1,inv,-2,-3,-4,-5,-4,-3,
	-2,-3,-2,-3,-4,-3,-2,-3,-2,-1,-2,-3,-4,-3,-4,-3,-2,-1,0,-1,0,-1,-2,-1,-2,
	-1,-2,-1,-2,-1,-2,-1,-2,-3,-4,-5,-4,-3,-2,-1,-2,-1,0,-1,0,-1,-2,-3,-4,-3,
	-4,-3,-2,-3,-2,-3,-2,-3,-2,-3,-2,-3,-2,-1,0,-1,0,1,0,-1,0,-1,0,-1,-2,
	-3,-4,-3,-4,-3,-4,-3,-2,-1,0,1,0,1,0,1,0,-1,0,1,0,-1,-2,-3,-4,-5,
	-6,-5,-4,-3,-4,-3,-2,-1,-2,-1,-2,-3,-4,-5,-6,-5,-6,-7,-8,-9,-10,-11,-12,-13,-14,
	-15,-16,-17,-18,-17,-16,-15,-14,-13,-12,-13,-12,-13,-12,-13,-12,-13,-14,-13,-14,-15,-16,-17,-18,-19,
	-20,-21,-22,-23,-24,-25,-24,-25,-24,-25,-24,-25,-26,-27,-28,-29,-30,-29,-30,-31,-30,-31,-32,-33,-34,
	-35,-36,-37,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-49,-50,-51,-52,-51,-52,-53,-54,-55,-54,-55,
	-54,-55,-54,-55,-54,-55,-54,-55,-54,-55,-56,-57,-56,-57,-56,-57,-56,-57,-56,-57,-58,-59,-58,-59,-58,
	-59,-58,-59,-60,-59,-60,-61,-62,-63,-62,-63,-64,-65,-66,-67,-68,-69,-70,-71,-72,-73,-74,-75,0,inv,
	inv,inv,inv,inv,-1,0,-1,-2,-1,-2,-1,-2,-3,-2,-3,-4,-5,-6,-7,-8,-9,-8,-9,-10,-11,
	-12,-13,-12,-11,-12,inv,-13,-14,-15,inv,-14,-13,-12,-11,-10,-11,-10,-11,-10,-9,-8,-7,-8,-7,-8,
	-7,-8,-7,-8,-7,-8,-7,-6,-5,-4,-3,-2,-1,0,1,0,1,2,1,0,-1,0,-1,0,1,
	0,1,0,1,2,1,0,-1,0,-1,0,-1,0,1,0,-1,0,-1,-2,-1,-2,-3,-2,-1,0,
	-1,0,-1,0,-1,0,-1,0,-1,-2,-1,-2,-1,-2,-3,-2,-3,-2,-1,-2,-1,0,-1,0,-1,
	0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,1,0,-1,0,-1,0,-1,0,-1,0,
	-1,0,-1,0,-1,0,1,0,-1,-2,-3,-2,-1,0,-1,0,-1,0,-1,0,-1,0,-1,-2,-1,
	0,-1,0,-1,0,1,2,1,0,1,0,1,0,1,0,1,0,1,0,-1,0,-1,0,-1,0,
	1,0,1,2,3,4,5,6,5,4,3,2,3,2,3,4,5,6,5,4,5,4,3,2,3,
	2,3,2,3,2,1,0,-1,-2,-3,-4,-3,-2,-3,-2,-3,-2,-3,-2,-1,0,1,2,1,2,
	3,4,3,4,5,6,7,8,9,8,9,8,7,8,7,6,5,6,5,6,5,4,5,6,7,
	8,9,10,9,8,7,8,9,8,7,6,5,6,7,8,9,10,11,12,13,14,15,16,17,18,
	17,18,17,16,17,16,15,14,15,14,13,12,11,10,9,8,7,6,5,4,5,6,7,8,9,
	10,9,10,9,10,11,10,9,8,7,8,7,8,9,10,11,10,11,10,11,10,9,10,9,8,
	9,inv,8,7,6,5,6,7,8,9,10,11,12,13,12,11,12,11,10,9,8,9,8,7,6,
	7,6,5,4,3,2,1,0,-1,0,inv,-1,0,1,2,1,2,1,2,1,2,1,0,-1,0,
	1,2,3,2,3,4,5,4,5,4,5,6,7,8,7,8,7,8,7,8,9,10,11,12,13,
	12,13,12,11,12,11,12,13,14,15,16,17,16,17,18,19,20,21,20,19,18,17,18,17,16,
	15,14,13,14,13,12,13,12,13,12,13,12,13,12,11,12,13,14,13,12,11,10,9,8,7,
	6,5,6,7,6,5,4,5,6,7,6,5,6,5,6,5,4,3,2,1,0,-1,0,1,2,
	3,4,5,6,7,6,5,6,5,6,5,6,7,6,7,6,5,6,5,6,5,4,3,2,1,
	0,1,2,1,0,-1,0,-1,0,1,0,1,2,1,0,1,2,3,4,5,6,7,8,9,10,
	11,10,11,12,11,12,13,14,15,16,17,18,19,20,21,22,21,22,23,24,25,26,27,28,29,
	30,31,inv,inv,32,33,34,35,36,37,38,39,40,41,42,inv,inv,43,inv,inv,inv,inv,inv,inv,inv,42,
	41,42,43,44,43,42,41,40,39,38,39,38,39,40,41,42,inv,43,44,43,44,43,44,45,44,
	43,42,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,54,55,54,55,56,57,58,59,
	60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,0,1,2,3,2,1,0,1,
	0,1,0,1,2,1,0,-1,0,1,2,1,2,1,0,-1,-2,-1,-2,-1,0,-1,0,1,2,
	3,4,5,6,7,8,9,8,9,8,7,6,5,4,3,4,5,6,7,8,9,10,11,12,13,
	14,15,16,17,18,19,18,19,20,19,20,19,20,21,22,23,24,25,26,27,28,29,30,31,32,
	33,34,35,36,37,36,37,36,37,36,37,38,37,36,35,34,inv,33,34,35,36,37,38,39,38,
	39,38,37,38,39,40,39,40,39,40,39,38,39,40,41,42,43,44,43,44,43,44,43,44,43,
	42,43,42,41,42,41,40,41,inv,42,43,44,45,46,47,48,49,50,49,50,inv,inv,49,50,51,
	52,51,52,51,52,53,54,53,54,53,54,53,54,53,52,53,54,55,56,57,58,59,60,61,62,
	63,64,65,64,65,64,65,64,63,62,63,62,63,64,65,66,67,68,69,68,69,68,69,70,71,
	72,73,74,73,74,75,0,inv,1,0,1,0,1,2,3,2,3,2,1,2,3,4,5,6,7,
	6,7,6,7,6,7,6,7,8,7,8,7,6,7,8,9,10,11,12,13,14,15,14,13,14,
	13,14,13,14,13,14,13,12,13,12,13,12,13,12,13,14,13,14,15,14,13,14,13,14,13,
	14,15,14,13,14,13,14,13,14,13,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0,
	-1,0,-1,0,-1,0,-1,0,-1,0,-1,-2,-3,-2,-1,0,1,2,3,4,5,6,inv,7,8,
	9,8,7,6,5,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,18,19,18,19,
	18,19,18,19,18,19,18,17,16,15,16,17,18,19,20,21,22,23,24,25,24,25,24,inv,25,
	26,25,24,25,24,25,24,23,24,23,24,23,22,21,22,21,22,21,20,19,18,19,18,19,20,
	21,20,21,20,21,22,23,24,23,24,23,24,23,24,23,24,25,26,25,26,25,26,27,26,27,
	26,25,24,25,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,
	43,44,43,44,inv,45,46,45,46,47,46,47,46,47,46,47,46,47,46,45,46,47,48,47,48,
	47,48,47,48,49,50,51,52,53,54,55,56,57,58,57,58,57,58,57,58,57,56,57,58,57,
	58,59,60,59,58,57,58,57,58,57,58,57,58,59,60,61,62,63,64,65,66,67,68,67,68,
	67,68,69,70,71,70,69,68,69,68,69,68,69,70,71,72,73,74,75,0,1,0,1,2,3,
	4,3,4,3,2,1,2,1,2,1,2,1,2,3,4,5,6,7,8,9,10,9,10,9,10,
	9,10,9,10,9,8,7,8,7,8,7,6,5,4,3,2,3,2,3,4,5,6,5,4,3,
	2,1,2,1,0,1,2,1,2,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,
	-1,-2,-1,-2,-3,-2,-3,-2,-3,-4,-5,-4,-5,-4,-5,-4,-3,-2,-1,-2,-3,-2,-3,-2,-3,
	-2,-3,-2,-3,-2,-3,-2,-1,0,-1,0,1,0,1,2,1,2,1,2,3,4,3,4,5,6,
	7,6,7,6,5,6,7,8,9,10,9,10,inv,11,10,11,12,13,14,15,16,15,16,15,16,
	15,16,15,16,15,16,15,16,15,16,15,14,13,12,13,14,13,14,13,14,13,12,13,14,15,
	16,17,18,19,20,21,22,23,24,25,26,25,26,25,24,25,24,23,22,21,20,21,20,21,inv,
	20,19,20,19,18,17,16,15,14,15,14,15,14,15,16,15,14,15,16,15,16,17,18,19,20,
	21,22,23,24,25,26,27,28,29,30,29,30,29,28,27,28,27,28,27,28,27,26,25,26,25,
	26,25,24,23,24,23,24,25,26,27,28,27,28,27,28,27,26,25,24,23,22,21,20,19,18,
	17,18,17,16,15,14,13,14,13,12,11,12,13,12,13,12,13,14,13,14,15,16,17,16,17,
	16,17,16,17,16,17,18,19,20,21,20,19,20,21,20,21,22,23,24,25,26,27,28,29,30,
	29,30,29,30,29,30,29,30,29,30,29,28,29,30,29,30,31,32,33,34,35,34,33,34,33,
	32,33,32,33,32,31,30,29,30,29,30,29,30,29,30,29,30,31,30,31,32,33,34,35,34,
	35,34,35,36,37,36,35,36,35,36,37,38,39,40,39,40,39,38,37,36,35,34,35,34,35,
	34,35,34,33,34,33,32,33,32,31,32,31,32,33,34,33,32,33,34,35,34,33,34,33,34,
	33,32,31,30,29,28,27,28,27,28,27,28,27,26,27,28,29,30,31,30,29,30,29,28,27,
	28,29,30,31,32,31,32,33,34,35,34,35,34,35,36,35,36,37,38,39,40,39,40,41,40,
	41,40,41,40,41,40,41,42,43,44,45,46,45,46,45,44,45,44,43,42,43,42,43,44,45,
	46,47,48,49,50,51,50,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,36,
	37,36,35,34,33,32,33,32,33,32,33,32,33,34,33,34,35,36,37,38,39,40,41,42,43,
	42,43,44,45,46,47,48,49,50,49,50,49,48,47,46,45,44,43,44,43,44,45,44,43,44,
	43,42,41,42,43,44,45,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,58,57,
	56,55,56,55,54,55,54,55,54,55,54,55,56,57,58,59,60,61,60,61,62,63,64,65,66,
	67,66,67,66,65,66,65,66,65,66,65,66,65,66,65,66,65,66,65,66,65,66,65,66,65,
	66,67,68,69,70,71,72,73,74,75,0,inv,-1,0,-1,0,1,0,1,0,1,0,1,0,1,
	0,-1,0,-1,0,1,2,3,2,1,0,-1,-2,-3,-4,-3,-4,-5,-4,-5,-4,-3,-2,-1,0,
	-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11,-12,-13,-14,-15,-16,-17,-18,-17,-18,-19,-18,-17,-16,-17,
	-16,-17,-18,-19,-20,-19,-18,-17,-16,-15,-14,-15,-16,-17,-16,-17,-16,-17,-16,-15,-14,-13,-12,-11,-10,
	-9,-8,-7,-6,-7,-6,-5,-4,-3,-4,-3,-4,-3,-2,-1,0,1,0,1,0,1,0,-1,-2,-1,
	-2,-1,-2,-3,-2,-3,-2,-3,-2,-3,-4,-5,-4,-3,-2,-1,0,-1,0,1,0,-1,0,-1,0,
	1,0,1,0,1,2,1,2,3,2,3,4,5,6,5,6,5,4,5,4,3,4,5,4,5,
	6,7,6,7,6,7,8,9,10,11,10,9,8,9,8,9,8,9,8,9,10,9,10,9,8,
	9,10,11,12,13,14,13,14,15,14,15,16,15,16,15,16,15,16,17,18,19,18,17,18,17,
	16,15,14,13,12,11,10,9,8,7,6,5,4,3,4,3,2,3,2,3,2,3,2,1,0,
	-1,-2,-3,-4,-5,-6,-7,-8,-7,-8,-7,-8,-7,-8,-7,-8,-7,-8,-7,-8,-9,-8,-9,-8,-9,
	-8,-7,-8,-7,-8,-7,-8,-7,-6,-7,-8,-7,-8,-9,-8,-7,-8,-9,-8,-9,-8,-9,-10,-11,-10,
	-11,-10,-11,-12,-11,-12,-13,-14,-15,-16,-17,-16,-17,-18,-17,-18,-19,-18,-19,-18,-19,-20,-21,-22,-23,
	-24,-25,-26,-27,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-40,-41,-42,-43,-44,-45,-46,
	-47,-48,-49,-50,-51,-50,-51,-50,-51,-50,-51,-52,-51,-52,-53,-52,-53,-54,-53,-54,-55,-56,-57,-58,-57,
	-58,-59,-60,-59,-60,-61,-62,-61,-62,-63,-64,-65,-66,-65,-66,-65,-66,-67,-68,-69,-70,-71,-72,-73,-74,
	-75,0,-1,-2,-3,-4,-5,-4,-5,-6,-7,-8,-9,-10,-11,-12,-13,-14,-15,-16,-17,-18,-17,-18,-17,
	-18,-19,-18,-19,-18,-19,-20,-19,-18,-19,-20,inv,-19,-20,-19,-20,-19,-20,-19,-20,inv,inv,-19,-18,-17,
	-16,-17,-16,-17,-16,-17,-18,-17,-18,-17,-18,-19,-20,-19,-20,-19,-20,-19,-20,-19,-20,-19,-20,-19,-20,
	-19,-20,-19,-20,-21,-22,-21,-22,-21,-22,-23,-22,-23,-24,-23,-24,-23,-22,-21,-22,-21,-22,-21,-22,-23,
	-24,-23,-22,-23,-22,-21,-22,-21,-22,-23,-22,-23,-22,-23,-22,-21,-22,-21,-20,-21,-20,-19,-20,-19,-18,
	-17,-18,-17,-16,-15,-16,-15,-14,-13,-14,-13,-14,-13,-12,-11,-12,-11,-10,-9,-8,-9,-8,-9,-8,-7,
	-8,-7,-6,-7,-6,-5,-6,-5,-6,-5,-6,-5,-6,-5,-6,-5,-6,-5,-6,-5,-4,-5,-6,-5,-6,
	-5,-6,-5,-4,-3,-2,-1,0,1,0,-1,0,1,0,-1,0,1,2,3,4,3,4,3,4,3,
	4,5,4,5,4,5,4,3,4,5,4,5,6,7,8,7,8,9,10,11,12,13,14,15,16,
	15,16,17,18,19,20,21,22,23,24,23,24,25,26,27,28,29,30,31,32,33,34,35,34,35,
	36,37,38,37,38,37,36,37,36,35,36,37,38,39,40,41,42,43,44,45,46,47,48,47,48,
	47,48,47,48,47,48,49,50,51,52,53,52,53,52,51,52,53,52,53,54,55,56,57,58,59,
	60,59,58,57,58,57,56,57,58,59,60,61,60,61,62,63,64,63,64,65,66,67,66,67,66,
	65,66,67,66,67,66,67,68,69,70,71,72,71,72,73,72,73,72,73,74,75,0,1,0,1,
	0,1,0,-1,-2,-3,-2,-1,0,-1,0,1,0,inv,-1,0,-1,0,-1,-2,-1,-2,-1,0,1,
	2,3,2,3,4,5,6,7,8,7,8,9,10,11,12,13,12,11,12,11,10,9,8,7,8,
	7,8,7,8,9,10,11,12,13,14,15,16,17,16,17,18,17,18,17,18,17,18,19,20,21,
	22,23,24,inv,inv,25,26,27,28,29,30,29,30,31,32,33,34,35,36,37,38,39,40,41,42,
	43,44,45,46,47,46,47,48,49,50,51,52,53,54,53,54,55,56,57,58,59,60,61,62,63,
	64,65,66,67,68,69,70,71,72,73,74,75,0,inv,1,2,1,0,1,0,1,0,1,0,1,
	2,3,2,3,2,3,2,3,4,5,6,7,8,9,8,9,8,9,10,11,12,13,14,13,14,
	13,14,13,14,15,14,15,14,15,14,15,14,15,14,15,14,15,16,15,14,13,12,11,10,11,
	10,9,10,9,10,9,8,7,6,5,6,5,6,5,6,7,8,7,8,9,10,9,10,11,12,
	13,14,15,14,15,14,13,12,11,10,9,10,11,12,13,12,13,12,13,14,15,16,17,18,19,
	18,inv,19,20,19,18,19,18,19,20,21,22,23,22,23,22,23,24,25,26,27,28,29,30,31,
	32,33,32,31,30,29,28,29,28,27,28,27,28,27,28,27,26,27,28,29,30,31,32,31,32,
	33,34,33,34,35,36,37,38,39,40,41,42,43,44,45,44,45,44,45,44,45,44,45,44,43,
	42,43,42,43,42,43,42,43,42,43,44,43,44,45,46,45,46,47,48,49,50,51,52,53,52,
	51,52,51,50,51,50,49,50,51,52,53,54,55,54,55,54,55,54,55,56,57,58,59,60,59,
	58,59,60,61,62,61,60,59,58,59,58,57,58,57,56,55,54,53,52,51,52,51,50,51,50,
	51,50,51,50,49,48,47,46,45,44,43,42,41,42,43,44,45,44,45,44,45,46,47,48,49,
	50,51,52,53,54,55,56,57,56,57,56,55,56,55,54,53,52,51,52,53,52,53,52,51,52,
	51,52,51,52,51,52,51,52,51,52,53,54,55,54,55,56,55,56,57,58,59,60,61,62,63,
	64,65,66,67,68,inv,69,70,69,70,69,70,71,72,73,74,75,0,1,2,3,2,3,4,5,
	6,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,
	29,30,31,30,31,32,31,32,31,32,31,32,31,32,31,32,33,34,35,36,37,38,39,40,41,
	42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,55,56,55,56,57,56,57,56,55,56,
	55,56,55,56,57,58,59,60,61,62,63,64,65,66,67,68,67,66,67,68,69,68,69,70,71,
	70,71,72,73,74,75,0,1,2,1,2,3,4,5,6,7,8,7,8,9,10,11,10,11,10,
	9,8,7,6,5,6,5,6,5,4,3,2,3,2,3,2,1,0,-1,0,1,2,1,2,3,
	4,5,6,7,8,9,10,11,12,13,14,15,16,15,16,15,14,13,12,11,10,9,8,7,8,
	7,6,5,6,5,6,5,6,5,4,5,4,5,4,3,2,1,0,1,2,3,4,5,6,5,
	6,5,6,7,8,9,10,11,12,13,14,15,14,13,12,11,12,11,12,11,10,9,8,7,6,
	inv,inv,5,4,3,2,1,0,-1,-2,-3,-4,-5,-6,-5,-4,-3,-4,-5,-4,-5,-6,-5,-6,-7,
	-8,-9,-10,-11,-12,-13,-12,-11,-10,-9,-8,-7,-8,-9,-8,-9,-10,-11,-12,-13,-14,-13,-14,-15,-16,
	-17,-18,-19,-20,-21,-22,-23,-24,-23,-24,-23,-24,-25,-26,-25,-26,-25,-26,-25,-26,-25,-24,-23,-22,-21,
	-20,-19,-18,-17,-16,-15,-16,-15,-14,-13,-14,-13,-14,-15,-14,-15,-16,-15,-16,-15,-14,-13,-12,-11,-10,
	-9,-8,-7,-6,-5,-4,-3,-2,-1,0,-1,-2,-3,-4,-3,-4,-5,-6,-7,-6,-5,-4,-3,-2,-1,
	-2,-3,-4,-5,-6,-7,-8,-7,-8,-9,-8,-7,-6,-5,-4,-5,-6,-7,-6,-5,-4,-5,-6,-7,-8,
	-7,-8,-9,-10,-11,-10,-9,-8,-9,8,-7,-8,-7,-8,-7,-8,-7,-8,-9,-10,-9,-8,-7,-6,-5,
	-4,-5,-6,-7,-8,-9,-10,-11,-12,-11,-12,-13,-14,-13,-14,-15,-16,-17,-16,-17,-18,-19,-20,-19,-20,
	-21,-22,-21,-20,-19,-20,-21,-20,-19,-18,-17,-16,-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-7,-8,-9,
	-10,-11,-12,-13,-12,-13,-14,-13,-14,-15,-16,-17,-18,-17,-18,-19,-20,-21,-22,-23,-24,-25,-26,-27,-26,
	-27,-26,-27,-26,-27,-26,-27,-28,-29,-28,-27,-26,-25,-24,-25,-26,-27,-28,-27,-28,-29,-30,-31,-32,-31,
	-32,-31,-32,-31,-32,-31,-32,-31,-30,-29,-30,-29,-30,-29,-30,-29,-30,-29,-30,-29,-30,-29,-30,-31,-32,
	-31,-32,-31,-32,-33,-34,-35,-36,-37,-38,-39,-38,-37,-36,-35,-34,-35,-34,-35,-36,-37,-36,-37,-38,-37,
	-38,-37,-38,-37,-36,-37,-36,-35,-36,-35,-36,-35,-36,-35,-36,-35,-36,-35,-36,-37,-38,-39,-38,-39,-38,
	-39,-40,-41,-42,-41,-42,-43,-44,-43,-42,-43,-42,-43,-42,-41,-40,-41,-42,-43,-42,-43,-44,-43,-44,-45,
	-46,-45,-44,-45,-44,-43,-42,-43,-42,-41,-40,-39,-38,-37,-38,-37,-36,-35,-34,-35,-34,-35,-34,-33,-34,
	-33,-32,-31,-32,-31,-32,-31,-32,-31,-30,-29,-30,-31,-32,-31,-32,-31,-32,-31,-30,-31,-32,-31,-30,-29,
	-28,-29,-28,-29,-30,-31,-30,-29,-28,-27,-28,-27,-28,-29,-30,-31,-32,-31,-30,-29,-30,-29,-30,-29,-30,
	-29,-30,-29,-30,-31,-30,-31,-30,-29,-28,-29,-28,-29,-30,-29,-30,-29,-28,-29,-30,-31,-32,-33,-32,-33,
	-32,-33,-34,-35,-36,-35,-34,-33,-34,-33,-34,-33,-34,-33,-34,-33,-34,-35,-34,-35,-34,-33,-34,-33,-34,
	-33,-32,-33,-34,-35,-36,-37,-38,-37,-38,-37,-38,-37,-38,-39,-40,-41,-42,-43,-42,-43,-42,-41,-40,-39,
	-40,-41,-42,-41,-40,-39,-40,-39,-40,-39,-39,-39,-38,-39,-38,-37,-36,-37,-36,-35,-34,-35,-34,-35,-36,
	-37,-38,-39,-38,-39,-40,-41,-40,-41,-40,-41,-42,-41,-40,-41,-40,-39,-38,-39,-38,-37,-38,-37,-38,-37,
	-38,-37,-38,-39,-40,-39,-40,-39,-40,-39,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-49,-50,-51,-52,
	-51,-52,-53,-54,-53,-52,-53,-52,-53,-52,-51,-52,-51,-52,-51,-52,-53,-54,-55,-56,-55,-56,-55,-56,-57,
	-58,-59,-60,-61,-62,-61,-62,-61,-62,-63,-62,-63,-64,-63,-64,-63,-62,-63,-62,-61,-62,-61,-60,-61,-62,
	-61,-62,-63,-62,-63,-62,-63,-62,-61,-60,-61,-60,-59,-58,-59,-58,-59,-58,-59,-58,-59,-60,-61,-60,-61,
	-60,-61,-60,-61,-60,-61,-60,-61,-60,-61,-62,-63,-64,-63,-64,-63,-64,-63,-64,-65,-66,-67,-66,-65,-66,
	-65,-64,-63,-62,-61,-62,-61,-62,-63,-62,-63,-62,-63,-64,-65,-66,-67,-68,-67,-68,-69,-68,-69,-68,-69,
	-68,-69,-68,-69,-70,-69,-70,-71,-70,-71,-70,-71,-70,-71,-70,-71,-70,-71,-70,-71,-70,-71,-70,-71,-70,
	-71,-70,-71,-70,-71,-70,-71,-70,-71,-70,-71,-70,-71,-70,-71,-70,-69,-70,-69,-70,-69,-70,-69,-70,-71,
	-70,-71,-72,-73,-74,-75,0,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11,-12,-11,-10,-9,-8,-7,-6,
	-7,-6,-5,-6,-5,-4,-3,inv,-2,-1,0,-1,0,inv,inv,-1,0,-1,-2, inv,-3,-4,-3,-2,-1,
	0,1,2,3,4,5,6,7,8,9,8,9,8,7,6,5,4,3,2,1,0,1,2,3,2,
	3,2,3,2,3,2,3,4,5,6,7,8,9,8,7,8,7,6,5,4,3,2,1,0,-1,
	0,1,2,3,2,3,4,3,4,3,2,1,0,-1,-2,-1,-2,-1,0,-1,0,1,0,1,2,
	3,2,3,2,1,0,-1,-2,-3,-4,-5,-6,-5,-6,-7,-8,-7,-6,-5,-4,-3,-2,-3,-2,-3,
	-4,-5,-6,-7,-6,-7,-8,-9,-10,-11,-12,-11,-12,-11,-12,-11,-12,-11,-12,-13,-14,-15,-14,-15,-14,
	-15,-14,-15,-14,-13,-12,-13,-14,-13,-12,-11,-10,-9,-10,-9,-10,-9,-10,-11,-10,-9,-8,-9,-10,-11,
	-10,-11,-12,-11,-12,-13,-14,-13,-14,-13,-14,-15,-14,-15,-14,-15,-14,-13,-12,-13,-12,-13,-12,-11,-12,
	-13,-14,-13,-12,-11,-12,-13,-14,-15,-14,-13,-14,-13,-12,-11,-12,-11,-10,-9,-8,-9,-8,-7,-8,-9,
	-10,-9,-10,-11,-10,-11,-12,-11,-12,-11,-12,-11,-12,-11,-12,-13,-14,-15,-16,-15,-14,-13,-14,-13,-12,
	-11,-12,-11,-12,-11,-12,-11,-12,-13,-14,-15,-16,-15,-16,-15,-16,-17,-16,-17,-18,-17,-16,-17,-16,-15,
	-16,-15,-16,-15,-14,-13,-12,-11,-12,-11,-10,-9,inv,-8,-9,-8,-9,-8,-7,-6,-5,-4,-5,-4,-5,
	-6,-5,-6,-5,-4,-5,-4,-3,-2,-1,-2,-1,0,1,2,3,4,3,4,3,4,3,4,5,6,
	7,6,7,6,5,4,3,2,3,2,1,2,3,2,3,2,3,2,3,2,3,2,1,2,1,
	2,3,4,5,6,7,8,9,10,9,10,9,10,11,10,11,10,11,10,9,8,9,8,9,8,
	7,8,7,8,7,6,7,6,7,8,7,8,7,8,7,6,5,6,5,4,3,2,1,0,-1,
	-2,-3,-4,-3,-2,-3,-2,-3,-2,-3,-2,-1,0,1,2,3,4,5,6,5,6,5,6,5,4,
	3,2,1,0,-1,-2,-3,-4,-5,-6,-7,-6,-7,-8,-7,-8,-7,-6,-7,-6,-5,-6,-5,-6,-5,
	-4,-3,-4,-5,-6,-7,-8,-9,-10,-11,-12,-13,-12,-11,-12,-11,-10,-11,-10,-9,-10,-9,-10,-11,-10,
	-9,-10,-9,-8,-9,-10,-11,-12,-13,-14,-13,-14,-13,-14,-13,-12,-13,-12,-13,-12,-13,-12,-13,-14,-13,
	-14,-13,-14,-15,-16,-17,-18,-17,-18,-17,-18,-19,-20,-21,-22,-23,-24,-23,-24,-23,-24,-23,-24,-23,-22,
	-23,-22,-23,-22,-21,-22,-21,-22,-21,-22,-21,-22,-21,-22,-21,-20,-21,-20,-21,-22,-23,-22,-21,-22,-21,
	-22,-21,-20,-21,-22,-21,-22,-23,-22,-23,-24,-25,-26,-27,-26,-27,-28,-29,-28,-29,-28,-29,-30,-31,-32,
	-31,-30,-29,-30,-29,-30,-31,-32,-31,-32,-33,-32,-33,-32,-31,-30,-29,-28,-27,-26,-25,-24,-23,-24,-23,
	-24,-25,-24,-25,-24,-25,-24,-25,-24,-25,-24,-25,-24,-25,-24,-25,-24,-25,-24,-25,-24,-25,-24,-25,-26,
	-25,-26,-25,-26,-25,-26,-25,-26,-25,-26,inv,-27,-26,-27,-28,-29,-30,-31,-32,-33,-32,-33,-32,-33,-32,
	-31,-32,-31,-30,-31,-30,-29,-28,-27,-26,-25,-24,-25,-26,-27,-26,-27,-28,-29,-28,-29,-30,-29,-30,-31,
	-30,-31,-30,-29,-30,-31,-32,-33,-32,-31,-32,-31,-32,-31,-32,-31,-32,-31,-30,-31,-30,-31,-32,-33,-34,
	-35,-36,-35,-36,-35,-34,-33,-32,-31,-30,-29,-28,-27,-26,-27,-26,-25,-26,-25,-24,-23,-24,-25,-26,-27,
	-28,-29,-30,-31,-32,-33,-32,-33,-32,-33,-32,-33,-32,-31,-32,-33,-34,-35,-34,-35,-36,-37,-38,-39,-40,
	-41,-40,-41,-40,-41,-40,-41,-42,-43,-44,-45,-46,-47,-48,-49,-50,-51,-52,-51,-52,-51,-52,-51,-52,-51,
	-52,-53,-54,-53,-54,-53,-52,-51,-50,-51,-50,-51,-52,-53,-52,-53,-52,-53,-52,-51,-50,-49,-50,-51,-50,
	-51,-52,-53,-54,-55,-54,-55,-54,-55,-54,-55,-56,-55,-54,-53,-54,-53,-52,-53,-52,-53,-52,-53,-52,-53,
	-54,-55,-56,-55,-56,-57,-56,-57,-56,-57,-56,-57,-58,-57,-58,-57,-58,-57,-58,-59,-60,-59,-60,-61,-62,
	-61,-62,-61,-62,-61,-60,-61,-60,-61,-60,-59,-60,-61,-60,-61,-60,-61,-62,-63,-62,-63,-64,-63,-64,-63,
	-64,-63,-64,-63,-64,-63,-64,-65,-66,-67,-66,-67,-68,-67,-68,-67,-68,-67,-68,-69,-70,-71,-70,-71,-70,
	-71,-70,-71,-70,-69,-68,-67,-68,-67,-68,-69,-70,-71,-72,-73,-74,-73,-74,-75,0,inv,-1,-2,-1,-2,
	-3,-2,-1,0,-1,-2,-3,-4,-3,-4,-3,-4,-3,-2,-1,-2,-3,-2,-1,0,1,2,3,2,1,
	0,-1,-2,inv,-3,-4,-5,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,5,4,5,6,7,
	8,9,10,11,12,11,12,11,10,9,8,7,8,9,10,11,12,13,14,15,16,17,18,19,20,
	21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0,1,0,1,
	2,3,4,3,4,3,4,3,4,5,4,5,6,5,4,3,4,5,6,5,6,5,6,5,6,
	5,6,5,4,5,6,7,8,9,10,9,10,9,10,9,10,11,10,9,8,7,6,5,4,3,
	2,1,0,1,0,1,0,-1,0,-1,0,1,2,1,2,3,4,5,4,3,4,3,2,1,2,
	1,0,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11,-12,-13,-14,-15,-16,-17,inv,-18,-19,-18,-19,-20,
	-21,-22,-21,-20,-21,-20,-21,-20,-19,-18,-19,-18,-17,-16,-15,-14,-13,-14,-13,-14,-13,-14,-15,-14,-15,
	-14,-15,inv,-16,-17,-16,-17,-18,-17,-18,-19,-18,-19,-18,-19,-18,-19,-18,-19,-18,-19,-18,-19,-18,-19,
	# Next time, go @ page 851.
		]
Edited by Nazalassa
Graphs moved to Codeberg
Link to comment
Share on other sites

N -19

That's because it's taking in account all the battles before page 320, where we started counting on the tally of victories we still have. Planty (*ahem*) of negative-won battles weren't counted.
I am trying to add the program but I think Firefox just crashed.

-- Upd. --
Done. @AtomicTech, could you please replace the old spoiler in the OP? I don't think it's necessary to include the program. but maybe in this case add a link to (the 4th spoiler of) my previous post.

Edited by Nazalassa
Link to comment
Share on other sites

N -19

9 minutes ago, AtomicTech said:

Updated :)

Small issue: since the forums do not allow for images taller than 2,000px, I have divided the graph in (currently) 22 1,000px-long images. In the OP is only the first of them.
Solution suggestion: quote my post, then select the spoiler containing the graph, ctrl-C, edit OP, ctrl-V.

Also, could you please include a link to my post?

Thanks!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...