-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchess-mega-descriptive.ino
180 lines (171 loc) · 281 KB
/
chess-mega-descriptive.ino
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
39
40
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
/********************************************************************************************************************
GMR Switch smart chessboard with an Arduino Mega 2560 and PCM speech synthesis.
Reads an 8 x 8 array of AD024 GMR magnetic switches.
Displays the move times and moves in algebraic notation, and speaks the move in descriptive notation using PCM audio.
A0-A7 (Port F) is sensor select (ranks/rows) connected to VDDs; A8-A15 (Port K) reads sensor outputs (files/columns).
SDA and SCL connect to a 20 x 4 LCD Module. P10 (OC2A) is PCM audio.
NVE Corporation ([email protected]), rev. 2/11/24
*********************************************************************************************************************/
#include <PCM.h> //PCM Library for speech synthesis. Change audio out in PCM.c to P10 for Mega (OC2A)
#include <Wire.h> //I2C Library
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4); //20 x 4 LCD Module with 0x27 I2C address
//PCM arrays for voice synthesis
const unsigned char P[] PROGMEM = {129, 129, 129, 129, 129, 129, 129, 129, 129, 128, 128, 129, 128, 128, 128, 128, 128, 129, 129, 129, 129, 129, 129, 128, 128, 128, 128, 129, 129, 129, 129, 129, 129, 128, 128, 128, 128, 129, 128, 128, 128, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 129, 128, 128, 128, 128, 127, 127, 127, 127, 128, 127, 127, 126, 127, 128, 128, 129, 128, 128, 128, 128, 128, 128, 129, 128, 127, 128, 128, 128, 127, 127, 127, 129, 128, 127, 128, 127, 128, 128, 128, 128, 128, 128, 127, 128, 129, 127, 128, 128, 128, 128, 128, 128, 128, 129, 128, 129, 128, 128, 129, 129, 129, 128, 128, 128, 127, 128, 129, 128, 129, 128, 128, 127, 128, 127, 128, 128, 126, 126, 126, 126, 126, 126, 125, 124, 124, 124, 123, 123, 122, 123, 122, 121, 121, 121, 121, 120, 120, 120, 120, 130, 134, 128, 127, 126, 125, 126, 125, 124, 125, 126, 125, 121, 119, 119, 118, 120, 120, 120, 121, 119, 120, 121, 122, 126, 127, 130, 133, 133, 132, 134, 135, 131, 131, 130, 129, 129, 125, 124, 124, 128, 139, 141, 132, 131, 134, 130, 132, 134, 132, 139, 139, 137, 140, 142, 152, 156, 145, 138, 138, 133, 131, 133, 128, 128, 130, 127, 129, 131, 135, 137, 140, 143, 142, 143, 142, 143, 141, 135, 133, 130, 133, 128, 123, 123, 119, 122, 122, 123, 126, 122, 124, 119, 121, 125, 125, 131, 131, 135, 129, 122, 123, 120, 124, 120, 123, 125, 116, 124, 124, 125, 127, 120, 123, 123, 125, 125, 127, 132, 127, 129, 120, 121, 132, 122, 126, 120, 113, 125, 125, 137, 148, 136, 130, 129, 129, 135, 134, 125, 121, 119, 122, 129, 132, 133, 124, 121, 126, 134, 145, 138, 130, 123, 115, 124, 126, 130, 136, 124, 116, 117, 115, 113, 118, 120, 120, 130, 132, 132, 135, 128, 116, 107, 110, 115, 125, 133, 130, 128, 121, 112, 110, 111, 114, 114, 116, 117, 124, 135, 131, 131, 128, 118, 121, 123, 122, 119, 118, 122, 121, 125, 126, 125, 128, 126, 125, 123, 126, 132, 133, 139, 135, 130, 128, 113, 111, 114, 116, 131, 142, 144, 142, 144, 140, 128, 126, 116, 114, 124, 124, 131, 135, 133, 128, 131, 144, 141, 136, 129, 110, 105, 104, 102, 116, 133, 141, 153, 155, 146, 134, 116, 110, 112, 112, 121, 125, 127, 134, 132, 129, 128, 128, 119, 117, 120, 111, 121, 133, 130, 130, 126, 116, 114, 119, 112, 111, 115, 105, 114, 120, 122, 135, 132, 135, 137, 131, 132, 127, 129, 124, 121, 127, 125, 126, 119, 108, 109, 121, 132, 133, 140, 133, 124, 134, 128, 131, 142, 139, 143, 144, 139, 130, 124, 121, 114, 122, 128, 131, 148, 149, 146, 148, 142, 134, 126, 121, 119, 125, 132, 135, 137, 136, 133, 131, 132, 135, 137, 143, 140, 136, 139, 134, 134, 133, 132, 132, 122, 123, 118, 108, 106, 98, 106, 119, 127, 136, 127, 121, 114, 112, 121, 127, 137, 140, 146, 140, 121, 122, 108, 106, 124, 128, 148, 150, 137, 128, 104, 96, 91, 98, 114, 122, 142, 135, 133, 148, 135, 133, 126, 111, 120, 122, 128, 150, 153, 143, 137, 117, 96, 94, 94, 104, 130, 148, 159, 156, 146, 134, 113, 110, 111, 110, 120, 121, 126, 132, 126, 128, 124, 118, 115, 112, 116, 114, 122, 130, 129, 137, 133, 130, 135, 132, 136, 140, 140, 136, 127, 119, 114, 126, 139, 146, 146, 134, 127, 119, 113, 121, 131, 148, 158, 160, 156, 138, 123, 104, 90, 103, 114, 133, 156, 150, 141, 133, 116, 112, 117, 126, 137, 144, 144, 131, 117, 104, 99, 110, 119, 138, 151, 154, 153, 137, 130, 120, 112, 124, 124, 122, 127, 120, 119, 125, 127, 127, 132, 130, 127, 127, 121, 122, 124, 129, 130, 131, 132, 120, 125, 135, 135, 147, 146, 141, 138, 134, 136, 128, 123, 122, 115, 120, 124, 125, 122, 111, 103, 93, 90, 92, 93, 103, 109, 115, 115, 104, 100, 87, 87, 96, 102, 133, 152, 171, 190, 184, 187, 171, 154, 152, 143, 152, 162, 176, 187, 186, 188, 173, 163, 148, 131, 126, 122, 132, 136, 152, 164, 156, 154, 128, 110, 93, 80, 91, 92, 102, 104, 94, 81, 68, 55, 43, 57, 47, 54, 45, 0, 28, 55, 93, 215, 233, 235, 216, 116, 56, 31, 31, 76, 159, 195, 213, 232, 171, 155, 159, 144, 181, 196, 192, 182, 178, 160, 149, 180, 167, 187, 200, 167, 171, 144, 140, 146, 147, 167, 143, 144, 120, 88, 86, 58, 70, 70, 78, 97, 77, 78, 45, 29, 26, 12, 41, 27, 67, 142, 170, 246, 255, 210, 174, 80, 15, 9, 28, 81, 159, 215, 223, 228, 197, 157, 166, 160, 165, 186, 170, 161, 159, 154, 161, 179, 190, 186, 187, 171, 146, 139, 124, 126, 136, 137, 140, 125, 99, 82, 73, 64, 77, 90, 84, 96, 78, 60, 60, 32, 38, 11, 10, 85, 110, 191, 252, 218, 214, 144, 59, 46, 38, 66, 134, 182, 188, 196, 169, 137, 168, 174, 198, 234, 208, 193, 169, 141, 144, 155, 170, 178, 185, 170, 157, 156, 146, 159, 165, 152, 136, 111, 87, 78, 88, 94, 111, 110, 90, 82, 50, 31, 34, 41, 68, 76, 60, 50, 92, 124, 159, 227, 199, 174, 143, 46, 44, 45, 57, 140, 171, 194, 202, 173, 147, 146, 158, 167, 202, 188, 169, 179, 148, 158, 167, 155, 169, 167, 167, 160, 157, 150, 139, 155, 140, 135, 133, 102, 99, 85, 80, 91, 85, 91, 81, 65, 54, 39, 37, 39, 43, 35, 58, 119, 161, 225, 252, 208, 174, 89, 17, 25, 27, 89, 168, 195, 221, 205, 166, 137, 130, 145, 169, 210, 202, 192, 180, 138, 147, 140, 147, 181, 177, 198, 189, 168, 162, 136, 134, 125, 119, 114, 102, 98, 84, 91, 93, 89, 90, 75, 60, 43, 47, 41, 52, 49, 21, 68, 96, 146, 223, 209, 207, 156, 70, 44, 22, 45, 102, 161, 191, 201, 189, 135, 124, 113, 127, 185, 196, 214, 204, 172, 155, 134, 132, 134, 159, 172, 180, 196, 171, 175, 164, 143, 152, 124, 112, 100, 86, 96, 97, 114, 115, 102, 89, 51, 30, 24, 23, 44, 62, 55, 82, 130, 158, 216, 232, 192, 161, 82, 22, 30, 41, 96, 171, 198, 216, 198, 147, 127, 103, 115, 161, 178, 208, 205, 178, 169, 139, 130, 138, 146, 172, 188, 192, 186, 169, 145, 130, 125, 116, 120, 121, 115, 117, 110, 97, 92, 72, 54, 53, 30, 39, 44, 31, 61, 33, 58, 135, 147, 230, 238, 183, 165, 62, 23, 30, 43, 119, 174, 214, 215, 185, 131, 84, 89, 93, 159, 208, 217, 241, 191, 159, 133, 99, 120, 128, 169, 203, 210, 222, 194, 173, 146, 123, 118, 106, 117, 122, 118, 131, 121, 107, 98, 65, 50, 40, 28, 51, 55, 62, 60, 40, 94, 129, 165, 226, 192, 174, 129, 42, 49, 42, 75, 152, 167, 205, 188, 141, 118, 80, 94, 126, 169, 204, 218, 212, 176, 155, 118, 108, 123, 132, 181, 201, 212, 218, 183, 170, 138, 122, 118, 109, 132, 125, 137, 138, 115, 114, 80, 57, 49, 22, 33, 46, 46, 76, 59, 56, 105, 121, 187, 222, 197, 183, 102, 44, 22, 26, 82, 143, 199, 212, 204, 151, 98, 78, 57, 105, 153, 192, 232, 214, 197, 166, 121, 117, 110, 130, 175, 191, 220, 217, 191, 178, 141, 126, 121, 118, 136, 137, 145, 141, 122, 109, 79, 54, 40, 32, 38, 45, 57, 65, 55, 64, 52, 95, 165, 176, 243, 208, 150, 123, 9, 20, 35, 63, 167, 189, 221, 208, 152, 110, 61, 61, 73, 128, 178, 211, 239, 207, 183, 142, 113, 114, 123, 162, 193, 212, 215, 198, 171, 149, 123, 114, 118, 118, 138, 148, 151, 152, 130, 109, 81, 56, 46, 38, 56, 62, 88, 96, 77, 66, 37, 76, 114, 166, 218, 208, 177, 116, 47, 18, 38, 57, 142, 187, 206, 225, 155, 123, 64, 31, 59, 80, 143, 191, 215, 225, 203, 173, 138, 118, 115, 126, 158, 180, 209, 219, 208, 190, 159, 140, 117, 119, 126, 133, 153, 153, 152, 134, 106, 85, 65, 57, 62, 68, 78, 89, 77, 69, 58, 32, 77, 119, 158, 233, 202, 182, 142, 43, 47, 29, 59, 140, 162, 206, 193, 152, 117, 72, 53, 57, 87, 114, 158, 176, 184, 192, 170, 159, 146, 132, 135, 146, 157, 180, 189, 196, 196, 180, 171, 155, 148, 143, 139, 144, 154, 155, 153, 134, 108, 92, 71, 77, 87, 104, 115, 94, 76, 52, 23, 25, 17, 58, 135, 166, 231, 220, 176, 144, 57, 32, 41, 58, 121, 172, 184, 196, 160, 115, 95, 62, 72, 86, 101, 124, 127, 137, 154, 167, 176, 188, 177, 166, 158, 126, 135, 147, 158, 202, 204, 208, 198, 165, 144, 124, 120, 131, 150, 162, 164, 159, 143, 119, 106, 89, 91, 97, 92, 100, 79, 68, 62, 54, 55, 51, 43, 73, 123, 149, 208, 184, 157, 130, 48, 55, 54, 86, 151, 173, 193, 178, 147, 104, 82, 71, 72, 106, 108, 131, 140, 129, 152, 145, 151, 168, 157, 164, 156, 137, 146, 144, 162, 188, 194, 214, 193, 173, 160, 132, 143, 144, 153, 170, 167, 168, 156, 141, 124, 103, 99, 93, 90, 90, 80, 74, 69, 55, 57, 57, 57, 52, 49, 95, 129, 179, 204, 180, 156, 103, 56, 48, 65, 86, 148, 169, 182, 184, 136, 118, 79, 67, 70, 80, 108, 122, 141, 144, 149, 153, 142, 149, 146, 139, 161, 144, 167, 179, 169, 201, 174, 178, 168, 145, 156, 146, 160, 174, 182, 182, 172, 155, 134, 128, 119, 118, 130, 119, 126, 117, 101, 109, 86, 93, 92, 79, 80, 63, 56, 46, 43, 40, 89, 142, 175, 220, 190, 159, 112, 51, 52, 53, 99, 144, 165, 186, 153, 131, 98, 63, 67, 72, 94, 120, 137, 139, 138, 128, 115, 121, 120, 135, 149, 153, 162, 154, 155, 155, 165, 175, 179, 179, 163, 163, 150, 157, 172, 176, 193, 184, 179, 164, 152, 143, 135, 145, 135, 143, 142, 126, 130, 110, 103, 109, 106, 114, 113, 102, 88, 75, 52, 55, 47, 45, 63, 77, 145, 172, 208, 202, 144, 116, 38, 29, 41, 63, 135, 163, 189, 186, 146, 101, 64, 44, 47, 80, 104, 135, 154, 138, 139, 121, 105, 111, 113, 124, 143, 149, 161, 173, 161, 178, 165, 162, 168, 146, 159, 153, 159, 178, 180, 190, 189, 177, 164, 147, 137, 142, 144, 155, 158, 155, 150, 138, 128, 124, 132, 123, 130, 119, 106, 115, 96, 106, 102, 85, 90, 64, 49, 41, 22, 61, 110, 154, 201, 191, 160, 113, 58, 31, 48, 78, 129, 181, 188, 189, 150, 100, 75, 49, 59, 87, 102, 128, 135, 126, 126, 111, 108, 106, 103, 108, 104, 114, 123, 132, 158, 164, 176, 182, 163, 161, 145, 134, 143, 148, 172, 191, 196, 198, 176, 160, 146, 136, 143, 148, 162, 168, 172, 164, 158, 149, 142, 141, 131, 131, 127, 123, 129, 127, 122, 127, 108, 102, 91, 75, 74, 71, 70, 64, 64, 59, 107, 133, 164, 185, 147, 136, 81, 54, 67, 80, 123, 159, 164, 162, 143, 101, 88, 76, 77, 104, 108, 116, 118, 102, 108, 105, 105, 115, 109, 113, 114, 112, 124, 132, 147, 169, 174, 174, 161, 143, 129, 121, 125, 147, 171, 188, 197, 181, 161, 141, 126, 130, 142, 156, 175, 184, 180, 173, 156, 144, 142, 139, 151, 155, 154, 155, 143, 138, 132, 120, 125, 115, 115, 117, 105, 109, 98, 84, 77, 66, 56, 60, 56, 91, 139, 158, 187, 157, 127, 96, 53, 64, 80, 113, 159, 171, 172, 153, 113, 86, 67, 64, 83, 96, 111, 118, 111, 113, 105, 104, 112, 107, 112, 111, 104, 112, 115, 123, 140, 149, 154, 158, 146, 141, 134, 129, 142, 155, 169, 175, 166, 155, 148, 138, 148, 155, 166, 178, 171, 177, 161, 159, 159, 154, 167, 160, 164, 168, 157, 158, 145, 142, 139, 137, 139, 130, 130, 117, 116, 113, 110, 113, 107, 104, 92, 79, 75, 61, 60, 58, 70, 126, 144, 182, 167, 138, 113, 63, 70, 77, 114, 142, 159, 158, 134, 109, 79, 75, 79, 90, 107, 108, 107, 106, 97, 108, 111, 116, 121, 114, 105, 104, 99, 103, 122, 124, 140, 143, 130, 136, 122, 122, 131, 134, 151, 159, 168, 166, 163, 151, 143, 150, 150, 168, 177, 180, 183, 173, 162, 156, 151, 152, 158, 163, 171, 174, 177, 170, 162, 153, 142, 140, 136, 135, 135, 139, 136, 133, 127, 111, 113, 103, 101, 106, 103, 106, 98, 86, 79, 72, 73, 76, 102, 133, 150, 169, 140, 116, 85, 55, 70, 86, 119, 144, 148, 134, 111, 86, 71, 75, 85, 101, 113, 114, 110, 107, 104, 107, 117, 119, 115, 113, 102, 101, 108, 114, 132, 141, 146, 145, 128, 119, 107, 111, 122, 137, 161, 170, 177, 171, 163, 152, 147, 145, 151, 162, 168, 175, 176, 174, 168, 163, 155, 154, 155, 158, 164, 169, 168, 168, 164, 157, 153, 142, 137, 135, 136, 140, 138, 137, 131, 126, 121, 113, 111, 105, 106, 106, 108, 109, 96, 85, 71, 65, 63, 68, 83, 124, 146, 159, 150, 111, 90, 61, 64, 91, 117, 139, 147, 138, 119, 100, 84, 84, 95, 100, 107, 111, 105, 109, 115, 124, 136, 133, 122, 111, 96, 98, 106, 122, 139, 144, 142, 132, 122, 114, 113, 118, 126, 134, 145, 155, 167, 168, 168, 161, 154, 150, 146, 151, 159, 171, 182, 186, 180, 170, 156, 150, 146, 147, 152, 154, 159, 162, 167, 168, 163, 151, 140, 131, 128, 131, 139, 147, 149, 142, 131, 121, 109, 107, 105, 103, 108, 102, 101, 97, 91, 91, 83, 84, 81, 78, 86, 93, 123, 141, 141, 137, 107, 90, 79, 79, 102, 121, 131, 133, 124, 107, 101, 90, 91, 102, 98, 105, 105, 104, 116, 121, 130, 135, 126, 114, 103, 97, 106, 119, 130, 141, 136, 135, 129, 127, 133, 132, 134, 132, 132, 136, 139, 146, 155, 165, 172, 167, 163, 153, 149, 149, 153, 166, 169, 172, 166, 161, 155, 148, 152, 152, 157, 158, 159, 160, 162, 160, 154, 149, 142, 144, 147, 148, 144, 142, 130, 126, 122, 116, 119, 112, 111, 111, 107, 102, 99, 95, 96, 98, 97, 95, 92, 90, 89, 88, 88, 96, 120, 132, 131, 121, 97, 90, 88, 95, 116, 127, 126, 123, 115, 108, 109, 104, 106, 111, 105, 106, 107, 108, 122, 128, 134, 139, 126, 117, 110, 111, 121, 130, 137, 140, 134, 129, 128, 127, 128, 130, 131, 133, 134, 137, 143, 142, 142, 141, 143, 148, 153, 159, 163, 160, 155, 152, 152, 151, 154, 156, 156, 158, 156, 153, 152, 150, 149, 152, 154, 154, 152, 146, 142, 142, 140, 142, 143, 139, 135, 132, 126, 125, 124, 123, 121, 116, 114, 113, 111, 110, 110, 104, 106, 106, 107, 100, 94, 92, 86, 87, 88, 90, 93, 92, 92, 117, 131, 134, 133, 107, 100, 96, 97, 116, 128, 128, 131, 128, 124, 128, 120, 117, 114, 104, 108, 115, 123, 134, 137, 137, 135, 129, 126, 126, 128, 131, 135, 137, 138, 138, 135, 137, 137, 135, 134, 132, 133, 135, 138, 140, 140, 139, 131, 129, 122, 133, 149, 151, 155, 142, 136, 138, 139, 145, 152, 151, 152, 152, 150, 152, 152, 150, 148, 146, 143, 143, 143, 140, 136, 137, 136, 138, 139, 136, 132, 125, 119, 118, 118, 117, 120, 120, 121, 119, 118, 115, 114, 112, 112, 115, 114, 111, 107, 104, 104, 105, 101, 101, 99, 97, 103, 108, 109, 105, 100, 92, 91, 93, 104, 129, 138, 142, 136, 126, 124, 123, 126, 130, 131, 126, 130, 132, 138, 141, 136, 131, 124, 118, 120, 123, 128, 133, 134, 138, 140, 140, 136, 134, 134, 136, 138, 139, 136, 135, 134, 135, 138, 137, 134, 128, 123, 122, 125, 127, 129, 129, 129, 131, 132, 133, 133, 131, 135, 138, 142, 146, 146, 147, 146, 145, 142, 139, 136, 137, 141, 144, 144, 141, 139, 137, 138, 139, 135, 132, 129, 127, 129, 129, 129, 130, 126, 122, 123, 124, 123, 121, 119, 121, 120, 119, 118, 116, 116, 115, 117, 116, 114, 110, 108, 107, 105, 108, 105, 108, 109, 108, 108, 106, 107, 105, 107, 111, 122, 126, 126, 127, 129, 134, 140, 143, 141, 133, 126, 126, 128, 131, 131, 130, 128, 124, 122, 122, 123, 124, 123, 124, 127, 128, 129, 130, 130, 135, 140, 140, 139, 134, 132, 131, 132, 132, 133, 132, 129, 129, 128, 128, 131, 132, 130, 131, 134, 139, 141, 140, 138, 137, 138, 142, 147, 150, 150, 149, 145, 143, 141, 140, 142, 142, 142, 140, 140, 141, 139, 136, 134, 134, 134, 135, 134, 129, 126, 123, 122, 122, 122, 121, 118, 115, 114, 114, 114, 115, 113, 111, 111, 113, 113, 114, 114, 115, 113, 109, 106, 103, 102, 103, 104, 103, 104, 109, 114, 113, 112, 115, 119, 122, 127, 130, 130, 132, 133, 137, 138, 135, 130, 127, 125, 126, 127, 125, 126, 123, 121, 124, 127, 129, 130, 129, 127, 127, 128, 130, 132, 134, 135, 136, 137, 135, 133, 131, 130, 131, 130, 130, 132, 132, 129, 127, 130, 134, 136, 138, 140, 140, 142, 142, 146, 150, 154, 156, 155, 155, 153, 151, 148, 146, 144, 142, 143, 142, 139, 135, 133, 131, 131, 130, 128, 126, 122, 122, 122, 122, 123, 124, 122, 117, 114, 113, 113, 115, 117, 117, 116, 114, 114, 113, 113, 112, 109, 107, 105, 104, 106, 106, 105, 103, 105, 109, 106, 104, 107, 110, 117, 123, 127, 129, 128, 130, 133, 136, 136, 133, 131, 128, 128, 130, 129, 128, 126, 122, 119, 119, 122, 123, 125, 126, 127, 129, 131, 132, 133, 133, 133, 134, 135, 136, 135, 134, 134, 135, 135, 134, 133, 130, 126, 126, 130, 137, 139, 139, 140, 142, 145, 149, 152, 153, 155, 154, 153, 153, 154, 152, 150, 148, 145, 145, 143, 141, 137, 133, 131, 130, 131, 132, 132, 128, 125, 124, 123, 123, 121, 120, 118, 117, 115, 114, 115, 114, 114, 113, 112, 111, 110, 107, 105, 106, 105, 105, 105, 104, 101, 99, 103, 107, 105, 103, 106, 109, 114, 120, 124, 128, 129, 127, 130, 132, 132, 131, 131, 130, 129, 128, 127, 127, 126, 124, 124, 125, 124, 125, 126, 126, 127, 130, 130, 131, 132, 132, 134, 135, 135, 136, 135, 135, 134, 133, 133, 132, 132, 131, 133, 133, 134, 132, 131, 135, 139, 141, 144, 144, 145, 148, 150, 150, 151, 148, 146, 148, 148, 146, 143, 140, 138, 138, 136, 134, 134, 132, 130, 131, 130, 127, 126, 123, 120, 121, 121, 120, 118, 114, 111, 112, 113, 113, 112, 110, 109, 110, 112, 111, 110, 110, 110, 109, 109, 107, 105, 104, 105, 108, 112, 111, 108, 112, 115, 118, 123, 123, 123, 124, 126, 129, 131, 129, 128, 129, 129, 127, 127, 127, 127, 127, 127, 127, 129, 129, 130, 131, 131, 132, 135, 135, 135, 134, 134, 136, 137, 137, 136, 134, 133, 135, 135, 133, 132, 131, 130, 130, 130, 130, 131, 131, 132, 135, 137, 137, 140, 143, 144, 146, 149, 150, 149, 149, 149, 150, 149, 147, 144, 142, 141, 140, 138, 136, 135, 133, 130, 130, 130, 129, 128, 125, 123, 123, 123, 121, 119, 116, 115, 115, 115, 112, 112, 112, 112, 113, 113, 113, 114, 114, 113, 112, 113, 112, 111, 110, 109, 108, 106, 107, 112, 113, 112, 114, 117, 120, 123, 126, 127, 127, 128, 129, 132, 132, 129, 128, 128, 128, 128, 127, 126, 126, 126, 126, 128, 129, 128, 128, 130, 132, 134, 135, 134, 135, 135, 135, 136, 135, 133, 133, 132, 131, 132, 132, 129, 128, 127, 127, 129, 129, 128, 129, 133, 136, 137, 139, 140, 142, 145, 146, 148, 149, 147, 148, 150, 150, 149, 147, 144, 143, 142, 141, 140, 138, 134, 131, 131, 131, 130, 128, 124, 122, 121, 122, 121, 118, 115, 114, 114, 113, 113, 112, 110, 111, 113, 112, 111, 111, 112, 112, 113, 113, 112, 111, 108, 110, 117, 117, 114, 116, 118, 120, 123, 125, 125, 125, 125, 126, 128, 128, 126, 126, 127, 127, 127, 127, 126, 125, 126, 127, 128, 129, 128, 128, 129, 130, 132, 134, 134, 133, 133, 133, 134, 134, 133, 132, 130, 130, 131, 130, 128, 127, 127, 127, 128, 129, 128, 128, 129, 132, 135, 137, 138, 139, 141, 144, 146, 147, 146, 146, 145, 146, 147, 147, 144, 142, 141, 141, 140, 139, 137, 134, 132, 133, 133, 131, 129, 126, 124, 123, 123, 121, 119, 116, 114, 114, 115, 113, 112, 111, 111, 113, 115, 114, 112, 114, 116, 117, 116, 115, 114, 113, 113, 116, 118, 116, 115, 117, 118, 120, 123, 124, 123, 124, 125, 127, 127, 126, 125, 126, 126, 126, 126, 125, 125, 126, 126, 127, 129, 128, 128, 130, 132, 132, 134, 134, 134, 134, 134, 135, 134, 132, 132, 131, 131, 131, 130, 128, 127, 128, 128, 128, 128, 127, 127, 129, 129, 130, 132, 133, 133, 134, 135, 136, 138, 139, 139, 140, 140, 140, 141, 142, 140, 139, 139, 138, 138, 137, 135, 134, 133, 132, 132, 131, 129, 127, 125, 123, 123, 122, 121, 120, 118, 117, 118, 118, 117, 116, 116, 116, 118, 119, 118, 118, 120, 121, 122, 122, 120, 119, 118, 116, 117, 121, 121, 118, 120, 121, 121, 124, 125, 125, 125, 125, 126, 128, 127, 126, 126, 127, 128, 128, 127, 126, 127, 128, 128, 130, 131, 131, 131, 132, 133, 134, 135, 133, 133, 133, 133, 132, 131, 130, 129, 129, 130, 130, 128, 128, 128, 128, 129, 128, 127, 127, 127, 128, 128, 129, 129, 129, 130, 131, 132, 132, 133, 133, 133, 134, 135, 134, 134, 133, 133, 132, 132, 131, 130, 130, 130, 130, 130, 130, 129, 130, 130, 130, 130, 130, 129, 129, 129, 129, 129, 127, 126, 126, 126, 126, 126, 126, 125, 125, 125, 125, 126, 125, 124, 123, 123, 123, 123, 121, 120, 118, 116, 116, 119, 119, 118, 119, 120, 121, 124, 124, 124, 125, 125, 126, 127, 127, 126, 127, 127, 128, 128, 127, 127, 128, 128, 129, 131, 131, 131, 131, 131, 132, 132, 132, 131, 131, 131, 129, 129, 128, 126, 125, 125, 124, 123, 122, 122, 123, 123, 123, 122, 124, 125, 125, 126, 127, 127, 129, 129, 130, 132, 131, 131, 133, 133, 132, 131, 131, 131, 132, 131, 131, 131, 129, 129, 130, 130, 131, 131, 130, 131, 131, 130, 131, 131, 130, 131, 131, 133, 133, 132, 130, 131, 132, 131, 131, 130, 128, 128, 129, 130, 129, 128, 128, 128, 129, 128, 127, 127, 126, 127, 128, 127, 127, 126, 126, 126, 125, 125, 123, 123, 123, 123, 123, 122, 122, 123, 123, 122, 120, 119, 120, 119, 118, 117, 117, 118, 120, 121, 122, 123, 123, 123, 123, 124, 123, 122, 122, 122, 125, 128, 127, 126, 128, 129, 130, 130, 130, 130, 131, 134, 136, 137, 135, 134, 134, 136, 136, 136, 134, 134, 133, 133, 133, 132, 131, 131, 131, 133, 134, 135, 136, 135, 134, 133, 133, 134, 133, 131, 131, 132, 132, 133, 132, 131, 130, 128, 127, 128, 127, 125, 125, 126, 127, 129, 130, 130, 127, 125, 122, 123, 124, 124, 123, 123, 125, 128, 126, 124, 122, 119, 121, 122, 123, 123, 122, 124, 125, 124, 124, 123, 122, 122, 122, 124, 126, 126, 124, 125, 125, 125, 124, 122, 124, 125, 127, 127, 128, 127, 126, 127, 127, 126, 127, 128, 129, 129, 129, 129, 129, 129, 129, 129, 129, 128, 130, 131, 132, 131, 131, 131, 131, 131, 133, 134, 133, 132, 132, 133, 134, 133, 130, 130, 129, 129, 131, 131, 130, 129, 129, 130, 132, 131, 128, 127, 127, 129, 131, 130, 128, 129, 128, 127, 128, 127, 125, 125, 126, 128, 129, 127, 126, 126, 125, 125, 124, 124, 125, 126, 126, 128, 126, 125, 124, 124, 124, 124, 124, 125, 126, 127, 127, 126, 125, 124, 124, 124, 125, 125, 126, 127, 128, 127, 127, 126, 125, 125, 125, 126, 127, 129, 129, 128, 127, 127, 128, 128, 128, 128, 129, 129, 130, 131, 130, 129, 129, 129, 129, 129, 130, 129, 130, 130, 130, 130, 129, 128, 127, 127, 128, 128, 128, 128, 128, 128, 127, 126, 126, 127, 127, 127, 128, 128, 128, 128, 128, 128, 129, 128, 128, 128, 129, 129, 128, 128, 127, 126, 125, 126, 126, 125, 126, 126, 127, 127, 126, 126, 125, 125, 126, 127, 127, 127, 126, 126, 127, 127, 126, 126, 127, 127, 127, 127, 127, 127, 128, 128, 128, 129, 129, 129, 129, };
const unsigned char R[] PROGMEM = {129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 128, 128, 128, 128, 128, 127, 127, 127, 126, 126, 125, 125, 125, 125, 124, 124, 124, 124, 124, 124, 124, 124, 123, 123, 123, 123, 122, 122, 122, 121, 121, 121, 121, 121, 121, 122, 122, 122, 123, 124, 125, 126, 127, 128, 129, 130, 132, 135, 138, 140, 142, 144, 145, 145, 145, 145, 145, 145, 144, 143, 141, 139, 136, 133, 130, 128, 126, 126, 127, 127, 127, 127, 127, 126, 125, 125, 125, 124, 123, 122, 121, 119, 118, 116, 116, 115, 113, 112, 111, 110, 110, 111, 115, 119, 124, 126, 127, 128, 128, 128, 129, 130, 129, 128, 126, 123, 120, 118, 116, 115, 114, 113, 114, 114, 116, 118, 121, 124, 126, 129, 131, 133, 136, 139, 142, 144, 145, 145, 145, 146, 147, 148, 149, 150, 151, 151, 152, 151, 150, 149, 147, 146, 143, 141, 138, 135, 132, 129, 126, 124, 122, 120, 118, 115, 112, 109, 107, 104, 102, 101, 100, 100, 100, 103, 109, 115, 120, 124, 127, 128, 129, 130, 131, 133, 132, 130, 127, 123, 119, 115, 112, 109, 108, 106, 106, 106, 109, 112, 117, 121, 125, 130, 134, 138, 142, 145, 147, 148, 149, 149, 150, 150, 149, 148, 148, 149, 150, 151, 151, 151, 150, 148, 147, 144, 142, 140, 137, 134, 132, 130, 129, 127, 125, 122, 119, 116, 112, 108, 104, 101, 97, 93, 93, 96, 102, 108, 114, 117, 120, 122, 125, 128, 132, 136, 138, 138, 134, 129, 124, 118, 113, 109, 106, 104, 102, 102, 103, 106, 110, 116, 122, 129, 137, 144, 149, 153, 155, 155, 153, 153, 152, 151, 150, 150, 149, 149, 150, 149, 149, 148, 145, 144, 144, 143, 141, 140, 137, 135, 133, 129, 126, 123, 119, 117, 114, 110, 105, 99, 93, 87, 85, 89, 96, 103, 108, 112, 115, 119, 123, 128, 135, 141, 145, 146, 143, 137, 130, 123, 117, 111, 106, 101, 97, 95, 95, 98, 103, 109, 115, 123, 131, 139, 147, 153, 158, 160, 160, 158, 159, 158, 156, 151, 146, 149, 152, 153, 155, 150, 146, 144, 143, 145, 148, 148, 149, 146, 141, 133, 127, 123, 120, 119, 119, 117, 112, 104, 95, 88, 80, 71, 70, 78, 92, 105, 112, 114, 116, 119, 124, 134, 145, 154, 157, 153, 143, 132, 121, 112, 106, 102, 98, 93, 90, 88, 88, 91, 98, 109, 122, 135, 147, 158, 165, 169, 171, 172, 171, 167, 161, 156, 153, 152, 150, 151, 151, 151, 148, 145, 146, 146, 146, 148, 147, 145, 141, 135, 132, 129, 127, 124, 120, 114, 105, 97, 90, 81, 71, 63, 65, 80, 102, 116, 121, 120, 118, 121, 127, 138, 152, 158, 154, 145, 133, 122, 114, 106, 103, 99, 93, 87, 84, 84, 87, 94, 104, 117, 132, 150, 168, 181, 188, 187, 180, 170, 164, 164, 166, 169, 165, 154, 145, 143, 144, 149, 152, 152, 153, 144, 134, 131, 130, 131, 130, 122, 117, 110, 98, 85, 74, 64, 53, 43, 42, 63, 99, 132, 150, 154, 152, 152, 155, 161, 169, 171, 158, 136, 115, 102, 91, 84, 79, 80, 82, 83, 85, 91, 104, 118, 131, 147, 163, 177, 186, 187, 189, 190, 181, 167, 156, 153, 156, 158, 157, 156, 151, 147, 145, 143, 147, 145, 138, 135, 129, 123, 120, 110, 104, 99, 89, 82, 73, 65, 60, 52, 39, 35, 57, 108, 156, 182, 188, 180, 169, 160, 155, 155, 155, 139, 109, 78, 61, 57, 61, 69, 82, 95, 103, 112, 124, 140, 157, 172, 179, 181, 177, 175, 174, 173, 170, 162, 152, 146, 147, 156, 164, 165, 167, 166, 164, 160, 156, 154, 146, 132, 124, 118, 117, 111, 103, 99, 92, 80, 68, 60, 59, 55, 41, 34, 51, 104, 167, 201, 203, 186, 163, 147, 141, 142, 145, 131, 99, 65, 46, 43, 54, 77, 98, 112, 117, 121, 129, 146, 166, 176, 179, 175, 169, 164, 155, 151, 151, 147, 143, 141, 148, 162, 167, 170, 175, 174, 172, 167, 159, 152, 135, 121, 119, 117, 110, 103, 91, 85, 85, 82, 76, 70, 64, 53, 41, 39, 64, 134, 208, 232, 218, 185, 147, 126, 124, 137, 142, 120, 81, 44, 28, 32, 58, 100, 140, 160, 158, 142, 130, 138, 161, 181, 182, 167, 147, 133, 134, 141, 152, 164, 167, 166, 169, 171, 175, 175, 170, 164, 155, 147, 139, 129, 121, 109, 95, 89, 88, 91, 94, 85, 74, 66, 57, 48, 44, 49, 74, 148, 225, 239, 217, 185, 143, 119, 117, 126, 127, 95, 52, 25, 20, 43, 88, 136, 171, 180, 167, 147, 134, 142, 154, 151, 149, 148, 140, 139, 142, 149, 158, 162, 166, 170, 173, 179, 185, 184, 174, 161, 152, 142, 132, 121, 107, 93, 80, 75, 80, 86, 87, 85, 77, 65, 51, 42, 40, 80, 182, 248, 243, 222, 174, 123, 102, 99, 114, 109, 76, 44, 23, 32, 71, 120, 161, 181, 178, 168, 157, 150, 147, 140, 133, 133, 133, 130, 129, 136, 150, 160, 171, 178, 178, 177, 183, 187, 183, 170, 156, 139, 124, 111, 95, 88, 86, 86, 90, 96, 92, 89, 83, 78, 71, 59, 49, 66, 158, 216, 213, 207, 176, 134, 114, 118, 123, 115, 87, 62, 46, 50, 80, 116, 147, 165, 165, 156, 142, 128, 134, 130, 128, 141, 146, 145, 146, 147, 150, 159, 168, 176, 174, 169, 171, 170, 168, 168, 164, 154, 135, 116, 101, 94, 95, 99, 92, 86, 84, 83, 81, 79, 66, 50, 29, 47, 158, 224, 255, 255, 197, 139, 88, 90, 97, 87, 81, 59, 38, 49, 83, 135, 177, 195, 185, 154, 130, 109, 103, 104, 109, 128, 137, 143, 152, 157, 162, 167, 175, 178, 168, 164, 165, 168, 170, 170, 168, 156, 142, 127, 113, 103, 100, 102, 105, 102, 96, 86, 80, 72, 65, 55, 48, 27, 73, 175, 218, 250, 236, 188, 133, 94, 98, 98, 91, 80, 58, 45, 57, 95, 142, 173, 191, 183, 163, 135, 111, 103, 91, 101, 118, 122, 137, 155, 170, 175, 177, 182, 172, 161, 157, 159, 166, 169, 172, 159, 143, 139, 132, 122, 115, 110, 107, 102, 102, 106, 102, 92, 89, 76, 67, 54, 44, 42, 52, 153, 228, 240, 250, 200, 135, 100, 89, 97, 90, 83, 76, 52, 59, 91, 133, 171, 191, 193, 163, 127, 106, 90, 84, 87, 104, 117, 122, 145, 170, 185, 194, 203, 192, 167, 162, 155, 152, 160, 166, 163, 146, 141, 128, 118, 121, 117, 118, 123, 125, 128, 123, 118, 103, 92, 85, 75, 68, 46, 30, 18, 94, 174, 209, 250, 225, 180, 123, 98, 104, 86, 95, 97, 69, 66, 78, 104, 146, 173, 193, 176, 135, 103, 79, 76, 87, 106, 119, 111, 108, 121, 138, 167, 200, 215, 197, 164, 140, 120, 110, 121, 133, 139, 154, 161, 162, 161, 162, 161, 152, 148, 145, 132, 128, 129, 124, 121, 124, 116, 108, 102, 88, 92, 88, 91, 87, 70, 54, 58, 124, 172, 201, 224, 196, 141, 101, 93, 93, 103, 116, 108, 89, 82, 96, 115, 142, 171, 176, 154, 125, 105, 82, 76, 91, 97, 104, 107, 120, 139, 148, 166, 169, 150, 134, 117, 109, 116, 133, 157, 166, 169, 163, 150, 156, 156, 153, 154, 141, 130, 126, 130, 141, 149, 157, 157, 147, 138, 130, 123, 125, 124, 122, 123, 120, 110, 103, 89, 88, 91, 91, 101, 93, 82, 73, 108, 164, 197, 224, 213, 167, 109, 77, 69, 77, 99, 112, 107, 93, 99, 109, 134, 174, 188, 184, 158, 122, 93, 74, 83, 100, 116, 123, 114, 113, 118, 127, 153, 163, 151, 133, 113, 102, 101, 115, 137, 146, 150, 142, 131, 128, 135, 146, 150, 152, 144, 138, 133, 130, 136, 140, 146, 148, 149, 149, 143, 141, 146, 147, 149, 150, 144, 136, 127, 116, 114, 114, 116, 118, 116, 115, 109, 112, 108, 100, 93, 87, 90, 116, 144, 162, 171, 159, 139, 112, 109, 112, 112, 127, 127, 122, 114, 105, 112, 123, 135, 143, 138, 125, 109, 107, 110, 116, 135, 140, 133, 124, 117, 110, 109, 118, 121, 122, 121, 117, 113, 115, 121, 126, 134, 136, 131, 130, 127, 132, 137, 136, 137, 127, 115, 108, 112, 118, 124, 139, 148, 156, 159, 162, 153, 149, 146, 133, 128, 126, 125, 123, 125, 130, 142, 149, 156, 154, 148, 141, 135, 133, 128, 126, 122, 119, 122, 124, 128, 135, 138, 144, 138, 136, 129, 121, 124, 121, 120, 121, 121, 121, 124, 127, 129, 127, 119, 116, 109, 106, 107, 112, 118, 118, 125, 126, 126, 127, 127, 129, 128, 127, 121, 113, 109, 105, 102, 109, 109, 110, 115, 117, 124, 129, 135, 141, 137, 130, 123, 117, 120, 122, 122, 125, 121, 118, 116, 118, 129, 137, 147, 146, 141, 133, 130, 132, 137, 140, 134, 128, 122, 122, 119, 128, 141, 146, 150, 146, 145, 143, 143, 150, 153, 148, 146, 138, 131, 128, 127, 134, 139, 138, 135, 124, 121, 123, 124, 129, 133, 135, 133, 130, 124, 119, 114, 117, 122, 123, 121, 118, 119, 120, 127, 129, 128, 125, 122, 121, 124, 126, 126, 121, 115, 113, 111, 115, 122, 128, 128, 127, 122, 120, 118, 120, 124, 127, 128, 124, 117, 111, 111, 115, 129, 139, 138, 134, 125, 121, 121, 128, 133, 133, 128, 121, 116, 118, 125, 129, 133, 130, 128, 125, 125, 126, 131, 134, 132, 134, 131, 127, 126, 128, 130, 133, 135, 135, 134, 130, 127, 126, 128, 128, 130, 131, 131, 129, 128, 131, 135, 141, 140, 132, 129, 123, 120, 126, 128, 131, 132, 131, 130, 130, 129, 130, 128, 128, 124, 120, 125, 127, 130, 134, 131, 130, 126, 122, 123, 123, 127, 124, 124, 123, 118, 121, 122, 127, 131, 128, 127, 126, 126, 127, 126, 129, 130, 128, 127, 126, 124, 125, 125, 125, 127, 126, 129, 129, 127, 128, 129, 131, 130, 132, 132, 132, 134, 133, 132, 129, 126, 125, 124, 124, 126, 129, 133, 133, 132, 131, 128, 129, 131, 132, 131, 130, 130, 129, 128, 128, 131, 131, 129, 128, 124, 124, 126, 128, 131, 132, 133, 134, 133, 132, 130, 127, 127, 126, 126, 125, 125, 125, 126, 127, 124, 126, 126, 126, 127, 127, 128, 129, 129, 129, 128, 125, 126, 125, 125, 126, 125, 125, 124, 120, 122, 123, 126, 129, 128, 130, 127, 126, 127, 128, 130, 129, 129, 127, 124, 124, 123, 126, 130, 129, 130, 129, 128, 128, 127, 127, 127, 125, 125, 125, 127, 132, 131, 132, 132, 127, 125, 125, 126, 128, 128, 128, 127, 128, 128, 128, 130, 130, 129, 127, 127, 125, 126, 126, 127, 129, 131, 130, 129, 129, 126, 126, 127, 128, 129, 129, 127, 125, 124, 125, 129, 132, 132, 131, 129, 127, 128, 130, 132, 131, 127, 123, 119, 120, 124, 127, 130, 129, 128, 127, 127, 127, 128, 129, 128, 127, 124, 124, 123, 124, 127, 128, 128, 129, 128, 126, 127, 127, 128, 128, 126, 125, 123, 124, 126, 128, 127, 126, 125, 125, 127, 129, 131, 131, 129, 128, 126, 126, 127, 128, 130, 130, 129, 128, 126, 126, 127, 129, 130, 131, 130, 129, 128, 127, 127, 128, 127, 127, 127, 126, 126, 126, 128, 128, 128, 128, 128, 127, 127, 128, 129, 129, 129, 128, 126, 126, 126, 126, 127, 127, 127, 127, 126, 127, 128, 128, 129, 128, 128, 126, 126, 126, 126, 126, 126, 126, 127, 126, 127, 128, 128, 129, 128, 128, 127, 127, 127, 127, 126, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 127, 127, 128, 128, 128, 128, 127, 127, 127, 127, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 128, 128, 127, 127, 127, 127, 127, 128, 128, 128, 128, 127, 127, 127, 127, 127, 128, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 127, 127, 127, 127, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 127, 127, 127, 127, 127, 127, 128, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 127, 128, 127, 128, 128, 128, 128, 127, 127, 127, 128, 128, 128, 128, 128, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 128, 127, 128, 127, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 127, 127, 127, 128, 128, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 127, 127, 127, 127, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 127, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 127, 127, 128, 128, 127, 127, 128, 128, 128, 128, 127, 127, 128, 128, 128, 128, 127, 127, 127, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 128, 128, 128, 128, 127, 127, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 128, 128, 127, 127, 127, 127, 128, 128, 128, 127, 127, 127, 127, 128, 128, 127, 127, 127, 127, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126, 127, 126, 126, 126, 125, 125, 124, 126, 127, 132, 137, 130, 121, 120, 126, 137, 140, 138, 133, 125, 121, 121, 127, 135, 134, 127, 122, 122, 125, 125, 125, 126, 126, 128, 130, 128, 124, 123, 127, 135, 135, 129, 123, 122, 126, 130, 131, 129, 125, 126, 127, 127, 129, 131, 129, 127, 125, 124, 127, 128, 126, 124, 123, 127, 131, 134, 134, 130, 127, 127, 129, 133, 132, 126, 124, 126, 129, 130, 128, 125, 126, 130, 132, 130, 129, 129, 127, 125, 127, 130, 132, 130, 125, 123, 126, 131, 129, 122, 118, 121, 126, 130, 129, 125, 126, 134, 137, 135, 126, 118, 121, 128, 133, 133, 125, 118, 120, 127, 131, 131, 127, 122, 123, 133, 140, 135, 128, 124, 126, 131, 134, 131, 124, 122, 125, 128, 130, 127, 122, 125, 133, 134, 129, 127, 128, 128, 129, 129, 126, 124, 125, 127, 129, 130, 127, 124, 126, 130, 131, 128, 126, 129, 129, 127, 127, 127, 128, 126, 127, 129, 128, 126, 122, 122, 126, 128, 127, 125, 127, 132, 131, 125, 123, 124, 127, 130, 131, 130, 125, 124, 128, 129, 126, 124, 125, 125, 124, 126, 130, 133, 130, 125, 125, 126, 125, 125, 125, 128, 130, 128, 126, 125, 131, 135, 129, 123, 123, 128, 133, 132, 125, 122, 125, 128, 130, 131, 129, 129, 132, 129, 122, 122, 132, 134, 126, 119, 120, 128, 131, 129, 127, 125, 125, 132, 140, 135, 125, 120, 124, 128, 126, 121, 120, 124, 130, 133, 133, 128, 124, 129, 132, 133, 131, 127, 125, 123, 127, 129, 123, 122, 122, 126, 130, 129, 131, 128, 127, 132, 133, 131, 126, 123, 124, 124, 125, 125, 127, 126, 126, 126, 127, 129, 127, 127, 128, 132, 134, 128, 122, 122, 126, 131, 126, 121, 124, 126, 129, 130, 126, 126, 128, 128, 129, 130, 127, 125, 128, 130, 130, 128, 124, 124, 128, 129, 128, 126, 123, 128, 132, 130, 127, 127, 130, 130, 128, 129, 126, 123, 127, 129, 130, 127, 126, 128, 131, 132, 128, 123, 126, 130, 133, 131, 125, 125, 129, 130, 129, 125, 125, 128, 130, 130, 129, 127, 126, 130, 131, 128, 126, 126, 127, 129, 130, 131, 128, 124, 123, 124, 128, 131, 129, 125, 123, 125, 132, 133, 127, 122, 124, 131, 134, 129, 122, 120, 126, 132, 130, 122, 119, };
const unsigned char N[] PROGMEM = {129, 130, 130, 130, 129, 129, 129, 128, 128, 127, 127, 126, 126, 125, 125, 124, 123, 122, 122, 121, 120, 119, 118, 117, 116, 116, 115, 114, 113, 113, 113, 113, 113, 114, 115, 116, 117, 118, 119, 121, 123, 124, 126, 128, 131, 133, 136, 138, 141, 145, 148, 151, 154, 156, 157, 158, 159, 159, 159, 157, 156, 155, 152, 149, 147, 144, 141, 138, 134, 131, 128, 125, 122, 119, 115, 112, 110, 107, 104, 103, 101, 99, 98, 97, 96, 96, 97, 96, 98, 104, 106, 106, 111, 116, 117, 121, 127, 129, 130, 133, 132, 130, 130, 128, 126, 126, 124, 121, 120, 118, 117, 120, 121, 122, 126, 129, 131, 136, 141, 145, 149, 154, 157, 160, 164, 167, 169, 171, 172, 171, 171, 168, 164, 160, 156, 151, 146, 140, 133, 127, 121, 114, 109, 104, 99, 94, 91, 87, 85, 84, 82, 80, 80, 85, 89, 91, 95, 102, 107, 112, 120, 126, 130, 135, 138, 138, 139, 139, 138, 137, 136, 133, 130, 127, 125, 124, 124, 125, 127, 128, 129, 133, 138, 143, 148, 153, 156, 160, 165, 168, 170, 172, 173, 173, 172, 169, 165, 161, 155, 150, 144, 138, 129, 121, 113, 105, 98, 93, 86, 80, 75, 69, 64, 65, 72, 72, 70, 76, 84, 90, 101, 112, 117, 124, 133, 138, 141, 142, 141, 142, 144, 141, 137, 132, 127, 125, 126, 123, 121, 123, 124, 126, 130, 133, 137, 144, 148, 153, 160, 164, 167, 171, 175, 176, 178, 180, 178, 174, 172, 169, 165, 160, 154, 148, 143, 136, 129, 121, 115, 107, 99, 93, 87, 81, 75, 67, 58, 56, 65, 67, 63, 65, 74, 82, 93, 104, 111, 119, 131, 139, 143, 144, 143, 144, 146, 144, 139, 134, 127, 123, 122, 118, 116, 117, 116, 118, 123, 128, 134, 140, 145, 150, 157, 163, 168, 171, 173, 176, 181, 182, 181, 180, 178, 175, 173, 169, 163, 158, 152, 147, 141, 136, 129, 122, 115, 107, 99, 93, 85, 79, 73, 68, 59, 49, 56, 69, 67, 64, 75, 84, 91, 105, 116, 122, 132, 143, 148, 150, 148, 146, 146, 144, 141, 137, 129, 121, 118, 116, 113, 117, 119, 115, 119, 126, 131, 138, 144, 148, 154, 162, 167, 172, 175, 175, 179, 183, 181, 178, 175, 171, 166, 164, 158, 151, 146, 141, 136, 132, 127, 118, 109, 104, 98, 91, 84, 76, 71, 65, 56, 48, 55, 73, 71, 66, 76, 84, 94, 112, 122, 127, 137, 146, 152, 157, 157, 151, 152, 149, 146, 143, 135, 128, 122, 116, 116, 121, 122, 119, 120, 123, 133, 148, 152, 152, 158, 165, 171, 179, 181, 176, 176, 180, 180, 175, 170, 164, 156, 152, 152, 148, 142, 134, 123, 118, 115, 108, 100, 94, 87, 79, 74, 69, 63, 48, 49, 69, 71, 58, 64, 72, 69, 95, 115, 117, 127, 138, 146, 155, 164, 160, 162, 159, 153, 154, 147, 140, 134, 122, 116, 126, 131, 120, 114, 115, 121, 131, 145, 150, 148, 151, 162, 173, 176, 180, 178, 176, 183, 183, 175, 173, 166, 157, 158, 155, 150, 142, 132, 127, 126, 116, 102, 99, 90, 80, 85, 79, 67, 51, 52, 67, 74, 63, 50, 66, 72, 86, 102, 112, 117, 121, 133, 151, 161, 159, 166, 161, 154, 157, 163, 153, 134, 124, 116, 113, 108, 119, 143, 124, 108, 127, 143, 142, 143, 157, 157, 168, 186, 188, 188, 189, 189, 195, 195, 180, 169, 168, 161, 141, 129, 119, 109, 100, 94, 86, 78, 74, 55, 47, 55, 50, 47, 32, 76, 151, 144, 148, 147, 135, 152, 164, 157, 138, 122, 110, 120, 133, 126, 120, 112, 99, 110, 113, 105, 90, 78, 77, 87, 115, 128, 140, 142, 149, 184, 193, 183, 172, 156, 166, 162, 169, 175, 165, 165, 175, 182, 170, 162, 157, 154, 140, 140, 141, 128, 125, 116, 108, 107, 89, 74, 69, 70, 71, 70, 58, 48, 12, 75, 184, 156, 177, 135, 96, 144, 129, 123, 127, 104, 99, 147, 166, 152, 137, 103, 98, 123, 111, 89, 77, 59, 69, 114, 147, 163, 150, 138, 145, 184, 191, 168, 154, 135, 157, 174, 194, 192, 169, 154, 165, 178, 172, 160, 150, 143, 144, 156, 146, 132, 122, 115, 110, 110, 87, 87, 74, 58, 56, 70, 67, 47, 25, 32, 183, 176, 197, 171, 72, 117, 108, 125, 122, 117, 100, 139, 191, 176, 138, 93, 72, 101, 118, 92, 92, 82, 83, 117, 166, 173, 163, 131, 100, 134, 174, 180, 183, 157, 143, 166, 181, 195, 173, 149, 154, 168, 186, 176, 158, 146, 143, 155, 163, 145, 120, 114, 102, 117, 105, 78, 67, 56, 54, 58, 59, 39, 28, 25, 184, 220, 175, 166, 51, 88, 110, 106, 130, 135, 120, 145, 202, 171, 142, 90, 52, 81, 110, 115, 113, 98, 75, 125, 170, 179, 157, 98, 84, 121, 179, 201, 199, 157, 145, 165, 174, 178, 159, 146, 149, 188, 196, 182, 163, 146, 138, 154, 161, 146, 134, 112, 112, 118, 106, 89, 75, 60, 65, 63, 57, 41, 39, 2, 132, 234, 187, 201, 70, 44, 88, 110, 135, 147, 128, 130, 184, 175, 154, 111, 67, 58, 104, 126, 127, 114, 90, 100, 133, 152, 152, 124, 71, 99, 157, 185, 218, 192, 140, 142, 156, 168, 180, 153, 145, 172, 194, 195, 179, 164, 139, 144, 156, 157, 142, 121, 123, 115, 120, 112, 86, 74, 53, 59, 63, 59, 22, 30, 1, 121, 245, 189, 205, 76, 39, 83, 106, 138, 148, 139, 138, 189, 176, 138, 106, 50, 54, 110, 124, 149, 125, 100, 98, 130, 147, 147, 113, 79, 110, 159, 196, 205, 199, 137, 137, 140, 159, 164, 145, 157, 168, 194, 197, 171, 146, 147, 147, 165, 165, 156, 130, 122, 121, 122, 112, 106, 87, 71, 72, 69, 71, 59, 34, 31, 25, 56, 245, 211, 189, 143, 27, 71, 104, 130, 121, 146, 124, 162, 198, 165, 118, 63, 52, 92, 134, 147, 138, 106, 97, 119, 138, 152, 126, 85, 85, 120, 189, 196, 191, 152, 124, 149, 153, 157, 135, 139, 165, 186, 206, 181, 150, 141, 149, 164, 167, 159, 144, 141, 144, 142, 126, 116, 111, 107, 102, 93, 87, 66, 56, 56, 51, 49, 52, 40, 73, 249, 223, 153, 155, 26, 90, 147, 113, 139, 130, 122, 159, 191, 139, 91, 68, 47, 105, 143, 120, 123, 103, 94, 127, 150, 148, 111, 79, 83, 132, 180, 190, 184, 150, 129, 143, 155, 153, 141, 137, 165, 185, 211, 193, 158, 142, 135, 162, 162, 154, 133, 142, 158, 151, 146, 123, 113, 105, 123, 126, 109, 89, 68, 61, 70, 68, 64, 67, 53, 62, 31, 170, 252, 179, 179, 75, 53, 124, 120, 112, 124, 118, 148, 186, 184, 121, 87, 65, 75, 135, 127, 110, 92, 96, 115, 152, 144, 100, 112, 99, 113, 150, 143, 153, 154, 163, 143, 147, 152, 130, 154, 159, 174, 190, 180, 165, 151, 151, 166, 153, 159, 168, 152, 159, 146, 132, 141, 127, 108, 108, 127, 138, 144, 124, 72, 70, 68, 62, 77, 70, 81, 68, 69, 24, 138, 255, 172, 184, 85, 60, 113, 128, 111, 115, 134, 122, 183, 185, 124, 83, 82, 85, 137, 122, 105, 97, 116, 126, 125, 138, 110, 118, 110, 116, 109, 128, 136, 168, 191, 150, 153, 136, 130, 147, 136, 155, 167, 171, 184, 182, 164, 151, 148, 142, 162, 168, 166, 162, 131, 137, 154, 142, 125, 112, 95, 106, 140, 115, 87, 78, 89, 93, 95, 80, 75, 66, 58, 52, 107, 239, 170, 147, 140, 79, 120, 124, 89, 79, 112, 128, 172, 156, 104, 108, 119, 112, 105, 99, 75, 102, 122, 105, 116, 140, 140, 134, 125, 102, 105, 119, 133, 136, 148, 151, 157, 166, 147, 161, 145, 144, 163, 157, 161, 182, 183, 164, 178, 156, 139, 148, 154, 147, 139, 139, 140, 155, 150, 127, 118, 107, 107, 106, 93, 88, 79, 101, 126, 115, 91, 75, 63, 65, 65, 161, 178, 127, 156, 124, 140, 145, 103, 86, 102, 138, 131, 130, 134, 110, 129, 123, 97, 102, 98, 95, 102, 100, 90, 125, 137, 122, 128, 118, 113, 123, 115, 102, 111, 141, 162, 180, 167, 141, 149, 154, 155, 158, 138, 135, 162, 172, 175, 173, 153, 162, 175, 154, 151, 157, 154, 136, 138, 140, 128, 144, 141, 116, 123, 125, 108, 109, 110, 95, 80, 78, 99, 102, 94, 92, 79, 79, 62, 139, 161, 117, 155, 163, 147, 126, 113, 82, 129, 136, 98, 130, 135, 124, 121, 115, 97, 102, 109, 86, 87, 107, 102, 127, 134, 134, 126, 105, 118, 126, 120, 120, 134, 139, 136, 151, 171, 150, 132, 146, 149, 139, 144, 160, 160, 155, 155, 156, 167, 169, 159, 143, 141, 152, 154, 156, 165, 153, 147, 142, 145, 150, 129, 125, 107, 125, 124, 111, 125, 107, 105, 108, 98, 91, 85, 86, 78, 79, 63, 96, 169, 118, 124, 174, 158, 128, 115, 121, 115, 117, 100, 100, 127, 128, 105, 110, 127, 117, 98, 101, 99, 96, 96, 98, 109, 114, 117, 116, 121, 138, 139, 126, 125, 135, 136, 135, 139, 135, 146, 149, 152, 139, 154, 156, 150, 162, 156, 157, 149, 154, 143, 149, 157, 169, 162, 162, 163, 150, 159, 140, 140, 151, 148, 141, 136, 126, 118, 124, 130, 114, 111, 113, 111, 114, 110, 107, 93, 93, 96, 82, 79, 114, 124, 108, 138, 158, 137, 143, 152, 124, 123, 125, 105, 116, 112, 90, 105, 122, 117, 95, 101, 120, 102, 98, 110, 99, 103, 110, 109, 111, 116, 120, 125, 134, 119, 112, 130, 135, 124, 125, 117, 134, 134, 118, 137, 152, 145, 136, 169, 156, 139, 155, 152, 157, 163, 157, 161, 177, 162, 157, 162, 161, 159, 152, 151, 147, 143, 145, 140, 141, 132, 124, 136, 120, 115, 110, 117, 117, 108, 122, 111, 104, 111, 100, 92, 102, 91, 113, 121, 105, 135, 141, 131, 140, 153, 137, 125, 127, 123, 116, 107, 102, 107, 105, 83, 87, 100, 97, 101, 116, 113, 109, 112, 126, 136, 124, 124, 133, 130, 117, 128, 125, 120, 123, 116, 116, 119, 112, 98, 121, 124, 115, 131, 142, 132, 137, 151, 157, 148, 151, 166, 151, 165, 174, 173, 167, 164, 162, 160, 157, 142, 152, 151, 144, 144, 150, 141, 133, 137, 139, 140, 129, 124, 125, 117, 118, 127, 122, 114, 118, 112, 108, 116, 110, 108, 101, 103, 104, 103, 110, 104, 124, 127, 120, 130, 134, 126, 130, 129, 118, 125, 111, 106, 103, 99, 104, 102, 109, 103, 104, 113, 110, 115, 117, 118, 125, 127, 131, 131, 128, 131, 132, 134, 129, 124, 128, 125, 120, 125, 125, 123, 127, 127, 124, 121, 126, 130, 124, 130, 138, 133, 138, 151, 150, 140, 156, 165, 150, 157, 160, 150, 154, 161, 154, 146, 156, 154, 148, 152, 142, 142, 150, 140, 134, 136, 134, 132, 134, 135, 127, 122, 126, 119, 111, 109, 106, 108, 106, 104, 108, 110, 107, 109, 111, 117, 118, 115, 119, 126, 121, 118, 133, 131, 120, 124, 130, 125, 118, 117, 114, 110, 114, 113, 111, 113, 107, 110, 109, 108, 111, 118, 119, 122, 125, 126, 128, 130, 131, 130, 133, 131, 132, 130, 127, 128, 129, 129, 126, 125, 128, 129, 125, 127, 129, 129, 134, 136, 135, 135, 137, 138, 135, 140, 140, 137, 139, 140, 135, 134, 137, 135, 139, 141, 142, 141, 143, 145, 144, 140, 143, 140, 140, 144, 141, 140, 138, 135, 135, 137, 130, 128, 130, 128, 126, 124, 122, 123, 126, 122, 123, 122, 120, 121, 119, 118, 118, 118, 116, 116, 118, 119, 116, 115, 115, 113, 113, 114, 112, 111, 114, 110, 110, 113, 112, 114, 113, 111, 117, 121, 117, 121, 130, 127, 130, 137, 138, 140, 139, 138, 137, 136, 134, 132, 132, 127, 127, 128, 127, 125, 126, 129, 128, 130, 133, 134, 136, 137, 139, 139, 139, 139, 139, 137, 135, 136, 133, 130, 129, 129, 128, 127, 125, 127, 128, 128, 129, 129, 131, 131, 131, 132, 132, 132, 132, 131, 131, 130, 128, 128, 128, 126, 125, 126, 123, 125, 124, 123, 124, 124, 124, 124, 125, 123, 126, 125, 124, 125, 125, 125, 123, 122, 124, 124, 122, 121, 123, 122, 121, 123, 123, 122, 123, 125, 125, 126, 127, 127, 128, 127, 128, 130, 128, 127, 130, 129, 127, 128, 129, 129, 128, 128, 129, 129, 127, 129, 130, 129, 129, 129, 130, 131, 130, 129, 131, 130, 129, 130, 129, 129, 129, 129, 129, 129, 128, 128, 129, 128, 130, 130, 130, 131, 131, 131, 129, 130, 129, 129, 128, 128, 129, 127, 130, 128, 126, 128, 128, 127, 126, 129, 127, 127, 128, 127, 126, 127, 127, 127, 126, 126, 126, 125, 125, 124, 125, 124, 124, 124, 124, 126, 124, 124, 126, 126, 125, 126, 128, 126, 126, 126, 126, 127, 126, 126, 127, 127, 127, 127, 128, 128, 127, 129, 129, 129, 128, 128, 128, 128, 127, 126, 127, 126, 126, 127, 126, 126, 128, 128, 127, 128, 129, 129, 129, 130, 130, 132, 130, 131, 131, 131, 131, 129, 129, 128, 129, 126, 127, 129, 129, 127, 128, 130, 128, 128, 130, 129, 128, 130, 130, 130, 129, 129, 129, 130, 129, 126, 129, 128, 127, 127, 127, 128, 127, 127, 127, 127, 127, 127, 128, 128, 127, 127, 127, 127, 127, 127, 126, 125, 126, 124, 125, 126, 126, 125, 126, 127, 125, 126, 126, 125, 125, 125, 127, 127, 126, 126, 128, 127, 125, 127, 128, 127, 127, 129, 128, 128, 129, 128, 129, 128, 128, 129, 129, 128, 128, 128, 128, 128, 127, 127, 128, 127, 126, 127, 128, 126, 127, 129, 126, 127, 128, 128, 126, 127, 128, 127, 128, 127, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 129, 128, 128, 128, 128, 128, 127, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 127, 127, 128, 127, 127, 127, 127, 127, 127, 126, 126, 127, 126, 126, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 127, 127, 127, 127, 127, 127, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 127, 128, 127, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 127, 127, 128, 128, 127, 127, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 127, 128, 127, 127, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 127, 127, 127, 127, 128, 127, 128, 128, 127, 128, 127, 128, 127, 127, 127, 127, 128, 127, 128, 128, 127, 128, 127, 128, 128, 127, 128, 127, 128, 131, 129, 127, 128, 128, 128, 128, 127, 128, 127, 127, 128, 126, 127, 129, 128, 128, 127, 127, 127, 127, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 129, 128, 128, 128, 127, 128, 127, 128, 127, 126, 127, 125, 127, 129, 125, 127, 128, 128, 129, 127, 128, 129, 127, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 125, 126, 127, 125, 124, 125, 125, 129, 132, 126, 125, 128, 126, 125, 130, 127, 125, 132, 128, 128, 135, 134, 136, 131, 128, 130, 123, 125, 126, 124, 128, 126, 126, 127, 124, 126, 127, 129, 129, 128, 131, 131, 129, 130, 131, 130, 129, 129, 129, 129, 125, 124, 127, 125, 124, 127, 127, 126, 125, 127, 128, 128, 128, 128, 129, 129, 128, 128, 130, 127, 126, 127, 127, 128, 127, 129, 129, 127, 129, 127, 125, 128, 126, 125, 130, 131, 133, 138, 130, 131, 135, 119, 121, 129, 122, 123, 124, 124, 125, 126, 125, 125, 131, 127, 127, 134, 130, 128, 127, 127, 129, 128, 129, 126, 125, 129, 124, 125, 126, 125, 128, 126, 127, 128, 127, 126, 126, 127, 128, 131, 126, 123, 131, 126, 125, 132, 126, 125, 134, 128, 126, 132, 127, 125, 131, 127, 125, 129, 129, 126, 123, 127, 128, 125, 128, 127, 125, 132, 130, 123, 128, 129, 124, 127, 124, 126, 131, 125, 127, 132, 128, 123, 124, 130, 130, 127, 128, 130, 127, 123, 126, 128, 125, 127, 125, 125, 129, 124, 121, 130, 131, 128, 129, 131, 133, 130, 129, };
const unsigned char B[] PROGMEM = {126, 126, 127, 126, 126, 127, 127, 127, 127, 128, 127, 127, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 129, 129, 128, 129, 130, 129, 128, 128, 128, 128, 127, 128, 129, 128, 127, 127, 129, 128, 126, 128, 129, 128, 128, 128, 128, 128, 128, 128, 129, 128, 128, 128, 128, 127, 127, 127, 127, 125, 125, 126, 125, 125, 124, 124, 124, 125, 124, 123, 125, 124, 124, 124, 123, 124, 123, 124, 124, 121, 123, 123, 122, 121, 121, 123, 122, 122, 122, 122, 124, 124, 125, 123, 136, 150, 133, 128, 143, 139, 136, 134, 123, 123, 123, 124, 124, 122, 124, 125, 130, 143, 141, 130, 139, 157, 154, 147, 145, 147, 149, 143, 138, 136, 132, 134, 130, 129, 127, 122, 130, 133, 129, 125, 124, 127, 126, 126, 123, 119, 126, 128, 124, 119, 116, 118, 119, 116, 109, 112, 112, 107, 105, 99, 102, 103, 102, 107, 105, 111, 117, 118, 118, 117, 123, 125, 129, 133, 129, 139, 150, 150, 150, 151, 154, 154, 154, 157, 155, 152, 152, 152, 154, 150, 147, 153, 150, 143, 148, 146, 142, 146, 142, 135, 135, 135, 133, 123, 117, 117, 110, 107, 97, 91, 94, 82, 78, 63, 57, 57, 35, 89, 128, 88, 113, 159, 171, 167, 171, 186, 165, 163, 160, 120, 103, 99, 86, 59, 54, 62, 54, 65, 78, 89, 102, 131, 156, 149, 176, 204, 204, 200, 198, 208, 186, 164, 158, 139, 144, 142, 132, 133, 140, 152, 151, 158, 165, 170, 163, 148, 150, 136, 128, 116, 101, 97, 81, 92, 82, 59, 68, 67, 69, 31, 39, 136, 137, 100, 130, 176, 197, 173, 171, 174, 152, 157, 139, 92, 79, 78, 64, 46, 45, 58, 73, 94, 103, 111, 130, 156, 176, 171, 175, 191, 192, 183, 165, 168, 166, 147, 147, 143, 150, 161, 155, 158, 164, 173, 168, 162, 167, 157, 156, 136, 117, 120, 108, 100, 78, 68, 75, 65, 64, 48, 42, 32, 12, 103, 159, 91, 123, 215, 204, 183, 196, 182, 167, 160, 116, 68, 76, 78, 41, 23, 41, 72, 82, 104, 134, 121, 154, 194, 176, 176, 195, 195, 167, 159, 168, 149, 142, 132, 129, 153, 162, 151, 152, 177, 179, 175, 173, 166, 179, 157, 136, 130, 111, 116, 92, 74, 69, 65, 69, 53, 59, 41, 38, 44, 38, 151, 168, 101, 193, 243, 204, 192, 191, 171, 147, 134, 78, 50, 61, 41, 29, 30, 55, 79, 99, 135, 142, 156, 183, 194, 195, 187, 185, 180, 173, 157, 143, 143, 135, 127, 135, 157, 156, 159, 164, 165, 193, 178, 160, 165, 159, 147, 112, 110, 108, 83, 77, 61, 54, 51, 65, 59, 37, 55, 24, 90, 205, 133, 130, 224, 236, 199, 177, 185, 142, 131, 115, 40, 49, 66, 34, 18, 53, 88, 84, 128, 143, 145, 185, 182, 179, 187, 193, 182, 165, 173, 171, 146, 141, 141, 137, 157, 156, 156, 160, 173, 180, 168, 167, 165, 161, 139, 128, 114, 96, 83, 67, 58, 59, 59, 56, 48, 47, 59, 42, 122, 190, 114, 168, 255, 200, 186, 189, 165, 143, 135, 75, 34, 74, 48, 17, 32, 50, 81, 96, 111, 143, 151, 188, 181, 180, 203, 195, 176, 173, 174, 132, 161, 140, 132, 146, 151, 163, 162, 175, 164, 186, 176, 160, 150, 143, 131, 101, 99, 83, 64, 62, 55, 53, 67, 53, 46, 49, 27, 170, 160, 77, 211, 227, 210, 176, 201, 179, 140, 150, 63, 69, 91, 35, 16, 42, 51, 70, 87, 112, 117, 159, 180, 164, 192, 210, 195, 170, 188, 171, 153, 152, 135, 124, 143, 153, 147, 160, 166, 166, 183, 167, 164, 158, 134, 129, 104, 103, 80, 65, 62, 54, 54, 61, 49, 49, 13, 94, 182, 83, 152, 198, 221, 202, 175, 219, 156, 172, 112, 83, 90, 74, 47, 6, 51, 53, 61, 78, 105, 108, 151, 179, 169, 211, 215, 206, 192, 191, 179, 156, 147, 144, 121, 132, 154, 143, 149, 156, 162, 174, 165, 160, 156, 153, 130, 108, 101, 87, 82, 62, 62, 71, 64, 53, 37, 38, 160, 113, 87, 180, 180, 208, 169, 189, 172, 175, 157, 112, 102, 107, 79, 40, 65, 36, 60, 64, 71, 86, 126, 130, 147, 200, 196, 199, 198, 205, 188, 177, 159, 144, 148, 143, 134, 141, 149, 140, 142, 148, 140, 148, 142, 146, 124, 111, 129, 107, 95, 99, 88, 85, 96, 85, 80, 72, 75, 58, 133, 117, 80, 156, 141, 154, 147, 150, 153, 152, 148, 108, 128, 148, 93, 93, 94, 102, 102, 85, 111, 110, 156, 127, 150, 182, 172, 183, 168, 179, 163, 178, 161, 140, 147, 158, 141, 131, 138, 122, 138, 138, 122, 132, 136, 127, 133, 116, 142, 126, 103, 139, 114, 117, 120, 107, 101, 109, 91, 76, 62, 76, 104, 65, 82, 98, 106, 119, 114, 116, 143, 136, 124, 152, 142, 145, 146, 134, 143, 126, 139, 139, 120, 141, 124, 134, 135, 143, 130, 141, 150, 137, 140, 140, 152, 127, 159, 129, 137, 160, 131, 135, 150, 144, 134, 152, 154, 155, 133, 162, 165, 124, 132, 139, 123, 138, 119, 107, 113, 105, 100, 96, 92, 76, 78, 75, 104, 88, 75, 106, 124, 109, 103, 137, 128, 133, 132, 123, 138, 142, 146, 134, 147, 128, 141, 151, 112, 138, 124, 124, 120, 128, 121, 119, 118, 106, 131, 126, 119, 122, 147, 115, 156, 151, 133, 167, 149, 154, 150, 147, 145, 156, 126, 130, 151, 131, 108, 129, 119, 123, 125, 100, 142, 102, 123, 132, 114, 128, 124, 143, 111, 129, 148, 119, 128, 138, 101, 141, 138, 86, 135, 137, 113, 109, 140, 121, 110, 147, 108, 129, 127, 114, 151, 107, 114, 134, 129, 117, 123, 135, 111, 139, 111, 134, 124, 119, 154, 93, 151, 144, 89, 151, 145, 105, 135, 142, 121, 135, 150, 126, 113, 144, 143, 114, 122, 124, 130, 147, 97, 132, 159, 116, 127, 136, 144, 124, 131, 136, 135, 126, 113, 140, 138, 114, 130, 124, 117, 146, 109, 115, 145, 123, 105, 150, 138, 115, 140, 142, 143, 104, 159, 139, 119, 145, 114, 135, 124, 128, 129, 99, 128, 123, 97, 139, 108, 124, 122, 119, 141, 113, 141, 129, 124, 135, 151, 100, 137, 146, 109, 134, 104, 162, 97, 125, 141, 92, 137, 103, 130, 111, 130, 112, 127, 146, 104, 139, 129, 139, 115, 142, 136, 114, 141, 124, 125, 130, 154, 101, 107, 190, 90, 115, 165, 104, 142, 120, 139, 120, 147, 125, 109, 147, 116, 155, 86, 161, 110, 113, 157, 104, 142, 102, 155, 107, 142, 129, 118, 145, 125, 130, 134, 139, 104, 157, 108, 130, 132, 114, 131, 128, 129, 127, 127, 123, 140, 106, 143, 115, 131, 133, 119, 136, 112, 144, 126, 113, 144, 127, 121, 138, 124, 117, 132, 156, 99, 136, 144, 105, 140, 136, 113, 111, 158, 89, 135, 134, 100, 144, 101, 147, 116, 118, 137, 125, 131, 118, 131, 149, 101, 134, 160, 86, 152, 112, 135, 137, 98, 148, 119, 127, 139, 125, 109, 145, 136, 119, 122, 134, 133, 122, 130, 133, 121, 109, 152, 123, 103, 146, 124, 112, 143, 131, 110, 153, 125, 128, 145, 116, 147, 119, 133, 127, 145, 116, 128, 139, 114, 139, 115, 134, 105, 137, 119, 129, 121, 134, 125, 115, 147, 131, 137, 114, 142, 136, 126, 121, 153, 103, 154, 122, 110, 146, 95, 160, 103, 123, 133, 107, 132, 142, 107, 115, 150, 114, 123, 135, 134, 116, 129, 148, 99, 158, 123, 99, 175, 89, 138, 143, 105, 132, 115, 150, 112, 123, 137, 112, 154, 92, 157, 123, 105, 169, 83, 157, 118, 126, 137, 103, 156, 126, 103, 147, 125, 115, 150, 104, 136, 134, 130, 129, 119, 138, 134, 132, 104, 156, 129, 104, 161, 106, 132, 136, 123, 126, 130, 130, 114, 146, 121, 127, 128, 131, 133, 122, 132, 139, 104, 141, 140, 105, 146, 112, 133, 131, 113, 139, 107, 143, 124, 111, 156, 97, 147, 123, 116, 149, 109, 140, 133, 111, 142, 128, 103, 156, 113, 124, 126, 115, 153, 88, 138, 145, 88, 157, 108, 127, 140, 120, 131, 112, 162, 101, 139, 133, 111, 147, 125, 114, 133, 136, 118, 136, 114, 141, 118, 127, 143, 113, 122, 146, 132, 97, 158, 128, 103, 157, 115, 133, 124, 135, 132, 101, 169, 96, 131, 145, 110, 140, 119, 134, 124, 141, 115, 122, 148, 126, 115, 136, 128, 120, 133, 132, 119, 126, 143, 107, 133, 131, 129, 111, 150, 123, 104, 156, 112, 128, 117, 151, 103, 137, 145, 91, 146, 145, 101, 128, 154, 92, 152, 121, 117, 140, 121, 120, 134, 125, 130, 135, 102, 161, 108, 128, 137, 120, 132, 126, 139, 108, 139, 133, 117, 125, 143, 109, 136, 148, 86, 160, 126, 105, 161, 113, 119, 147, 119, 120, 140, 123, 129, 117, 136, 140, 107, 130, 138, 117, 136, 130, 120, 135, 124, 131, 128, 125, 125, 141, 111, 133, 136, 115, 133, 121, 140, 112, 133, 133, 114, 136, 130, 125, 126, 136, 114, 139, 132, 109, 144, 114, 135, 127, 122, 137, 114, 130, 140, 116, 118, 147, 123, 121, 129, 129, 119, 135, 129, 128, 105, 155, 121, 104, 159, 106, 135, 112, 141, 134, 120, 115, 145, 117, 130, 145, 93, 152, 125, 134, 110, 141, 129, 127, 129, 122, 141, 108, 150, 103, 147, 132, 97, 166, 105, 127, 146, 119, 121, 136, 126, 121, 138, 117, 146, 100, 145, 143, 95, 147, 139, 116, 107, 165, 121, 96, 162, 120, 109, 149, 124, 114, 135, 138, 117, 128, 119, 146, 119, 117, 154, 104, 128, 140, 133, 108, 141, 131, 121, 136, 117, 132, 128, 132, 121, 121, 133, 130, 117, 139, 122, 120, 137, 123, 128, 132, 129, 126, 124, 138, 131, 111, 130, 140, 121, 117, 146, 113, 126, 146, 110, 131, 129, 125, 139, 119, 123, 132, 130, 129, 117, 139, 125, 115, 142, 124, 120, 132, 133, 120, 124, 138, 130, 112, 140, 140, 107, 137, 131, 128, 124, 128, 129, 121, 132, 129, 128, 117, 139, 126, 123, 131, 127, 131, 125, 128, 128, 119, 132, 137, 112, 129, 133, 128, 128, 120, 125, 136, 125, 125, 131, 118, 134, 125, 122, 129, 127, 129, 117, 133, 129, 124, 136, 121, 127, 129, 126, 135, 126, 122, 129, 129, 131, 125, 121, 130, 127, 121, 135, 130, 125, 124, 136, 128, 118, 148, 114, 127, 144, 118, 119, 139, 128, 123, 129, 123, 131, 128, 130, 125, 128, 129, 143, 113, 131, 139, 115, 137, 118, 125, 130, 131, 123, 120, 127, 128, 130, 126, 127, 123, 130, 129, 123, 129, 125, 119, 132, 126, 117, 128, 123, 127, 128, 125, 123, 131, 127, 121, 133, 123, 125, 133, 132, 116, 132, 136, 123, 127, 131, 125, 123, 139, 123, 133, 133, 132, 133, 131, 138, 129, 131, 137, 129, 133, 135, 130, 135, 132, 129, 132, 135, 132, 136, 130, 135, 131, 134, 136, 121, 130, 128, 124, 125, 124, 121, 125, 125, 121, 119, 118, 119, 118, 116, 116, 111, 109, 113, 111, 96, 108, 108, 101, 107, 113, 119, 110, 128, 126, 130, 139, 133, 138, 135, 132, 135, 126, 127, 125, 117, 120, 115, 121, 120, 128, 137, 143, 151, 154, 156, 167, 160, 156, 162, 153, 154, 147, 148, 144, 132, 141, 140, 134, 141, 136, 140, 136, 133, 138, 133, 132, 126, 131, 123, 115, 118, 112, 113, 116, 109, 111, 108, 100, 101, 102, 91, 91, 114, 145, 140, 128, 138, 142, 152, 139, 132, 116, 105, 115, 110, 90, 88, 98, 96, 109, 117, 117, 120, 132, 140, 139, 136, 133, 135, 132, 123, 116, 110, 111, 113, 111, 116, 113, 125, 139, 136, 132, 147, 153, 154, 164, 155, 143, 147, 151, 144, 138, 134, 138, 145, 150, 148, 143, 150, 152, 155, 154, 144, 138, 136, 141, 131, 128, 128, 121, 129, 122, 117, 116, 112, 113, 115, 114, 110, 102, 103, 100, 95, 94, 108, 149, 137, 139, 145, 142, 154, 138, 133, 118, 105, 108, 106, 99, 94, 98, 113, 117, 123, 129, 132, 134, 130, 137, 126, 113, 115, 113, 106, 109, 108, 112, 116, 126, 130, 130, 138, 136, 137, 130, 130, 121, 119, 115, 117, 117, 113, 122, 119, 134, 142, 144, 150, 159, 158, 169, 165, 140, 138, 144, 142, 138, 141, 137, 143, 151, 159, 159, 148, 149, 148, 143, 135, 131, 125, 123, 128, 127, 124, 114, 115, 111, 105, 106, 98, 102, 98, 98, 100, 126, 159, 153, 150, 149, 146, 145, 134, 118, 101, 89, 98, 98, 99, 103, 106, 120, 132, 141, 142, 136, 125, 130, 124, 110, 105, 104, 101, 109, 108, 110, 126, 123, 135, 135, 132, 141, 131, 132, 124, 115, 117, 112, 116, 116, 122, 128, 129, 136, 136, 135, 138, 134, 129, 130, 129, 126, 136, 159, 158, 153, 155, 161, 159, 152, 148, 135, 136, 139, 147, 145, 143, 146, 149, 150, 146, 142, 129, 126, 132, 131, 128, 124, 120, 119, 114, 114, 105, 102, 107, 106, 101, 106, 112, 120, 154, 151, 147, 145, 135, 130, 122, 112, 93, 88, 94, 101, 104, 113, 122, 128, 135, 140, 138, 129, 123, 117, 109, 106, 103, 106, 110, 112, 122, 129, 134, 133, 139, 138, 132, 127, 123, 118, 118, 118, 117, 120, 124, 132, 134, 138, 137, 132, 133, 132, 126, 129, 128, 128, 131, 131, 134, 130, 132, 124, 130, 136, 137, 151, 151, 146, 152, 159, 152, 143, 138, 133, 127, 137, 145, 138, 145, 147, 147, 148, 140, 135, 122, 118, 123, 118, 122, 124, 122, 129, 132, 137, 137, 127, 124, 119, 118, 120, 120, 113, 108, 105, 105, 110, 106, 102, 98, 102, 110, 138, 145, 136, 136, 130, 130, 122, 121, 110, 95, 95, 105, 112, 120, 122, 127, 134, 139, 144, 140, 128, 121, 121, 118, 119, 118, 118, 123, 127, 133, 142, 141, 137, 137, 134, 135, 132, 126, 123, 122, 126, 130, 131, 131, 131, 136, 139, 138, 132, 129, 128, 127, 128, 129, 127, 123, 127, 130, 133, 134, 129, 133, 137, 135, 130, 128, 125, 138, 148, 145, 143, 139, 136, 138, 143, 143, 138, 136, 137, 138, 138, 133, 129, 124, 124, 128, 127, 125, 123, 128, 130, 135, 135, 128, 123, 119, 118, 120, 119, 114, 115, 117, 121, 123, 118, 117, 117, 115, 116, 110, 106, 104, 102, 110, 127, 136, 133, 133, 133, 127, 131, 130, 124, 119, 110, 114, 117, 119, 123, 125, 124, 129, 137, 136, 135, 131, 128, 127, 128, 129, 129, 125, 125, 129, 132, 134, 135, 136, 136, 136, 138, 137, 132, 131, 130, 128, 126, 128, 129, 126, 128, 129, 130, 130, 130, 127, 127, 130, 129, 128, 129, 130, 128, 130, 130, 129, 129, 129, 129, 125, 122, 124, 128, 132, 140, 141, 137, 136, 136, 136, 135, 134, 128, 127, 127, 127, 130, 129, 131, 133, 134, 134, 135, 133, 130, 128, 126, 123, 124, 125, 124, 125, 129, 131, 131, 130, 130, 130, 127, 127, 127, 123, 122, 126, 127, 122, 120, 120, 121, 121, 121, 119, 116, 116, 119, 120, 120, 119, 117, 117, 116, 114, 118, 130, 136, 138, 137, 130, 128, 126, 128, 129, 124, 120, 119, 121, 125, 130, 134, 135, 132, 133, 131, 130, 131, 130, 129, 127, 127, 127, 127, 134, 136, 136, 136, 137, 137, 135, 135, 134, 131, 129, 127, 124, 124, 124, 126, 126, 126, 127, 127, 129, 132, 133, 132, 132, 134, 135, 135, 134, 131, 129, 128, 127, 126, 125, 124, 124, 125, 127, 126, 125, 123, 122, 123, 123, 124, 124, 125, 125, 125, 126, 127, 126, 125, 124, 124, 125, 123, 123, 123, 125, 126, 127, 127, 125, 124, 126, 127, 127, 125, 124, 123, 122, 123, 123, 125, 125, 125, 127, 128, 128, 128, 128, 129, 128, 127, 128, 128, 128, 126, 126, 127, 129, 130, 129, 130, 129, 129, 130, 130, 131, 129, 129, 129, 127, 126, 126, 128, 129, 129, 130, 130, 130, 131, 131, 130, 129, 128, 128, 128, 127, 126, 126, 128, 128, 127, 126, 126, 126, 128, 128, 126, 126, 125, 126, 126, 125, 125, 124, 125, 126, 125, 124, 124, 126, 128, 126, 126, 124, 124, 125, 126, 127, 125, 125, 127, 127, 127, 126, 127, 127, 127, 127, 126, 125, 126, 128, 128, 128, 128, 127, 127, 129, 130, 128, 128, 128, 129, 129, 129, 127, 127, 127, 128, 129, 129, 128, 128, 129, 130, 130, 130, 128, 128, 128, 129, 131, 130, 129, 129, 129, 130, 131, 129, 128, 128, 130, 130, 130, 130, 128, 128, 130, 130, 128, 128, 127, 127, 127, 127, 126, 127, 129, 129, 129, 127, 125, 127, 128, 127, 127, 125, 125, 126, 126, 127, 127, 127, 127, 127, 127, 126, 125, 125, 128, 128, 127, 125, 126, 126, 128, 128, 128, 127, 127, 127, 127, 128, 127, 127, 127, 127, 128, 128, 128, 128, 128, 127, 128, 129, 129, 128, 128, 128, 128, 129, 129, 128, 128, 128, 128, 128, 128, 128, 128, 129, 128, 128, 128, 127, 127, 128, 128, 128, 128, 127, 127, 127, 128, 128, 128, 128, 128, 127, 127, 128, 128, 127, 127, 127, 127, 128, 128, 128, 127, 127, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 127, 127, 126, 127, 128, 127, 127, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 127, 127, 127, 127, 127, 127, 127, 127, 128, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 127, 127, 127, 126, 126, 126, 125, 127, 130, 129, 126, 126, 126, 125, 125, 126, 126, 124, 125, 126, 125, 125, 125, 126, 127, 126, 127, 127, 129, 133, 135, 135, 135, 133, 130, 130, 130, 129, 129, 129, 127, 125, 125, 126, 127, 127, 127, 128, 128, 129, 129, 130, 130, 130, 130, 129, 129, 129, 128, 129, 128, 129, 128, 128, };
const unsigned char Q[] PROGMEM = {126, 126, 127, 127, 127, 127, 126, 125, 125, 126, 128, 129, 132, 132, 127, 123, 123, 130, 141, 144, 139, 127, 115, 109, 112, 122, 133, 138, 136, 129, 124, 123, 126, 133, 140, 139, 132, 121, 112, 111, 116, 124, 135, 140, 138, 132, 124, 122, 124, 128, 134, 135, 130, 124, 119, 119, 122, 126, 130, 130, 127, 124, 123, 123, 128, 133, 135, 136, 134, 130, 126, 126, 131, 137, 140, 137, 127, 118, 112, 110, 116, 124, 132, 140, 142, 138, 132, 123, 115, 110, 110, 114, 119, 123, 129, 136, 140, 143, 140, 128, 114, 103, 100, 109, 126, 148, 171, 180, 172, 145, 113, 95, 90, 105, 132, 151, 156, 144, 122, 102, 91, 97, 116, 140, 157, 162, 156, 141, 121, 108, 108, 116, 130, 144, 145, 138, 127, 113, 106, 108, 113, 122, 132, 140, 141, 136, 133, 129, 126, 128, 129, 129, 128, 124, 121, 123, 123, 120, 121, 123, 127, 132, 137, 138, 134, 129, 129, 130, 132, 137, 136, 130, 120, 112, 112, 115, 121, 127, 130, 132, 126, 117, 117, 122, 132, 145, 151, 149, 138, 123, 116, 117, 121, 126, 129, 129, 126, 123, 124, 120, 118, 123, 125, 127, 126, 124, 128, 133, 135, 132, 131, 133, 128, 126, 132, 134, 129, 125, 120, 118, 124, 129, 133, 138, 137, 131, 126, 127, 128, 129, 131, 128, 128, 128, 124, 126, 131, 136, 136, 131, 125, 119, 118, 124, 129, 135, 140, 137, 126, 120, 120, 118, 121, 127, 128, 123, 120, 124, 128, 129, 131, 133, 129, 123, 125, 126, 125, 124, 124, 125, 121, 116, 118, 127, 138, 138, 125, 117, 121, 121, 125, 135, 133, 126, 120, 114, 115, 116, 119, 125, 135, 141, 136, 137, 135, 129, 126, 122, 128, 137, 141, 145, 136, 129, 122, 110, 110, 113, 120, 137, 142, 134, 127, 129, 130, 127, 125, 130, 137, 139, 135, 132, 129, 129, 125, 119, 122, 131, 134, 133, 135, 132, 126, 129, 126, 124, 130, 131, 133, 133, 121, 115, 115, 115, 115, 119, 121, 121, 132, 142, 138, 127, 119, 118, 123, 130, 134, 130, 125, 127, 126, 130, 132, 121, 111, 108, 113, 127, 137, 144, 140, 127, 122, 124, 128, 129, 124, 125, 127, 128, 133, 140, 139, 134, 132, 125, 123, 130, 135, 131, 125, 123, 118, 119, 129, 134, 136, 135, 129, 124, 121, 130, 137, 135, 131, 121, 118, 126, 131, 129, 127, 126, 120, 119, 129, 136, 133, 128, 124, 119, 120, 127, 132, 133, 129, 127, 130, 131, 133, 134, 134, 131, 122, 115, 111, 112, 122, 131, 139, 141, 133, 121, 116, 117, 122, 129, 137, 140, 138, 132, 128, 122, 116, 115, 122, 132, 136, 130, 119, 113, 113, 121, 134, 142, 140, 130, 119, 117, 122, 127, 128, 128, 120, 110, 107, 112, 118, 125, 130, 134, 135, 131, 130, 129, 128, 127, 127, 134, 138, 138, 136, 134, 126, 116, 110, 111, 118, 125, 137, 143, 142, 139, 134, 133, 131, 131, 133, 133, 134, 135, 136, 137, 139, 138, 135, 137, 139, 139, 134, 130, 126, 121, 118, 122, 130, 135, 137, 136, 131, 119, 107, 107, 115, 126, 136, 143, 142, 130, 118, 114, 118, 125, 132, 137, 132, 125, 124, 126, 130, 134, 135, 131, 125, 120, 111, 107, 107, 114, 120, 131, 139, 142, 138, 129, 128, 129, 128, 133, 140, 140, 131, 126, 124, 119, 112, 108, 120, 121, 118, 120, 119, 118, 119, 127, 133, 143, 146, 143, 133, 118, 108, 99, 106, 111, 123, 140, 143, 142, 136, 126, 120, 120, 126, 133, 136, 139, 145, 144, 131, 123, 118, 115, 121, 127, 131, 134, 134, 137, 135, 135, 136, 133, 129, 119, 115, 113, 119, 125, 126, 133, 133, 131, 134, 126, 116, 111, 110, 118, 122, 127, 126, 126, 128, 130, 131, 132, 133, 127, 118, 115, 115, 110, 115, 119, 126, 131, 135, 141, 140, 137, 132, 136, 135, 132, 137, 138, 129, 121, 114, 110, 117, 123, 130, 142, 143, 142, 137, 128, 127, 123, 126, 130, 135, 137, 130, 127, 123, 122, 122, 126, 126, 122, 122, 122, 121, 121, 119, 117, 117, 114, 116, 113, 105, 108, 107, 113, 117, 114, 115, 112, 108, 110, 109, 111, 119, 115, 119, 122, 124, 132, 130, 132, 132, 138, 147, 157, 158, 156, 165, 164, 164, 164, 161, 161, 167, 169, 170, 171, 166, 158, 150, 142, 134, 131, 127, 123, 118, 114, 114, 112, 112, 110, 108, 102, 98, 92, 85, 86, 86, 86, 86, 84, 76, 73, 71, 66, 66, 72, 85, 94, 114, 128, 138, 144, 142, 140, 134, 132, 134, 136, 138, 139, 135, 133, 130, 134, 150, 163, 184, 195, 194, 198, 196, 191, 191, 192, 191, 187, 181, 172, 160, 156, 142, 130, 124, 116, 104, 94, 94, 88, 90, 88, 82, 77, 67, 55, 50, 53, 55, 48, 50, 80, 104, 137, 167, 190, 197, 179, 167, 146, 128, 111, 112, 113, 108, 104, 94, 76, 61, 61, 66, 85, 119, 164, 193, 218, 240, 241, 236, 227, 219, 210, 207, 200, 192, 186, 165, 149, 136, 118, 109, 102, 101, 96, 88, 82, 79, 75, 69, 66, 63, 54, 45, 33, 20, 24, 25, 65, 115, 150, 194, 203, 206, 186, 166, 158, 140, 147, 147, 138, 126, 103, 81, 58, 54, 65, 84, 106, 129, 151, 161, 176, 198, 225, 244, 253, 255, 236, 212, 192, 182, 177, 175, 177, 166, 150, 130, 112, 100, 97, 103, 98, 97, 86, 65, 47, 30, 27, 27, 27, 33, 35, 48, 90, 115, 142, 172, 177, 173, 165, 171, 163, 156, 156, 145, 121, 98, 86, 71, 61, 70, 82, 87, 93, 105, 120, 141, 172, 206, 227, 231, 225, 211, 200, 192, 200, 206, 202, 187, 171, 161, 138, 134, 132, 125, 115, 104, 89, 76, 66, 62, 57, 42, 36, 23, 21, 8, 33, 82, 111, 148, 154, 170, 165, 162, 181, 186, 184, 161, 150, 131, 113, 108, 100, 95, 80, 69, 66, 68, 84, 114, 144, 166, 187, 204, 203, 203, 208, 213, 212, 208, 205, 192, 188, 187, 182, 173, 160, 143, 122, 111, 103, 97, 90, 76, 67, 55, 38, 27, 21, 22, 11, 25, 57, 104, 119, 128, 163, 155, 170, 177, 193, 190, 163, 164, 143, 132, 122, 117, 105, 86, 82, 81, 82, 86, 110, 118, 129, 160, 181, 192, 194, 199, 202, 203, 203, 203, 200, 184, 187, 191, 179, 161, 147, 141, 128, 119, 113, 104, 81, 68, 69, 53, 40, 28, 15, 22, 27, 39, 88, 115, 109, 137, 158, 167, 171, 171, 194, 171, 157, 163, 143, 127, 108, 108, 102, 90, 91, 83, 75, 101, 118, 106, 124, 172, 190, 168, 187, 208, 202, 205, 207, 201, 187, 194, 202, 182, 167, 155, 147, 134, 124, 119, 105, 100, 90, 71, 60, 57, 39, 30, 32, 28, 22, 48, 90, 94, 85, 136, 170, 137, 157, 178, 187, 171, 157, 170, 152, 137, 123, 115, 100, 101, 89, 75, 90, 100, 93, 98, 130, 144, 155, 161, 185, 198, 194, 202, 199, 208, 204, 198, 193, 192, 181, 156, 161, 153, 134, 121, 117, 113, 91, 82, 73, 62, 57, 42, 35, 29, 22, 37, 39, 97, 106, 75, 169, 158, 136, 167, 192, 203, 156, 188, 181, 151, 140, 128, 120, 102, 100, 77, 78, 91, 81, 79, 102, 121, 119, 128, 169, 168, 169, 193, 212, 202, 188, 217, 204, 185, 185, 188, 166, 144, 150, 139, 117, 121, 113, 104, 93, 82, 81, 59, 55, 50, 41, 32, 31, 29, 104, 69, 56, 167, 123, 124, 142, 200, 171, 145, 210, 170, 167, 154, 154, 131, 117, 122, 92, 105, 92, 73, 100, 104, 93, 117, 152, 134, 134, 187, 180, 172, 195, 213, 188, 190, 202, 182, 180, 168, 169, 162, 153, 135, 138, 128, 111, 111, 89, 84, 76, 60, 43, 44, 37, 34, 19, 50, 93, 53, 81, 157, 118, 114, 176, 176, 160, 160, 197, 166, 145, 157, 137, 126, 107, 107, 101, 90, 89, 94, 102, 100, 109, 136, 133, 141, 170, 174, 170, 187, 199, 193, 189, 196, 190, 175, 169, 174, 170, 146, 155, 147, 131, 128, 129, 113, 106, 102, 88, 90, 75, 63, 61, 49, 37, 25, 64, 93, 21, 127, 133, 70, 160, 153, 162, 136, 176, 178, 140, 156, 148, 149, 103, 122, 125, 92, 93, 99, 104, 88, 104, 117, 118, 125, 136, 156, 152, 166, 186, 180, 182, 187, 195, 184, 180, 194, 182, 169, 168, 159, 156, 139, 134, 138, 120, 108, 104, 96, 83, 75, 70, 59, 52, 58, 29, 50, 74, 64, 66, 127, 132, 85, 171, 151, 152, 167, 170, 184, 146, 161, 144, 138, 111, 118, 111, 84, 94, 91, 78, 76, 100, 100, 102, 130, 147, 141, 154, 174, 177, 174, 188, 202, 187, 189, 193, 181, 182, 168, 177, 163, 157, 158, 144, 147, 136, 129, 120, 116, 98, 94, 85, 73, 66, 55, 50, 47, 18, 77, 67, 42, 123, 107, 109, 123, 167, 144, 147, 177, 165, 165, 146, 168, 142, 122, 132, 126, 97, 92, 94, 81, 76, 86, 101, 97, 107, 134, 138, 138, 165, 172, 177, 181, 192, 190, 187, 190, 185, 183, 174, 173, 167, 163, 157, 157, 149, 142, 138, 139, 129, 122, 118, 110, 98, 83, 87, 63, 66, 53, 60, 28, 64, 75, 36, 113, 99, 111, 116, 154, 148, 149, 169, 161, 175, 141, 164, 146, 134, 131, 126, 113, 100, 100, 94, 79, 82, 99, 90, 97, 122, 126, 125, 144, 159, 161, 152, 189, 171, 168, 186, 178, 176, 177, 184, 169, 172, 166, 170, 156, 150, 158, 144, 131, 135, 128, 117, 110, 109, 103, 91, 87, 81, 72, 56, 63, 44, 47, 68, 74, 65, 113, 122, 93, 159, 148, 157, 167, 175, 183, 157, 168, 154, 143, 120, 125, 111, 89, 93, 88, 77, 78, 89, 82, 104, 113, 112, 140, 145, 143, 169, 170, 166, 184, 183, 178, 188, 181, 179, 171, 175, 169, 163, 165, 164, 160, 151, 157, 141, 138, 131, 129, 122, 116, 113, 110, 97, 94, 90, 79, 74, 71, 60, 67, 49, 50, 94, 57, 94, 116, 120, 109, 151, 158, 133, 174, 155, 169, 142, 158, 144, 130, 124, 119, 116, 86, 99, 91, 83, 79, 100, 98, 90, 118, 125, 118, 130, 154, 155, 144, 171, 174, 165, 172, 185, 181, 176, 180, 182, 183, 170, 183, 179, 164, 166, 167, 150, 146, 145, 137, 127, 126, 121, 109, 106, 108, 95, 93, 91, 84, 77, 72, 68, 65, 47, 55, 94, 42, 96, 114, 91, 124, 139, 149, 136, 173, 154, 159, 156, 146, 149, 129, 123, 117, 109, 93, 95, 89, 83, 89, 92, 93, 106, 108, 122, 125, 133, 145, 150, 152, 158, 166, 162, 170, 168, 178, 173, 171, 183, 174, 176, 179, 177, 169, 168, 166, 160, 154, 155, 148, 140, 136, 128, 126, 119, 120, 112, 113, 103, 101, 99, 84, 87, 78, 70, 63, 55, 62, 65, 75, 81, 103, 115, 94, 147, 140, 135, 161, 162, 160, 149, 166, 145, 140, 129, 128, 116, 96, 101, 92, 81, 81, 91, 83, 84, 101, 104, 103, 118, 133, 133, 131, 151, 153, 145, 159, 169, 168, 170, 176, 181, 174, 176, 183, 178, 172, 176, 175, 158, 165, 162, 147, 149, 150, 137, 135, 136, 133, 123, 121, 125, 115, 110, 113, 104, 102, 95, 90, 85, 78, 68, 61, 68, 47, 89, 71, 82, 125, 95, 122, 143, 144, 135, 167, 158, 145, 161, 148, 142, 133, 128, 121, 112, 99, 99, 95, 81, 96, 91, 88, 96, 98, 105, 105, 120, 122, 130, 132, 144, 144, 150, 163, 161, 167, 170, 177, 167, 176, 178, 173, 175, 176, 172, 168, 164, 167, 160, 152, 158, 151, 147, 145, 142, 139, 134, 131, 132, 126, 120, 119, 119, 104, 108, 103, 95, 87, 90, 72, 69, 71, 51, 88, 64, 85, 109, 100, 114, 129, 141, 135, 155, 155, 156, 148, 147, 146, 129, 125, 120, 112, 100, 96, 98, 84, 91, 89, 84, 96, 93, 101, 107, 116, 118, 128, 133, 131, 136, 145, 144, 140, 163, 150, 152, 167, 161, 169, 170, 176, 172, 173, 174, 171, 172, 166, 170, 163, 156, 159, 152, 145, 147, 146, 142, 135, 140, 135, 126, 130, 124, 123, 118, 112, 114, 109, 99, 98, 99, 80, 85, 75, 68, 93, 72, 90, 107, 106, 106, 123, 140, 123, 145, 148, 149, 141, 141, 144, 132, 125, 122, 122, 101, 99, 99, 88, 83, 88, 90, 87, 91, 100, 100, 107, 116, 123, 122, 131, 138, 135, 142, 145, 147, 152, 149, 154, 161, 151, 164, 169, 163, 168, 174, 170, 168, 170, 171, 166, 161, 166, 163, 151, 155, 158, 142, 148, 146, 143, 137, 135, 135, 127, 124, 121, 122, 114, 113, 109, 108, 103, 97, 97, 84, 87, 79, 67, 97, 80, 87, 117, 105, 112, 128, 133, 126, 146, 142, 141, 141, 136, 135, 125, 123, 117, 114, 102, 101, 98, 91, 89, 94, 91, 93, 99, 100, 106, 109, 118, 119, 122, 127, 129, 127, 129, 138, 130, 136, 140, 140, 143, 144, 155, 158, 163, 166, 176, 172, 171, 178, 172, 174, 169, 174, 163, 163, 161, 152, 154, 147, 149, 143, 143, 141, 138, 132, 131, 131, 127, 123, 120, 123, 108, 109, 108, 102, 96, 96, 87, 81, 84, 76, 93, 88, 95, 112, 103, 115, 127, 126, 130, 149, 141, 141, 148, 139, 138, 131, 133, 125, 117, 111, 105, 102, 94, 98, 97, 94, 98, 96, 98, 107, 104, 110, 114, 114, 114, 117, 119, 116, 123, 124, 122, 128, 130, 131, 139, 144, 150, 150, 163, 162, 160, 175, 169, 171, 175, 174, 170, 173, 169, 165, 163, 164, 159, 152, 159, 147, 144, 146, 141, 136, 135, 135, 125, 129, 123, 120, 120, 115, 118, 111, 110, 108, 107, 101, 100, 95, 91, 90, 86, 97, 98, 95, 112, 118, 105, 129, 131, 127, 136, 142, 138, 131, 139, 126, 124, 117, 116, 111, 103, 103, 100, 95, 94, 99, 98, 99, 103, 107, 106, 115, 118, 118, 125, 126, 125, 131, 126, 128, 130, 127, 129, 127, 130, 130, 134, 138, 143, 147, 152, 159, 158, 163, 168, 169, 168, 171, 174, 168, 168, 168, 165, 162, 160, 162, 153, 153, 151, 143, 145, 139, 139, 138, 132, 132, 128, 124, 122, 121, 117, 116, 115, 110, 105, 106, 103, 101, 94, 95, 95, 82, 96, 99, 96, 105, 119, 113, 113, 133, 126, 127, 137, 138, 128, 130, 130, 123, 120, 112, 115, 107, 101, 100, 99, 98, 97, 101, 104, 103, 104, 108, 112, 114, 118, 124, 124, 124, 125, 127, 126, 128, 129, 127, 129, 126, 130, 132, 131, 138, 145, 146, 147, 158, 157, 158, 168, 166, 168, 171, 172, 172, 169, 169, 168, 163, 159, 162, 155, 150, 151, 144, 142, 139, 135, 135, 133, 129, 129, 131, 124, 123, 127, 120, 119, 120, 116, 111, 112, 107, 100, 104, 97, 88, 91, 92, 82, 97, 101, 93, 111, 116, 111, 118, 133, 127, 128, 139, 132, 127, 128, 123, 118, 118, 114, 109, 106, 103, 100, 99, 105, 105, 107, 112, 110, 112, 117, 120, 121, 126, 128, 127, 126, 129, 128, 128, 129, 131, 128, 127, 130, 128, 129, 132, 132, 133, 140, 140, 145, 151, 152, 155, 159, 159, 162, 164, 166, 167, 166, 166, 164, 161, 157, 160, 156, 154, 154, 151, 145, 145, 143, 140, 139, 135, 137, 132, 131, 130, 124, 123, 122, 118, 116, 113, 109, 106, 104, 101, 96, 96, 93, 91, 93, 92, 95, 101, 103, 105, 110, 112, 115, 120, 123, 123, 124, 125, 121, 121, 122, 120, 118, 117, 114, 109, 109, 111, 110, 111, 113, 112, 112, 113, 116, 116, 119, 123, 120, 124, 125, 125, 127, 129, 129, 130, 132, 131, 133, 135, 134, 135, 136, 133, 134, 139, 138, 141, 143, 142, 144, 148, 148, 151, 156, 154, 158, 158, 159, 160, 161, 162, 161, 160, 159, 157, 155, 156, 153, 152, 150, 149, 145, 143, 142, 137, 135, 133, 129, 125, 123, 119, 116, 114, 110, 109, 107, 103, 102, 100, 99, 98, 98, 97, 95, 94, 95, 93, 94, 102, 103, 102, 107, 108, 108, 114, 120, 122, 123, 125, 123, 122, 123, 124, 123, 121, 119, 117, 114, 114, 117, 117, 117, 119, 120, 118, 119, 122, 124, 126, 128, 131, 130, 129, 132, 133, 137, 137, 137, 139, 136, 136, 138, 137, 138, 138, 138, 135, 136, 136, 136, 140, 141, 143, 144, 146, 146, 150, 153, 154, 158, 158, 158, 158, 158, 156, 157, 157, 154, 154, 150, 148, 146, 143, 142, 139, 137, 134, 132, 129, 127, 125, 123, 120, 117, 115, 112, 109, 109, 106, 102, 103, 100, 97, 100, 98, 95, 97, 95, 94, 95, 94, 95, 101, 102, 102, 106, 110, 113, 116, 121, 123, 125, 126, 125, 126, 128, 127, 126, 127, 124, 122, 122, 123, 124, 125, 126, 125, 126, 127, 127, 129, 132, 131, 132, 132, 133, 132, 133, 136, 137, 135, 136, 138, 136, 137, 139, 137, 137, 139, 136, 136, 138, 138, 141, 143, 143, 144, 147, 148, 150, 153, 154, 154, 155, 155, 155, 154, 154, 151, 150, 148, 144, 144, 141, 138, 136, 134, 131, 129, 128, 125, 124, 122, 120, 117, 116, 115, 113, 113, 111, 110, 108, 107, 106, 105, 105, 103, 102, 101, 100, 100, 97, 97, 96, 94, 96, 100, 103, 103, 106, 110, 112, 116, 122, 126, 128, 130, 130, 130, 132, 132, 131, 131, 130, 127, 126, 126, 127, 128, 128, 128, 129, 129, 129, 132, 134, 134, 135, 136, 135, 136, 136, 137, 138, 138, 137, 136, 136, 136, 135, 135, 136, 135, 136, 135, 136, 139, 139, 140, 142, 143, 144, 147, 148, 149, 151, 151, 151, 151, 150, 148, 147, 146, 145, 144, 143, 141, 138, 137, 134, 134, 132, 130, 128, 125, 123, 121, 119, 118, 116, 113, 113, 112, 110, 109, 109, 108, 106, 106, 105, 106, 104, 103, 104, 104, 103, 103, 103, 102, 102, 100, 103, 109, 109, 109, 113, 117, 119, 123, 128, 131, 132, 133, 134, 135, 135, 135, 135, 134, 132, 130, 129, 129, 128, 129, 129, 129, 130, 131, 131, 132, 134, 135, 135, 136, 137, 136, 136, 136, 136, 136, 135, 134, 134, 134, 133, 133, 134, 133, 132, 133, 135, 137, 138, 138, 140, 141, 142, 144, 146, 146, 146, 146, 146, 145, 146, 146, 144, 143, 142, 140, 139, 138, 135, 133, 132, 130, 128, 127, 126, 122, 121, 120, 120, 118, 116, 114, 114, 112, 111, 111, 110, 109, 109, 108, 108, 107, 106, 106, 107, 107, 106, 104, 105, 104, 103, 107, 111, 110, 111, 116, 119, 120, 124, 129, 131, 132, 134, 135, 135, 135, 135, 135, 135, 133, 131, 130, 129, 129, 130, 129, 129, 130, 131, 130, 131, 132, 133, 134, 134, 134, 133, 133, 133, 133, 133, 133, 133, 132, 131, 130, 131, 131, 130, 130, 131, 131, 132, 133, 136, 137, 137, 138, 140, 142, 142, 143, 144, 143, 143, 143, 143, 143, 143, 141, 140, 140, 138, 137, 136, 135, 133, 132, 132, 131, 129, 127, 125, 124, 122, 121, 120, 117, 115, 115, 113, 112, 112, 111, 110, 110, 110, 110, 109, 109, 110, 110, 110, 109, 108, 108, 107, 109, 113, 115, 114, 117, 120, 122, 124, 128, 130, 132, 133, 134, 134, 133, 133, 134, 133, 132, 130, 129, 129, 128, 127, 128, 127, 127, 127, 128, 129, 130, 130, 131, 133, 133, 132, 132, 133, 133, 133, 133, 133, 132, 131, 130, 130, 130, 130, 130, 129, 129, 131, 132, 133, 134, 136, 138, 139, 140, 141, 142, 142, 143, 143, 142, 142, 141, 141, 141, 140, 138, 138, 137, 136, 135, 134, 133, 131, 131, 130, 128, 127, 126, 124, 123, 122, 120, 118, 118, 117, 116, 115, 114, 113, 113, 112, 111, 111, 111, 111, 111, 112, 112, 111, 112, 112, 111, 114, 117, 116, 117, 120, 122, 122, 125, 127, 127, 129, 130, 129, 129, 129, 129, 130, 130, 129, 128, 128, 128, 128, 128, 127, 128, 129, 129, 129, 129, 130, 131, 131, 132, 132, 132, 132, 132, 133, 132, 132, 131, 131, 130, 129, 129, 129, 129, 129, 129, 130, 131, 131, 132, 133, 135, 136, 137, 138, 139, 140, 141, 142, 142, 142, 141, 141, 141, 140, 138, 137, 136, 135, 135, 133, 132, 131, 131, 130, 129, 128, 127, 126, 125, 124, 123, 122, 121, 119, 118, 118, 117, 116, 116, 116, 115, 114, 114, 114, 115, 116, 115, 115, 114, 115, 115, 114, 116, 118, 117, 118, 120, 121, 122, 124, 125, 125, 126, 128, 127, 127, 128, 128, 129, 130, 129, 128, 128, 128, 128, 129, 129, 129, 129, 130, 130, 130, 131, 132, 132, 132, 132, 132, 132, 132, 132, 132, 131, 130, 131, 131, 129, 129, 129, 129, 129, 128, 128, 129, 130, 130, 130, 131, 132, 133, 134, 134, 134, 135, 135, 135, 136, 135, 135, 135, 135, 134, 133, 133, 132, 131, 131, 131, 131, 131, 131, 131, 131, 130, 130, 129, 129, 128, 127, 126, 125, 124, 124, 122, 121, 120, 120, 119, 120, 119, 119, 119, 120, 120, 120, 121, 120, 121, 121, 122, 122, 121, 120, 120, 119, 118, 121, 122, 121, 122, 123, 124, 124, 126, 126, 126, 127, 128, 128, 128, 128, 128, 130, 130, 130, 129, 130, 130, 130, 131, 130, 130, 132, 132, 132, 132, 132, 132, 132, 132, 131, 130, 130, 130, 129, 127, 127, 127, 126, 126, 126, 126, 125, 126, 127, 127, 128, 128, 129, 129, 131, 131, 132, 132, 133, 133, 134, 133, 132, 132, 131, 131, 130, 129, 129, 129, 128, 128, 128, 127, 126, 126, 128, 127, 126, 127, 128, 128, 128, 128, 128, 128, 128, 129, 130, 129, 128, 128, 129, 129, 129, 128, 127, 128, 129, 129, 128, 127, 127, 127, 128, 128, 127, 126, 127, 126, 126, 124, 123, 123, 123, 123, 122, 121, 122, 122, 121, 120, 120, 121, 122, 123, 123, 123, 123, 125, 127, 126, 126, 128, 129, 130, 130, 130, 131, 131, 131, 132, 131, 130, 130, 131, 130, 128, 129, 129, 128, 127, 126, 126, 126, 126, 125, 125, 124, 123, 125, 125, 125, 125, 127, 128, 128, 128, 128, 129, 129, 128, 130, 130, 130, 129, 130, 130, 129, 129, 128, 126, 126, 127, 127, 127, 127, 127, 128, 129, 129, 128, 128, 130, 130, 130, 130, 130, 130, 131, 131, 130, 130, 131, 131, 131, 130, 129, 128, 129, 130, 130, 129, 130, 131, 130, 128, 128, 128, 128, 127, 128, 128, 128, 127, 126, 126, 126, 125, 124, 124, 124, 124, 124, 124, 123, 123, 124, 124, 124, 123, 123, 124, 124, 124, 124, 125, 126, 126, 126, 127, 126, 126, 126, 126, 126, 125, 125, 125, 126, 128, 128, 127, 127, 128, 129, 129, 130, 130, 130, 131, 132, 132, 132, 132, 132, 133, 133, 132, 131, 131, 131, 131, 130, 129, 130, 130, 128, 129, 129, 130, 131, 131, 130, 130, 131, 131, 131, 129, 129, 130, 131, 131, 130, 129, 129, 129, 128, 127, 126, 126, 128, 128, 128, 128, 128, 129, 129, 127, 125, 125, 126, 126, 125, 124, 125, 126, 126, 125, 123, 122, 123, 124, 125, 125, 124, 126, 126, 126, 125, 125, 125, 125, 125, 126, 127, 127, 126, 126, 125, 125, 126, 125, 125, 126, 127, 127, 128, 128, 127, 128, 128, 127, 128, 129, 128, 129, 128, 128, 128, 128, 127, 127, 127, 127, 128, 129, 128, 128, 128, 128, 128, 129, 130, 131, 131, 130, 130, 130, 131, 130, 129, 129, 129, 129, 130, 130, 129, 128, 128, 127, 128, 129, 128, 128, 128, 128, 129, 129, 128, 129, 128, 128, 128, 128, 128, 127, 128, 128, 128, 127, 126, 127, 127, 126, 126, 126, 126, 127, 127, 127, 126, 125, 126, 126, 126, 125, 125, 127, 127, 128, 127, 127, 126, 126, 126, 127, 127, 127, 128, 128, 128, 128, 127, 127, 126, 126, 126, 126, 128, 128, 128, 127, 127, 127, 128, 128, 127, };
const unsigned char K[] PROGMEM = {126, 128, 128, 127, 128, 128, 126, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 127, 128, 128, 126, 127, 129, 127, 127, 129, 128, 127, 128, 127, 126, 127, 127, 127, 127, 128, 129, 127, 126, 128, 127, 127, 128, 126, 126, 130, 129, 127, 128, 127, 127, 128, 128, 127, 127, 127, 129, 127, 127, 129, 127, 126, 129, 128, 127, 128, 127, 127, 128, 128, 127, 127, 127, 129, 127, 127, 128, 128, 127, 128, 127, 128, 129, 127, 127, 127, 128, 127, 127, 127, 128, 127, 128, 127, 127, 128, 128, 127, 128, 128, 127, 127, 127, 128, 127, 128, 128, 127, 127, 129, 127, 127, 128, 128, 127, 128, 128, 127, 128, 128, 128, 127, 128, 127, 127, 126, 128, 128, 128, 127, 127, 128, 128, 127, 126, 127, 128, 129, 128, 128, 127, 128, 128, 128, 127, 128, 127, 127, 128, 127, 127, 128, 128, 127, 128, 127, 127, 126, 130, 127, 126, 128, 129, 127, 126, 128, 131, 126, 126, 130, 127, 128, 127, 125, 128, 129, 126, 128, 127, 128, 129, 127, 127, 128, 128, 127, 127, 128, 127, 127, 129, 126, 128, 128, 127, 128, 128, 127, 128, 128, 127, 127, 126, 128, 128, 128, 128, 129, 127, 129, 127, 126, 128, 128, 128, 129, 126, 128, 128, 127, 130, 127, 126, 129, 129, 126, 127, 129, 128, 125, 129, 127, 126, 130, 128, 125, 129, 129, 127, 127, 126, 129, 128, 125, 128, 129, 126, 129, 128, 127, 127, 129, 127, 126, 130, 128, 126, 129, 128, 126, 130, 126, 126, 130, 129, 127, 129, 128, 127, 128, 126, 127, 127, 127, 127, 128, 126, 128, 127, 125, 128, 128, 124, 127, 128, 126, 126, 127, 127, 128, 126, 124, 129, 127, 125, 128, 126, 129, 127, 121, 149, 148, 112, 120, 126, 124, 141, 122, 118, 151, 142, 124, 118, 125, 135, 118, 117, 138, 126, 115, 126, 123, 117, 128, 130, 126, 132, 137, 129, 119, 133, 133, 121, 129, 126, 127, 119, 113, 128, 114, 137, 161, 108, 121, 154, 108, 111, 152, 131, 117, 145, 141, 128, 131, 127, 142, 146, 126, 126, 127, 121, 125, 124, 120, 124, 122, 124, 130, 123, 126, 131, 126, 134, 136, 130, 129, 131, 131, 122, 122, 125, 126, 123, 122, 129, 122, 124, 133, 121, 131, 141, 127, 131, 135, 124, 128, 133, 123, 122, 131, 122, 119, 130, 118, 116, 138, 119, 127, 157, 110, 125, 157, 109, 132, 154, 117, 124, 137, 129, 124, 121, 121, 131, 122, 112, 144, 130, 116, 142, 129, 129, 128, 124, 136, 124, 122, 129, 140, 135, 112, 130, 133, 124, 133, 125, 120, 127, 128, 117, 132, 141, 106, 126, 141, 112, 126, 132, 123, 139, 138, 125, 133, 132, 123, 130, 127, 128, 133, 124, 124, 124, 125, 125, 119, 134, 132, 116, 122, 138, 130, 117, 135, 131, 110, 127, 123, 114, 135, 125, 117, 136, 126, 117, 124, 129, 150, 133, 114, 142, 130, 110, 122, 116, 120, 122, 109, 119, 128, 113, 124, 141, 122, 136, 149, 129, 146, 140, 132, 152, 116, 131, 156, 99, 128, 152, 99, 122, 136, 105, 123, 139, 132, 129, 132, 134, 135, 135, 122, 127, 142, 135, 123, 124, 143, 137, 115, 122, 130, 132, 127, 123, 132, 129, 122, 129, 128, 123, 133, 141, 126, 115, 128, 128, 110, 120, 126, 107, 116, 131, 128, 130, 135, 133, 125, 129, 128, 133, 133, 116, 139, 127, 101, 135, 120, 106, 119, 117, 128, 119, 135, 143, 109, 128, 144, 122, 121, 132, 138, 126, 116, 132, 140, 127, 124, 132, 136, 122, 115, 138, 123, 117, 140, 116, 126, 137, 130, 148, 112, 131, 157, 99, 132, 154, 114, 128, 127, 131, 132, 106, 126, 140, 123, 112, 118, 140, 133, 116, 134, 138, 124, 123, 124, 130, 130, 120, 140, 148, 123, 123, 139, 148, 122, 100, 137, 130, 103, 130, 124, 111, 131, 125, 124, 133, 123, 122, 128, 131, 133, 133, 126, 127, 140, 131, 116, 120, 126, 126, 118, 122, 137, 122, 111, 129, 133, 123, 122, 136, 126, 119, 137, 123, 123, 134, 114, 132, 131, 111, 135, 128, 126, 138, 119, 127, 133, 121, 125, 126, 125, 129, 130, 125, 123, 136, 121, 119, 129, 110, 122, 128, 121, 142, 143, 124, 145, 146, 121, 132, 134, 132, 127, 120, 132, 132, 122, 127, 126, 122, 133, 130, 118, 128, 134, 117, 134, 138, 119, 140, 146, 139, 145, 121, 120, 137, 110, 125, 128, 112, 133, 117, 106, 130, 120, 106, 125, 137, 116, 119, 135, 116, 135, 133, 118, 146, 139, 118, 123, 132, 124, 110, 116, 123, 124, 117, 115, 124, 129, 128, 127, 132, 134, 139, 132, 125, 135, 140, 119, 116, 138, 118, 122, 132, 115, 143, 125, 115, 153, 141, 125, 134, 142, 126, 116, 124, 127, 124, 119, 116, 130, 128, 120, 121, 129, 132, 120, 136, 134, 137, 132, 127, 142, 126, 118, 128, 134, 121, 115, 149, 129, 110, 134, 125, 125, 131, 112, 130, 133, 106, 126, 120, 118, 138, 116, 119, 136, 116, 130, 136, 116, 118, 140, 131, 124, 131, 137, 126, 110, 147, 123, 115, 130, 123, 124, 131, 138, 147, 128, 126, 134, 134, 141, 112, 144, 132, 109, 131, 141, 119, 116, 128, 124, 115, 102, 140, 125, 118, 134, 139, 124, 129, 125, 115, 129, 115, 140, 134, 123, 109, 131, 119, 113, 142, 131, 129, 126, 156, 107, 132, 133, 103, 121, 109, 126, 110, 119, 117, 111, 132, 135, 137, 142, 136, 143, 142, 158, 127, 147, 161, 122, 156, 184, 141, 136, 171, 141, 125, 127, 169, 123, 112, 127, 142, 131, 113, 128, 138, 141, 88, 118, 140, 121, 81, 130, 134, 92, 94, 112, 98, 93, 81, 76, 120, 82, 62, 89, 98, 58, 86, 94, 91, 84, 102, 120, 122, 127, 156, 174, 174, 198, 183, 208, 205, 203, 204, 202, 197, 194, 186, 199, 177, 177, 171, 153, 169, 147, 137, 140, 136, 107, 121, 106, 98, 94, 84, 88, 89, 77, 74, 61, 66, 52, 51, 23, 17, 33, 0, 80, 57, 37, 119, 141, 111, 146, 209, 152, 185, 204, 170, 192, 173, 137, 170, 130, 120, 165, 148, 146, 176, 174, 172, 208, 209, 204, 225, 219, 207, 220, 196, 171, 175, 149, 109, 113, 98, 64, 75, 58, 57, 44, 40, 36, 20, 17, 2, 0, 0, 86, 87, 0, 139, 197, 136, 138, 230, 213, 177, 180, 186, 190, 147, 113, 142, 107, 68, 108, 117, 120, 131, 159, 174, 208, 202, 230, 255, 232, 240, 255, 249, 211, 206, 193, 144, 141, 114, 87, 80, 72, 60, 72, 63, 45, 61, 55, 32, 24, 11, 0, 0, 0, 114, 50, 34, 202, 174, 147, 182, 223, 178, 200, 155, 160, 179, 128, 85, 120, 118, 45, 102, 133, 135, 119, 164, 218, 205, 203, 243, 245, 234, 217, 237, 226, 187, 183, 176, 163, 115, 114, 111, 89, 68, 84, 89, 62, 67, 66, 47, 29, 23, 10, 0, 0, 0, 118, 79, 13, 226, 209, 157, 186, 233, 199, 185, 161, 140, 174, 105, 62, 89, 98, 32, 63, 110, 122, 138, 143, 212, 252, 213, 239, 255, 245, 232, 225, 229, 208, 181, 166, 174, 149, 110, 109, 107, 89, 76, 74, 82, 58, 42, 43, 28, 7, 1, 0, 0, 0, 80, 129, 20, 195, 246, 164, 201, 234, 225, 170, 165, 149, 153, 117, 50, 72, 101, 35, 33, 100, 116, 119, 132, 207, 237, 215, 232, 244, 255, 218, 199, 219, 214, 179, 169, 192, 162, 160, 123, 117, 136, 82, 75, 106, 66, 28, 50, 45, 10, 0, 0, 0, 0, 19, 143, 26, 128, 255, 184, 176, 232, 239, 178, 181, 142, 155, 127, 55, 66, 101, 50, 31, 99, 95, 97, 131, 181, 200, 212, 231, 235, 241, 244, 207, 213, 237, 187, 177, 205, 175, 162, 150, 139, 123, 110, 92, 83, 95, 51, 54, 35, 28, 7, 0, 0, 2, 0, 26, 168, 31, 135, 249, 219, 171, 223, 243, 174, 183, 117, 158, 148, 44, 58, 98, 45, 28, 59, 92, 108, 105, 147, 204, 218, 206, 244, 235, 230, 234, 208, 211, 214, 189, 187, 200, 172, 171, 144, 133, 140, 91, 101, 100, 69, 58, 62, 27, 8, 23, 5, 0, 0, 0, 0, 144, 115, 59, 240, 245, 162, 199, 244, 186, 152, 139, 151, 144, 74, 65, 109, 77, 68, 75, 100, 117, 118, 136, 173, 218, 180, 205, 233, 227, 199, 200, 221, 207, 176, 189, 198, 186, 169, 148, 176, 143, 110, 99, 127, 82, 47, 68, 43, 23, 5, 12, 9, 0, 0, 0, 69, 154, 52, 177, 255, 157, 177, 221, 195, 145, 144, 120, 138, 108, 35, 73, 112, 57, 39, 96, 110, 99, 109, 154, 213, 183, 191, 234, 228, 216, 208, 223, 227, 222, 197, 219, 227, 198, 180, 165, 176, 151, 96, 100, 109, 81, 34, 50, 56, 15, 16, 11, 11, 10, 3, 0, 121, 124, 61, 204, 229, 207, 162, 232, 191, 166, 137, 107, 153, 95, 27, 58, 105, 27, 20, 72, 84, 57, 79, 113, 167, 163, 168, 228, 213, 201, 208, 237, 228, 181, 207, 237, 208, 195, 213, 201, 175, 184, 138, 131, 122, 107, 78, 59, 79, 36, 31, 56, 26, 15, 30, 27, 7, 18, 161, 91, 100, 255, 182, 168, 196, 199, 166, 159, 130, 117, 156, 64, 47, 120, 87, 27, 82, 101, 78, 70, 90, 138, 131, 142, 152, 206, 211, 189, 189, 234, 225, 190, 217, 220, 215, 182, 189, 189, 176, 138, 127, 153, 108, 56, 115, 82, 47, 39, 74, 74, 18, 56, 81, 60, 29, 35, 73, 155, 34, 122, 206, 147, 127, 181, 213, 129, 171, 138, 159, 127, 89, 81, 128, 89, 44, 99, 106, 80, 83, 93, 92, 126, 120, 126, 177, 216, 156, 208, 238, 205, 189, 224, 216, 188, 194, 195, 198, 179, 175, 169, 173, 126, 120, 119, 105, 60, 78, 93, 56, 63, 73, 78, 67, 68, 59, 43, 43, 21, 123, 86, 44, 191, 158, 114, 141, 211, 138, 127, 160, 144, 124, 108, 114, 107, 128, 62, 98, 108, 66, 75, 87, 88, 108, 120, 121, 155, 172, 178, 191, 203, 223, 201, 196, 215, 211, 192, 184, 200, 185, 177, 159, 163, 162, 150, 137, 147, 120, 125, 113, 110, 111, 71, 99, 76, 55, 66, 62, 47, 33, 34, 5, 41, 123, 27, 122, 180, 120, 135, 188, 183, 123, 175, 147, 165, 142, 125, 130, 141, 99, 101, 131, 90, 77, 86, 100, 85, 95, 113, 146, 128, 138, 176, 176, 160, 199, 181, 172, 183, 177, 180, 165, 177, 174, 167, 166, 170, 148, 146, 161, 155, 122, 146, 160, 129, 106, 127, 126, 104, 99, 95, 114, 78, 60, 100, 91, 50, 59, 59, 33, 66, 123, 57, 138, 195, 93, 170, 208, 163, 136, 187, 185, 119, 125, 122, 118, 76, 81, 87, 83, 59, 47, 80, 71, 89, 94, 119, 128, 128, 136, 155, 171, 159, 171, 180, 162, 168, 171, 162, 176, 161, 160, 158, 175, 162, 152, 168, 179, 171, 153, 174, 174, 162, 142, 164, 163, 120, 129, 131, 133, 101, 105, 132, 99, 84, 105, 108, 61, 96, 95, 74, 56, 79, 35, 32, 136, 60, 82, 164, 136, 82, 174, 170, 119, 153, 175, 154, 108, 152, 131, 103, 104, 123, 111, 87, 82, 90, 95, 69, 76, 102, 98, 87, 114, 134, 127, 143, 157, 154, 172, 157, 148, 178, 174, 143, 174, 182, 152, 166, 186, 170, 175, 179, 174, 178, 161, 175, 164, 161, 164, 155, 146, 135, 136, 131, 113, 119, 120, 118, 115, 113, 118, 97, 118, 112, 104, 95, 99, 96, 81, 83, 73, 74, 51, 46, 40, 100, 84, 73, 150, 144, 110, 137, 186, 141, 145, 169, 173, 125, 132, 140, 109, 114, 107, 116, 87, 105, 88, 84, 102, 99, 102, 116, 117, 115, 145, 125, 125, 161, 155, 126, 148, 166, 133, 143, 166, 150, 156, 163, 167, 151, 159, 168, 162, 158, 166, 172, 157, 167, 166, 168, 154, 166, 162, 157, 153, 142, 158, 142, 125, 144, 135, 113, 125, 117, 112, 99, 104, 99, 89, 92, 80, 70, 60, 58, 65, 90, 80, 98, 129, 114, 119, 130, 138, 126, 137, 144, 126, 127, 126, 111, 109, 115, 100, 102, 99, 97, 93, 94, 93, 94, 105, 105, 108, 119, 124, 116, 132, 142, 140, 134, 145, 152, 137, 142, 157, 156, 150, 158, 160, 153, 170, 169, 160, 176, 181, 171, 174, 181, 173, 170, 175, 177, 163, 169, 163, 154, 159, 150, 145, 143, 146, 130, 122, 133, 115, 111, 116, 102, 101, 96, 88, 84, 84, 70, 60, 62, 66, 41, 50, 94, 86, 82, 108, 119, 99, 125, 154, 141, 142, 162, 151, 122, 137, 141, 122, 125, 124, 109, 90, 95, 95, 91, 105, 110, 102, 97, 115, 108, 106, 129, 133, 123, 123, 126, 130, 128, 137, 146, 144, 142, 140, 154, 154, 146, 164, 172, 154, 159, 165, 164, 166, 178, 175, 178, 180, 174, 175, 175, 177, 165, 168, 164, 158, 151, 151, 143, 137, 134, 120, 126, 126, 109, 110, 116, 103, 94, 98, 93, 78, 76, 70, 64, 48, 68, 86, 76, 85, 103, 110, 110, 131, 140, 140, 142, 145, 134, 130, 132, 123, 121, 118, 104, 92, 92, 89, 84, 96, 106, 99, 100, 105, 108, 115, 121, 128, 133, 128, 122, 120, 129, 128, 127, 132, 133, 130, 132, 143, 148, 155, 156, 160, 163, 166, 170, 174, 175, 173, 170, 178, 175, 168, 174, 168, 169, 167, 168, 163, 163, 160, 153, 153, 149, 144, 135, 138, 131, 123, 120, 121, 110, 108, 110, 104, 104, 97, 98, 90, 84, 80, 79, 64, 67, 93, 96, 95, 104, 115, 111, 123, 138, 138, 135, 139, 134, 121, 117, 117, 118, 104, 99, 97, 89, 89, 90, 96, 105, 102, 97, 106, 108, 108, 111, 124, 124, 118, 120, 122, 121, 118, 124, 128, 130, 131, 140, 142, 142, 151, 158, 158, 164, 166, 162, 169, 172, 173, 170, 178, 175, 169, 172, 169, 172, 163, 162, 163, 161, 152, 152, 158, 146, 144, 149, 143, 137, 138, 130, 126, 127, 120, 118, 117, 114, 110, 108, 106, 98, 96, 95, 87, 77, 77, 81, 87, 96, 95, 100, 108, 114, 118, 132, 139, 134, 135, 134, 128, 127, 125, 116, 112, 101, 94, 94, 89, 89, 95, 99, 93, 92, 100, 102, 103, 109, 118, 118, 116, 120, 118, 119, 120, 123, 125, 125, 125, 126, 133, 137, 141, 148, 153, 153, 162, 168, 165, 170, 176, 173, 172, 175, 174, 173, 171, 168, 169, 164, 159, 161, 159, 156, 153, 160, 155, 150, 153, 147, 140, 138, 140, 131, 128, 126, 119, 115, 116, 111, 102, 104, 102, 92, 91, 97, 83, 82, 89, 77, 83, 107, 103, 92, 115, 119, 115, 130, 138, 134, 133, 134, 127, 123, 119, 117, 114, 105, 99, 99, 98, 92, 99, 102, 96, 98, 106, 108, 104, 110, 113, 115, 114, 118, 123, 119, 121, 126, 125, 123, 128, 127, 129, 132, 137, 137, 141, 146, 149, 155, 157, 162, 161, 168, 168, 167, 169, 170, 165, 165, 170, 165, 160, 163, 160, 152, 155, 157, 156, 150, 150, 149, 142, 141, 141, 139, 132, 134, 133, 128, 125, 126, 125, 120, 121, 120, 119, 114, 112, 110, 105, 98, 97, 96, 82, 85, 87, 76, 86, 105, 98, 92, 111, 113, 111, 126, 132, 128, 127, 129, 126, 125, 123, 122, 116, 113, 105, 100, 103, 104, 102, 103, 107, 103, 107, 113, 115, 118, 123, 129, 129, 132, 134, 133, 134, 133, 133, 133, 131, 128, 129, 131, 131, 134, 136, 139, 143, 149, 154, 156, 160, 164, 166, 164, 166, 168, 167, 163, 162, 164, 158, 156, 156, 154, 150, 147, 149, 148, 144, 141, 141, 138, 134, 136, 135, 132, 129, 128, 128, 126, 123, 122, 120, 117, 115, 110, 110, 110, 106, 102, 101, 98, 90, 90, 92, 88, 84, 89, 103, 103, 99, 107, 116, 115, 118, 128, 128, 126, 125, 125, 123, 121, 120, 119, 115, 109, 108, 106, 106, 107, 110, 109, 109, 112, 115, 118, 120, 125, 128, 130, 133, 135, 135, 134, 136, 136, 135, 135, 134, 132, 132, 133, 135, 136, 137, 141, 145, 149, 153, 159, 159, 161, 164, 165, 166, 167, 168, 163, 161, 160, 157, 155, 152, 149, 147, 143, 140, 141, 139, 137, 135, 133, 132, 132, 131, 129, 128, 127, 125, 122, 121, 119, 117, 114, 111, 109, 108, 104, 101, 98, 95, 90, 88, 91, 88, 87, 97, 103, 102, 105, 112, 114, 117, 123, 126, 126, 125, 124, 124, 123, 122, 121, 120, 115, 110, 110, 111, 110, 111, 111, 112, 113, 116, 121, 124, 127, 130, 133, 136, 136, 136, 138, 138, 136, 135, 133, 131, 130, 131, 132, 132, 131, 132, 134, 136, 139, 146, 152, 154, 156, 159, 161, 163, 166, 168, 167, 164, 161, 158, 158, 156, 152, 150, 146, 141, 139, 138, 135, 133, 132, 130, 129, 128, 127, 126, 125, 123, 121, 121, 119, 116, 114, 112, 108, 104, 103, 102, 100, 96, 93, 92, 91, 89, 92, 102, 106, 104, 108, 113, 115, 117, 123, 127, 125, 123, 123, 122, 121, 121, 121, 119, 116, 113, 113, 114, 115, 115, 116, 118, 118, 120, 124, 127, 129, 131, 133, 135, 136, 136, 137, 138, 137, 135, 136, 134, 131, 133, 133, 130, 128, 130, 130, 130, 133, 136, 136, 141, 147, 150, 151, 153, 157, 159, 161, 162, 161, 159, 157, 155, 154, 153, 148, 145, 143, 139, 138, 138, 135, 132, 130, 130, 129, 129, 128, 126, 123, 122, 120, 119, 118, 116, 113, 111, 108, 107, 106, 104, 102, 100, 99, 98, 95, 99, 106, 106, 105, 109, 112, 113, 115, 120, 122, 122, 121, 122, 124, 123, 121, 123, 122, 119, 117, 117, 118, 117, 117, 118, 119, 120, 123, 125, 127, 128, 131, 132, 133, 135, 136, 136, 135, 135, 134, 134, 134, 134, 133, 132, 132, 132, 131, 131, 133, 133, 134, 134, 135, 140, 145, 144, 145, 148, 150, 151, 154, 155, 155, 153, 151, 152, 152, 150, 149, 148, 145, 140, 141, 140, 137, 134, 134, 132, 129, 128, 128, 126, 122, 120, 120, 118, 116, 115, 113, 112, 112, 110, 108, 109, 110, 108, 105, 104, 104, 102, 102, 107, 111, 107, 108, 113, 115, 113, 117, 122, 121, 119, 120, 122, 122, 122, 123, 123, 122, 122, 120, 120, 121, 121, 121, 122, 124, 124, 126, 128, 129, 131, 132, 133, 135, 134, 134, 135, 135, 135, 135, 136, 134, 134, 134, 133, 131, 132, 132, 131, 130, 131, 131, 132, 137, 139, 139, 141, 144, 145, 146, 147, 147, 147, 147, 148, 149, 148, 147, 146, 145, 143, 141, 141, 140, 138, 135, 133, 132, 132, 130, 127, 124, 123, 124, 121, 119, 118, 117, 115, 115, 116, 114, 114, 115, 115, 113, 113, 115, 114, 112, 110, 109, 108, 105, 105, 110, 111, 108, 111, 113, 113, 115, 119, 122, 121, 123, 125, 125, 125, 126, 127, 126, 126, 125, 125, 125, 127, 127, 128, 128, 129, 129, 130, 132, 133, 133, 133, 134, 134, 133, 133, 134, 134, 134, 133, 132, 132, 132, 132, 130, 130, 131, 131, 130, 129, 131, 132, 132, 133, 135, 136, 137, 137, 139, 141, 141, 142, 143, 143, 142, 140, 140, 140, 139, 137, 135, 135, 135, 131, 130, 132, 129, 127, 129, 129, 124, 124, 126, 125, 124, 124, 123, 121, 121, 122, 124, 124, 123, 124, 122, 121, 124, 124, 122, 121, 120, 119, 119, 119, 118, 115, 112, 108, 107, 108, 112, 111, 111, 113, 114, 115, 117, 120, 122, 122, 124, 127, 128, 128, 127, 128, 129, 129, 129, 130, 131, 130, 131, 132, 133, 133, 134, 135, 134, 134, 135, 135, 135, 133, 132, 131, 129, 129, 129, 128, 128, 129, 128, 126, 130, 131, 127, 129, 132, 132, 130, 131, 134, 134, 134, 138, 141, 139, 138, 140, 139, 139, 138, 137, 135, 132, 134, 131, 130, 131, 129, 126, 125, 127, 125, 125, 124, 126, 127, 125, 130, 131, 128, 127, 127, 125, 123, 124, 124, 123, 122, 125, 124, 123, 121, 123, 125, 123, 122, 123, 126, 124, 125, 125, 123, 122, 122, 122, 122, 120, 118, 117, 117, 117, 117, 117, 116, 116, 118, 121, 122, 120, 120, 121, 122, 123, 124, 126, 128, 131, 132, 134, 135, 135, 134, 136, 137, 138, 139, 136, 136, 135, 133, 134, 132, 129, 127, 128, 129, 128, 128, 126, 126, 127, 127, 127, 127, 128, 128, 129, 130, 130, 130, 130, 132, 133, 131, 131, 133, 133, 132, 133, 133, 133, 132, 132, 131, 131, 131, 129, 130, 131, 131, 129, 127, 126, 127, 127, 127, 126, 126, 125, 125, 124, 124, 126, 126, 126, 126, 125, 125, 125, 126, 127, 127, 127, 129, 130, 128, 127, 128, 128, 128, 128, 128, 126, 124, 124, 124, 123, 120, 120, 120, 120, 120, 120, 121, 121, 122, 122, 123, 123, 122, 123, 124, 124, 123, 124, 126, 126, 127, 127, 128, 128, 127, 126, 127, 128, 128, 127, 126, 127, 129, 130, 128, 129, 130, 130, 131, 132, 133, 132, 134, 135, 135, 135, 134, 134, 135, 136, 136, 134, 132, 133, 133, 131, 128, 129, 131, 129, 130, 131, 129, 131, 132, 131, 129, 130, 130, 131, 129, 127, 128, 128, 129, 128, 127, 127, 126, 125, 124, 123, 124, 126, 126, 126, 126, 127, 129, 129, 127, 125, 125, 125, 125, 125, 125, 124, 126, 127, 126, 123, 122, 122, 122, 123, 124, 124, 126, 127, 126, 126, 126, 125, 124, 124, 126, 127, 128, 127, 126, 125, 124, 125, 124, 123, 125, 127, 126, 127, 129, 128, 128, 129, 129, 129, 130, 130, 130, 130, 129, 129, 128, 128, 129, 128, 127, 129, 130, 128, 128, 128, 128, 128, 129, 129, 131, 131, 131, 131, 130, 131, 131, 130, 129, 128, 128, 130, 129, 128, 127, 127, 126, 126, 128, 128, 128, 127, 126, 128, 129, 128, 127, 127, 126, 127, 127, 126, 126, 126, 127, 127, 127, 125, 125, 126, 126, 125, 125, 126, 126, 126, 127, 127, 125, 125, 126, 126, 126, 125, 126, 128, 129, 129, 128, 128, 128, 127, 127, 127, };
const unsigned char to[] PROGMEM = {129, 128, 128, 129, 129, 128, 128, 129, 128, 128, 128, 128, 128, 128, 128, 127, 129, 128, 127, 127, 127, 128, 127, 128, 127, 128, 127, 126, 127, 127, 128, 127, 127, 127, 127, 128, 127, 128, 127, 128, 127, 128, 127, 127, 128, 127, 128, 127, 128, 127, 127, 128, 127, 128, 127, 128, 127, 128, 128, 127, 128, 128, 128, 127, 128, 128, 128, 128, 127, 128, 127, 128, 127, 128, 127, 126, 128, 126, 128, 127, 126, 127, 127, 128, 126, 127, 128, 127, 127, 127, 128, 128, 128, 127, 128, 128, 128, 127, 128, 128, 128, 129, 127, 129, 127, 128, 128, 127, 128, 127, 128, 127, 127, 127, 128, 128, 127, 127, 126, 128, 127, 127, 128, 127, 128, 127, 127, 127, 127, 127, 126, 128, 127, 127, 128, 127, 128, 127, 126, 128, 127, 128, 126, 127, 128, 126, 128, 128, 130, 129, 128, 130, 130, 131, 129, 131, 131, 130, 130, 129, 131, 129, 130, 130, 128, 129, 128, 128, 128, 127, 128, 127, 126, 126, 125, 126, 125, 125, 125, 126, 125, 125, 125, 123, 125, 124, 123, 126, 122, 124, 124, 123, 123, 123, 124, 123, 124, 123, 124, 125, 124, 121, 127, 143, 134, 125, 131, 125, 130, 130, 128, 131, 125, 132, 128, 130, 143, 123, 126, 145, 134, 131, 133, 132, 131, 129, 130, 130, 128, 127, 128, 128, 128, 128, 126, 131, 136, 136, 135, 130, 128, 132, 129, 127, 128, 127, 127, 122, 124, 125, 121, 125, 122, 125, 128, 122, 128, 127, 124, 126, 125, 127, 126, 125, 124, 128, 126, 124, 130, 122, 124, 127, 122, 127, 121, 122, 121, 119, 127, 120, 127, 129, 130, 132, 123, 129, 129, 147, 164, 152, 148, 138, 140, 121, 114, 154, 142, 120, 111, 109, 122, 115, 124, 117, 120, 139, 120, 129, 127, 129, 144, 127, 142, 131, 125, 143, 114, 122, 128, 124, 138, 124, 124, 118, 115, 131, 117, 118, 136, 137, 138, 140, 132, 130, 137, 127, 122, 129, 123, 125, 127, 121, 127, 132, 132, 133, 127, 122, 132, 139, 135, 130, 131, 126, 121, 123, 117, 120, 129, 125, 119, 119, 122, 118, 125, 128, 124, 137, 127, 120, 130, 122, 129, 131, 121, 127, 133, 127, 117, 125, 122, 123, 135, 126, 132, 135, 127, 126, 123, 123, 116, 134, 137, 117, 130, 123, 126, 132, 116, 122, 124, 134, 130, 121, 131, 122, 140, 135, 120, 133, 117, 134, 140, 118, 129, 120, 125, 135, 118, 127, 125, 122, 134, 120, 120, 130, 115, 126, 137, 114, 130, 140, 128, 136, 129, 129, 131, 129, 137, 125, 122, 130, 128, 129, 123, 123, 126, 128, 131, 123, 119, 125, 131, 130, 129, 127, 131, 137, 125, 124, 128, 127, 132, 122, 124, 125, 122, 137, 125, 114, 128, 131, 130, 129, 122, 124, 136, 135, 119, 121, 135, 132, 125, 129, 124, 127, 135, 117, 118, 132, 122, 124, 132, 129, 125, 127, 133, 131, 128, 128, 124, 127, 130, 125, 124, 123, 125, 130, 127, 126, 126, 124, 130, 127, 117, 123, 136, 133, 123, 127, 132, 133, 132, 123, 122, 131, 130, 119, 119, 122, 123, 127, 118, 122, 133, 125, 124, 131, 136, 139, 139, 133, 124, 136, 138, 127, 130, 132, 133, 125, 119, 124, 120, 120, 122, 129, 125, 121, 137, 128, 120, 133, 129, 125, 130, 135, 123, 112, 127, 134, 127, 122, 122, 130, 133, 123, 115, 131, 135, 124, 124, 117, 119, 130, 125, 117, 122, 136, 133, 123, 125, 124, 132, 135, 127, 130, 135, 138, 138, 141, 139, 128, 133, 137, 132, 128, 129, 139, 139, 139, 141, 138, 144, 143, 140, 140, 132, 134, 136, 138, 127, 118, 136, 131, 123, 122, 109, 113, 121, 121, 108, 102, 122, 112, 103, 112, 102, 102, 113, 109, 99, 105, 110, 100, 105, 111, 102, 104, 112, 107, 107, 122, 122, 117, 132, 139, 140, 153, 157, 156, 171, 184, 184, 186, 194, 193, 186, 186, 181, 170, 169, 165, 153, 152, 148, 145, 143, 133, 129, 131, 131, 123, 113, 110, 113, 113, 105, 95, 95, 93, 80, 73, 79, 74, 54, 39, 40, 44, 50, 72, 79, 75, 108, 131, 131, 145, 160, 166, 161, 160, 160, 142, 137, 125, 101, 97, 88, 73, 65, 76, 99, 104, 129, 176, 210, 219, 220, 242, 254, 247, 232, 215, 214, 203, 183, 168, 152, 148, 144, 132, 120, 120, 129, 127, 125, 113, 103, 108, 101, 83, 65, 63, 52, 33, 11, 0, 42, 107, 74, 67, 112, 164, 176, 166, 188, 186, 182, 187, 160, 126, 103, 101, 79, 48, 44, 32, 32, 45, 57, 65, 71, 112, 156, 178, 196, 221, 247, 254, 255, 247, 232, 224, 212, 195, 174, 162, 153, 145, 141, 132, 131, 128, 128, 128, 117, 115, 111, 108, 104, 94, 88, 80, 79, 68, 62, 63, 51, 52, 43, 67, 117, 110, 110, 131, 148, 158, 157, 173, 159, 137, 148, 140, 123, 103, 89, 82, 72, 74, 70, 66, 68, 79, 95, 103, 132, 163, 178, 201, 219, 226, 227, 231, 231, 217, 208, 200, 191, 175, 158, 150, 137, 132, 130, 123, 115, 109, 111, 109, 108, 111, 108, 106, 107, 105, 100, 94, 90, 82, 74, 65, 44, 33, 62, 88, 79, 81, 103, 113, 121, 142, 156, 151, 151, 162, 165, 154, 144, 138, 123, 109, 104, 92, 81, 74, 76, 80, 92, 120, 137, 154, 173, 186, 198, 204, 211, 211, 204, 203, 196, 185, 170, 158, 151, 145, 143, 135, 129, 128, 127, 129, 125, 125, 127, 128, 129, 126, 125, 118, 112, 111, 103, 100, 96, 90, 79, 66, 74, 85, 85, 83, 85, 91, 93, 101, 112, 113, 117, 126, 132, 137, 141, 140, 135, 132, 129, 125, 121, 116, 115, 115, 115, 115, 117, 122, 127, 129, 133, 140, 145, 149, 156, 159, 160, 162, 164, 161, 157, 155, 154, 150, 147, 143, 141, 141, 140, 138, 138, 139, 138, 138, 140, 140, 139, 139, 138, 135, 133, 129, 125, 122, 119, 116, 114, 113, 110, 107, 106, 104, 102, 101, 101, 100, 100, 101, 102, 102, 103, 107, 110, 111, 115, 117, 120, 123, 124, 128, 130, 131, 132, 133, 136, 136, 137, 138, 139, 139, 138, 139, 138, 136, 135, 134, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 134, 134, 135, 135, 136, 135, 134, 134, 133, 133, 132, 131, 130, 130, 130, 129, 128, 129, 128, 128, 127, 126, 125, 125, 125, 124, 124, 124, 124, 124, 124, 124, 125, 125, 126, 126, 126, 127, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126, 125, 125, 124, 125, 124, 124, 124, 124, 124, 124, 125, 125, 125, 125, 125, 125, 126, 126, 126, 126, 127, 127, 127, 127, 127, 128, 128, 128, 128, 129, 129, 129, 129, 129, 129, 130, 130, 130, 130, 131, 131, 131, 132, 132, 132, 132, 132, 132, 132, 132, 132, 131, 131, 131, 130, 130, 129, 129, 129, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126, 126, 126, 125, 125, 125, 125, 125, 125, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 125, 125, 125, 125, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 126, 126, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 128, 129, 129, 129, 129, };
const unsigned char s[] PROGMEM = {129, 129, 128, 128, 128, 129, 129, 129, 128, 128, 129, 129, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 129, 129, 129, 130, 130, 130, 130, 130, 130, 130, 129, 129, 128, 128, 128, 127, 127, 127, 126, 127, 127, 127, 127, 127, 127, 127, 128, 128, 129, 129, 129, 129, 129, 129, 129, 129, 128, 128, 128, 127, 127, 127, 126, 126, 126, 126, 126, 126, 125, 126, 126, 126, 127, 127, 127, 126, 126, 127, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 126, 126, 126, 127, 127, 127, 127, 126, 127, 127, 126, 126, 126, 127, 127, 128, 127, 127, 127, 128, 129, 129, 129, 130, 130, 130, 130, 130, 130, 130, 129, 129, 128, 128, 128, 127, 126, 126, 126, 127, 126, 126, 126, 126, 126, 127, 127, 127, 128, 128, 128, 129, 128, 128, 128, 128, 129, 128, 128, 128, 128, 129, 129, 128, 127, 128, 128, 128, 128, 127, 127, 127, 128, 127, 128, 127, 127, 127, 128, 128, 128, 128, 128, 128, 127, 128, 127, 127, 127, 127, 127, 127, 127, 126, 127, 127, 128, 127, 128, 127, 128, 128, 129, 128, 128, 129, 129, 130, 130, 129, 128, 129, 130, 129, 128, 127, 127, 127, 127, 126, 126, 125, 125, 125, 125, 125, 125, 126, 127, 127, 128, 129, 129, 130, 130, 131, 131, 132, 132, 131, 130, 131, 132, 131, 131, 129, 128, 129, 130, 129, 128, 128, 129, 129, 129, 128, 128, 128, 128, 129, 129, 128, 128, 128, 128, 128, 128, 127, 127, 128, 128, 127, 127, 127, 127, 126, 127, 128, 127, 127, 127, 127, 128, 127, 127, 126, 125, 125, 125, 124, 124, 122, 122, 122, 122, 122, 122, 123, 124, 125, 125, 125, 126, 127, 128, 129, 130, 130, 129, 129, 128, 127, 127, 126, 126, 125, 123, 122, 122, 121, 122, 121, 122, 123, 123, 125, 125, 125, 127, 128, 129, 130, 130, 131, 131, 132, 132, 131, 131, 131, 131, 130, 129, 128, 127, 127, 127, 125, 124, 123, 124, 126, 124, 124, 124, 125, 126, 127, 126, 127, 127, 128, 129, 129, 128, 128, 131, 131, 131, 131, 131, 132, 133, 133, 132, 132, 132, 133, 132, 131, 130, 131, 130, 129, 130, 129, 128, 128, 129, 127, 126, 127, 127, 126, 127, 128, 128, 129, 129, 130, 129, 131, 132, 131, 131, 132, 131, 130, 131, 130, 130, 129, 130, 128, 127, 128, 127, 127, 127, 126, 126, 127, 125, 125, 125, 125, 125, 127, 127, 126, 126, 126, 128, 127, 128, 128, 129, 129, 129, 128, 128, 129, 129, 129, 127, 128, 126, 126, 127, 125, 124, 124, 125, 126, 127, 124, 125, 127, 130, 130, 130, 130, 130, 131, 132, 132, 130, 129, 129, 130, 129, 127, 125, 124, 124, 124, 124, 120, 121, 122, 122, 123, 123, 121, 122, 123, 123, 125, 125, 126, 127, 128, 127, 126, 127, 126, 126, 125, 125, 125, 125, 123, 122, 121, 122, 124, 126, 124, 123, 125, 127, 129, 129, 129, 129, 131, 132, 132, 130, 129, 128, 128, 128, 127, 126, 123, 123, 125, 125, 124, 127, 127, 127, 129, 131, 131, 131, 130, 130, 132, 131, 130, 129, 128, 129, 131, 129, 127, 127, 128, 129, 130, 131, 128, 128, 130, 133, 131, 130, 129, 131, 132, 132, 132, 129, 128, 128, 128, 126, 125, 123, 123, 122, 123, 122, 122, 124, 123, 125, 126, 128, 130, 133, 133, 134, 137, 137, 139, 139, 137, 136, 138, 136, 135, 131, 127, 127, 126, 125, 120, 118, 118, 120, 121, 123, 120, 118, 122, 126, 128, 125, 126, 127, 130, 132, 133, 129, 129, 133, 134, 136, 135, 134, 128, 133, 134, 134, 132, 130, 127, 125, 126, 123, 123, 123, 123, 121, 125, 125, 124, 121, 121, 126, 126, 131, 130, 129, 127, 130, 129, 129, 127, 124, 124, 124, 125, 118, 118, 115, 118, 115, 115, 114, 112, 117, 116, 120, 121, 121, 118, 123, 121, 121, 123, 126, 124, 118, 122, 122, 124, 122, 124, 120, 121, 127, 128, 124, 120, 124, 128, 133, 133, 130, 124, 128, 132, 133, 129, 126, 129, 124, 125, 124, 125, 122, 126, 128, 126, 126, 124, 131, 131, 129, 124, 123, 123, 128, 123, 121, 119, 119, 124, 122, 123, 121, 124, 123, 128, 126, 124, 125, 123, 128, 127, 123, 121, 124, 121, 124, 122, 122, 121, 119, 119, 119, 121, 119, 122, 117, 120, 121, 126, 123, 119, 121, 92, 65, 75, 74, 42, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 21, 40, 47, 70, 106, 123, 130, 148, 162, 160, 160, 147, 143, 144, 133, 118, 103, 81, 70, 64, 56, 51, 33, 33, 41, 40, 40, 51, 57, 67, 90, 98, 101, 112, 134, 150, 166, 178, 177, 177, 182, 192, 202, 204, 204, 214, 222, 222, 214, 214, 210, 212, 224, 220, 217, 210, 215, 217, 213, 219, 207, 205, 214, 205, 195, 184, 184, 180, 177, 186, 166, 161, 168, 164, 162, 148, 158, 157, 143, 144, 133, 128, 121, 113, 102, 91, 90, 68, 68, 71, 38, 38, 39, 30, 27, 16, 24, 28, 25, 25, 28, 28, 22, 27, 20, 26, 42, 35, 47, 57, 53, 64, 70, 83, 95, 85, 83, 96, 103, 101, 101, 94, 104, 110, 100, 107, 102, 100, 117, 122, 127, 123, 121, 140, 152, 166, 173, 172, 192, 202, 212, 228, 225, 244, 255, 249, 254, 236, 231, 239, 225, 215, 199, 198, 203, 192, 185, 183, 201, 194, 175, 181, 177, 185, 186, 175, 182, 180, 177, 175, 171, 163, 158, 157, 137, 134, 124, 106, 116, 92, 91, 99, 62, 70, 61, 44, 63, 39, 40, 42, 30, 54, 44, 46, 61, 49, 69, 66, 66, 79, 55, 75, 85, 71, 73, 58, 68, 77, 67, 65, 61, 64, 68, 83, 82, 74, 97, 97, 116, 131, 111, 135, 141, 141, 161, 142, 146, 159, 155, 162, 160, 158, 165, 173, 173, 176, 176, 167, 182, 181, 173, 189, 182, 190, 195, 182, 202, 194, 189, 198, 182, 189, 171, 161, 188, 159, 159, 174, 154, 167, 146, 128, 151, 131, 127, 128, 102, 118, 119, 106, 117, 109, 110, 112, 98, 101, 98, 96, 99, 97, 96, 85, 91, 92, 78, 88, 94, 83, 82, 80, 80, 83, 74, 72, 79, 67, 72, 80, 70, 82, 70, 67, 88, 76, 79, 90, 101, 126, 124, 116, 117, 127, 128, 130, 141, 133, 141, 153, 139, 133, 136, 146, 151, 147, 142, 147, 143, 141, 156, 142, 154, 174, 154, 161, 161, 171, 179, 167, 185, 179, 195, 197, 180, 200, 166, 172, 175, 127, 152, 149, 149, 162, 135, 153, 139, 130, 149, 123, 134, 150, 131, 130, 132, 137, 147, 125, 115, 137, 116, 108, 116, 80, 106, 116, 77, 111, 86, 67, 120, 70, 83, 120, 60, 111, 98, 58, 110, 56, 88, 98, 48, 114, 70, 79, 111, 57, 107, 82, 88, 122, 79, 121, 102, 104, 133, 104, 134, 123, 129, 134, 112, 135, 119, 142, 153, 135, 155, 136, 144, 153, 151, 153, 142, 161, 162, 167, 164, 150, 156, 162, 167, 151, 164, 153, 151, 187, 151, 179, 173, 146, 194, 142, 169, 180, 130, 184, 138, 144, 162, 114, 161, 124, 129, 147, 106, 152, 122, 114, 141, 106, 134, 125, 110, 128, 110, 123, 119, 115, 116, 109, 114, 108, 109, 109, 110, 100, 98, 108, 97, 100, 100, 89, 104, 88, 95, 103, 81, 102, 98, 92, 104, 101, 103, 108, 105, 109, 118, 114, 120, 121, 122, 128, 125, 128, 124, 131, 134, 132, 136, 138, 135, 139, 139, 134, 144, 136, 145, 141, 145, 146, 147, 150, 147, 153, 155, 151, 162, 155, 153, 164, 150, 162, 151, 155, 157, 152, 152, 148, 149, 148, 145, 149, 143, 144, 146, 138, 145, 137, 140, 135, 134, 133, 133, 132, 128, 127, 123, 123, 121, 122, 118, 117, 118, 115, 115, 116, 114, 112, 115, 105, 115, 107, 107, 110, 102, 110, 104, 110, 106, 107, 109, 109, 109, 112, 108, 117, 109, 116, 113, 116, 118, 115, 122, 113, 126, 117, 126, 123, 126, 126, 129, 126, 134, 129, 136, 134, 135, 140, };
const unsigned char one[] PROGMEM = {128, 129, 129, 129, 129, 130, 130, 130, 130, 130, 130, 130, 130, 131, 131, 131, 131, 132, 132, 132, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 132, 131, 130, 129, 127, 126, 124, 122, 120, 119, 118, 117, 116, 116, 115, 115, 115, 115, 115, 115, 116, 117, 119, 120, 121, 122, 123, 123, 123, 123, 122, 121, 120, 119, 118, 118, 118, 118, 119, 119, 121, 122, 125, 128, 132, 137, 143, 150, 157, 163, 168, 171, 171, 169, 166, 160, 154, 148, 142, 138, 135, 132, 130, 128, 127, 124, 121, 120, 118, 117, 117, 117, 118, 118, 118, 117, 115, 113, 110, 108, 106, 104, 102, 101, 102, 104, 109, 115, 122, 127, 132, 135, 136, 136, 135, 134, 132, 129, 125, 121, 116, 112, 107, 104, 101, 100, 101, 104, 108, 113, 119, 125, 130, 135, 139, 145, 151, 157, 163, 168, 170, 170, 168, 164, 159, 155, 150, 147, 144, 142, 140, 140, 139, 139, 138, 136, 134, 131, 127, 124, 121, 119, 119, 119, 118, 117, 115, 113, 111, 108, 106, 103, 100, 96, 94, 95, 98, 102, 109, 117, 124, 131, 136, 139, 141, 141, 139, 136, 133, 129, 124, 120, 116, 111, 108, 105, 102, 101, 101, 103, 106, 111, 118, 126, 136, 146, 157, 166, 172, 176, 176, 173, 167, 161, 155, 150, 146, 144, 142, 141, 141, 141, 140, 139, 136, 134, 132, 129, 128, 126, 125, 124, 123, 121, 119, 117, 113, 108, 104, 98, 92, 87, 83, 79, 78, 83, 90, 100, 113, 124, 135, 143, 148, 151, 150, 148, 144, 140, 136, 131, 126, 121, 116, 112, 107, 102, 97, 94, 93, 95, 103, 113, 125, 140, 155, 168, 178, 186, 188, 187, 182, 173, 165, 157, 151, 146, 143, 142, 141, 141, 141, 139, 137, 135, 131, 129, 126, 124, 122, 122, 120, 118, 117, 111, 105, 99, 91, 84, 77, 74, 70, 68, 73, 80, 92, 107, 123, 139, 150, 160, 163, 161, 158, 149, 141, 133, 124, 116, 109, 104, 99, 95, 91, 87, 87, 89, 95, 107, 121, 140, 158, 175, 189, 197, 201, 198, 191, 182, 172, 162, 154, 148, 144, 142, 142, 140, 140, 140, 138, 138, 136, 134, 132, 130, 129, 128, 126, 123, 117, 110, 100, 91, 82, 73, 64, 59, 56, 55, 66, 80, 97, 123, 142, 161, 174, 178, 177, 167, 155, 139, 123, 111, 98, 91, 86, 82, 81, 79, 81, 81, 85, 95, 103, 120, 137, 154, 174, 188, 201, 208, 208, 203, 192, 180, 166, 154, 147, 139, 139, 139, 141, 146, 149, 152, 154, 152, 149, 142, 135, 129, 124, 119, 116, 113, 106, 100, 90, 81, 71, 63, 56, 53, 55, 55, 75, 95, 115, 152, 166, 187, 194, 185, 178, 155, 135, 113, 96, 84, 75, 74, 75, 73, 79, 81, 85, 93, 100, 112, 125, 140, 156, 170, 183, 193, 196, 198, 192, 186, 175, 165, 156, 148, 144, 142, 143, 148, 152, 157, 162, 163, 165, 160, 154, 144, 133, 124, 114, 108, 102, 98, 97, 95, 92, 90, 87, 77, 73, 64, 53, 51, 58, 84, 107, 148, 179, 194, 212, 195, 180, 155, 121, 99, 79, 65, 62, 63, 68, 75, 82, 91, 94, 106, 115, 124, 143, 153, 166, 175, 174, 173, 169, 166, 166, 166, 169, 167, 168, 165, 159, 160, 155, 154, 158, 157, 161, 166, 165, 165, 159, 148, 134, 122, 110, 103, 99, 97, 99, 98, 99, 96, 92, 84, 70, 63, 44, 33, 58, 67, 119, 160, 191, 226, 215, 207, 165, 135, 96, 67, 61, 53, 66, 78, 87, 100, 105, 105, 109, 107, 113, 119, 133, 143, 152, 158, 155, 154, 156, 155, 166, 174, 181, 187, 180, 176, 164, 155, 146, 145, 147, 151, 163, 170, 173, 176, 165, 154, 140, 122, 110, 101, 97, 97, 99, 101, 103, 99, 89, 75, 60, 38, 20, 10, 50, 86, 145, 217, 224, 255, 221, 162, 129, 66, 45, 40, 50, 77, 100, 123, 128, 133, 128, 113, 110, 102, 99, 112, 116, 126, 135, 136, 139, 144, 159, 172, 194, 205, 205, 196, 174, 155, 141, 128, 135, 146, 162, 181, 188, 193, 185, 172, 155, 140, 127, 118, 113, 108, 106, 105, 100, 97, 91, 80, 68, 58, 41, 33, 10, 34, 80, 117, 201, 221, 240, 221, 162, 112, 58, 38, 27, 61, 89, 120, 155, 150, 155, 140, 116, 104, 87, 84, 91, 104, 115, 133, 137, 135, 145, 150, 170, 194, 201, 202, 186, 160, 140, 129, 133, 148, 171, 188, 196, 195, 182, 169, 158, 146, 143, 145, 142, 141, 130, 117, 108, 97, 89, 82, 75, 64, 56, 48, 39, 36, 20, 55, 115, 149, 234, 245, 221, 200, 105, 61, 33, 16, 56, 98, 136, 166, 174, 154, 132, 112, 87, 89, 87, 93, 111, 109, 122, 122, 123, 135, 144, 160, 171, 180, 172, 167, 155, 142, 152, 155, 172, 191, 188, 193, 176, 163, 159, 153, 163, 165, 171, 163, 143, 136, 115, 110, 112, 106, 108, 98, 85, 71, 57, 56, 50, 44, 38, 26, 83, 126, 178, 249, 216, 204, 143, 55, 44, 27, 58, 116, 151, 174, 177, 149, 114, 98, 80, 81, 101, 104, 114, 121, 111, 120, 119, 133, 151, 158, 159, 150, 143, 128, 143, 146, 167, 192, 190, 201, 182, 168, 158, 149, 161, 169, 182, 191, 177, 167, 145, 127, 118, 110, 111, 111, 112, 107, 101, 94, 88, 77, 65, 60, 57, 43, 46, 38, 81, 148, 167, 235, 212, 174, 141, 51, 40, 46, 61, 130, 157, 167, 173, 127, 104, 86, 78, 92, 108, 119, 117, 116, 109, 112, 136, 147, 171, 173, 154, 144, 117, 119, 132, 156, 185, 200, 203, 184, 165, 145, 137, 152, 171, 193, 204, 192, 172, 148, 126, 122, 119, 127, 122, 121, 109, 99, 95, 88, 89, 83, 71, 66, 54, 42, 43, 25, 98, 135, 189, 237, 196, 183, 103, 57, 42, 55, 100, 136, 172, 158, 145, 122, 81, 96, 86, 98, 118, 99, 110, 94, 90, 123, 138, 170, 179, 163, 148, 114, 111, 120, 149, 184, 198, 210, 186, 165, 145, 127, 146, 158, 188, 204, 196, 183, 155, 135, 125, 128, 136, 138, 141, 126, 116, 110, 96, 102, 94, 95, 90, 74, 68, 58, 46, 53, 33, 87, 148, 164, 238, 183, 151, 114, 36, 54, 68, 103, 148, 173, 157, 139, 115, 79, 96, 100, 115, 128, 109, 101, 85, 93, 117, 148, 171, 167, 149, 119, 108, 120, 137, 180, 196, 196, 187, 151, 142, 143, 148, 176, 191, 192, 191, 168, 150, 148, 150, 159, 158, 152, 138, 121, 118, 109, 126, 129, 120, 113, 94, 82, 85, 88, 82, 82, 71, 57, 49, 50, 49, 134, 161, 192, 223, 138, 123, 68, 40, 99, 110, 147, 170, 138, 127, 102, 95, 109, 124, 131, 115, 97, 67, 67, 81, 111, 158, 166, 168, 136, 113, 112, 120, 159, 176, 189, 179, 154, 150, 144, 155, 177, 173, 182, 175, 162, 166, 164, 166, 171, 166, 150, 144, 131, 130, 143, 145, 145, 131, 114, 109, 97, 101, 98, 94, 88, 78, 66, 61, 60, 53, 63, 61, 84, 149, 176, 188, 179, 116, 95, 72, 73, 122, 133, 144, 146, 115, 110, 107, 107, 123, 123, 114, 100, 90, 85, 102, 119, 141, 158, 151, 129, 112, 108, 118, 150, 172, 178, 177, 155, 147, 149, 148, 162, 170, 174, 180, 176, 177, 178, 169, 162, 154, 149, 145, 148, 144, 150, 148, 141, 132, 119, 115, 116, 114, 110, 106, 89, 81, 75, 71, 75, 72, 61, 68, 47, 101, 157, 176, 207, 145, 116, 79, 65, 92, 121, 138, 133, 141, 115, 121, 122, 111, 111, 93, 81, 82, 92, 102, 129, 136, 141, 147, 124, 118, 114, 114, 141, 146, 154, 161, 152, 155, 154, 154, 153, 161, 155, 164, 166, 164, 166, 161, 162, 155, 164, 159, 166, 162, 155, 152, 146, 140, 136, 129, 112, 115, 115, 117, 122, 112, 103, 95, 82, 80, 77, 78, 74, 74, 72, 87, 148, 156, 170, 157, 101, 106, 83, 102, 134, 131, 130, 127, 123, 114, 136, 118, 114, 109, 78, 90, 86, 96, 116, 119, 131, 132, 134, 125, 120, 114, 112, 117, 129, 142, 156, 163, 154, 150, 135, 144, 147, 156, 163, 164, 169, 160, 158, 153, 153, 166, 169, 174, 170, 156, 152, 143, 145, 151, 148, 144, 138, 121, 122, 118, 116, 121, 112, 108, 104, 97, 93, 86, 81, 76, 76, 78, 80, 136, 155, 162, 155, 107, 106, 99, 109, 129, 128, 119, 109, 121, 124, 136, 130, 109, 102, 91, 88, 97, 102, 103, 109, 105, 120, 121, 120, 119, 109, 104, 113, 120, 131, 141, 133, 153, 152, 146, 143, 135, 134, 145, 156, 165, 175, 162, 157, 156, 157, 165, 164, 160, 157, 151, 155, 164, 159, 162, 151, 147, 152, 143, 138, 131, 127, 126, 134, 133, 127, 119, 105, 102, 105, 101, 99, 90, 90, 84, 86, 89, 108, 146, 143, 147, 123, 104, 109, 114, 125, 132, 124, 113, 126, 117, 122, 123, 104, 101, 93, 87, 97, 97, 92, 103, 106, 118, 128, 122, 117, 109, 109, 115, 129, 129, 125, 118, 121, 130, 135, 140, 138, 141, 139, 147, 147, 149, 149, 150, 152, 159, 163, 164, 169, 164, 166, 169, 171, 165, 165, 152, 153, 152, 149, 154, 148, 146, 143, 141, 136, 131, 124, 122, 114, 115, 115, 111, 108, 105, 106, 101, 99, 92, 84, 78, 80, 105, 129, 138, 140, 135, 124, 125, 124, 124, 125, 117, 116, 120, 119, 120, 115, 106, 105, 102, 102, 103, 101, 96, 101, 106, 114, 123, 119, 118, 117, 119, 124, 126, 120, 115, 114, 115, 119, 120, 118, 119, 125, 128, 140, 144, 142, 144, 141, 148, 150, 154, 157, 158, 161, 163, 165, 163, 162, 160, 160, 161, 162, 158, 153, 149, 149, 148, 148, 145, 144, 141, 141, 145, 139, 136, 130, 128, 127, 124, 124, 120, 114, 111, 111, 113, 113, 112, 105, 101, 96, 98, 101, 100, 108, 119, 122, 117, 122, 119, 121, 125, 126, 124, 123, 121, 119, 122, 115, 111, 105, 101, 101, 103, 103, 104, 102, 101, 105, 110, 110, 113, 114, 114, 122, 123, 127, 125, 123, 123, 123, 126, 127, 129, 130, 131, 132, 133, 132, 135, 137, 139, 139, 140, 141, 144, 148, 150, 153, 153, 152, 151, 152, 153, 156, 156, 156, 154, 153, 156, 154, 155, 154, 149, 149, 149, 149, 147, 146, 146, 140, 139, 138, 136, 135, 134, 134, 132, 128, 126, 123, 120, 117, 114, 111, 109, 106, 103, 100, 96, 95, 93, 94, 95, 99, 96, 97, 104, 108, 113, 117, 120, 119, 119, 122, 125, 123, 124, 123, 122, 122, 121, 120, 118, 114, 112, 110, 110, 112, 111, 111, 113, 116, 120, 123, 121, 120, 118, 118, 120, 123, 124, 124, 129, 130, 131, 134, 136, 137, 139, 143, 146, 147, 148, 150, 150, 153, 155, 158, 161, 161, 160, 161, 160, 160, 160, 159, 156, 156, 153, 154, 152, 149, 147, 143, 141, 138, 136, 134, 133, 128, 125, 126, 127, 127, 128, 124, 121, 119, 115, 117, 117, 117, 115, 110, 109, 107, 106, 104, 100, 96, 92, 91, 95, 99, 97, 95, 101, 106, 111, 115, 116, 116, 117, 119, 121, 123, 122, 123, 124, 123, 122, 118, 114, 114, 111, 113, 116, 118, 117, 118, 118, 121, 124, 125, 129, 128, 128, 129, 133, 134, 136, 137, 135, 138, 139, 139, 140, 136, 135, 136, 137, 141, 143, 143, 145, 147, 148, 152, 153, 155, 157, 157, 157, 158, 159, 158, 159, 158, 160, 159, 153, 150, 144, 143, 142, 139, 136, 132, 129, 127, 127, 127, 126, 125, 122, 121, 119, 117, 115, 112, 110, 110, 111, 114, 111, 108, 107, 106, 105, 104, 102, 98, 97, 94, 96, 102, 101, 98, 101, 105, 107, 113, 114, 115, 118, 120, 124, 127, 126, 124, 125, 124, 125, 125, 123, 123, 122, 123, 124, 124, 123, 122, 123, 124, 126, 127, 128, 131, 132, 134, 138, 137, 138, 139, 138, 140, 141, 139, 139, 136, 138, 139, 137, 137, 135, 135, 135, 135, 137, 139, 141, 142, 144, 145, 148, 152, 153, 153, 154, 153, 153, 153, 152, 151, 148, 147, 144, 143, 142, 139, 135, 135, 133, 131, 126, 122, 121, 119, 117, 117, 117, 114, 112, 112, 113, 112, 111, 110, 107, 106, 106, 107, 106, 104, 103, 102, 101, 102, 102, 105, 107, 102, 102, 106, 109, 114, 119, 120, 121, 123, 127, 131, 131, 130, 129, 129, 129, 129, 129, 126, 124, 125, 126, 127, 127, 126, 127, 128, 131, 132, 133, 133, 131, 135, 136, 137, 138, 136, 137, 138, 138, 139, 137, 134, 133, 133, 133, 133, 131, 132, 135, 136, 137, 138, 138, 141, 144, 145, 146, 148, 148, 151, 154, 152, 152, 150, 147, 148, 148, 145, 143, 139, 136, 136, 135, 132, 128, 125, 121, 122, 122, 121, 117, 114, 114, 113, 113, 112, 111, 107, 106, 108, 108, 109, 108, 106, 107, 107, 106, 104, 103, 102, 102, 107, 109, 108, 110, 112, 115, 118, 123, 124, 125, 126, 127, 129, 129, 128, 130, 131, 132, 132, 130, 128, 129, 129, 129, 131, 129, 127, 127, 128, 130, 131, 131, 133, 134, 134, 135, 135, 135, 135, 134, 134, 134, 135, 133, 132, 132, 131, 132, 131, 130, 130, 131, 132, 134, 135, 137, 139, 141, 144, 146, 147, 147, 147, 147, 146, 146, 147, 146, 144, 141, 139, 137, 137, 135, 132, 130, 128, 128, 127, 127, 124, 122, 122, 121, 120, 118, 116, 115, 115, 114, 113, 113, 112, 112, 113, 112, 111, 110, 110, 111, 111, 111, 110, 109, 108, 110, 113, 113, 112, 113, 115, 119, 122, 123, 125, 126, 127, 130, 131, 131, 130, 130, 129, 131, 130, 128, 128, 128, 128, 128, 128, 127, 127, 127, 128, 130, 131, 131, 131, 131, 132, 134, 134, 133, 132, 132, 132, 132, 131, 130, 130, 130, 131, 130, 130, 130, 131, 133, 135, 136, 136, 138, 140, 142, 143, 144, 145, 146, 146, 145, 144, 144, 143, 142, 141, 139, 136, 135, 134, 133, 131, 130, 128, 127, 126, 126, 125, 123, 121, 121, 121, 120, 118, 117, 115, 116, 116, 115, 114, 113, 113, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 112, 114, 118, 118, 116, 118, 119, 121, 125, 126, 126, 126, 127, 129, 131, 130, 129, 129, 129, 130, 130, 128, 127, 127, 127, 128, 128, 127, 127, 128, 129, 131, 131, 130, 130, 131, 132, 132, 132, 132, 132, 132, 131, 132, 131, 130, 130, 131, 130, 131, 131, 130, 133, 134, 134, 136, 137, 138, 140, 141, 141, 141, 141, 141, 143, 142, 141, 140, 138, 138, 138, 136, 134, 132, 130, 130, 130, 129, 128, 126, 125, 124, 125, 124, 122, 121, 120, 120, 119, 118, 117, 116, 116, 116, 117, 116, 116, 117, 116, 115, 117, 118, 118, 117, 116, 117, 117, 116, 118, 120, 119, 119, 120, 121, 123, 124, 125, 125, 126, 127, 128, 129, 128, 128, 129, 130, 130, 129, 128, 129, 130, 129, 130, 130, 128, 129, 130, 131, 132, 131, 130, 131, 132, 131, 132, 131, 130, 130, 130, 130, 130, 130, 128, 128, 129, 129, 129, 129, 129, 129, 131, 132, 132, 132, 133, 135, 136, 136, 136, 137, 137, 137, 138, 137, 135, 134, 134, 133, 133, 131, 130, 129, 128, 129, 129, 129, 128, 128, 127, 128, 128, 127, 126, 125, 125, 124, 124, 123, 121, 120, 119, 119, 120, 119, 119, 119, 119, 119, 120, 122, 122, 122, 121, 122, 122, 122, 122, 121, 120, 119, 120, 122, 122, 122, 123, 124, 124, 126, 126, 127, 127, 128, 129, 129, 128, 129, 130, 130, 130, 130, 130, 130, 131, 131, 131, 131, 131, 131, 132, 132, 132, 132, 131, 131, 132, 132, 130, 130, 129, 130, 130, 129, 128, 128, 128, 128, 128, 128, 127, 127, 128, 128, 129, 129, 129, 130, 130, 131, 131, 132, 132, 133, 133, 133, 133, 133, 133, 132, 131, 131, 130, 128, 128, 128, 127, 127, 126, 126, 126, 126, 127, 126, 126, 126, 126, 126, 126, 126, 125, 126, 126, 126, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 126, 126, 126, 126, 126, 126, 127, 126, 126, 126, 126, 126, 126, 126, 125, 123, 123, 125, 125, 123, 123, 123, 124, 125, 125, 124, 124, 125, 127, 127, 127, 127, 128, 129, 130, 130, 131, 131, 131, 131, 131, 131, 130, 130, 130, 130, 130, 129, 128, 128, 129, 129, 129, 127, 126, 127, 127, 125, 125, 124, 124, 125, 126, 125, 125, 125, 126, 127, 127, 127, 128, 130, 131, 131, 132, 133, 133, 134, 133, 133, 133, 132, 132, 131, 131, 130, 130, 131, 129, 129, 130, 129, 129, 129, 128, 128, 128, 129, 129, 130, 129, 129, 129, 129, 129, 130, 129, 128, 127, 127, 128, 128, 127, 126, 127, 128, 128, 128, 127, 126, 125, 125, 126, 126, 125, 124, 124, 125, 126, 125, 124, 122, 122, 123, 124, 123, 122, 122, 123, 124, 123, 123, 123, 123, 123, 123, 124, 124, 124, 125, 126, 126, 126, 126, 126, 127, 127, 127, 127, 128, 128, 128, 128, 129, 130, 129, 129, 129, 129, 129, 128, 128, 129, 129, 130, 129, 129, 130, 129, 129, 131, 132, 131, 132, 133, 133, 132, 131, 131, 132, 133, 132, 132, 131, 130, 130, 130, 129, 129, 130, 130, 129, 129, 128, 129, 129, 129, 129, 129, 128, 128, 129, 129, 129, 128, 127, 127, 127, 126, 125, 125, 126, 126, 127, 126, 125, 125, 125, 125, 124, 124, 124, 124, 124, 126, 125, 124, 125, 125, 125, 126, 125, 125, 125, 125, 124, 124, 124, 124, 125, 125, 125, 125, 125, 124, 125, 126, 125, 125, 125, 125, 127, 128, 127, 126, 127, 127, 129, 130, 130, 131, 131, 132, 133, 133, 132, 131, 131, 132, 132, 132, 131, 131, 130, 129, 129, 129, 129, 129, 128, 128, 128, 129, 131, 131, 130, 130, 130, 131, 131, 129, 128, 128, 130, 131, 131, 129, 129, 128, 128, 128, 127, 125, 125, 126, 127, 128, 128, 127, 126, 126, 125, 125, 125, 125, 125, 125, 126, 127, 127, 125, 124, 124, 125, 126, 126, 126, 126, 127, 127, 127, 126, 125, 125, 126, 126, 127, 128, 128, 127, 126, 126, 126, 125, 124, 125, 125, 127, 127, 129, 129, 128, 128, 129, 128, 127, 128, 129, 129, 129, 129, 129, 128, 128, 128, 127, 127, 128, 129, 130, 129, 129, 129, 128, 128, 129, 128, 128, 128, 128, 129, 129, 129, 128, 127, 126, 128, 129, 129, 129, 128, 128, 128, 129, 129, 127, 127, 127, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 127, 127, 126, 126, 126, 126, 127, 126, 126, 127, 127, 127, 128, 128, 128, 127, 127, 127, 128, 128, 128, 127, 127, 128, 128, 128, 127, 127, 128, 128, 128, 127, 128, 129, 130, 129, 129, 128, 128, 129, 130, 129, 129, 129, 129, 129, 128, 127, 128, 128, 129, 129, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 127, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126, 127, 127, 127, 127, 128, 127, 127, 127, 128, 127, 127, 127, 127, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,};
const unsigned char two[] PROGMEM = {127, 125, 126, 126, 126, 127, 124, 127, 126, 125, 127, 125, 127, 127, 126, 126, 128, 124, 129, 125, 126, 162, 148, 119, 131, 126, 128, 122, 119, 128, 117, 123, 121, 121, 126, 123, 132, 130, 125, 131, 130, 127, 127, 131, 128, 131, 129, 125, 131, 127, 128, 127, 131, 134, 126, 132, 126, 128, 133, 121, 136, 129, 132, 132, 116, 137, 110, 126, 122, 116, 129, 119, 136, 122, 148, 147, 146, 167, 143, 134, 161, 113, 119, 135, 111, 124, 111, 133, 104, 117, 138, 110, 134, 128, 137, 132, 125, 142, 125, 136, 129, 129, 143, 129, 125, 129, 136, 124, 119, 126, 120, 120, 127, 124, 125, 137, 114, 150, 118, 126, 125, 116, 139, 115, 138, 115, 150, 136, 141, 127, 126, 138, 130, 131, 141, 123, 145, 128, 112, 137, 105, 132, 106, 153, 115, 115, 140, 118, 134, 116, 142, 131, 132, 135, 125, 133, 124, 130, 120, 122, 133, 119, 121, 129, 141, 133, 130, 127, 121, 133, 124, 125, 113, 119, 119, 119, 111, 118, 133, 118, 159, 104, 136, 114, 132, 150, 130, 144, 126, 154, 136, 130, 113, 146, 116, 155, 110, 101, 142, 122, 127, 118, 142, 129, 129, 119, 130, 127, 129, 139, 157, 137, 126, 126, 130, 138, 129, 131, 133, 125, 135, 110, 116, 129, 119, 135, 94, 166, 105, 125, 140, 112, 142, 81, 143, 111, 121, 117, 131, 145, 118, 135, 133, 131, 118, 127, 109, 134, 143, 115, 103, 124, 142, 120, 125, 128, 108, 127, 145, 95, 125, 139, 121, 140, 119, 105, 133, 144, 122, 137, 123, 141, 139, 144, 112, 118, 137, 124, 136, 111, 115, 132, 126, 119, 146, 128, 122, 145, 124, 86, 155, 136, 108, 126, 125, 152, 104, 143, 113, 116, 146, 112, 129, 119, 142, 120, 161, 96, 105, 155, 126, 139, 102, 117, 119, 163, 112, 114, 121, 129, 141, 138, 111, 107, 165, 134, 119, 113, 137, 120, 140, 120, 115, 130, 139, 149, 119, 143, 109, 127, 132, 133, 105, 120, 140, 110, 153, 121, 128, 118, 154, 109, 144, 119, 117, 152, 105, 150, 90, 148, 128, 138, 114, 118, 145, 127, 125, 112, 164, 128, 112, 127, 136, 112, 111, 109, 118, 146, 111, 131, 138, 132, 141, 131, 150, 116, 143, 136, 133, 138, 121, 128, 131, 135, 99, 120, 153, 125, 115, 130, 123, 132, 133, 123, 119, 149, 112, 143, 117, 105, 143, 113, 123, 130, 119, 118, 180, 117, 117, 131, 156, 129, 124, 148, 109, 161, 121, 102, 142, 126, 125, 119, 133, 133, 104, 131, 115, 156, 120, 128, 135, 158, 139, 108, 134, 112, 156, 105, 119, 103, 143, 119, 106, 128, 111, 151, 124, 150, 118, 129, 140, 133, 143, 96, 127, 134, 120, 116, 108, 119, 117, 132, 106, 110, 146, 135, 137, 159, 135, 123, 137, 136, 108, 119, 133, 119, 128, 126, 125, 112, 123, 144, 132, 118, 136, 129, 126, 124, 139, 111, 111, 154, 115, 131, 125, 127, 129, 132, 113, 110, 148, 124, 110, 115, 122, 120, 135, 111, 122, 131, 128, 124, 113, 128, 133, 145, 102, 109, 143, 127, 116, 122, 127, 133, 129, 128, 120, 124, 130, 120, 143, 128, 132, 142, 126, 137, 138, 131, 123, 129, 145, 127, 89, 128, 152, 114, 115, 112, 145, 142, 118, 125, 146, 151, 134, 141, 105, 139, 151, 137, 104, 134, 162, 120, 115, 103, 136, 125, 136, 126, 134, 133, 139, 137, 120, 145, 115, 131, 111, 111, 117, 110, 125, 109, 142, 121, 97, 126, 127, 104, 102, 105, 114, 125, 110, 108, 111, 142, 139, 120, 110, 131, 136, 127, 126, 107, 145, 150, 126, 130, 143, 140, 150, 147, 144, 147, 165, 170, 145, 165, 169, 178, 157, 160, 170, 161, 173, 156, 150, 148, 157, 131, 138, 139, 118, 131, 113, 109, 111, 94, 66, 79, 81, 67, 43, 41, 71, 53, 38, 38, 41, 33, 40, 37, 38, 49, 73, 98, 90, 116, 154, 173, 195, 208, 221, 247, 249, 255, 237, 213, 230, 230, 196, 184, 176, 190, 180, 158, 166, 161, 163, 156, 149, 136, 136, 129, 128, 103, 99, 95, 76, 62, 44, 41, 35, 1, 3, 0, 0, 0, 0, 109, 26, 28, 142, 154, 161, 144, 219, 221, 197, 227, 182, 178, 193, 159, 102, 85, 119, 84, 58, 98, 125, 130, 165, 222, 216, 236, 255, 255, 255, 255, 255, 255, 239, 224, 187, 150, 132, 91, 64, 51, 30, 28, 14, 3, 0, 0, 0, 0, 0, 0, 0, 27, 110, 32, 86, 148, 206, 174, 176, 247, 218, 229, 232, 199, 174, 166, 146, 114, 73, 70, 70, 63, 81, 108, 123, 145, 201, 216, 219, 249, 255, 255, 255, 255, 249, 231, 200, 182, 134, 108, 111, 50, 41, 44, 26, 27, 0, 0, 0, 0, 0, 0, 2, 109, 39, 63, 104, 168, 171, 145, 218, 213, 216, 230, 222, 188, 177, 196, 158, 117, 104, 104, 98, 101, 108, 116, 120, 165, 175, 158, 204, 221, 233, 227, 237, 244, 194, 218, 184, 143, 164, 103, 93, 77, 70, 58, 32, 19, 0, 0, 0, 0, 0, 73, 27, 19, 40, 92, 132, 103, 159, 154, 181, 209, 220, 194, 182, 209, 209, 168, 135, 150, 139, 142, 141, 131, 117, 154, 180, 151, 159, 200, 225, 220, 220, 231, 211, 211, 198, 168, 156, 129, 104, 83, 74, 53, 37, 8, 0, 0, 0, 0, 17, 76, 0, 51, 73, 130, 123, 122, 188, 152, 195, 208, 208, 179, 172, 205, 177, 141, 138, 141, 117, 126, 136, 120, 135, 150, 152, 158, 171, 205, 211, 212, 235, 217, 202, 223, 200, 159, 148, 135, 105, 79, 68, 59, 25, 3, 1, 0, 0, 0, 50, 66, 0, 69, 82, 148, 127, 155, 195, 151, 234, 212, 199, 178, 188, 195, 146, 146, 136, 113, 105, 150, 134, 112, 135, 170, 162, 149, 189, 197, 215, 219, 207, 203, 194, 208, 173, 134, 142, 120, 87, 77, 68, 38, 18, 20, 9, 0, 0, 46, 60, 11, 56, 70, 134, 125, 151, 188, 155, 204, 207, 217, 186, 175, 182, 164, 151, 137, 121, 102, 140, 140, 125, 121, 153, 179, 164, 162, 202, 219, 218, 224, 191, 202, 194, 174, 132, 113, 114, 78, 72, 50, 26, 3, 20, 11, 0, 0, 0, 98, 55, 37, 97, 106, 174, 145, 211, 191, 168, 240, 225, 205, 158, 193, 166, 135, 133, 113, 81, 109, 151, 110, 116, 145, 193, 173, 183, 212, 216, 238, 249, 229, 194, 192, 202, 165, 103, 101, 80, 61, 44, 24, 0, 0, 0, 0, 0, 0, 46, 55, 54, 81, 117, 140, 163, 192, 193, 191, 204, 228, 189, 177, 179, 160, 120, 128, 128, 87, 90, 130, 150, 102, 145, 184, 177, 193, 213, 229, 217, 243, 250, 207, 176, 193, 179, 121, 105, 82, 69, 51, 51, 31, 0, 11, 16, 24, 0, 7, 70, 93, 62, 84, 133, 118, 158, 158, 172, 161, 160, 212, 156, 140, 156, 133, 123, 113, 116, 105, 100, 147, 151, 120, 144, 183, 180, 189, 209, 219, 218, 240, 239, 209, 188, 182, 186, 134, 136, 102, 72, 77, 64, 61, 23, 30, 34, 26, 18, 5, 10, 87, 85, 63, 103, 108, 144, 134, 179, 174, 150, 186, 183, 188, 148, 145, 137, 111, 120, 115, 95, 94, 126, 130, 132, 141, 174, 191, 179, 213, 225, 224, 227, 243, 224, 186, 178, 178, 156, 109, 100, 74, 68, 63, 50, 36, 28, 25, 14, 28, 13, 0, 42, 87, 71, 99, 93, 128, 137, 166, 206, 146, 182, 198, 203, 168, 163, 154, 118, 115, 108, 102, 56, 86, 110, 119, 115, 140, 168, 166, 207, 224, 222, 225, 244, 255, 225, 198, 219, 177, 154, 143, 107, 104, 77, 78, 66, 66, 65, 47, 46, 43, 25, 30, 18, 29, 95, 66, 87, 112, 116, 132, 136, 182, 171, 170, 175, 179, 173, 155, 154, 126, 107, 108, 100, 66, 68, 84, 97, 102, 128, 155, 150, 167, 196, 214, 206, 228, 231, 219, 220, 218, 214, 180, 164, 152, 127, 108, 109, 97, 82, 83, 82, 75, 61, 55, 56, 47, 35, 32, 29, 26, 88, 103, 86, 135, 127, 142, 165, 190, 201, 161, 182, 182, 169, 150, 122, 106, 84, 73, 68, 59, 47, 59, 72, 80, 104, 133, 166, 169, 182, 217, 223, 236, 232, 231, 227, 219, 220, 217, 197, 173, 165, 150, 161, 145, 131, 128, 122, 126, 111, 106, 99, 89, 84, 77, 69, 64, 46, 31, 17, 34, 75, 73, 71, 96, 96, 114, 140, 155, 168, 145, 162, 172, 163, 163, 149, 126, 106, 101, 93, 79, 62, 66, 49, 50, 56, 75, 88, 85, 120, 131, 152, 175, 188, 194, 207, 216, 221, 218, 198, 200, 184, 177, 182, 165, 156, 150, 137, 133, 131, 140, 146, 141, 138, 135, 136, 143, 146, 150, 151, 155, 159, 152, 150, 139, 135, 128, 119, 111, 100, 96, 83, 77, 66, 60, 53, 40, 31, 34, 46, 80, 100, 104, 112, 105, 125, 141, 164, 174, 164, 163, 157, 163, 162, 154, 140, 121, 100, 90, 87, 77, 58, 49, 45, 40, 46, 56, 64, 65, 80, 102, 120, 139, 157, 177, 187, 203, 220, 223, 226, 222, 220, 216, 208, 196, 184, 175, 161, 155, 143, 136, 136, 134, 140, 139, 143, 150, 155, 161, 162, 167, 170, 166, 168, 168, 158, 150, 139, 134, 120, 107, 104, 92, 74, 57, 53, 41, 38, 39, 45, 61, 84, 106, 109, 129, 128, 127, 143, 159, 169, 161, 164, 147, 119, 110, 102, 89, 79, 80, 61, 32, 32, 39, 35, 39, 63, 68, 63, 76, 95, 98, 113, 147, 147, 152, 161, 175, 180, 184, 204, 185, 179, 178, 181, 179, 180, 196, 187, 188, 192, 192, 184, 187, 191, 189, 184, 175, 176, 165, 164, 169, 164, 154, 148, 145, 138, 136, 139, 141, 127, 116, 111, 100, 94, 94, 88, 73, 60, 55, 52, 56, 71, 83, 95, 104, 107, 106, 109, 125, 139, 144, 161, 155, 138, 132, 120, 107, 90, 95, 84, 65, 57, 53, 47, 35, 60, 66, 71, 84, 98, 103, 105, 129, 138, 139, 140, 148, 144, 138, 139, 129, 116, 105, 106, 107, 112, 118, 121, 135, 138, 148, 163, 169, 181, 193, 206, 214, 220, 219, 216, 212, 210, 211, 203, 200, 197, 193, 190, 192, 191, 181, 174, 171, 166, 159, 157, 151, 137, 131, 131, 118, 106, 101, 95, 83, 76, 77, 60, 48, 46, 43, 44, 42, 61, 70, 73, 92, 94, 107, 117, 130, 149, 157, 168, 165, 154, 138, 125, 111, 100, 88, 77, 68, 59, 50, 44, 53, 59, 66, 79, 90, 88, 97, 109, 119, 135, 146, 154, 151, 149, 149, 141, 139, 141, 134, 130, 125, 118, 116, 113, 118, 118, 123, 135, 143, 149, 159, 167, 176, 184, 189, 195, 193, 196, 199, 199, 203, 197, 196, 195, 188, 187, 184, 181, 179, 176, 179, 178, 172, 174, 169, 161, 158, 155, 154, 144, 140, 140, 129, 120, 114, 108, 103, 95, 93, 90, 79, 75, 67, 58, 53, 45, 45, 36, 30, 41, 45, 55, 66, 82, 96, 96, 109, 119, 123, 133, 143, 143, 137, 128, 118, 108, 95, 94, 85, 77, 75, 71, 73, 77, 83, 92, 100, 110, 117, 123, 131, 135, 144, 155, 157, 159, 158, 156, 154, 148, 146, 144, 139, 139, 135, 129, 130, 127, 127, 125, 128, 133, 135, 145, 154, 161, 169, 183, 190, 196, 200, 200, 199, 197, 201, 202, 197, 191, 186, 178, 171, 165, 161, 155, 151, 155, 150, 150, 149, 147, 148, 140, 141, 138, 131, 128, 125, 124, 118, 115, 113, 108, 106, 103, 99, 93, 89, 87, 82, 75, 68, 59, 54, 48, 40, 35, 28, 28, 33, 44, 55, 71, 89, 100, 113, 122, 130, 135, 139, 146, 145, 145, 144, 134, 123, 117, 108, 99, 99, 97, 96, 96, 100, 106, 108, 114, 120, 129, 135, 144, 154, 158, 160, 163, 166, 164, 164, 164, 163, 157, 154, 151, 144, 138, 136, 134, 131, 134, 137, 139, 142, 147, 156, 163, 170, 179, 182, 186, 187, 186, 186, 183, 182, 180, 175, 172, 167, 163, 159, 154, 149, 144, 142, 137, 134, 134, 132, 131, 130, 127, 122, 116, 111, 107, 103, 100, 100, 98, 97, 96, 94, 92, 89, 88, 88, 85, 84, 85, 85, 83, 83, 80, 75, 71, 66, 61, 54, 55, 57, 62, 71, 82, 92, 103, 114, 122, 127, 135, 142, 147, 153, 157, 157, 153, 149, 143, 137, 131, 126, 123, 120, 118, 119, 120, 121, 124, 129, 133, 137, 143, 148, 152, 158, 161, 162, 161, 159, 157, 153, 151, 150, 148, 146, 142, 139, 137, 136, 137, 141, 144, 148, 152, 156, 158, 160, 163, 165, 166, 167, 167, 165, 164, 163, 161, 159, 156, 153, 149, 145, 141, 137, 134, 131, 128, 126, 123, 120, 118, 115, 113, 111, 109, 107, 106, 106, 105, 105, 104, 104, 103, 102, 100, 98, 96, 93, 93, 91, 90, 90, 90, 90, 90, 89, 87, 84, 81, 78, 75, 76, 80, 84, 93, 104, 114, 122, 130, 136, 139, 143, 148, 150, 153, 154, 154, 151, 147, 142, 136, 131, 127, 124, 122, 122, 123, 125, 128, 131, 134, 137, 140, 143, 146, 148, 151, 152, 153, 152, 151, 150, 147, 145, 143, 142, 142, 142, 143, 143, 143, 144, 145, 145, 146, 147, 147, 147, 148, 150, 151, 153, 155, 155, 154, 152, 150, 147, 145, 144, 143, 142, 142, 140, 137, 135, 133, 129, 127, 125, 122, 120, 119, 118, 117, 116, 116, 114, 113, 112, 109, 108, 107, 106, 105, 103, 101, 99, 97, 95, 95, 94, 93, 91, 90, 87, 84, 81, 78, 78, 81, 85, 93, 102, 112, 120, 127, 133, 136, 139, 141, 144, 146, 147, 147, 145, 143, 139, 134, 130, 125, 121, 119, 119, 120, 122, 126, 129, 132, 136, 138, 140, 143, 145, 146, 147, 148, 148, 147, 145, 143, 141, 140, 138, 137, 137, 137, 138, 139, 141, 143, 144, 145, 146, 146, 146, 147, 147, 148, 149, 149, 150, 150, 149, 148, 146, 145, 144, 143, 142, 141, 140, 139, 137, 135, 133, 132, 131, 129, 128, 126, 124, 123, 122, 121, 121, 120, 119, 118, 116, 114, 112, 110, 108, 106, 103, 101, 99, 97, 97, 97, 97, 97, 96, 94, 92, 89, 87, 85, 85, 88, 93, 99, 107, 115, 122, 127, 131, 133, 134, 136, 137, 139, 139, 139, 137, 134, 132, 129, 127, 125, 124, 123, 123, 124, 126, 128, 131, 133, 135, 138, 140, 141, 143, 144, 144, 144, 144, 144, 143, 142, 140, 139, 137, 136, 135, 134, 134, 135, 136, 138, 139, 141, 142, 143, 144, 146, 146, 147, 147, 147, 146, 145, 144, 144, 143, 142, 142, 139, 139, 137, 136, 136, 135, 135, 133, 133, 132, 131, 130, 129, 128, 126, 125, 123, 121, 120, 119, 118, 117, 117, 116, 115, 115, 114, 113, 111, 109, 107, 106, 105, 104, 103, 102, 101, 101, 101, 100, 99, 98, 97, 96, 97, 101, 106, 112, 118, 124, 128, 130, 132, 131, 131, 131, 131, 132, 132, 132, 131, 131, 129, 128, 127, 126, 125, 125, 127, 129, 130, 132, 134, 135, 137, 139, 140, 141, 142, 142, 141, 141, 140, 140, 139, 138, 137, 137, 137, 137, 137, 137, 137, 137, 137, 138, 137, 138, 138, 138, 138, 138, 137, 137, 137, 137, 137, 137, 137, 137, 136, 135, 134, 132, 130, 129, 128, 127, 128, 128, 129, 130, 130, 130, 129, 128, 126, 124, 123, 122, 122, 123, 123, 123, 123, 122, 121, 121, 121, 121, 121, 122, 123, 123, 122, 121, 120, 118, 116, 115, 113, 112, 112, 112, 112, 113, 114, 115, 115, 115, 115, 114, 112, 110, 110, 111, 114, 118, 123, 127, 130, 132, 133, 132, 132, 132, 132, 132, 133, 133, 132, 131, 130, 128, 127, 126, 126, 126, 126, 128, 130, 131, 133, 135, 137, 138, 139, 139, 139, 139, 139, 139, 138, 138, 138, 138, 138, 138, 138, 137, 136, 134, 133, 132, 132, 133, 132, 132, 132, 131, 131, 130, 130, 130, 131, 132, 133, 133, 134, 133, 133, 131, 129, 127, 125, 124, 124, 124, 125, 126, 127, 128, 128, 127, 125, 124, 123, 123, 124, 125, 125, 124, 123, 121, 121, 121, 121, 121, 123, 124, 124, 123, 122, 122, 122, 122, 122, 123, 123, 123, 123, 122, 122, 122, 121, 122, 123, 125, 126, 127, 127, 127, 126, 125, 123, 121, 120, 120, 120, 121, 122, 123, 123, 123, 123, 122, 122, 122, 123, 124, 125, 126, 128, 129, 130, 130, 130, 130, 130, 130, 131, 131, 132, 133, 134, 135, 136, 136, 137, 137, 136, 136, 136, 136, 135, 136, 136, 135, 135, 135, 134, 132, 131, 130, 129, 128, 128, 128, 129, 130, 131, 131, 132, 131, 130, 129, 128, 128, 128, 129, 130, 131, 131, 130, 128, 126, 124, 123, 122, 121, 121, 121, 122, 123, 123, 124, 125, 125, 124, 123, 122, 122, 123, 125, 127, 129, 131, 130, 129, 127, 126, 126, 126, 126, 126, 127, 127, 127, 128, 128, 128, 127, 127, 125, 125, 125, 125, 125, 126, 127, 126, 126, 124, 123, 122, 121, 120, 120, 120, 121, 123, 124, 125, 126, 126, 125, 125, 125, 125, 125, 126, 127, 128, 129, 130, 130, 130, 130, 129, 129, 129, 128, 128, 128, 128, 129, 129, 129, 130, 130, 130, 130, 131, 132, 132, 133, 133, 133, 134, 134, 134, 133, 133, 132, 132, 132, 133, 132, 132, 131, 131, 130, 130, 130, 129, 129, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 129, 129, 129, 129, 129, 128, 128, 127, 126, 125, 124, 124, 123, 123, 123, 124, 125, 125, 125, 124, 124, 123, 123, 123, 123, 124, 125, 126, 127, 126, 125, 124, 123, 123, 123, 125, 126, 127, 128, 128, 127, 127, 126, 125, 125, 126, 128, 129, 129, 128, 126, 125, 125, 124, 124, 125, 126, 128, 128, 129, 128, 127, 127, 127, 126, 127, 128, 128, 129, 129, 129, 128, 127, 126, 127, 127, 128, 129, 129, 129, 129, 130, 130, 129, 129, 130, 130, 130, 131, 131, 132, 132, 131, 130, 129, 129, 129, 129,};
const unsigned char three[] PROGMEM = {128, 130, 130, 129, 126, 125, 130, 129, 125, 128, 129, 128, 127, 127, 128, 127, 127, 127, 127, 127, 128, 127, 127, 127, 127, 128, 129, 129, 128, 127, 128, 129, 127, 128, 130, 129, 128, 127, 128, 129, 126, 127, 128, 126, 127, 128, 126, 127, 128, 126, 127, 130, 127, 128, 129, 127, 129, 128, 127, 131, 129, 128, 127, 127, 130, 126, 126, 129, 127, 127, 128, 127, 127, 127, 127, 127, 128, 128, 127, 127, 126, 128, 129, 128, 129, 129, 128, 129, 129, 127, 127, 129, 129, 127, 127, 127, 128, 128, 127, 127, 127, 128, 127, 126, 128, 130, 127, 128, 129, 126, 128, 127, 127, 129, 126, 127, 129, 127, 128, 128, 127, 130, 129, 126, 128, 128, 128, 127, 126, 128, 127, 128, 128, 126, 127, 126, 128, 132, 127, 125, 129, 130, 129, 127, 126, 128, 128, 127, 127, 126, 127, 126, 127, 129, 128, 127, 128, 127, 128, 127, 127, 128, 128, 129, 129, 127, 127, 125, 124, 129, 129, 128, 130, 129, 128, 127, 126, 125, 126, 129, 128, 127, 128, 127, 127, 127, 125, 127, 129, 128, 128, 127, 125, 129, 129, 128, 130, 127, 127, 128, 125, 126, 126, 128, 127, 125, 131, 132, 127, 128, 127, 129, 129, 129, 128, 126, 127, 126, 129, 130, 124, 126, 127, 125, 126, 125, 127, 128, 127, 129, 129, 129, 130, 127, 128, 129, 129, 129, 128, 127, 128, 128, 127, 127, 127, 127, 128, 126, 125, 126, 126, 127, 127, 128, 127, 127, 128, 126, 126, 128, 128, 129, 129, 129, 129, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 126, 126, 127, 127, 126, 127, 127, 127, 128, 127, 128, 128, 128, 128, 128, 128, 129, 129, 128, 129, 128, 128, 128, 127, 128, 128, 127, 128, 127, 128, 127, 127, 127, 125, 127, 126, 126, 128, 128, 128, 128, 129, 129, 127, 129, 129, 129, 130, 128, 127, 128, 128, 125, 126, 128, 127, 128, 128, 128, 125, 125, 129, 128, 126, 125, 129, 129, 127, 128, 126, 126, 129, 127, 124, 125, 129, 125, 128, 131, 126, 130, 127, 126, 132, 126, 125, 129, 129, 126, 125, 127, 127, 127, 127, 126, 127, 126, 127, 125, 125, 129, 130, 126, 123, 128, 130, 129, 127, 126, 131, 132, 128, 125, 129, 131, 128, 128, 127, 129, 127, 126, 128, 125, 128, 130, 127, 124, 127, 133, 122, 125, 133, 125, 130, 127, 124, 133, 130, 130, 134, 133, 126, 127, 133, 127, 129, 125, 119, 127, 131, 127, 121, 125, 132, 127, 123, 125, 128, 124, 129, 138, 134, 128, 130, 132, 123, 124, 129, 123, 131, 130, 120, 124, 128, 128, 122, 129, 135, 130, 135, 128, 123, 125, 119, 118, 122, 127, 126, 131, 132, 125, 130, 128, 131, 134, 124, 127, 124, 131, 136, 114, 121, 135, 119, 121, 131, 120, 128, 133, 113, 132, 142, 127, 134, 124, 120, 134, 129, 125, 130, 131, 125, 134, 143, 127, 110, 120, 135, 129, 126, 126, 128, 128, 122, 136, 130, 126, 139, 116, 130, 140, 117, 131, 119, 120, 137, 118, 128, 129, 123, 130, 117, 123, 135, 133, 133, 129, 120, 121, 132, 132, 124, 117, 126, 137, 128, 128, 132, 131, 122, 103, 122, 137, 123, 131, 126, 114, 123, 127, 127, 134, 135, 128, 131, 137, 131, 127, 126, 124, 131, 131, 117, 121, 130, 126, 127, 130, 122, 117, 136, 135, 121, 133, 125, 124, 133, 122, 132, 121, 121, 141, 119, 126, 137, 123, 125, 128, 139, 134, 122, 127, 124, 132, 132, 115, 120, 127, 127, 126, 124, 127, 127, 128, 132, 121, 121, 139, 128, 131, 143, 126, 133, 139, 127, 127, 127, 132, 127, 125, 130, 125, 126, 130, 130, 127, 128, 122, 121, 129, 114, 121, 122, 117, 148, 120, 122, 168, 120, 115, 144, 127, 140, 131, 111, 129, 132, 125, 123, 120, 111, 118, 139, 129, 110, 115, 137, 140, 131, 139, 136, 126, 133, 129, 122, 128, 123, 118, 115, 121, 128, 126, 130, 131, 132, 128, 124, 133, 139, 132, 126, 135, 129, 122, 136, 126, 111, 131, 131, 128, 125, 119, 134, 119, 125, 138, 124, 130, 131, 130, 131, 124, 128, 121, 119, 122, 115, 131, 132, 120, 127, 131, 128, 131, 132, 132, 131, 125, 118, 126, 131, 121, 129, 129, 128, 138, 132, 123, 123, 123, 126, 133, 120, 118, 132, 117, 115, 127, 131, 129, 118, 114, 125, 135, 135, 135, 132, 121, 126, 135, 130, 126, 131, 123, 109, 119, 133, 127, 120, 123, 129, 133, 129, 136, 136, 130, 130, 126, 132, 139, 136, 128, 115, 118, 130, 140, 134, 116, 127, 122, 123, 128, 133, 137, 125, 128, 126, 123, 129, 127, 125, 128, 130, 134, 128, 126, 127, 125, 131, 129, 135, 130, 124, 128, 123, 138, 131, 125, 124, 120, 128, 125, 125, 124, 127, 132, 127, 123, 130, 128, 125, 126, 131, 128, 128, 128, 118, 120, 128, 131, 129, 125, 123, 125, 123, 125, 124, 127, 127, 127, 123, 123, 128, 120, 127, 123, 120, 121, 119, 128, 131, 131, 126, 128, 137, 137, 134, 136, 135, 138, 142, 132, 130, 132, 131, 127, 135, 139, 135, 139, 139, 142, 142, 136, 142, 144, 136, 130, 128, 130, 132, 124, 120, 126, 119, 116, 112, 117, 124, 127, 127, 119, 114, 111, 111, 112, 114, 111, 101, 99, 99, 104, 109, 109, 109, 108, 111, 112, 120, 126, 128, 124, 124, 126, 124, 126, 127, 131, 134, 133, 128, 129, 130, 138, 141, 139, 140, 145, 148, 155, 157, 154, 155, 158, 153, 152, 149, 148, 159, 153, 152, 166, 152, 135, 134, 130, 147, 149, 139, 128, 126, 124, 123, 127, 111, 102, 103, 101, 94, 94, 86, 78, 70, 64, 75, 96, 121, 128, 125, 119, 117, 128, 141, 150, 151, 140, 127, 121, 115, 116, 108, 99, 93, 81, 79, 87, 90, 96, 105, 114, 125, 135, 154, 171, 181, 180, 178, 175, 166, 165, 164, 166, 167, 161, 156, 157, 152, 151, 163, 169, 167, 161, 153, 145, 143, 146, 140, 143, 134, 121, 112, 98, 97, 103, 101, 95, 85, 69, 59, 58, 68, 91, 110, 120, 125, 127, 130, 132, 139, 145, 151, 144, 134, 128, 121, 110, 96, 88, 83, 80, 73, 73, 79, 85, 96, 107, 113, 130, 144, 171, 189, 195, 202, 195, 187, 172, 168, 163, 159, 163, 163, 156, 155, 150, 139, 141, 143, 149, 158, 151, 144, 139, 126, 122, 124, 120, 115, 102, 87, 76, 60, 49, 41, 43, 57, 82, 111, 131, 142, 150, 157, 160, 161, 169, 170, 161, 150, 137, 122, 106, 94, 84, 75, 76, 77, 73, 75, 82, 95, 114, 135, 159, 190, 208, 209, 206, 198, 190, 184, 181, 175, 165, 153, 148, 148, 146, 143, 144, 142, 139, 144, 142, 141, 136, 129, 123, 113, 110, 104, 102, 90, 70, 52, 41, 34, 28, 35, 53, 82, 112, 135, 150, 157, 161, 164, 164, 167, 167, 157, 137, 112, 90, 73, 66, 69, 74, 77, 74, 69, 74, 93, 119, 154, 190, 216, 221, 211, 212, 213, 213, 207, 194, 184, 175, 173, 171, 167, 160, 149, 144, 143, 145, 145, 142, 141, 135, 123, 114, 105, 98, 90, 81, 72, 56, 43, 31, 21, 26, 49, 93, 133, 163, 171, 164, 164, 165, 169, 174, 170, 147, 113, 81, 55, 41, 44, 48, 51, 52, 51, 60, 76, 106, 142, 178, 213, 237, 239, 232, 225, 215, 204, 193, 181, 168, 165, 160, 155, 146, 141, 143, 144, 148, 147, 144, 138, 127, 114, 106, 104, 107, 92, 82, 67, 48, 39, 26, 18, 12, 37, 96, 152, 181, 181, 173, 170, 178, 189, 197, 195, 161, 112, 64, 38, 32, 37, 49, 53, 48, 45, 62, 93, 135, 173, 205, 237, 255, 254, 245, 235, 219, 202, 182, 165, 155, 148, 144, 144, 142, 144, 146, 150, 154, 155, 152, 139, 130, 120, 109, 98, 86, 76, 65, 54, 41, 29, 16, 4, 5, 43, 108, 163, 184, 177, 167, 170, 181, 194, 194, 182, 144, 88, 52, 32, 29, 32, 41, 46, 41, 41, 62, 101, 137, 176, 207, 223, 236, 243, 249, 248, 224, 195, 175, 172, 173, 165, 150, 140, 136, 140, 150, 162, 168, 161, 153, 137, 129, 128, 115, 95, 85, 71, 49, 36, 40, 44, 24, 7, 11, 58, 127, 173, 186, 168, 164, 181, 203, 216, 201, 163, 125, 83, 53, 51, 59, 59, 43, 26, 27, 48, 81, 118, 145, 160, 175, 200, 233, 250, 241, 208, 188, 191, 198, 201, 182, 157, 143, 137, 148, 158, 160, 155, 137, 131, 124, 126, 118, 110, 102, 88, 77, 70, 67, 52, 45, 37, 22, 10, 18, 55, 122, 168, 172, 158, 159, 196, 229, 225, 196, 160, 120, 87, 68, 72, 76, 59, 25, 5, 23, 64, 101, 110, 101, 125, 174, 230, 252, 234, 209, 203, 217, 225, 222, 206, 181, 148, 145, 168, 181, 176, 158, 138, 137, 142, 141, 136, 128, 115, 95, 94, 98, 97, 92, 68, 46, 47, 48, 31, 8, 4, 17, 84, 154, 160, 149, 146, 176, 218, 223, 195, 167, 132, 99, 82, 79, 81, 60, 24, 11, 41, 78, 95, 99, 99, 120, 153, 188, 231, 239, 215, 188, 193, 225, 228, 183, 151, 158, 176, 184, 173, 171, 158, 140, 144, 154, 163, 158, 136, 130, 120, 102, 94, 87, 77, 67, 60, 55, 47, 37, 25, 11, 7, 41, 130, 168, 155, 148, 164, 223, 241, 209, 176, 151, 135, 121, 106, 91, 64, 27, 15, 30, 54, 60, 52, 60, 89, 142, 163, 177, 192, 210, 232, 224, 226, 224, 209, 180, 169, 183, 192, 163, 132, 134, 146, 158, 144, 130, 129, 132, 138, 133, 129, 120, 107, 110, 102, 91, 83, 69, 59, 55, 45, 33, 33, 32, 44, 125, 164, 142, 148, 178, 235, 223, 171, 165, 172, 157, 133, 99, 71, 54, 42, 47, 45, 40, 40, 62, 96, 117, 137, 159, 171, 201, 214, 200, 190, 186, 203, 201, 179, 169, 177, 174, 150, 144, 161, 161, 143, 136, 143, 153, 150, 138, 131, 130, 123, 114, 105, 98, 84, 70, 68, 55, 51, 48, 34, 11, 47, 152, 131, 103, 155, 202, 241, 182, 162, 204, 200, 166, 110, 94, 96, 78, 54, 35, 24, 30, 49, 62, 72, 86, 124, 143, 154, 156, 179, 207, 210, 226, 203, 185, 190, 185, 166, 149, 150, 158, 149, 148, 143, 144, 162, 159, 149, 141, 148, 149, 142, 130, 121, 108, 103, 109, 100, 83, 76, 69, 59, 42, 29, 14, 85, 136, 56, 102, 158, 204, 186, 140, 204, 210, 182, 134, 123, 136, 111, 78, 68, 59, 59, 56, 46, 55, 69, 97, 97, 113, 153, 168, 175, 187, 195, 214, 218, 193, 184, 185, 181, 151, 139, 145, 154, 151, 139, 146, 158, 153, 147, 145, 157, 162, 141, 136, 130, 136, 130, 113, 107, 103, 86, 75, 62, 62, 58, 38, 19, 75, 128, 53, 87, 146, 174, 151, 126, 191, 195, 169, 149, 164, 161, 127, 99, 86, 97, 86, 60, 53, 62, 71, 73, 77, 105, 125, 123, 129, 153, 172, 168, 175, 176, 188, 194, 171, 181, 179, 168, 159, 153, 172, 161, 157, 154, 157, 159, 147, 155, 158, 152, 147, 134, 142, 143, 123, 119, 108, 110, 101, 81, 77, 75, 62, 33, 22, 48, 101, 89, 39, 127, 167, 118, 133, 170, 207, 159, 164, 184, 170, 149, 119, 124, 112, 95, 66, 56, 67, 59, 46, 55, 80, 97, 90, 101, 132, 145, 148, 164, 172, 195, 182, 166, 206, 196, 165, 170, 177, 168, 149, 149, 164, 163, 151, 149, 163, 160, 156, 151, 166, 164, 149, 152, 152, 135, 129, 123, 113, 108, 84, 76, 74, 58, 58, 60, 41, 33, 24, 124, 70, 50, 145, 147, 150, 124, 210, 194, 167, 173, 183, 181, 137, 136, 120, 123, 92, 73, 79, 86, 74, 60, 79, 97, 91, 102, 113, 130, 138, 131, 149, 150, 156, 147, 145, 154, 153, 133, 138, 159, 138, 138, 149, 158, 149, 153, 161, 153, 158, 160, 163, 162, 158, 154, 167, 158, 148, 151, 154, 145, 130, 136, 140, 130, 113, 122, 112, 105, 89, 93, 83, 66, 54, 51, 36, 46, 118, 37, 83, 150, 124, 125, 155, 212, 152, 183, 196, 184, 175, 147, 147, 141, 126, 81, 95, 98, 67, 56, 73, 81, 74, 65, 93, 112, 108, 112, 118, 157, 132, 133, 149, 165, 148, 133, 178, 152, 146, 154, 171, 147, 145, 167, 147, 143, 147, 153, 154, 150, 155, 162, 153, 157, 161, 174, 151, 146, 159, 157, 143, 139, 140, 142, 132, 124, 116, 116, 114, 89, 91, 86, 79, 52, 62, 30, 84, 77, 38, 95, 122, 115, 85, 178, 154, 141, 164, 177, 180, 151, 157, 153, 157, 116, 122, 120, 103, 81, 85, 99, 74, 72, 91, 93, 87, 101, 106, 119, 118, 125, 128, 147, 148, 131, 139, 154, 159, 134, 149, 159, 152, 148, 150, 159, 157, 145, 157, 160, 151, 161, 158, 158, 163, 162, 163, 158, 167, 162, 155, 161, 152, 158, 144, 141, 140, 137, 126, 121, 113, 115, 102, 90, 89, 75, 77, 69, 45, 53, 116, 52, 70, 121, 114, 102, 128, 171, 134, 158, 167, 179, 168, 162, 158, 161, 152, 122, 132, 117, 100, 86, 90, 82, 65, 74, 77, 76, 70, 89, 93, 91, 105, 113, 121, 120, 130, 137, 131, 130, 146, 146, 134, 140, 156, 150, 141, 153, 165, 151, 152, 162, 160, 154, 154, 166, 157, 152, 153, 163, 160, 152, 159, 160, 157, 158, 156, 153, 151, 149, 140, 138, 128, 123, 121, 113, 109, 106, 105, 94, 101, 89, 93, 92, 91, 69, 87, 130, 90, 93, 137, 142, 104, 152, 165, 141, 147, 159, 173, 143, 146, 140, 149, 120, 107, 124, 103, 84, 85, 90, 74, 76, 84, 89, 82, 90, 104, 108, 105, 117, 128, 128, 132, 132, 135, 144, 137, 130, 131, 132, 132, 125, 134, 121, 125, 130, 131, 128, 133, 148, 136, 147, 157, 157, 157, 165, 182, 170, 170, 186, 183, 177, 170, 180, 176, 161, 159, 156, 149, 141, 141, 130, 123, 127, 122, 110, 109, 114, 107, 101, 101, 104, 99, 93, 96, 98, 87, 79, 84, 112, 100, 75, 130, 124, 105, 130, 144, 144, 134, 148, 151, 143, 138, 135, 133, 125, 112, 114, 109, 95, 90, 102, 93, 80, 91, 99, 94, 93, 105, 116, 109, 104, 127, 130, 119, 131, 144, 133, 131, 146, 142, 127, 132, 140, 136, 119, 123, 135, 124, 116, 127, 130, 124, 132, 140, 144, 139, 151, 174, 168, 162, 188, 192, 181, 185, 193, 185, 174, 178, 170, 157, 147, 145, 142, 126, 120, 124, 120, 109, 115, 119, 109, 110, 119, 117, 105, 114, 119, 111, 103, 109, 106, 105, 97, 92, 103, 106, 96, 104, 126, 102, 113, 134, 131, 117, 129, 146, 127, 122, 127, 130, 119, 113, 119, 111, 107, 109, 104, 105, 97, 101, 107, 102, 100, 110, 110, 110, 109, 121, 124, 120, 129, 131, 135, 132, 136, 137, 137, 135, 136, 132, 132, 132, 129, 128, 124, 126, 129, 122, 120, 135, 135, 129, 139, 152, 152, 153, 168, 179, 169, 176, 190, 182, 176, 181, 179, 170, 167, 163, 156, 149, 147, 144, 129, 128, 129, 126, 113, 107, 123, 116, 100, 108, 120, 105, 100, 114, 112, 99, 103, 108, 103, 98, 98, 101, 99, 95, 92, 109, 99, 100, 117, 105, 110, 121, 129, 117, 125, 138, 127, 128, 130, 129, 122, 120, 117, 114, 110, 104, 109, 108, 101, 105, 115, 109, 111, 123, 121, 126, 128, 134, 136, 139, 141, 141, 142, 142, 144, 142, 142, 141, 141, 138, 142, 139, 133, 136, 136, 130, 129, 130, 126, 126, 126, 126, 134, 134, 129, 151, 151, 142, 162, 172, 162, 165, 181, 172, 168, 171, 167, 163, 155, 150, 145, 138, 130, 131, 125, 117, 119, 119, 115, 111, 116, 115, 112, 113, 117, 115, 113, 115, 114, 109, 108, 112, 103, 103, 103, 100, 94, 94, 94, 92, 89, 96, 99, 90, 107, 108, 104, 118, 123, 123, 127, 136, 134, 134, 135, 136, 134, 129, 128, 124, 123, 116, 113, 118, 112, 110, 118, 119, 116, 122, 128, 129, 130, 135, 140, 139, 139, 145, 145, 140, 145, 144, 141, 142, 141, 140, 139, 139, 136, 137, 134, 130, 134, 130, 126, 131, 130, 130, 132, 135, 142, 141, 143, 155, 154, 152, 160, 164, 157, 158, 163, 155, 150, 151, 146, 137, 137, 131, 128, 126, 120, 119, 120, 115, 114, 118, 114, 114, 118, 115, 115, 119, 117, 114, 119, 118, 114, 116, 113, 113, 111, 108, 105, 106, 102, 96, 96, 97, 92, 91, 106, 95, 98, 115, 110, 112, 126, 133, 126, 136, 143, 141, 142, 140, 144, 140, 134, 133, 135, 129, 122, 126, 125, 118, 120, 125, 123, 121, 127, 129, 127, 128, 135, 133, 132, 137, 137, 136, 137, 138, 139, 139, 139, 141, 142, 139, 139, 141, 137, 135, 134, 131, 131, 128, 127, 129, 127, 127, 134, 136, 133, 143, 147, 144, 150, 155, 154, 151, 154, 155, 148, 144, 144, 140, 132, 129, 127, 121, 116, 114, 114, 110, 110, 113, 110, 113, 112, 115, 117, 116, 119, 121, 121, 118, 122, 123, 117, 118, 119, 114, 111, 112, 109, 106, 105, 103, 105, 100, 101, 109, 107, 107, 115, 120, 116, 127, 132, 130, 134, 139, 140, 137, 142, 141, 139, 137, 135, 137, 131, 129, 131, 129, 126, 127, 130, 127, 127, 130, 129, 128, 131, 131, 130, 131, 134, 133, 133, 135, 135, 135, 134, 136, 136, 133, 136, 132, 131, 132, 126, 127, 126, 122, 123, 124, 124, 124, 130, 132, 133, 137, 143, 144, 144, 147, 149, 150, 145, 146, 145, 141, 138, 135, 134, 129, 127, 127, 125, 121, 122, 124, 120, 119, 125, 122, 118, 125, 122, 122, 122, 123, 124, 122, 123, 123, 127, 122, 125, 126, 121, 124, 124, 119, 116, 118, 115, 109, 111, 110, 107, 105, 108, 109, 104, 114, 114, 112, 120, 123, 122, 127, 132, 131, 134, 136, 135, 136, 137, 137, 136, 136, 134, 133, 132, 129, 129, 128, 125, 125, 125, 123, 124, 125, 124, 125, 126, 128, 127, 129, 132, 130, 132, 133, 133, 132, 134, 134, 132, 134, 132, 131, 131, 130, 129, 128, 128, 128, 131, 126, 129, 136, 131, 132, 139, 140, 136, 143, 145, 142, 143, 145, 145, 140, 142, 141, 137, 134, 134, 132, 127, 126, 124, 124, 121, 120, 120, 120, 119, 120, 122, 122, 122, 125, 126, 123, 127, 127, 125, 127, 126, 127, 126, 125, 126, 125, 124, 122, 124, 122, 120, 121, 119, 117, 116, 115, 113, 114, 111, 113, 114, 111, 115, 118, 117, 118, 125, 125, 125, 130, 132, 132, 133, 135, 135, 135, 135, 134, 133, 131, 132, 130, 127, 127, 128, 125, 124, 127, 125, 125, 126, 127, 128, 129, 129, 130, 132, 131, 132, 133, 132, 132, 133, 132, 130, 130, 130, 127, 127, 126, 125, 126, 124, 125, 128, 129, 127, 135, 135, 132, 138, 141, 138, 138, 144, 140, 139, 140, 138, 137, 135, 134, 133, 132, 129, 129, 128, 127, 127, 126, 126, 126, 126, 125, 126, 125, 125, 127, 125, 124, 128, 127, 125, 128, 128, 127, 127, 128, 128, 126, 126, 127, 126, 124, 124, 124, 123, 121, 122, 120, 119, 120, 119, 118, 120, 119, 119, 120, 119, 120, 120, 119, 119, 119, 118, 120, 119, 119, 122, 123, 123, 126, 128, 128, 130, 133, 133, 134, 135, 135, 135, 135, 134, 134, 133, 131, 130, 130, 127, 127, 128, 125, 126, 127, 127, 127, 127, 128, 129, 129, 129, 131, 129, 129, 131, 129, 129, 131, 130, 129, 131, 131, 131, 131, 131, 133, 132, 131, 133, 133, 131, 132, 133, 132, 130, 132, 131, 131, 131, 131, 131, 131, 130, 130, 130, 129, 129, 129, 127, 126, 128, 126, 125, 126, 126, 124, 125, 126, 125, 126, 125, 126, 127, 124, 126, 127, 126, 125, 127, 126, 125, 125, 126, 126, 125, 125, 125, 125, 125, 125, 124, 125, 124, 123, 124, 124, 123, 124, 125, 124, 125, 126, 126, 125, 126, 126, 125, 126, 124, 125, 124, 123, 123, 124, 123, 122, 124, 124, 124, 126, 127, 127, 127, 129, 129, 130, 130, 130, 131, 129, 129, 130, 129, 127, 128, 128, 127, 127, 128, 128, 128, 128, 130, 130, 129, 130, 131, 130, 131, 132, 130, 131, 131, 131, 130, 131, 131, 130, 130, 130, 131, 130, 128, 130, 130, 128, 129, 130, 128, 129, 129, 129, 129, 128, 130, 128, 128, 129, 128, 128, 127, 127, 127, 126, 125, 127, 126, 125, 127, 128, 126, 127, 128, 127, 126, 127, 128, 126, 127, 129, 128, 127, 128, 128, 127, 127, 127, 127, 126, 126, 127, 126, 125, 127, 126, 126, 127, 126, 126, 126, 127, 127, 126, 127, 128, 126, 126, 126, 126, 125, 125, 125, 125, 125, 124, 125, 126, 125, 124, 126, 126, 125, 125, 126, 126, 126, 127, 127, 127, 127, 127, 127, 128, 127, 127, 127, 127, 127, 126, 126, 127, 128, 126, 127, 130, 129, 129, 131, 131, 130, 131, 132, 132, 131, 132, 132, 132, 132, 131, 132, 131, 130, 130, 129, 128, 127, 129, 128, 127, 130, 129, 130, 131, 130, 130, 131, 129, 129, 130, 129, 129, 129, 129, 129, 128, 127, 128, 126, 125, 125, 126, 125, 125, 126, 127, 126, 126, 127, 126, 126, 125, 126, 126, 125, 126, 126, 126, 126, 126, 126, 126, 126, 125, 126, 127, 126, 127, 127, 126, 127, 127, 127, 127, 128, 128, 127, 128, 128, 127, 126, 126, 126, 125, 126, 127, 126, 127, 128, 127, 127, 127, 128, 127, 127, 128, 128, 128, 127, 128, 128, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 129, 128, 128, 129, 129, 128, 129, 130, 129, 129, 129, 128, 128, 128, 128, 127, 127, 128, 128, 127, 128, 128, 128, 128, 128, 128, 127, 128, 129, 128, 128, 129, 128, 128, 128, 128, 127, 127, 127, 128, 128, 127, 128, 127, 126, 126, 127, 126, 126, 127, 127, 127, 127, 128, 127, 126, 127, 127, 126, 127, 128, 128, 127, 128, 128, 127, 127, 127, 128, 126, 127, 127, 127, 128, 127, 127, 127, 126, 126, 127, 127, 127, 127, 128, 127, 127, 128, 129, 127, 128, 129, 128, 128, 128, 129, 127, 127, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 127, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 129, 129, 129, 128, 128, 128, 128, 127, 127, 127, 127, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 127, 128, 128, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 128, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 128, 127, 127, 127, 127, 127, 127, 127, 127, 126, 127, 127, 127, 127, 127, 128, 128, 127, 128, 128, 128, 127, 128, 128, 127, 128, 128, 128, 127, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 127, 127, 128, 127, 128, 127, 128, 128, 128, 127, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 127, 128, 128, 127, 127, 128, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 127, 128, 127, 127, 127, 128, 128, 128, 127, 127, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 127, 127, 127, 127, 127, 128, 127, 128, 128, 128, 128, 127, 128, 128, 127, 128, 127, 127, 127, 128, 128, 127, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 127, 128, 128, 127, 127, 128, 127, 127, 128, 127, 127, 127, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 127, 127, 127, 128, 127, 127, 127, 127, 127, 127, 128, 127, 127, 127, 127, 127, 127, 128, 127, 127, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 127, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 127, 128, 128, 127, 127, 128, 127, 127, 128, 128, 127, 128, 127, 127, 127, 128, 128, 127, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 127, 127, 128, 127, 127, 128, 128, 127, 128, 128, 128, 128, 127, 128, 127, 127, 127, 127, 128, 127, 127, 128, 127, 127, 128, 127, 127, 128, 128, 128, 128, 128, 127, 127, 128, 127, 127, 128, 128,};
const unsigned char four[] PROGMEM = {129, 129, 128, 128, 127, 127, 127, 128, 129, 127, 127, 128, 128, 127, 128, 128, 127, 127, 128, 129, 128, 128, 129, 127, 127, 129, 128, 127, 128, 128, 128, 128, 130, 129, 127, 127, 128, 127, 127, 129, 129, 127, 127, 129, 127, 127, 128, 127, 126, 127, 128, 128, 128, 129, 128, 127, 128, 128, 127, 127, 128, 127, 127, 129, 128, 128, 127, 127, 127, 127, 128, 128, 128, 127, 127, 128, 128, 128, 127, 127, 127, 127, 128, 129, 128, 127, 127, 128, 127, 127, 128, 127, 126, 127, 129, 128, 128, 129, 127, 126, 127, 128, 127, 127, 128, 127, 127, 129, 129, 127, 126, 128, 127, 126, 128, 129, 127, 127, 129, 128, 127, 128, 128, 126, 126, 128, 129, 128, 128, 128, 127, 127, 128, 128, 127, 128, 128, 126, 128, 129, 128, 127, 128, 128, 127, 127, 128, 127, 127, 127, 128, 128, 127, 127, 128, 127, 127, 128, 129, 128, 127, 127, 127, 128, 128, 127, 127, 126, 127, 129, 128, 128, 128, 127, 126, 127, 128, 127, 128, 128, 127, 126, 127, 129, 128, 126, 127, 127, 127, 128, 129, 128, 127, 127, 127, 128, 129, 130, 128, 126, 126, 126, 126, 128, 130, 127, 126, 128, 127, 126, 127, 127, 128, 128, 128, 129, 128, 129, 128, 125, 126, 129, 128, 126, 128, 128, 128, 128, 127, 126, 127, 127, 128, 128, 127, 128, 128, 128, 129, 126, 126, 127, 127, 125, 127, 131, 128, 127, 129, 126, 128, 129, 128, 128, 126, 126, 127, 129, 130, 126, 128, 128, 125, 125, 127, 129, 127, 127, 128, 130, 129, 123, 129, 130, 124, 129, 128, 126, 128, 126, 130, 130, 127, 127, 127, 127, 126, 129, 130, 126, 126, 128, 128, 128, 127, 125, 128, 129, 127, 128, 128, 128, 126, 129, 131, 125, 128, 127, 126, 130, 125, 127, 130, 128, 129, 126, 127, 125, 122, 130, 133, 130, 128, 127, 127, 127, 127, 127, 127, 127, 128, 129, 125, 128, 128, 124, 128, 128, 127, 131, 129, 126, 129, 127, 123, 131, 131, 125, 128, 128, 127, 128, 126, 128, 128, 128, 131, 126, 123, 126, 129, 129, 126, 126, 130, 126, 124, 130, 130, 127, 128, 129, 130, 129, 127, 125, 125, 130, 131, 127, 127, 125, 127, 128, 126, 128, 129, 127, 128, 125, 129, 131, 125, 129, 129, 126, 128, 126, 127, 128, 126, 128, 128, 127, 129, 129, 126, 130, 130, 126, 126, 126, 127, 128, 126, 128, 128, 126, 127, 128, 129, 126, 129, 131, 126, 128, 130, 127, 127, 126, 126, 128, 130, 127, 125, 126, 127, 127, 128, 131, 127, 125, 128, 127, 128, 127, 127, 130, 128, 129, 130, 128, 125, 125, 128, 128, 127, 127, 128, 129, 127, 127, 125, 126, 130, 130, 128, 125, 127, 130, 126, 126, 126, 127, 131, 129, 127, 128, 128, 128, 128, 127, 126, 129, 128, 124, 126, 126, 124, 129, 129, 127, 130, 127, 128, 129, 125, 131, 131, 126, 128, 127, 126, 125, 129, 132, 125, 123, 128, 129, 127, 124, 128, 128, 125, 130, 130, 129, 130, 126, 125, 130, 130, 125, 129, 129, 125, 128, 126, 126, 130, 128, 124, 124, 128, 130, 129, 129, 126, 126, 126, 127, 129, 125, 127, 131, 127, 126, 128, 126, 128, 130, 130, 128, 127, 127, 125, 129, 127, 124, 131, 129, 125, 127, 124, 126, 129, 125, 131, 134, 125, 125, 129, 127, 126, 129, 126, 128, 130, 126, 128, 128, 125, 128, 127, 128, 128, 127, 128, 128, 128, 127, 128, 129, 125, 125, 128, 130, 129, 124, 127, 129, 125, 129, 129, 128, 129, 125, 127, 131, 126, 126, 129, 128, 126, 127, 128, 124, 124, 128, 128, 129, 127, 128, 131, 127, 127, 129, 127, 127, 128, 129, 125, 126, 131, 124, 125, 129, 125, 130, 129, 125, 130, 129, 126, 129, 130, 128, 127, 129, 127, 126, 126, 127, 129, 127, 129, 127, 123, 127, 128, 128, 128, 127, 128, 126, 125, 129, 129, 128, 128, 127, 129, 129, 125, 125, 128, 127, 128, 129, 128, 127, 126, 127, 129, 127, 128, 130, 126, 122, 127, 131, 126, 129, 131, 125, 127, 129, 127, 128, 127, 128, 130, 129, 128, 125, 126, 130, 129, 127, 124, 126, 131, 125, 125, 131, 129, 126, 126, 130, 126, 124, 131, 127, 126, 129, 129, 131, 126, 126, 128, 126, 129, 129, 127, 126, 128, 128, 125, 129, 128, 127, 131, 126, 126, 126, 123, 125, 127, 128, 129, 131, 127, 129, 130, 127, 129, 127, 126, 127, 124, 130, 129, 122, 128, 130, 125, 126, 127, 125, 132, 128, 123, 131, 129, 129, 131, 123, 127, 130, 126, 128, 130, 126, 122, 128, 134, 127, 121, 129, 131, 127, 129, 127, 128, 127, 124, 131, 126, 126, 128, 123, 132, 129, 124, 131, 125, 127, 131, 127, 128, 131, 129, 124, 125, 131, 127, 126, 131, 126, 123, 129, 129, 129, 126, 123, 130, 131, 126, 125, 129, 132, 125, 123, 130, 129, 128, 130, 128, 125, 125, 127, 128, 130, 128, 128, 128, 126, 127, 126, 126, 127, 128, 131, 127, 126, 128, 127, 128, 130, 128, 125, 129, 129, 125, 130, 128, 124, 127, 130, 131, 123, 125, 131, 126, 126, 129, 128, 126, 128, 129, 129, 128, 123, 124, 128, 128, 126, 127, 130, 130, 126, 124, 128, 132, 127, 125, 123, 124, 129, 129, 130, 131, 126, 128, 130, 128, 127, 127, 129, 127, 129, 127, 123, 128, 129, 125, 127, 129, 126, 126, 127, 125, 130, 125, 127, 134, 121, 130, 143, 124, 123, 130, 123, 127, 134, 127, 125, 131, 126, 125, 130, 124, 128, 132, 126, 123, 123, 126, 128, 126, 129, 133, 133, 132, 130, 125, 126, 127, 125, 126, 130, 129, 129, 130, 126, 126, 129, 126, 130, 132, 123, 125, 129, 127, 126, 129, 129, 123, 126, 131, 129, 125, 124, 123, 122, 130, 135, 131, 134, 132, 128, 127, 120, 120, 121, 124, 127, 128, 133, 128, 123, 123, 123, 128, 129, 131, 133, 130, 128, 128, 125, 124, 127, 128, 125, 128, 129, 123, 124, 128, 125, 130, 134, 127, 126, 128, 124, 123, 124, 126, 129, 127, 128, 131, 131, 129, 130, 130, 126, 129, 131, 127, 127, 129, 132, 133, 131, 130, 128, 125, 126, 126, 121, 121, 126, 126, 126, 129, 131, 131, 129, 131, 127, 123, 128, 129, 127, 128, 125, 124, 124, 123, 122, 125, 126, 126, 125, 121, 119, 120, 121, 127, 130, 132, 133, 130, 126, 123, 121, 123, 124, 129, 128, 127, 132, 128, 125, 125, 123, 125, 129, 130, 131, 135, 135, 133, 137, 137, 138, 143, 142, 145, 142, 141, 142, 140, 143, 141, 142, 147, 143, 142, 135, 133, 134, 129, 130, 126, 124, 124, 118, 117, 114, 109, 111, 112, 111, 110, 112, 109, 107, 107, 102, 98, 94, 90, 85, 83, 91, 100, 115, 133, 142, 152, 154, 150, 146, 138, 131, 124, 118, 114, 108, 103, 100, 103, 107, 118, 138, 156, 179, 194, 197, 195, 181, 167, 156, 147, 145, 144, 147, 149, 150, 151, 142, 136, 127, 121, 119, 115, 118, 118, 116, 116, 108, 102, 90, 75, 64, 48, 37, 38, 60, 92, 127, 180, 209, 222, 233, 206, 173, 143, 107, 84, 71, 70, 69, 71, 81, 82, 84, 91, 98, 110, 127, 151, 170, 189, 209, 212, 207, 197, 176, 155, 138, 127, 121, 121, 130, 137, 148, 161, 166, 170, 169, 159, 151, 139, 127, 116, 105, 99, 92, 88, 83, 76, 69, 55, 54, 48, 39, 62, 86, 119, 168, 200, 225, 235, 223, 199, 160, 128, 91, 63, 54, 43, 46, 57, 65, 81, 94, 111, 125, 139, 157, 166, 179, 190, 190, 190, 184, 171, 158, 147, 139, 132, 133, 137, 142, 152, 161, 169, 173, 174, 172, 162, 151, 139, 124, 114, 104, 98, 95, 91, 90, 86, 81, 71, 60, 51, 37, 41, 62, 87, 131, 179, 214, 238, 244, 226, 192, 153, 113, 74, 52, 41, 35, 42, 54, 66, 83, 102, 117, 134, 149, 162, 172, 181, 188, 185, 183, 176, 161, 153, 144, 135, 136, 138, 141, 148, 156, 161, 164, 170, 166, 162, 156, 143, 134, 123, 113, 109, 103, 104, 101, 96, 93, 82, 75, 61, 50, 47, 36, 52, 76, 102, 152, 187, 216, 237, 232, 216, 182, 148, 111, 74, 61, 46, 41, 50, 56, 68, 82, 99, 115, 130, 150, 161, 173, 184, 186, 185, 180, 170, 160, 152, 145, 143, 143, 145, 148, 150, 153, 155, 157, 159, 161, 161, 159, 155, 147, 139, 128, 116, 110, 102, 97, 93, 86, 81, 72, 63, 53, 46, 47, 43, 63, 94, 121, 170, 208, 229, 245, 234, 206, 171, 130, 92, 63, 46, 37, 37, 45, 56, 68, 87, 103, 117, 137, 149, 158, 173, 179, 184, 186, 183, 174, 164, 157, 145, 141, 142, 139, 143, 147, 152, 153, 157, 160, 158, 161, 159, 154, 152, 141, 132, 125, 115, 109, 103, 95, 86, 78, 66, 56, 45, 43, 49, 49, 74, 104, 131, 176, 207, 228, 242, 233, 210, 176, 142, 99, 66, 47, 31, 29, 34, 46, 61, 81, 104, 117, 137, 152, 158, 172, 178, 182, 186, 184, 179, 171, 162, 151, 144, 141, 136, 139, 144, 144, 151, 154, 157, 159, 159, 161, 153, 151, 142, 132, 124, 115, 110, 103, 101, 94, 87, 77, 66, 55, 44, 45, 43, 51, 80, 104, 143, 186, 210, 237, 241, 227, 202, 166, 128, 89, 63, 43, 33, 35, 41, 55, 71, 86, 105, 118, 135, 149, 159, 173, 180, 185, 189, 182, 177, 166, 153, 145, 137, 135, 134, 139, 140, 144, 148, 151, 155, 159, 164, 167, 169, 166, 160, 147, 135, 118, 106, 97, 90, 88, 83, 82, 76, 68, 64, 55, 51, 56, 59, 89, 113, 148, 194, 210, 236, 233, 216, 193, 155, 119, 83, 62, 44, 37, 42, 48, 61, 76, 94, 107, 123, 140, 149, 164, 175, 180, 183, 182, 174, 164, 157, 144, 138, 132, 130, 132, 134, 141, 148, 155, 160, 163, 167, 166, 166, 164, 158, 154, 140, 128, 116, 106, 98, 93, 93, 89, 86, 81, 74, 67, 59, 58, 58, 59, 85, 107, 139, 182, 208, 233, 235, 226, 197, 162, 127, 87, 63, 45, 36, 37, 46, 57, 71, 90, 106, 121, 139, 152, 164, 178, 183, 187, 188, 177, 167, 154, 140, 131, 123, 121, 125, 131, 140, 148, 155, 160, 162, 163, 168, 164, 164, 165, 155, 149, 135, 123, 113, 103, 100, 97, 96, 95, 89, 83, 76, 66, 59, 55, 56, 61, 82, 111, 137, 180, 204, 220, 230, 214, 191, 162, 126, 92, 70, 56, 47, 48, 57, 63, 75, 90, 101, 117, 134, 152, 164, 179, 186, 185, 182, 173, 158, 148, 135, 127, 124, 123, 130, 134, 144, 148, 152, 157, 158, 160, 161, 161, 161, 158, 153, 145, 136, 126, 115, 110, 105, 104, 104, 105, 102, 98, 91, 83, 73, 66, 59, 55, 71, 86, 115, 149, 185, 205, 219, 220, 196, 175, 142, 111, 85, 68, 56, 53, 55, 62, 69, 83, 94, 107, 124, 137, 154, 166, 178, 184, 185, 177, 163, 146, 130, 115, 109, 111, 115, 129, 142, 157, 166, 173, 176, 172, 168, 161, 155, 153, 147, 143, 141, 133, 124, 119, 109, 106, 105, 106, 111, 114, 118, 115, 110, 100, 86, 71, 61, 47, 51, 68, 93, 129, 167, 201, 218, 228, 215, 192, 163, 131, 100, 79, 65, 56, 58, 61, 66, 73, 84, 91, 102, 120, 135, 155, 174, 186, 192, 190, 175, 155, 129, 111, 96, 90, 100, 113, 133, 153, 170, 180, 183, 184, 177, 170, 163, 157, 152, 148, 144, 139, 133, 124, 115, 107, 104, 105, 112, 122, 132, 139, 141, 134, 120, 101, 76, 57, 42, 28, 31, 48, 78, 116, 161, 202, 223, 239, 226, 203, 174, 140, 109, 86, 71, 61, 57, 58, 65, 66, 81, 93, 105, 122, 140, 155, 167, 179, 181, 178, 167, 150, 126, 106, 89, 82, 85, 99, 122, 141, 165, 181, 186, 190, 187, 179, 170, 165, 155, 147, 145, 138, 136, 131, 127, 120, 116, 116, 117, 126, 135, 142, 147, 149, 139, 126, 106, 81, 57, 36, 22, 13, 21, 51, 87, 132, 187, 220, 245, 250, 232, 201, 162, 129, 95, 73, 61, 57, 55, 62, 70, 76, 86, 97, 107, 119, 136, 152, 168, 179, 186, 180, 166, 144, 116, 91, 74, 67, 72, 89, 113, 140, 167, 189, 198, 204, 199, 186, 172, 156, 146, 134, 132, 129, 127, 128, 129, 131, 134, 138, 142, 146, 148, 152, 151, 145, 142, 128, 113, 96, 77, 60, 46, 35, 34, 35, 46, 84, 116, 160, 201, 234, 244, 234, 213, 171, 131, 96, 68, 49, 46, 51, 59, 71, 90, 102, 112, 123, 128, 135, 140, 149, 154, 161, 164, 161, 149, 133, 111, 89, 75, 69, 75, 91, 117, 145, 171, 191, 204, 204, 196, 184, 168, 151, 140, 132, 129, 130, 132, 135, 136, 139, 140, 145, 148, 154, 157, 158, 157, 151, 142, 131, 117, 102, 89, 77, 65, 58, 50, 43, 37, 47, 86, 121, 177, 222, 251, 255, 227, 190, 139, 97, 69, 57, 54, 62, 71, 80, 86, 94, 102, 107, 121, 132, 144, 156, 163, 165, 161, 149, 131, 108, 88, 71, 61, 65, 77, 95, 120, 143, 168, 185, 199, 204, 198, 186, 168, 149, 132, 122, 118, 120, 125, 137, 143, 152, 157, 159, 164, 165, 166, 164, 160, 155, 147, 135, 126, 113, 102, 94, 91, 89, 89, 88, 87, 80, 70, 56, 57, 84, 121, 168, 209, 239, 232, 208, 164, 117, 81, 56, 54, 58, 78, 92, 101, 106, 111, 112, 120, 129, 140, 149, 150, 148, 138, 125, 104, 91, 80, 80, 90, 105, 123, 136, 141, 140, 134, 132, 139, 143, 159, 169, 172, 167, 153, 140, 125, 118, 120, 126, 141, 153, 164, 174, 177, 176, 173, 166, 159, 153, 145, 140, 137, 132, 129, 125, 119, 113, 107, 101, 95, 88, 84, 79, 69, 62, 55, 69, 108, 149, 193, 227, 236, 216, 175, 133, 90, 60, 53, 58, 72, 82, 94, 101, 104, 112, 123, 138, 151, 158, 159, 146, 125, 104, 83, 71, 68, 79, 98, 116, 134, 143, 142, 140, 136, 133, 135, 138, 142, 140, 136, 128, 120, 119, 124, 131, 143, 153, 158, 161, 162, 164, 162, 161, 159, 155, 151, 148, 149, 151, 152, 155, 152, 147, 141, 135, 133, 133, 132, 131, 126, 120, 109, 102, 98, 98, 98, 92, 83, 69, 63, 87, 125, 168, 207, 220, 207, 171, 131, 98, 75, 74, 82, 93, 99, 96, 93, 95, 105, 122, 141, 155, 154, 141, 118, 93, 76, 72, 82, 97, 116, 130, 135, 131, 126, 123, 124, 131, 136, 138, 133, 123, 118, 119, 127, 140, 155, 164, 160, 151, 137, 128, 129, 136, 147, 155, 156, 153, 147, 146, 151, 160, 169, 171, 169, 160, 149, 140, 136, 136, 135, 135, 134, 134, 133, 130, 128, 125, 122, 121, 117, 112, 108, 100, 91, 78, 64, 59, 82, 130, 175, 209, 214, 194, 154, 111, 84, 76, 81, 90, 98, 94, 89, 84, 92, 109, 132, 150, 157, 145, 119, 95, 79, 83, 99, 119, 126, 123, 114, 106, 106, 117, 131, 140, 141, 134, 123, 111, 107, 113, 128, 141, 151, 153, 147, 140, 136, 138, 144, 147, 147, 143, 137, 137, 141, 151, 161, 165, 168, 166, 159, 153, 149, 146, 149, 152, 153, 151, 143, 137, 130, 126, 128, 132, 133, 136, 135, 128, 119, 112, 110, 108, 108, 105, 105, 100, 90, 78, 76, 97, 133, 171, 193, 190, 164, 132, 103, 90, 93, 99, 99, 95, 86, 76, 78, 92, 116, 138, 150, 148, 134, 116, 102, 101, 108, 120, 125, 120, 107, 96, 97, 109, 129, 146, 149, 138, 122, 110, 107, 112, 123, 132, 132, 127, 122, 123, 129, 134, 138, 141, 141, 137, 136, 139, 146, 153, 156, 155, 155, 152, 149, 147, 146, 147, 149, 154, 157, 156, 154, 149, 145, 141, 137, 139, 138, 136, 136, 136, 137, 137, 134, 131, 132, 133, 134, 134, 129, 120, 111, 108, 112, 120, 125, 124, 117, 104, 85, 73, 81, 112, 149, 174, 176, 158, 132, 110, 100, 103, 113, 116, 108, 94, 83, 85, 99, 120, 137, 145, 140, 126, 113, 107, 110, 117, 125, 127, 121, 114, 113, 119, 130, 136, 135, 131, 122, 115, 115, 119, 124, 128, 128, 130, 133, 135, 139, 139, 135, 128, 120, 115, 115, 117, 118, 121, 127, 132, 139, 145, 149, 150, 148, 144, 142, 141, 141, 141, 143, 144, 143, 141, 138, 138, 138, 139, 139, 138, 138, 137, 138, 140, 141, 142, 141, 140, 138, 135, 133, 133, 132, 133, 134, 134, 132, 129, 125, 122, 122, 122, 120, 114, 109, 108, 110, 113, 114, 110, 104, 95, 92, 97, 116, 142, 156, 153, 139, 125, 120, 119, 118, 115, 107, 97, 90, 91, 100, 116, 132, 140, 139, 134, 129, 126, 124, 122, 119, 116, 114, 114, 117, 123, 127, 130, 132, 133, 135, 135, 134, 131, 128, 128, 129, 129, 128, 128, 128, 128, 127, 127, 127, 129, 134, 137, 137, 134, 131, 130, 129, 131, 132, 135, 137, 139, 139, 138, 138, 140, 145, 147, 145, 140, 136, 134, 134, 134, 136, 139, 141, 140, 139, 138, 137, 136, 136, 136, 135, 133, 130, 127, 124, 123, 123, 126, 130, 131, 128, 124, 120, 116, 112, 112, 114, 114, 110, 103, 98, 97, 97, 102, 115, 135, 148, 147, 135, 123, 118, 120, 122, 122, 115, 106, 98, 97, 105, 118, 128, 132, 133, 133, 133, 134, 132, 129, 124, 121, 122, 124, 125, 125, 124, 125, 127, 131, 135, 138, 139, 139, 137, 137, 136, 134, 130, 128, 128, 128, 127, 127, 127, 128, 128, 128, 128, 131, 135, 137, 135, 130, 127, 128, 133, 136, 135, 133, 131, 132, 135, 138, 139, 136, 133, 132, 133, 135, 135, 134, 131, 130, 130, 132, 134, 135, 136, 136, 136, 133, 130, 127, 125, 124, 125, 127, 128, 129, 128, 127, 127, 128, 128, 126, 123, 118, 114, 112, 113, 114, 114, 115, 116, 116, 114, 108, 102, 100, 107, 123, 142, 151, 148, 136, 126, 123, 126, 127, 125, 117, 108, 104, 107, 115, 124, 129, 131, 133, 134, 136, 136, 132, 126, 122, 121, 124, 127, 128, 129, 129, 132, 136, 140, 140, 137, 133, 131, 130, 130, 128, 126, 125, 126, 127, 127, 127, 127, 129, 130, 130, 130, 128, 127, 125, 125, 126, 129, 130, 130, 130, 132, 133, 132, 130, 129, 128, 130, 131, 133, 133, 132, 131, 131, 134, 137, 138, 137, 136, 136, 136, 135, 132, 129, 127, 127, 128, 129, 130, 129, 129, 130, 133, 133, 129, 124, 121, 122, 125, 125, 121, 116, 114, 118, 124, 127, 127, 123, 120, 121, 124, 127, 126, 122, 118, 114, 109, 106, 107, 117, 132, 141, 140, 132, 127, 128, 133, 135, 132, 124, 115, 112, 116, 122, 127, 126, 125, 128, 134, 138, 137, 131, 125, 124, 127, 132, 133, 130, 127, 128, 132, 136, 136, 133, 128, 126, 128, 130, 130, 129, 127, 128, 130, 132, 131, 128, 126, 126, 128, 130, 129, 127, 126, 127, 129, 129, 128, 127, 127, 128, 128, 125, 122, 122, 125, 129, 132, 132, 130, 131, 132, 134, 133, 132, 130, 130, 131, 132, 132, 131, 130, 131, 132, 133, 132, 130, 127, 125, 125, 127, 128, 128, 126, 125, 128, 130, 131, 129, 127, 126, 128, 128, 127, 125, 124, 125, 127, 127, 127, 125, 125, 126, 127, 127, 124, 122, 123, 125, 126, 124, 119, 114, 112, 117, 129, 139, 140, 133, 126, 126, 130, 132, 130, 125, 119, 117, 120, 125, 126, 125, 124, 127, 132, 134, 132, 127, 123, 124, 128, 131, 131, 128, 125, 125, 129, 133, 132, 128, 124, 124, 127, 129, 128, 124, 121, 122, 125, 127, 126, 124, 123, 125, 127, 129, 128, 126, 126, 128, 130, 131, 130, 128, 128, 129, 130, 130, 129, 129, 131, 134, 136, 137, 136, 135, 135, 135, 134, 132, 131, 131, 131, 132, 131, 131, 131, 132, 133, 132, 129, 127, 124, 123, 125, 127, 130, 130, 129, 128, 128, 128, 129, 131, 133, 132, 129, 126, 126, 126, 126, 125, 125, 125, 126, 123, 119, 114, 112, 116, 122, 126, 126, 123, 123, 125, 127, 127, 126, 124, 123, 123, 123, 123, 122, 121, 123, 126, 127, 126, 123, 121, 122, 125, 127, 129, 128, 126, 128, 131, 132, 131, 128, 127, 128, 129, 129, 128, 126, 127, 129, 131, 132, 132, 131, 130, 130, 132, 133, 133, 131, 131, 132, 134, 134, 132, 131, 130, 130, 130, 130, 130, 130, 130, 130, 130, 131, 132, 133, 132, 129, 127, 126, 127, 130, 132, 131, 130, 131, 130, 129, 127, 126, 128, 128, 127, 125, 123, 123, 127, 132, 133, 130, 126, 124, 125, 126, 126, 126, 125, 125, 126, 128, 128, 126, 126, 127, 127, 126, 122, 121, 122, 123, 124, 122, 121, 119, 121, 124, 125, 122, 119, 120, 124, 127, 124, 119, 116, 118, 123, 127, 127, 124, 123, 125, 130, 134, 132, 130, 130, 133, 134, 133, 128, 124, 124, 128, 132, 133, 129, 127, 128, 133, 136, 135, 131, 129, 130, 132, 135, 134, 131, 128, 128, 131, 135, 135, 131, 128, 128, 132, 134, 133, 129, 126, 127, 129, 131, 131, 128, 125, 124, 127, 131, 132, 129, 126, 124, 126, 128, 129, 128, 125, 123, 123, 127, 129, 128, 125, 122, 124, 126, 127, 125, 123, 124, 127, 128, 127, 124, 120, 121, 124, 126, 127, 127, 126, 125, 126, 126, 125, 123, 121, 122, 125, 127, 127, 127, 127, 128, 129, 129, 127, 124, 125, 128, 129, 129, 126, 125, 127, 129, 130, 128, 127, 127, 129, 131, 130, 128, 126, 126, 128, 130, 128, 126, 127, 130, 132, 132, 129, 126, 125, 126, 128, 130, 130, 128, 128, 130, 131, 130, 128, 126, 126, 129, 131, 130, 127, 125, 127, 130, 131, 130, 126, 125, 126, 127, 128, 128, 128, 129, 129, 129, 128, 128, 128, 128, 126, 124, 125, 127, 128, 127, 125, 126, 128, 129, 128, 125, 124, 126, 127, 128, 127, 126, 126, 126, 127, 128, 129, 129, 127, 126, 127, 128, 127, 126, 127, 130, 131, 129, 126, 124, 126, 129, 131, 131, 129, 128, 130, 131, 130, 127, 125, 126, 130, 134, 133, 129, 126, 126, 129, 130, 130, 128, 126, 125, 127, 128, 129, 128, 127, 126, 127, 128, 130, 128, 126, 126, 127, 130, 130, 129, 126, 126, 127, 129, 130, 127, 124, 123, 125, 128, 128, 127, 126, 126, 127, 128, 128, 127, 125, 124, 127, 130, 130, 128, 126, 124, 125, 127, 127, 126, 126, 127, 129, 131, 129, 127, 125, 125, 127, 127, 127, 126, 127, 128, 129, 129, 128, 127, 126, 127, 127, 128, 128, 128, 127, 125, 126, 129, 130, 129, 128, 129, 130, 129, 127, 126, 126, 127, 128, 129, 128, 128, 128, 128, 128, 128, 128, 128, 129, 130, 130, 129, 128, 128, 128, 127, 127, 126, 126, 127, 129, 131, 130, 127, 126, 125, 125, 125, 127, 128, 127, 126, 126, 127, 129, 130, 128, 127, 127, 128, 128, 127, 126, 126, 127, 127, 127, 128, 128, 128, 127, 125, 124, 125, 127, 129, 128, 126, 126, 127, 128, 127, 125, 125, 126, 128, 130, 130, 128, 126, 126, 127, 127, 126, 126, 127, 129, 130, 129, 128, 127, 128, 128, 128, 127, 126, 126, 127, 129, 129, 128, 127, 128, 128, 127, 126, 127, 129, 130, 129, 128, 127, 128, 127, 126, 126, 127, 129, 130, 130, 129, 128, 127, 127, 127, 126, 126, 127, 128, 128, 125, 124, 126, 129, 129, 127, 125, 126, 128, 128, 128, 128, 128, 128, 129, 129, 129, 128, 127, 128, 129, 129, 127, 125, 125, 125, 127, 128, 128, 128, 128, 129, 129, 127, 126, 126, 126, 127, 128, 127, 127, 128, 128, 128, 127, 128, 128, 128, 127, 127, 128, 129, 129, 128, 127, 126, 127, 129, 129, 128, 127, 127, 129, 129, 128, 127, 127, 128, 128, 128, 128, 127, 127, 127, 128, 128, 128, 127, 127, 127, 128, 128, 127, 126, 126, 127, 129, 129, 128, 127, 126, 127, 128, 128, 127, 127, 128, 129, 129, 128, 127, 126, 126, 127, 127, 127, 127, 128, 128, 128, 127, 126, 126, 126, 127, 127, 127, 128, 129, 129, 128, 127, 127, 128, 128, 128, 127, 127, 128, 128, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 129, 128, 128, 127, 128, 128, 129, 128, 127, 127, 127, 127, 127, 127, 126, 127, 128, 129, 129, 128, 127, 127, 128, 128, 128, 127, 127, 128, 129, 129, 128, 127, 127, 127, 127, 128, 128, 127, 127, 128, 128, 128, 127, 127, 126, 127, 127, 127, 127, 127, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 128, 129, 128, 127, 127, 128, 128, 128, 127, 127, 127, 128, 128, 127, 127, 127, 128, 128, 128, 127, 127, 128, 128, 128, 128, 128, 127, 127, 127, 128, 128, 128, 128, 127, 127, 128, 128, 128, 127, 127, 127, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 127, 127, 127, 127, 127, 128, 128, 128, 128, 127, 127, 127, 127, 128, 127, 127, 127, 128, 128, 128, 128, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 128, 128, 128, 128, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 127, 127, 127, 127, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 128, 128, 127, 127, 127, 127, 127, 128, 128, 127, 127, 128, 128, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 128, 128, 128, 128, 128, 127, 127, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 127, 127, 127, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 127, 128, 128, 128, 127, 127, 127, 128, 128, 127, 127, 127, 128, 128, 127, 128, 128, 128, 128, 127, 127, 127, 128, 128, 128, 127, 127, 127, 128, 127, 127, 127, 127, 128, 128, 127, 127, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,};
const unsigned char five[] PROGMEM = {128, 129, 127, 126, 127, 128, 129, 128, 127, 129, 128, 125, 127, 128, 127, 129, 128, 127, 128, 127, 127, 129, 127, 128, 129, 126, 125, 127, 129, 127, 128, 129, 126, 128, 128, 127, 128, 126, 128, 131, 127, 127, 127, 128, 129, 127, 127, 126, 127, 128, 127, 126, 128, 129, 127, 128, 129, 126, 128, 127, 127, 129, 127, 129, 129, 126, 128, 126, 128, 129, 127, 127, 128, 129, 127, 126, 129, 128, 128, 129, 127, 127, 127, 126, 126, 128, 127, 128, 130, 126, 129, 129, 126, 128, 128, 128, 126, 126, 130, 127, 125, 128, 127, 127, 127, 127, 128, 129, 127, 124, 130, 130, 127, 128, 126, 126, 129, 127, 127, 129, 127, 125, 127, 130, 127, 126, 129, 128, 127, 129, 127, 127, 127, 126, 129, 126, 127, 128, 124, 129, 128, 127, 131, 124, 126, 131, 127, 129, 128, 127, 127, 125, 129, 128, 128, 129, 123, 127, 131, 126, 127, 127, 126, 129, 128, 127, 126, 130, 131, 126, 123, 128, 130, 128, 128, 129, 126, 125, 127, 128, 128, 128, 129, 128, 128, 126, 126, 127, 126, 129, 129, 126, 127, 128, 127, 128, 127, 127, 125, 129, 130, 126, 127, 128, 127, 127, 129, 130, 127, 126, 127, 129, 128, 129, 128, 124, 128, 130, 127, 126, 127, 127, 127, 129, 127, 125, 129, 129, 126, 126, 130, 130, 126, 128, 126, 126, 128, 128, 129, 127, 127, 128, 129, 130, 124, 125, 130, 128, 131, 127, 124, 127, 130, 128, 126, 128, 127, 125, 127, 126, 129, 128, 127, 128, 125, 133, 134, 123, 125, 130, 126, 125, 131, 128, 124, 130, 127, 126, 131, 127, 126, 129, 130, 126, 122, 127, 129, 126, 128, 129, 129, 129, 127, 126, 128, 129, 125, 126, 129, 128, 127, 128, 129, 128, 127, 126, 129, 130, 126, 127, 129, 127, 129, 128, 124, 126, 127, 130, 128, 126, 131, 126, 123, 130, 128, 127, 131, 129, 126, 126, 126, 124, 126, 127, 124, 128, 131, 127, 128, 127, 127, 127, 126, 129, 128, 128, 128, 127, 127, 128, 129, 126, 126, 129, 128, 126, 124, 127, 127, 127, 131, 126, 126, 130, 124, 125, 126, 126, 129, 125, 125, 129, 127, 129, 133, 128, 127, 129, 128, 130, 127, 128, 128, 125, 130, 129, 126, 124, 123, 129, 126, 124, 129, 125, 127, 126, 124, 131, 128, 128, 131, 122, 123, 131, 126, 127, 129, 125, 127, 125, 125, 133, 136, 138, 137, 125, 121, 123, 120, 122, 125, 123, 124, 124, 126, 129, 131, 133, 131, 130, 125, 123, 131, 134, 136, 136, 129, 129, 129, 126, 124, 125, 127, 131, 137, 131, 130, 133, 129, 131, 131, 132, 134, 130, 131, 129, 129, 132, 132, 132, 126, 127, 131, 132, 136, 132, 128, 129, 123, 123, 124, 123, 127, 125, 126, 125, 118, 119, 119, 119, 119, 116, 117, 115, 114, 118, 116, 115, 111, 109, 108, 108, 111, 108, 109, 115, 119, 133, 145, 152, 156, 155, 153, 151, 149, 146, 145, 146, 145, 148, 149, 147, 144, 143, 140, 140, 145, 142, 134, 135, 131, 122, 126, 127, 119, 122, 117, 107, 106, 98, 96, 93, 90, 88, 74, 68, 43, 47, 119, 166, 204, 239, 204, 143, 97, 69, 58, 74, 104, 105, 100, 106, 100, 113, 141, 163, 171, 165, 157, 139, 129, 148, 163, 168, 173, 162, 141, 136, 147, 153, 165, 182, 169, 156, 159, 152, 148, 153, 143, 126, 117, 106, 98, 93, 90, 83, 70, 69, 58, 55, 71, 54, 95, 187, 213, 237, 240, 164, 91, 49, 33, 41, 88, 125, 114, 115, 114, 108, 135, 168, 179, 166, 139, 102, 78, 93, 127, 168, 196, 200, 175, 144, 134, 125, 135, 157, 160, 164, 163, 160, 158, 156, 152, 141, 139, 128, 124, 122, 109, 100, 84, 78, 70, 65, 73, 59, 67, 59, 70, 175, 227, 243, 255, 175, 83, 42, 24, 34, 84, 124, 125, 136, 136, 125, 145, 159, 161, 143, 116, 89, 70, 92, 128, 170, 200, 197, 169, 140, 118, 115, 142, 168, 180, 185, 171, 162, 151, 143, 141, 130, 127, 124, 129, 132, 129, 121, 96, 76, 73, 68, 80, 98, 106, 98, 86, 71, 63, 145, 198, 211, 237, 156, 77, 54, 29, 66, 114, 150, 148, 130, 129, 111, 138, 152, 145, 137, 100, 79, 81, 110, 147, 177, 203, 182, 158, 138, 118, 131, 154, 171, 170, 175, 162, 147, 151, 146, 135, 135, 133, 125, 133, 132, 124, 132, 119, 96, 101, 94, 97, 114, 104, 91, 67, 47, 35, 62, 164, 208, 243, 248, 143, 84, 34, 25, 67, 108, 154, 154, 152, 137, 119, 135, 137, 132, 121, 93, 72, 79, 104, 139, 186, 190, 172, 151, 122, 109, 122, 152, 162, 173, 170, 158, 164, 159, 148, 134, 121, 126, 129, 157, 159, 158, 151, 109, 101, 95, 93, 109, 126, 104, 93, 84, 79, 70, 69, 75, 67, 156, 206, 215, 242, 166, 87, 56, 20, 50, 108, 150, 165, 162, 136, 109, 120, 122, 131, 126, 110, 90, 91, 103, 131, 164, 187, 176, 152, 140, 105, 116, 136, 153, 162, 175, 177, 168, 163, 145, 128, 124, 122, 129, 147, 144, 146, 135, 137, 133, 126, 130, 117, 101, 92, 85, 89, 100, 91, 103, 78, 69, 61, 123, 190, 191, 228, 154, 94, 66, 45, 75, 122, 153, 141, 137, 117, 109, 129, 149, 146, 131, 110, 70, 77, 104, 122, 166, 186, 167, 154, 135, 109, 129, 146, 158, 172, 165, 159, 149, 157, 153, 134, 133, 128, 130, 156, 158, 162, 141, 119, 108, 99, 115, 124, 126, 112, 107, 99, 90, 86, 82, 66, 74, 62, 135, 199, 198, 227, 151, 93, 58, 45, 67, 113, 151, 152, 155, 137, 120, 123, 132, 124, 124, 107, 83, 92, 115, 127, 169, 177, 144, 144, 118, 110, 141, 161, 159, 162, 156, 129, 138, 154, 150, 148, 155, 141, 141, 152, 142, 147, 136, 120, 124, 122, 134, 133, 126, 114, 94, 104, 95, 101, 99, 79, 65, 64, 51, 119, 204, 199, 228, 153, 80, 55, 52, 93, 130, 162, 144, 145, 133, 123, 130, 130, 110, 101, 95, 81, 98, 126, 146, 161, 178, 154, 137, 131, 113, 131, 141, 155, 162, 154, 158, 149, 148, 144, 139, 136, 138, 135, 149, 149, 147, 152, 133, 126, 114, 111, 110, 111, 107, 117, 116, 109, 113, 100, 85, 71, 62, 56, 119, 186, 191, 209, 157, 90, 72, 66, 98, 135, 170, 150, 137, 116, 101, 125, 136, 133, 121, 105, 77, 92, 112, 130, 150, 164, 155, 137, 130, 114, 127, 137, 147, 156, 160, 165, 152, 149, 145, 140, 136, 146, 144, 144, 152, 141, 150, 153, 134, 128, 119, 106, 116, 114, 113, 120, 105, 105, 101, 87, 91, 69, 64, 54, 101, 179, 185, 213, 174, 100, 77, 86, 97, 137, 154, 134, 126, 125, 133, 138, 145, 123, 102, 90, 91, 108, 134, 132, 142, 135, 123, 125, 124, 127, 144, 159, 150, 169, 154, 146, 139, 137, 143, 149, 152, 144, 155, 146, 138, 138, 125, 128, 140, 144, 138, 134, 134, 127, 128, 115, 102, 92, 93, 90, 101, 100, 87, 75, 65, 66, 117, 197, 193, 218, 166, 90, 76, 62, 88, 115, 145, 143, 147, 147, 132, 126, 122, 105, 103, 99, 104, 115, 120, 134, 137, 144, 130, 142, 128, 121, 137, 139, 158, 163, 170, 150, 139, 138, 132, 136, 148, 153, 159, 158, 145, 143, 126, 128, 132, 139, 143, 142, 137, 127, 119, 112, 109, 113, 109, 106, 106, 108, 102, 91, 80, 81, 76, 85, 163, 171, 187, 171, 117, 92, 84, 105, 106, 132, 134, 125, 132, 139, 129, 134, 116, 92, 86, 90, 104, 126, 146, 139, 145, 140, 134, 127, 129, 122, 129, 148, 156, 162, 153, 147, 142, 139, 137, 145, 152, 151, 161, 156, 143, 139, 127, 132, 148, 155, 152, 136, 116, 108, 106, 125, 136, 143, 140, 113, 98, 92, 91, 97, 103, 100, 88, 86, 68, 100, 181, 187, 206, 167, 88, 59, 61, 87, 123, 156, 144, 132, 123, 121, 127, 131, 113, 96, 81, 91, 113, 141, 152, 150, 142, 118, 116, 113, 113, 121, 147, 150, 166, 179, 161, 158, 146, 139, 134, 136, 138, 138, 155, 159, 161, 155, 149, 139, 135, 141, 133, 137, 130, 129, 125, 120, 118, 124, 134, 140, 137, 121, 101, 80, 80, 90, 97, 96, 90, 88, 82, 112, 173, 170, 170, 145, 98, 84, 92, 107, 122, 139, 124, 126, 135, 131, 120, 125, 105, 88, 101, 116, 124, 140, 135, 119, 124, 118, 122, 130, 122, 110, 122, 132, 158, 171, 167, 163, 156, 148, 141, 139, 135, 143, 154, 166, 169, 164, 146, 128, 126, 132, 149, 159, 147, 134, 126, 120, 115, 128, 125, 135, 143, 129, 125, 109, 92, 94, 100, 100, 116, 105, 87, 74, 74, 81, 150, 193, 176, 164, 109, 77, 76, 103, 114, 129, 130, 115, 128, 139, 141, 132, 119, 98, 91, 101, 110, 119, 127, 124, 121, 135, 140, 138, 127, 105, 105, 120, 141, 161, 166, 152, 149, 144, 139, 132, 130, 127, 134, 157, 162, 169, 151, 139, 132, 136, 144, 149, 155, 144, 135, 138, 138, 135, 138, 139, 148, 144, 138, 127, 125, 109, 103, 114, 106, 119, 121, 111, 112, 105, 97, 91, 84, 75, 121, 165, 150, 159, 127, 92, 96, 108, 103, 116, 122, 110, 135, 140, 135, 129, 122, 99, 100, 113, 111, 115, 117, 109, 122, 133, 136, 137, 119, 110, 106, 122, 132, 148, 151, 152, 157, 153, 142, 125, 124, 126, 141, 158, 167, 160, 152, 135, 126, 128, 135, 143, 151, 148, 138, 146, 140, 143, 147, 143, 139, 139, 137, 131, 129, 130, 124, 126, 135, 129, 126, 122, 103, 93, 94, 89, 92, 91, 89, 95, 147, 184, 163, 153, 112, 87, 91, 104, 113, 114, 120, 114, 136, 147, 141, 119, 98, 87, 92, 109, 116, 124, 115, 117, 125, 134, 131, 121, 107, 109, 121, 139, 145, 137, 134, 130, 142, 146, 145, 136, 133, 127, 135, 155, 156, 150, 144, 140, 130, 138, 144, 142, 150, 150, 152, 152, 149, 139, 133, 143, 145, 151, 151, 138, 126, 132, 134, 132, 133, 123, 124, 126, 129, 120, 113, 110, 99, 106, 117, 117, 113, 97, 86, 78, 102, 159, 166, 153, 139, 108, 96, 113, 113, 107, 113, 113, 124, 144, 140, 117, 99, 94, 96, 113, 127, 113, 113, 109, 115, 133, 139, 130, 111, 103, 101, 118, 136, 140, 134, 130, 128, 134, 143, 133, 132, 129, 133, 149, 152, 148, 146, 140, 133, 144, 143, 140, 143, 145, 148, 150, 147, 136, 136, 141, 149, 159, 159, 144, 136, 137, 139, 139, 136, 134, 128, 131, 132, 125, 121, 125, 123, 125, 132, 126, 117, 112, 106, 105, 104, 99, 96, 96, 90, 99, 147, 159, 156, 143, 118, 108, 109, 114, 102, 105, 108, 122, 133, 139, 131, 117, 115, 110, 114, 110, 110, 109, 111, 116, 126, 126, 125, 121, 115, 123, 123, 126, 128, 126, 125, 128, 125, 125, 127, 124, 134, 144, 140, 138, 151, 144, 142, 143, 137, 137, 143, 150, 147, 149, 144, 143, 151, 149, 144, 145, 140, 140, 146, 142, 136, 138, 139, 143, 147, 142, 135, 126, 125, 123, 131, 138, 135, 131, 125, 126, 127, 124, 115, 105, 99, 104, 114, 117, 108, 100, 96, 100, 103, 132, 158, 146, 141, 131, 116, 107, 108, 98, 98, 107, 114, 119, 123, 122, 112, 118, 120, 116, 107, 106, 106, 115, 127, 125, 129, 129, 131, 124, 121, 117, 115, 123, 127, 131, 127, 129, 135, 139, 133, 131, 133, 135, 141, 142, 141, 143, 142, 138, 145, 144, 143, 146, 143, 145, 147, 146, 148, 148, 145, 142, 146, 150, 147, 146, 143, 140, 137, 136, 137, 133, 132, 140, 133, 125, 134, 131, 126, 130, 129, 118, 120, 125, 114, 109, 109, 108, 111, 120, 121, 111, 107, 102, 105, 105, 110, 139, 148, 134, 127, 117, 110, 114, 110, 100, 100, 113, 116, 124, 123, 111, 115, 124, 125, 121, 115, 110, 111, 112, 119, 124, 133, 133, 125, 123, 121, 121, 123, 125, 122, 123, 130, 140, 140, 134, 132, 125, 124, 127, 130, 131, 139, 149, 148, 149, 145, 145, 143, 142, 142, 142, 142, 144, 145, 146, 147, 146, 145, 142, 138, 135, 141, 143, 146, 144, 143, 142, 141, 138, 131, 129, 124, 126, 128, 131, 132, 127, 125, 125, 120, 113, 112, 115, 118, 118, 115, 116, 117, 113, 106, 100, 100, 104, 104, 115, 136, 134, 132, 135, 129, 119, 115, 105, 98, 107, 114, 116, 121, 123, 118, 123, 125, 121, 116, 113, 109, 108, 118, 122, 128, 132, 132, 134, 132, 129, 121, 118, 118, 118, 125, 130, 131, 134, 137, 137, 133, 130, 127, 124, 129, 128, 140, 153, 151, 149, 149, 148, 143, 144, 140, 139, 145, 146, 146, 146, 148, 147, 148, 147, 140, 140, 139, 135, 136, 135, 133, 138, 140, 138, 134, 129, 128, 131, 130, 118, 121, 125, 126, 124, 119, 117, 117, 123, 120, 113, 112, 114, 113, 111, 106, 107, 113, 113, 106, 103, 105, 105, 111, 125, 127, 123, 127, 129, 125, 121, 114, 108, 110, 112, 112, 114, 120, 122, 122, 122, 123, 128, 128, 126, 125, 124, 126, 128, 127, 126, 123, 124, 128, 128, 128, 131, 132, 130, 130, 132, 135, 139, 134, 134, 135, 131, 129, 131, 135, 137, 144, 149, 148, 146, 146, 143, 143, 140, 140, 141, 140, 145, 146, 143, 142, 141, 138, 139, 142, 142, 140, 137, 134, 133, 132, 130, 132, 133, 128, 129, 130, 124, 126, 124, 115, 120, 123, 123, 128, 126, 127, 123, 120, 116, 110, 113, 113, 110, 111, 113, 113, 111, 110, 112, 109, 101, 101, 105, 106, 113, 126, 127, 126, 135, 138, 131, 127, 124, 117, 116, 115, 111, 111, 115, 120, 122, 126, 131, 132, 134, 134, 132, 132, 130, 126, 124, 125, 129, 131, 134, 134, 132, 133, 134, 133, 134, 136, 134, 135, 134, 130, 130, 131, 131, 131, 135, 135, 137, 140, 140, 141, 143, 143, 140, 140, 141, 142, 142, 141, 141, 139, 136, 136, 135, 136, 136, 134, 133, 132, 129, 126, 128, 125, 124, 125, 129, 130, 129, 127, 123, 124, 120, 118, 123, 124, 121, 119, 123, 123, 118, 118, 118, 116, 115, 118, 114, 110, 112, 112, 114, 118, 114, 109, 109, 107, 114, 125, 124, 123, 132, 135, 129, 130, 129, 124, 124, 122, 117, 117, 122, 124, 121, 126, 132, 130, 130, 133, 131, 134, 137, 133, 130, 128, 128, 127, 129, 130, 129, 129, 130, 131, 133, 136, 132, 130, 130, 130, 132, 129, 126, 128, 131, 129, 132, 139, 141, 137, 139, 142, 142, 141, 139, 138, 140, 139, 136, 138, 137, 135, 135, 135, 131, 134, 137, 132, 130, 131, 130, 128, 127, 128, 126, 124, 126, 126, 123, 121, 121, 121, 122, 123, 124, 124, 122, 120, 118, 119, 119, 116, 114, 113, 114, 114, 115, 119, 119, 117, 116, 114, 112, 111, 112, 124, 127, 124, 128, 134, 134, 130, 131, 131, 128, 126, 124, 121, 122, 122, 120, 121, 124, 127, 129, 132, 134, 135, 137, 135, 135, 136, 135, 131, 128, 129, 127, 126, 127, 129, 129, 131, 133, 133, 130, 129, 129, 128, 129, 131, 131, 130, 132, 132, 133, 134, 134, 135, 138, 142, 141, 141, 143, 141, 140, 139, 136, 134, 135, 134, 130, 128, 129, 126, 126, 129, 125, 124, 127, 127, 125, 128, 128, 127, 128, 127, 124, 127, 127, 123, 122, 119, 121, 124, 123, 120, 120, 123, 123, 123, 118, 116, 117, 119, 119, 117, 117, 120, 119, 117, 119, 122, 119, 116, 115, 116, 126, 128, 123, 128, 135, 135, 133, 134, 134, 132, 130, 128, 126, 127, 126, 125, 126, 128, 128, 128, 129, 131, 131, 132, 132, 133, 131, 130, 130, 130, 129, 131, 130, 129, 128, 129, 128, 128, 129, 128, 129, 129, 128, 127, 126, 127, 126, 125, 126, 127, 128, 129, 130, 131, 135, 139, 137, 136, 138, 138, 139, 137, 133, 134, 136, 131, 129, 129, 129, 128, 126, 127, 127, 127, 127, 129, 128, 128, 130, 129, 126, 128, 129, 125, 125, 129, 128, 122, 122, 122, 123, 121, 120, 122, 121, 124, 125, 123, 124, 125, 125, 124, 123, 121, 119, 119, 119, 119, 119, 120, 121, 120, 118, 120, 127, 126, 124, 128, 133, 132, 129, 131, 131, 129, 128, 128, 128, 126, 126, 125, 125, 126, 126, 127, 128, 129, 130, 131, 131, 131, 132, 133, 132, 130, 131, 131, 128, 126, 127, 127, 126, 126, 126, 126, 127, 127, 126, 127, 128, 128, 127, 127, 127, 127, 128, 128, 129, 131, 132, 132, 134, 140, 139, 136, 138, 140, 140, 137, 137, 136, 134, 132, 131, 129, 127, 125, 123, 124, 126, 125, 125, 128, 129, 130, 131, 132, 132, 132, 131, 130, 127, 125, 124, 124, 122, 122, 122, 124, 124, 124, 125, 127, 127, 126, 126, 125, 126, 124, 121, 120, 122, 123, 121, 119, 119, 119, 120, 117, 120, 126, 124, 125, 129, 132, 130, 130, 133, 131, 130, 126, 126, 125, 124, 123, 122, 122, 124, 126, 125, 126, 127, 130, 131, 131, 132, 131, 131, 131, 130, 130, 130, 128, 128, 127, 127, 128, 129, 128, 128, 127, 127, 128, 129, 128, 127, 128, 128, 127, 126, 126, 125, 127, 127, 128, 130, 131, 132, 135, 137, 137, 138, 138, 137, 135, 135, 133, 131, 129, 129, 127, 126, 127, 126, 126, 127, 129, 129, 129, 130, 132, 132, 131, 130, 127, 128, 128, 124, 122, 124, 126, 125, 124, 125, 126, 129, 127, 126, 127, 128, 129, 128, 127, 125, 127, 125, 123, 122, 123, 123, 122, 122, 122, 123, 124, 124, 124, 125, 124, 122, 120, 121, 119, 119, 124, 124, 123, 126, 129, 129, 130, 132, 133, 132, 133, 133, 131, 130, 130, 129, 126, 126, 126, 124, 125, 126, 125, 126, 129, 131, 130, 131, 133, 132, 131, 132, 131, 128, 128, 128, 126, 126, 126, 126, 126, 127, 128, 129, 129, 129, 129, 129, 129, 129, 128, 128, 129, 128, 128, 129, 128, 129, 130, 130, 130, 132, 132, 133, 132, 131, 132, 132, 130, 129, 128, 127, 128, 127, 126, 125, 126, 127, 128, 130, 129, 128, 129, 129, 128, 128, 127, 127, 126, 125, 127, 126, 125, 125, 126, 128, 129, 127, 127, 129, 130, 130, 130, 129, 127, 128, 128, 125, 125, 126, 124, 123, 124, 126, 125, 125, 127, 126, 126, 126, 125, 126, 125, 123, 123, 124, 125, 123, 121, 124, 123, 122, 123, 123, 123, 123, 125, 124, 124, 125, 126, 127, 127, 125, 126, 127, 127, 127, 128, 128, 128, 130, 131, 132, 132, 133, 133, 133, 133, 133, 133, 132, 132, 131, 131, 131, 132, 131, 130, 130, 131, 131, 131, 130, 131, 131, 131, 131, 129, 130, 131, 130, 129, 129, 130, 130, 129, 128, 129, 128, 128, 127, 128, 127, 128, 126, 126, 127, 127, 126, 126, 126, 126, 128, 126, 125, 126, 126, 126, 126, 127, 126, 126, 127, 128, 126, 126, 126, 125, 125, 127, 126, 125, 126, 126, 126, 126, 127, 126, 126, 125, 125, 126, 125, 125, 124, 125, 126, 125, 126, 126, 124, 125, 127, 127, 126, 126, 125, 127, 128, 128, 126, 127, 128, 127, 129, 129, 127, 127, 128, 127, 128, 129, 128, 129, 131, 130, 128, 129, 129, 129, 129, 128, 129, 130, 129, 129, 129, 129, 131, 131, 130, 130, 131, 130, 131, 130, 129, 130, 130, 130, 130, 129, 129, 128, 128, 129, 128, 127, 127, 129, 128, 127, 129, 127, 127, 128, 128, 128, 126, 127, 127, 127, 126, 126, 126, 126, 125, 127, 127, 125, 125, 126, 126, 125, 125, 124, 124, 127, 124, 125, 126, 125, 125, 125, 127, 127, 125, 126, 127, 126, 127, 127, 127, 126, 127, 128, 128, 127, 126, 127, 129, 129, 127, 128, 128, 128, 127, 128, 129, 129, 128, 128, 128, 130, 129, 128, 128, 128, 128, 129, 129, 129, 130, 128, 128, 130, 128, 128, 129, 129, 128, 128, 128, 127, 129, 128, 128, 126, 128, 129, 127, 128, 127, 127, 129, 127, 128, 127, 126, 127, 129, 127, 128, 127, 126, 129, 125, 127, 126, 128, 126, 127, 127, 128, 128, 127, 126, 127, 129, 127, 126, 128, 128, 125, 127, 129, 126, 124, 127, 127, 130, 127, 124, 126, 129, 128, 124, 128, 127, 128, 126, 127, 128, 127, 126, 128, 129, 127, 127, 127, 129, 129, 128, 127, 128, 129, 127, 128, 131, 128, 128, 128, 129, 129, 130, 129, 127, 129, 129, 129, 127, 127, 130, 129, 128, 129, 129, 127, 128, 130, 129, 127, 130, 127, 129, 129, 127, 128, 127, 127, 127, 129, 128, 128, 128, 128, 127, 127, 128, 128, 129, 126, 127, 125, 129, 126, 127, 128, 124, 127, 128, 128, 124, 127, 126, 127, 128, 129, 129, 125, 128, 127, 127, 126, 128, 124, 126, 128, 125, 127, 128, 127, 125, 129, 127, 128, 126, 126, 128, 127, 128, 127, 126, 128, 130, 126, 128, 128, 128, 127, 130, 128, 126, 127, 129, 129, 126, 127, 129, 129, 126, 128, 131, 127, 127, 129, 130, 129, 127, 128, 129, 128, 127, 126, 127, 128, 125, 128, 128, 127, 127, 126, 128, 128, 128, 127, 128, 130, 128, 128, 125, 129, 126, 125, 127, 126, 130, 125, 129, 125, 127, 128, 125, 128, 126, 129, 124, 128, 128, 125, 127, 125, 128, 127, 127, 127, 126, 129, 128, 125, 128, 125, 130, 128, 125, 126, 125, 127, 125, 130, 127, 128, 128, 125, 127, 128, 129, 130, 125, 128, 125, 124, 131, 128, 129, 127, 129, 127, 127, 130, 127, 127, 126, 129, 130, 127, 131, 128, 127, 127, 130, 126, 127, 128, 127, 129, 128, 127, 128, 130, 128, 128, 125, 127, 127, 130, 127, 129, 127, 126, 128, 127, 127, 126, 131, 127, 128, 128, 126, 128, 129, 128, 127, 127, 127, 126, 131, 126, 126, 128, 129, 127, 124, 128, 128, 126, 128, 128, 130, 128, 121, 130, 129, 125, 128, 128, 126, 129, 127, 127, 130, 123, 131, 128, 128, 126, 127, 131, 125, 128, 127, 129, 127, 126, 127, 128, 129, 129, 127, 126, 128, 128, 128, 128, 125, 128, 128, 126, 132, 126, 127, 128, 128, 129, 127, 128, 127, 123, 129, 130, 130, 127, 126, 130, 127, 126, 127, 128, 126, 128, 127, 128, 125, 129, 125, 127, 130, 125, 129, 127, 127, 128, 129, 124, 129, 130, 126, 126, 128, 127, 127, 126, 126, 126, 129, 129, 126, 126, 127, 129, 127, 129, 127, 127, 130, 124, 128, 129, 128, 129, 127, 132, 126, 126, 127, 126, 128, 129, 129, 127, 127, 126, 130, 128, 129, 128, 129, 126, 126, 127, 127, 129, 126, 131, 125, 129, 127, 125, 132, 124, 131, 129, 127, 128, 128, 126, 129, 126, 125, 128, 126, 132, 126, 126, 129, 128, 124, 130, 127, 126, 129, 125, 128, 129, 127, 129, 127, 126, 127, 127, 127, 129, 131, 124, 129, 128, 126, 126, 126, 130, 127, 129, 128, 128, 126, 126, 128, 126, 127, 128, 130, 129, 126, 128, 128, 127, 129, 127, 127, 126, 131, 126, 126, 130, 125, 127, 126, 129, 126, 131, 130, 126, 129, 128, 129, 128, 128, 124, 128, 128, 127, 127, 129, 128, 127, 130, 125, 127, 126, 129, 129, 127, 128, 126, 132, 127, 129, 127, 126, 130, 125, 129, 128, 127, 130, 125, 126, 128, 126, 129, 127, 127, 126, 127, 128, 130, 128, 128, 125, 123, 130, 126, 127, 126, 126, 129, 128, 127, 126, 130, 128, 126, 126, 126, 129, 126, 127, 127, 125, 129, 127, 127, 127, 125, 127, 127, 129, 127, 127, 130, 128, 129, 126, 130, 126, 125, 127, 130, 127, 125, 127, 127, 129, 127, 128, 125, 128, 129, 129, 126, 125, 128, 128, 129, 126, 127, 128, 130, 127, 128, 129, 127, 127, 126, 128, 128, 127, 126, 128, 129, 127, 128, 128, 128, 128, 127, 126, 127, 128, 130, 126, 127, 129, 129, 128, 126, 125, 126, 131, 129, 126, 128, 127, 127, 129, 128, 127, 125, 127, 127, 127, 128, 126, 127, 127, 129, 127, 128, 129, 126, 126, 127, 128, 127, 127, 126, 127, 128, 126, 127, 125, 126, 126, 128, 130, 126, 124, 127, 131, 130, 129, 129, 127, 128, 126, 126, 128, 128, 127, 126, 127, 127, 126, 128, 128, 127, 129, 128, 128, 128, 128, 128, 129, 129, 127, 127, 126, 127, 127, 128, 128, 127, 128, 129, 129, 128, 128, 128, 129, 129, 127, 127, 126, 128, 126, 128, 128, 127, 126, 128, 127, 127, 129, 127, 128, 127, 128, 127, 128, 128, 127, 127, 127, 128, 127, 129, 126, 125, 127, 128, 129, 127, 127, 127, 128, 128, 128, 127, 125, 127, 128, 129, 128, 127, 127, 128, 128, 127, 125, 127, 127, 127, 128, 127, 128, 128, 128, 127, 127, 126, 127, 127, 128, 127, 127, 129, 129, 128, 127, 127, 127, 129, 127, 126, 127, 128, 128, 128, 128, 128, 128, 128, 127, 127, 128, 128, 127, 127, 128, 127, 127, 127, 127, 127, 128, 127, 127, 127, 128, 127, 127, 128, 128, 127, 128, 128, 128, 127, 126, 127, 127, 128, 127, 127, 127, 127, 128, 128, 127, 127, 128, 127, 127, 128, 127, 127, 127, 128, 128, 128, 128, 127, 127,};
const unsigned char six[] PROGMEM = {128, 127, 126, 126, 129, 130, 128, 129, 128, 125, 128, 127, 128, 127, 128, 126, 128, 128, 127, 128, 131, 125, 126, 129, 129, 128, 127, 127, 125, 130, 129, 127, 126, 128, 127, 128, 128, 128, 126, 130, 129, 128, 124, 127, 128, 126, 128, 127, 127, 128, 129, 128, 129, 125, 128, 127, 131, 125, 126, 126, 131, 127, 126, 128, 126, 130, 124, 131, 126, 130, 127, 129, 127, 129, 128, 125, 128, 124, 128, 126, 130, 125, 130, 126, 125, 128, 126, 133, 126, 131, 126, 127, 129, 124, 128, 128, 128, 126, 129, 127, 129, 125, 129, 127, 127, 130, 127, 129, 126, 128, 126, 129, 126, 127, 128, 127, 129, 126, 130, 126, 128, 129, 127, 129, 126, 129, 126, 129, 130, 126, 129, 128, 127, 128, 127, 127, 127, 128, 129, 126, 125, 132, 128, 125, 128, 126, 130, 125, 129, 128, 126, 128, 126, 129, 126, 129, 125, 129, 129, 128, 131, 125, 128, 126, 129, 126, 126, 126, 128, 128, 125, 130, 127, 128, 127, 129, 127, 129, 127, 127, 132, 128, 124, 128, 130, 128, 124, 130, 127, 128, 128, 126, 129, 128, 125, 127, 131, 126, 128, 124, 133, 126, 127, 125, 129, 127, 125, 131, 126, 127, 128, 129, 126, 129, 126, 130, 126, 125, 129, 127, 128, 126, 127, 132, 126, 129, 124, 128, 128, 128, 129, 127, 129, 125, 132, 124, 129, 126, 132, 128, 126, 130, 127, 129, 122, 130, 125, 128, 127, 129, 129, 124, 130, 126, 132, 124, 128, 129, 130, 127, 128, 130, 126, 127, 126, 130, 127, 127, 127, 128, 129, 127, 125, 130, 127, 131, 126, 132, 125, 125, 127, 127, 127, 124, 132, 126, 131, 126, 127, 126, 130, 127, 127, 125, 131, 127, 127, 130, 125, 130, 125, 128, 125, 125, 129, 132, 125, 129, 127, 129, 126, 126, 127, 128, 129, 124, 132, 125, 129, 126, 130, 127, 127, 130, 126, 130, 126, 127, 125, 128, 129, 128, 127, 127, 127, 126, 127, 126, 128, 129, 130, 128, 125, 126, 127, 127, 128, 127, 128, 129, 128, 128, 129, 126, 126, 129, 130, 126, 126, 126, 131, 126, 124, 128, 126, 130, 126, 128, 128, 128, 127, 127, 127, 130, 129, 126, 128, 124, 129, 127, 129, 127, 130, 126, 127, 127, 125, 132, 123, 131, 125, 128, 130, 123, 130, 127, 129, 125, 129, 128, 128, 129, 124, 127, 129, 127, 128, 128, 128, 126, 125, 130, 125, 127, 126, 130, 127, 129, 127, 127, 130, 130, 125, 122, 127, 129, 131, 126, 127, 127, 131, 125, 129, 125, 129, 127, 127, 126, 127, 128, 126, 131, 129, 126, 128, 127, 122, 131, 128, 128, 126, 127, 125, 129, 128, 127, 124, 127, 132, 127, 127, 127, 129, 129, 127, 126, 128, 129, 128, 127, 128, 129, 128, 125, 126, 129, 130, 124, 134, 123, 132, 129, 122, 132, 127, 130, 122, 132, 128, 129, 126, 129, 126, 130, 127, 124, 132, 124, 128, 125, 133, 125, 126, 124, 129, 129, 125, 134, 123, 129, 125, 131, 128, 126, 126, 131, 124, 121, 133, 126, 132, 120, 131, 129, 133, 124, 123, 130, 126, 132, 120, 134, 124, 135, 119, 128, 128, 125, 134, 126, 133, 121, 133, 121, 130, 127, 127, 127, 122, 135, 126, 125, 127, 129, 127, 130, 123, 128, 133, 125, 129, 127, 126, 126, 132, 128, 124, 126, 131, 124, 130, 126, 126, 135, 122, 133, 124, 134, 122, 126, 127, 123, 131, 122, 135, 124, 134, 124, 123, 131, 127, 126, 123, 131, 130, 128, 124, 127, 130, 127, 131, 127, 123, 128, 127, 128, 128, 131, 122, 129, 125, 128, 129, 128, 132, 121, 132, 125, 132, 125, 126, 133, 125, 122, 123, 131, 126, 125, 129, 130, 130, 123, 125, 132, 125, 127, 127, 126, 130, 126, 128, 128, 129, 124, 121, 132, 126, 130, 126, 134, 128, 122, 132, 127, 127, 125, 133, 125, 124, 131, 128, 127, 128, 126, 131, 131, 125, 121, 125, 131, 131, 129, 125, 127, 131, 128, 122, 130, 122, 129, 133, 130, 126, 123, 126, 130, 125, 127, 128, 125, 128, 128, 131, 123, 124, 125, 136, 125, 126, 128, 130, 134, 119, 128, 123, 129, 129, 125, 127, 123, 128, 129, 130, 127, 128, 125, 132, 130, 126, 125, 124, 132, 126, 128, 127, 127, 126, 131, 126, 128, 124, 126, 128, 128, 132, 124, 128, 127, 126, 125, 128, 123, 133, 123, 128, 130, 132, 126, 128, 136, 120, 128, 121, 132, 127, 130, 121, 127, 131, 129, 132, 124, 130, 125, 128, 125, 127, 128, 135, 123, 132, 127, 123, 133, 123, 129, 129, 130, 125, 126, 129, 131, 131, 124, 121, 131, 129, 131, 124, 125, 127, 130, 125, 125, 129, 126, 130, 123, 132, 123, 129, 126, 130, 131, 123, 128, 127, 135, 125, 130, 123, 127, 127, 127, 125, 124, 131, 126, 129, 123, 127, 128, 130, 127, 127, 127, 129, 131, 122, 133, 123, 129, 128, 125, 132, 125, 126, 125, 130, 126, 132, 124, 127, 124, 133, 132, 133, 130, 124, 131, 123, 129, 116, 131, 122, 125, 122, 131, 134, 128, 137, 127, 135, 124, 127, 130, 130, 123, 128, 125, 132, 121, 121, 123, 126, 137, 128, 132, 129, 133, 123, 130, 127, 131, 127, 123, 126, 120, 131, 129, 125, 126, 127, 130, 130, 122, 131, 137, 129, 127, 129, 125, 128, 130, 126, 127, 129, 126, 133, 126, 122, 129, 131, 125, 131, 127, 118, 127, 125, 127, 127, 133, 125, 129, 128, 120, 125, 132, 122, 128, 130, 122, 133, 126, 121, 119, 133, 123, 127, 129, 126, 123, 133, 126, 121, 137, 119, 128, 131, 122, 122, 130, 131, 134, 124, 128, 131, 135, 130, 122, 130, 128, 132, 131, 132, 118, 134, 132, 129, 132, 127, 126, 128, 131, 125, 130, 127, 126, 123, 134, 127, 122, 141, 131, 133, 135, 131, 120, 129, 136, 115, 128, 131, 126, 131, 129, 122, 129, 129, 125, 128, 126, 119, 126, 129, 126, 119, 121, 125, 115, 126, 112, 114, 121, 121, 119, 117, 118, 112, 116, 112, 116, 115, 115, 112, 112, 114, 110, 114, 122, 121, 130, 138, 145, 155, 151, 158, 165, 178, 183, 182, 181, 176, 186, 182, 170, 161, 150, 144, 141, 123, 112, 110, 103, 103, 92, 98, 92, 87, 88, 88, 80, 77, 71, 64, 65, 62, 105, 120, 109, 120, 148, 158, 169, 167, 157, 159, 161, 151, 119, 109, 105, 88, 84, 75, 58, 71, 86, 96, 105, 150, 172, 202, 210, 211, 227, 228, 216, 196, 193, 177, 177, 161, 142, 132, 137, 122, 108, 105, 98, 94, 93, 81, 73, 68, 60, 47, 35, 21, 67, 130, 93, 118, 154, 186, 185, 200, 189, 169, 195, 156, 131, 107, 101, 64, 59, 61, 36, 50, 69, 76, 77, 110, 124, 162, 206, 200, 202, 234, 242, 205, 197, 191, 164, 163, 158, 134, 141, 146, 138, 136, 148, 144, 136, 141, 123, 108, 95, 80, 51, 46, 37, 22, 1, 0, 20, 119, 137, 104, 178, 215, 241, 225, 213, 182, 187, 164, 101, 74, 55, 39, 24, 37, 31, 61, 83, 106, 110, 143, 165, 182, 218, 192, 195, 207, 205, 172, 159, 153, 146, 153, 149, 150, 164, 175, 163, 180, 181, 178, 168, 156, 140, 115, 102, 72, 54, 43, 32, 28, 21, 6, 0, 43, 159, 126, 127, 206, 239, 242, 220, 192, 166, 185, 125, 73, 58, 52, 26, 26, 43, 42, 85, 111, 120, 128, 161, 175, 166, 165, 149, 143, 153, 139, 130, 142, 141, 147, 167, 168, 184, 192, 191, 199, 202, 195, 189, 178, 162, 152, 138, 118, 108, 102, 81, 78, 74, 81, 70, 74, 69, 62, 56, 44, 26, 118, 194, 92, 143, 224, 204, 184, 172, 140, 145, 151, 70, 56, 79, 61, 36, 59, 71, 79, 122, 125, 129, 146, 165, 152, 146, 153, 129, 126, 120, 109, 118, 160, 144, 145, 188, 197, 179, 175, 175, 166, 170, 161, 142, 152, 177, 153, 153, 169, 158, 151, 150, 127, 131, 126, 108, 90, 100, 89, 78, 80, 74, 69, 61, 55, 16, 136, 148, 70, 132, 194, 189, 158, 159, 142, 163, 162, 88, 80, 115, 79, 58, 66, 72, 82, 109, 102, 109, 148, 162, 148, 135, 170, 162, 140, 131, 124, 117, 110, 110, 99, 131, 153, 152, 149, 173, 198, 176, 174, 169, 188, 177, 165, 158, 148, 174, 143, 130, 145, 134, 138, 133, 113, 103, 113, 116, 97, 104, 105, 96, 70, 69, 65, 53, 38, 15, 90, 180, 138, 121, 223, 234, 200, 194, 166, 139, 145, 86, 31, 57, 50, 23, 40, 81, 90, 122, 139, 151, 175, 188, 169, 167, 175, 141, 129, 123, 91, 67, 82, 69, 70, 84, 99, 127, 161, 183, 191, 211, 221, 218, 190, 177, 165, 143, 117, 126, 118, 116, 128, 128, 144, 157, 166, 170, 181, 168, 172, 163, 135, 121, 133, 104, 88, 65, 47, 45, 35, 53, 51, 46, 62, 184, 178, 134, 184, 255, 232, 177, 170, 141, 149, 107, 70, 38, 82, 69, 55, 86, 99, 116, 127, 149, 127, 161, 157, 121, 122, 128, 100, 87, 81, 59, 65, 78, 84, 81, 105, 142, 155, 166, 190, 192, 192, 201, 190, 157, 151, 139, 132, 118, 101, 117, 122, 126, 135, 160, 154, 176, 181, 164, 190, 193, 162, 144, 159, 156, 137, 107, 108, 109, 91, 97, 95, 74, 79, 93, 104, 102, 87, 91, 175, 183, 108, 165, 204, 160, 141, 161, 118, 112, 131, 88, 68, 86, 90, 71, 107, 111, 115, 129, 131, 128, 144, 141, 99, 110, 131, 114, 90, 102, 111, 104, 106, 118, 122, 125, 141, 140, 128, 151, 146, 104, 119, 137, 97, 95, 122, 115, 124, 157, 163, 166, 186, 187, 184, 177, 166, 150, 146, 148, 136, 121, 136, 152, 142, 136, 149, 156, 139, 146, 141, 135, 132, 110, 104, 120, 97, 74, 93, 104, 89, 77, 88, 92, 74, 111, 183, 148, 136, 186, 194, 157, 140, 128, 120, 134, 104, 77, 81, 106, 93, 84, 100, 112, 124, 131, 123, 123, 143, 136, 121, 127, 129, 113, 103, 104, 109, 109, 107, 99, 109, 130, 139, 123, 132, 147, 139, 136, 136, 133, 135, 144, 130, 140, 161, 156, 142, 145, 146, 142, 142, 137, 139, 145, 146, 148, 157, 165, 162, 157, 167, 164, 156, 148, 139, 136, 132, 122, 116, 121, 123, 103, 100, 114, 114, 102, 92, 95, 87, 82, 111, 146, 129, 133, 163, 174, 156, 155, 151, 130, 129, 113, 92, 89, 95, 80, 77, 96, 108, 105, 116, 127, 132, 131, 136, 141, 136, 135, 124, 120, 112, 114, 111, 98, 96, 106, 116, 115, 114, 123, 125, 132, 140, 134, 132, 137, 134, 121, 125, 128, 121, 121, 124, 121, 132, 142, 138, 142, 151, 155, 156, 158, 153, 151, 157, 151, 146, 150, 150, 144, 142, 150, 148, 146, 148, 147, 142, 142, 140, 131, 136, 136, 119, 121, 128, 125, 122, 123, 124, 121, 120, 113, 120, 115, 108, 106, 101, 104, 96, 90, 99, 134, 129, 113, 127, 146, 132, 121, 132, 128, 118, 117, 114, 105, 112, 108, 97, 101, 121, 115, 107, 122, 126, 121, 125, 134, 124, 125, 132, 129, 123, 129, 134, 129, 125, 127, 133, 135, 137, 131, 132, 137, 136, 135, 132, 131, 131, 131, 128, 132, 135, 132, 135, 130, 130, 139, 140, 129, 131, 139, 136, 131, 132, 135, 135, 134, 136, 141, 144, 144, 138, 140, 138, 140, 135, 132, 132, 134, 132, 126, 126, 122, 128, 124, 119, 127, 132, 125, 123, 129, 124, 121, 130, 125, 119, 121, 132, 130, 123, 127, 124, 121, 119, 123, 119, 120, 117, 109, 123, 130, 116, 110, 131, 132, 111, 115, 132, 127, 109, 109, 120, 118, 107, 108, 117, 119, 113, 114, 125, 127, 120, 119, 136, 137, 123, 125, 134, 135, 127, 131, 131, 137, 134, 129, 136, 141, 137, 132, 138, 142, 143, 136, 136, 143, 140, 127, 129, 139, 136, 124, 124, 131, 131, 127, 133, 134, 134, 137, 141, 143, 139, 136, 134, 138, 134, 129, 125, 127, 130, 125, 122, 126, 127, 125, 123, 118, 125, 129, 120, 115, 126, 120, 117, 122, 119, 116, 123, 126, 120, 126, 129, 127, 126, 122, 122, 127, 123, 114, 120, 127, 120, 121, 129, 125, 122, 130, 132, 128, 130, 128, 126, 127, 125, 124, 125, 120, 119, 124, 126, 126, 122, 123, 129, 132, 127, 129, 134, 134, 132, 131, 132, 133, 131, 130, 131, 131, 129, 132, 135, 133, 130, 134, 136, 134, 136, 135, 129, 133, 136, 127, 126, 129, 122, 123, 131, 126, 123, 129, 126, 125, 128, 128, 127, 127, 127, 129, 128, 125, 130, 127, 125, 130, 128, 120, 121, 127, 122, 119, 121, 125, 127, 126, 127, 126, 126, 128, 127, 121, 120, 124, 123, 118, 119, 121, 125, 125, 124, 128, 134, 130, 127, 137, 137, 129, 131, 132, 127, 128, 127, 122, 125, 129, 123, 124, 129, 132, 130, 127, 133, 135, 131, 129, 133, 132, 130, 133, 131, 132, 135, 134, 135, 135, 134, 132, 133, 131, 127, 127, 127, 127, 123, 123, 128, 126, 124, 125, 128, 125, 124, 126, 129, 130, 127, 130, 131, 130, 127, 124, 120, 119, 122, 119, 116, 119, 125, 125, 125, 128, 131, 134, 133, 131, 132, 131, 126, 126, 124, 121, 119, 119, 119, 121, 120, 120, 125, 129, 128, 128, 132, 132, 132, 131, 128, 125, 127, 126, 124, 124, 126, 127, 125, 125, 128, 128, 127, 128, 132, 131, 131, 132, 133, 132, 131, 131, 131, 129, 129, 129, 128, 127, 128, 128, 128, 130, 128, 129, 131, 130, 129, 129, 130, 128, 128, 127, 129, 128, 127, 128, 129, 129, 128, 129, 129, 129, 129, 127, 127, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 127, 127, 127, 128, 128, 128, 128, 128, 128, 127, 127, 128, 128, 128, 127, 127, 128, 128, 127, 127, 127, 128, 127, 127, 127, 127, 127, 127, 127, 128, 128, 127, 127, 127, 128, 128, 127, 127, 127, 127, 127, 127, 128, 128, 127, 127, 127, 128, 128, 127, 127, 128, 128, 127, 127, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 126, 126, 127, 127, 127, 126, 126, 127, 127, 127, 126, 126, 126, 126, 126, 126, 127, 126, 127, 127, 126, 142, 149, 127, 110, 115, 134, 145, 128, 116, 129, 134, 121, 118, 132, 137, 128, 123, 124, 129, 129, 126, 129, 128, 121, 124, 131, 130, 124, 122, 130, 135, 129, 124, 130, 134, 129, 124, 124, 125, 127, 127, 131, 134, 131, 128, 124, 123, 125, 123, 123, 128, 132, 131, 123, 121, 132, 145, 140, 124, 119, 126, 132, 127, 120, 122, 127, 129, 129, 133, 132, 128, 128, 131, 131, 127, 128, 130, 126, 124, 122, 124, 128, 126, 124, 121, 123, 128, 128, 129, 126, 128, 134, 131, 128, 137, 149, 142, 124, 115, 114, 123, 130, 126, 122, 124, 126, 124, 123, 125, 127, 133, 133, 130, 130, 130, 134, 132, 124, 122, 129, 139, 131, 113, 116, 131, 130, 126, 125, 120, 124, 133, 133, 125, 123, 130, 128, 128, 134, 126, 122, 126, 131, 133, 126, 122, 126, 132, 132, 125, 125, 129, 131, 127, 122, 129, 135, 131, 126, 126, 127, 127, 125, 122, 127, 130, 124, 127, 127, 128, 131, 124, 125, 125, 121, 130, 132, 130, 136, 130, 119, 125, 131, 125, 126, 127, 126, 128, 125, 124, 123, 128, 135, 127, 123, 128, 129, 123, 123, 132, 133, 127, 126, 133, 137, 124, 117, 124, 128, 133, 129, 119, 122, 132, 131, 121, 123, 135, 138, 128, 118, 121, 126, 134, 139, 124, 111, 123, 140, 139, 124, 115, 119, 132, 143, 132, 119, 123, 129, 127, 129, 129, 121, 123, 130, 125, 128, 133, 124, 124, 130, 131, 135, 135, 132, 127, 120, 124, 127, 126, 127, 124, 124, 124, 131, 134, 121, 127, 136, 126, 128, 129, 125, 127, 125, 126, 128, 126, 126, 129, 130, 130, 125, 119, 127, 135, 131, 127, 125, 133, 130, 117, 127, 128, 121, 133, 130, 122, 127, 128, 128, 127, 127, 129, 130, 128, 126, 128, 128, 128, 128, 126, 126, 128, 126, 124, 128, 130, 127, 126, 125, 129, 128, 126, 132, 129, 127, 134, 131, 127, 127, 126, 126, 129, 126, 126, 125, 123, 127, 132, 136, 131, 123, 125, 128, 133, 132, 127, 128, 124, 126, 126, 123, 130, 129, 125, 126, 128, 131, 127, 126, 129, 131, 129, 121, 125, 130, 127, 129, 129, 130, 124, 123, 127, 127, 131, 128, 126, 132, 127, 121, 125, 130, 129, 126, 128, 127, 126, 129, 127, 127, 128, 128, 130, 131, 125, 120, 128, 133, 129, 125, 124, 126, 129, 128, 122, 130, 133, 128, 128, 123, 129, 131, 125, 131, 126, 124, 131, 128, 124, 128, 127, 125, 131, 130, 127, 126, 126, 131, 131, 127, 124, 123, 128, 131, 130, 126, 126, 126, 130, 127, 125, 126, 130, 128, 124, 129, 130, 128, 126, 128, 128, 129, 127, 125, 128, 130, 127, 132, 130, 126, 120, 125, 129, 128, 127, 128, 129, 129, 125, 124, 128, 127, 131, 131, 129, 125, 125, 126, 132, 128, 125, 131, 128, 128, 125, 123, 127, 132, 129, 126, 123, 126, 128, 125, 129, 129, 130, 129, 129, 126, 125, 126, 129, 128, 129, 129, 125, 127, 126, 128, 126, 128, 126, 131, 128, 125, 127, 130, 129, 127, 128, 128, 128, 126, 125, 126, 128, 128, 129, 127, 127, 126, 130, 124, 132, 128, 130, 128, 126, 128, 126, 127, 125, 130, 127, 127, 128, 128, 130, 128, 124, 127, 127, 134, 125, 128, 124, 130, 128, 125, 128, 126, 130, 127, 130, 126, 126, 127, 128, 128, 130, 126, 128, 124, 128, 128, 127, 129, 128, 130, 128, 125, 126, 128, 130, 128, 126, 128, 127, 131, 125, 128, 127, 128, 127, 128, 129, 127, 127, 127, 128, 129, 128, 128, 127, 127, 128, 128, 127, 127, 128, 127, 126, 128, 128, 128, 127, 127, 130, 128, 128, 125, 128, 127, 129, 128, 127, 128, 127, 126, 126, 128, 128, 130, 126, 128, 126, 127, 129, 128, 128, 128, 127, 126, 127, 128, 128, 126, 127, 129, 128, 128, 126, 128, 128, 127, 127, 128, 128, 128, 127, 126, 129, 127, 127, 128, 128, 128, 129, 127, 128, 127, 128, 127, 128, 128, 127, 128, 127, 128, 127, 128, 127, 128, 128, 127, 128, 128, 127, 128, 127, 128, 126, 129, 127, 127, 128, 127, 128, 126, 128, 127, 128, 128, 128, 128, 126, 128, 128, 127, 127, 127, 128, 127, 128, 127, 128, 127, 126, 129, 129, 128, 127, 126, 128, 128, 126, 128, 127, 129, 126, 128, 127, 127, 128, 128, 129, 127, 129, 125, 128, 126, 129, 130, 128, 128, 126, 129, 126, 126, 128, 128, 130, 127, 129, 126, 127, 129, 127, 131, 125, 129, 127, 128, 127, 126, 128, 127, 129, 128, 129, 126, 128, 127, 127, 127, 127, 128, 127, 129, 126, 128, 128, 129, 128, 125, 127, 127, 129, 127, 127, 126, 125, 127, 127, 130, 128, 127, 128, 128, 127, 122, 128, 128, 130, 128, 125, 127, 125, 128, 126, 128, 126, 130, 129, 128, 127, 127, 128, 127, 127, 128, 127, 125, 126, 127, 128, 126, 127, 128, 128, 129, 128, 125, 128, 130, 128, 127, 129, 125, 130, 124, 128, 127, 129, 128, 127, 129, 126, 132, 122, 129, 125, 131, 127, 128, 125, 127, 129, 127, 129, 126, 129, 126, 129, 127, 128, 127, 128, 126, 129, 127, 128, 125, 126, 129, 128, 128, 126, 131, 126, 127, 127, 127, 133, 127, 128, 127, 127, 129, 124, 128, 127, 127, 126, 130, 129, 128, 125, 127, 129, 128, 128, 127, 128, 127, 129, 126, 127, 129, 125, 128, 127, 129, 128, 129, 127, 125, 129, 124, 131, 125, 129, 128, 125, 130, 129, 130, 125, 127, 127, 128, 127, 127, 130, 126, 124, 127, 129, 133, 127, 126, 128, 126, 130, 128, 127, 128, 127, 127, 128, 126, 127, 128, 127, 126, 125, 129, 129, 129, 125, 128, 127, 127, 128, 127, 130, 126, 131, 129, 125, 126, 126, 130, 126, 128, 128, 131, 126, 123, 128, 128, 130, 124, 129, 129, 127, 130, 127, 127, 128, 127, 128, 127, 128, 124, 129, 129, 125, 129, 126, 130, 125, 128, 127, 129, 127, 130, 129, 124, 128, 127, 130, 126, 125, 126, 127, 128, 126, 129, 131, 126, 127, 124, 132, 128, 127, 127, 128, 128, 126, 128, 125, 129, 127, 131, 126, 126, 128, 129, 125, 126, 128, 130, 128, 125, 129, 128, 129, 126, 128, 127, 130, 127, 128, 128, 128, 132, 127, 126, 125, 128, 127, 128, 126, 127, 128, 125, 128, 128, 130, 126, 129, 128, 128, 126, 125, 128, 128, 130, 127, 129, 127, 127, 126, 126, 128, 129, 131, 125, 127, 128, 128, 127, 126, 129, 130, 129, 126, 125, 125, 125, 128, 128, 129, 129, 126, 126, 126, 130, 125, 129, 127, 129, 129, 130, 128, 127, 128, 125, 129, 126, 129, 125, 126, 126, 129, 129, 126, 127, 128, 129, 127, 126, 128, 128, 132, 126, 128, 126, 127, 130, 126, 130, 126, 128, 126, 128, 127, 129, 126, 126, 127, 128, 129, 127, 127, 128, 127, 129, 127, 127, 129, 126, 129, 125, 129, 126, 129, 126, 130, 126, 128, 127, 124, 128, 127, 131, 125, 130, 125, 128, 127, 126, 131, 128, 129, 128, 126, 129, 125, 129, 126, 128, 128, 127, 128, 127, 126, 126, 130, 127, 130, 126, 129, 125, 128, 127, 129, 127, 125, 127, 128, 131, 126, 130, 126, 128, 127, 125, 129, 127, 127, 127, 127, 130, 127, 129, 127, 126, 129, 127, 129, 125, 129, 126, 124, 126, 128, 133, 128, 128, 125, 126, 129, 129, 127, 130, 125, 128, 128, 126, 129, 125, 130, 123, 131, 125, 131, 126, 126, 128, 127, 129, 125, 130, 126, 131, 127, 131, 124, 126, 128, 129, 126, 128, 129, 127, 128, 124, 128, 126, 133, 125, 129, 127, 127, 129, 128, 127, 126, 129, 128, 126, 127, 125, 128, 130, 126, 128, 127, 128, 127, 129, 126, 129, 129, 128, 126, 126, 128, 128, 129, 128, 126, 127, 127, 127, 127, 129, 128, 125, 129, 128, 130, 127, 129, 125, 130, 126, 126, 127, 128, 128, 125, 131, 126, 130, 127, 128, 126, 126, 129, 129, 126, 128, 128, 127, 127, 126, 129, 127, 130, 127, 128, 126, 127, 131, 127, 129, 125, 129, 130, 126, 127, 126, 128, 127, 128, 127, 128, 128, 128, 128, 127, 127, 126, 128, 128, 128, 129, 128, 127, 127, 126, 127, 125, 128, 130, 127, 128, 128, 128, 128, 127, 129, 127, 128, 127, 125, 124, 126, 131, 126, 128, 127, 127, 128, 124, 130, 126, 129, 130, 128, 129, 128, 127, 127, 127, 126, 127, 128, 127, 125, 127, 126, 128, 128, 127, 128, 127, 128, 128, 126, 128, 128, 131, 126, 128, 127, 124, 127, 126, 130, 126, 130, 125, 129, 126, 128, 130, 125, 130, 126, 130, 126, 126, 128, 127, 131, 127, 126, 129, 127, 129, 127, 128, 128, 127, 128, 127, 127, 128, 127, 124, 129, 124, 131, 128, 128, 128, 125, 132, 123, 130, 128, 128, 128, 125, 129, 123, 130, 126, 128, 128, 127, 128, 126, 129, 126, 130, 127, 129, 128, 127, 125, 128, 127, 129, 128, 126, 127, 127, 131, 128, 129, 123, 129, 127, 126, 126, 130, 129, 125, 130, 127, 128, 126, 130, 125, 127, 129, 126, 128, 126, 126, 129, 126, 128, 129, 130, 128, 125, 128, 128, 129, 125, 129, 126, 130, 126, 127, 126, 128, 127, 125, 129, 125, 130, 126, 130, 126, 129, 130, 126, 129, 127, 129, 127, 129, 127, 127, 128, 126, 126, 128, 126, 127, 127, 129, 126, 129, 130, 127, 130, 125, 129, 126, 129, 126, 128, 128, 127, 128, 125, 127, 126, 128, 127, 128, 128, 131, 128, 128, 128, 128, 129, 127, 127, 125, 128, 127, 127, 127, 128, 124, 129, 127, 128, 130, 127, 130, 126, 130, 128, 129, 127, 125, 128, 125, 129, 125, 130, 127, 126, 128, 127, 128, 128, 127, 125, 127, 127, 130, 125, 128, 128, 128, 128, 126, 127, 127, 129, 127, 127, 128, 128, 129, 128, 127, 128, 127, 130, 127, 127, 127, 126, 125, 126, 129, 130, 127, 129, 127, 128, 128, 127, 127, 126, 127, 127, 130, 126, 128, 125, 128, 123, 127, 128, 128, 129, 127, 129, 125, 131, 126, 129, 126, 127, 128, 124, 129, 127, 127, 126, 127, 126, 127, 129, 127, 129, 128, 129, 129, 129, 128, 127, 127, 126, 125, 127, 129, 128, 126, 127, 128, 127, 128, 126, 128, 128, 128, 127, 127, 127, 128, 128, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 129, 127, 129, 126, 129, 126, 129, 126, 129, 127, 128, 128, 126, 127, 125, 130, 127, 130, 127, 129, 124, 128, 126, 128, 128, 127, 127, 126, 127, 128, 129, 126, 129, 126, 130, 126, 130, 128, 128, 128, 125, 128, 126, 128, 127, 127, 126, 127, 127, 128, 128, 128, 128, 127, 126, 127, 128, 128, 128, 127, 128, 127, 127, 128, 127, 128, 126, 128, 127, 127, 128, 128, 128, 127, 129, 128, 128, 126, 127, 126, 128, 128, 127, 127, 127, 127, 127, 128, 127, 128, 127, 127, 128, 129, 129, 127, 128, 128, 129, 129, 129, 128, 128, 127, 128, 127, 128, 128, 128, 128, 127, 127, 126, 127, 127, 128, 129, 129, 127, 128, 128, 129, 128, 129, 129, 128, 128, 126, 127, 127, 129, 126, 128, 127, 127, 129, 128, 128, 127, 128, 127, 127, 128, 127, 129, 127, 127, 127, 127, 127, 126, 128, 127, 127, 127, 127, 128, 127, 128, 127, 127, 127, 127, 127, 126, 127, 126, 127, 127, 127, 127, 127, 127, 127, 129, 127, 128, 127, 127, 127, 128, 128, 127, 127, 127, 127, 128, 127, 128, 128, 127, 128, 128, 129, 128, 128, 127, 128, 128, 127, 128, 127, 127, 127, 128, 128, 128, 128, 128, 128, 127, 128, 127, 127, 128, 127, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 128, 127, 127, 127, 127, 127, 127, 128, 127, 127, 127, 128, 127, 128, 127, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 127, 128, 127, 127, 127, 127, 128, 127, 127, 127, 128, 128, 128, 128, 127, 128, 127, 128, 127, 127, 127, 127, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 127, 128, 127, 128, 127, 127, 127, 127, 128, 128, 128, 127, 128, 127, 128, 128, 128, 127, 127, 127, 128, 128, 127, 127, 128, 127, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 127, 127, 128, 127, 127, 127, 127, 127, 128, 127, 128, 128, 128, 127, 128, 127, 128, 128, 128, 128, 127, 128, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 127, 128, 127, 128, 127, 128, 128, 128, 128, 127, 127, 127, 127, 128, 127, 128, 127, 127, 127, 128, 128, 127, 128, 127, 128, 127, 128, 128, 127, 127, 127, 128, 127, 128, 128, 127, 127, 127, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 127, 127, 127, 127, 127, 128, 128, 127, 127, 127, 128, 128, 127, 128, 127, 127, 128, 128, 128, 127, 128, 127, 127, 128, 127, 128, 127, 128, 128, 128, 128, 128, 128, 127, 128, 127, 128, 128, 128, 128, 127, 128, 128, 127, 127, 127, 128, 127, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 128, 127, 128, 127, 127, 127, 127, 128, 128, 128, 127, 128, 127, 128, 128, 128, 128, 128, 127, 127, 128, 127, 127, 127, 128, 128, 128, 127, 128, 128, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 128, 128, 128, 128, 127, 128, 127, 128, 127, 128, 128, 127, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 127, 127, 128, 127, 127, 127, 128, 127, 128, 128, 128, 128, 128, 128, 127, 128, 127, 128, 127, 128, 128, 128, 128, 127, 127, 128, 128, 128, 127, 128, 127, 127, 128, 128, 128, 127, 128, 127, 128, 127, 127, 128, 127, 128, 127, 128, 127, 128, 128, 128, 128, 127, 128, 127, 128, 128, 128, 127, 127, 128, 128, 128, 127, 128, 128, 128, 128, 127, 128, 127, 128, 128, 128, 128, 127, 127, 128, 128, 128, 128, 128, 127, 128, 127, 128, 128, 127, 128, 127, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 127, 127, 127, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 127, 128, 128, 127, 128, 128, 128, 128, 127, 128, 128, 128, 127, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 127, 128, 128, 127, 127, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 127, 128, 127, 128, 128, 128, 128, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 127, 128, 127, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 128, 128, 127, 127, 128, 128, 128, 127, 127, 127, 128, 128, 128, 128, 127, 128, 128, 128, 128, 127, 127, 127, 128, 128, 128, 128, 127, 127, 128, 128, 128, 127, 127, 128, 128, 128, 128, 128, 127, 127, 128, 127, 128, 127, 127, 127, 127, 128, 127, 128, 127, 127, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 128, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 128, 127, 128, 128, 128, 127, 127, 128, 128, 128, 128, 127, 127, 128, 128, 128, 128, 127, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128,};
const unsigned char seven[] PROGMEM = {128, 129, 128, 130, 130, 124, 124, 129, 128, 125, 128, 128, 128, 127, 126, 127, 127, 128, 128, 124, 126, 131, 131, 128, 127, 126, 128, 126, 126, 127, 127, 130, 124, 126, 131, 123, 128, 133, 126, 126, 127, 131, 131, 126, 125, 126, 130, 133, 130, 123, 125, 127, 124, 131, 126, 124, 131, 129, 130, 125, 122, 128, 126, 128, 127, 126, 130, 128, 129, 130, 127, 123, 128, 133, 127, 123, 125, 132, 129, 122, 128, 127, 124, 127, 128, 130, 130, 128, 127, 129, 132, 127, 124, 128, 125, 124, 129, 127, 130, 132, 125, 126, 124, 127, 132, 127, 129, 127, 125, 131, 126, 122, 130, 128, 123, 128, 132, 132, 127, 122, 127, 127, 132, 135, 127, 126, 124, 128, 131, 125, 125, 125, 131, 131, 127, 129, 123, 130, 130, 122, 131, 129, 128, 128, 125, 129, 128, 129, 130, 126, 127, 124, 128, 129, 126, 130, 126, 125, 135, 133, 124, 126, 127, 126, 129, 126, 126, 128, 125, 128, 129, 130, 127, 125, 130, 128, 129, 132, 126, 126, 128, 127, 129, 126, 124, 131, 128, 126, 132, 129, 124, 128, 128, 127, 128, 127, 130, 130, 128, 126, 123, 129, 128, 123, 131, 129, 128, 131, 124, 129, 130, 121, 128, 133, 129, 125, 127, 132, 128, 125, 126, 131, 127, 123, 127, 129, 129, 129, 128, 129, 126, 127, 129, 128, 128, 127, 126, 128, 127, 126, 132, 129, 124, 129, 128, 130, 132, 127, 130, 128, 125, 130, 128, 128, 130, 128, 126, 126, 129, 128, 126, 128, 127, 127, 128, 128, 128, 127, 129, 129, 131, 132, 127, 127, 131, 127, 127, 128, 129, 128, 123, 128, 129, 127, 130, 127, 128, 127, 127, 130, 124, 127, 129, 129, 135, 127, 122, 127, 126, 126, 128, 130, 128, 128, 130, 123, 124, 129, 128, 125, 124, 133, 127, 125, 134, 126, 129, 128, 122, 125, 122, 135, 136, 123, 128, 128, 130, 129, 120, 128, 129, 126, 125, 129, 132, 124, 126, 130, 129, 128, 126, 130, 131, 129, 125, 121, 132, 133, 126, 126, 130, 128, 124, 130, 127, 124, 131, 128, 130, 129, 124, 127, 126, 128, 130, 128, 130, 128, 129, 136, 125, 121, 131, 132, 128, 122, 122, 133, 129, 123, 128, 128, 130, 131, 126, 124, 127, 129, 129, 124, 128, 134, 126, 126, 125, 125, 131, 126, 128, 131, 126, 126, 123, 129, 133, 125, 127, 126, 126, 129, 124, 125, 130, 129, 125, 129, 131, 131, 128, 122, 126, 131, 128, 127, 128, 129, 126, 127, 128, 126, 125, 127, 129, 128, 131, 128, 122, 131, 132, 126, 122, 125, 131, 128, 128, 129, 130, 127, 124, 131, 127, 126, 130, 123, 129, 130, 123, 128, 136, 135, 125, 124, 128, 124, 122, 123, 132, 130, 122, 128, 131, 130, 128, 121, 127, 133, 128, 130, 126, 125, 133, 126, 126, 128, 125, 129, 126, 128, 130, 130, 129, 120, 134, 132, 120, 133, 126, 130, 136, 118, 127, 133, 125, 126, 128, 131, 128, 128, 130, 124, 129, 130, 126, 132, 125, 119, 131, 127, 125, 128, 123, 132, 131, 123, 131, 130, 125, 126, 134, 132, 120, 124, 130, 129, 124, 123, 133, 130, 121, 126, 134, 133, 125, 120, 126, 132, 130, 128, 126, 131, 136, 123, 122, 129, 126, 135, 134, 120, 126, 130, 123, 127, 129, 127, 127, 124, 139, 140, 113, 121, 130, 127, 132, 119, 124, 137, 131, 133, 125, 118, 126, 135, 133, 123, 125, 128, 127, 127, 124, 132, 135, 127, 127, 127, 124, 121, 119, 125, 127, 130, 136, 133, 134, 128, 117, 122, 126, 129, 128, 123, 130, 131, 128, 124, 120, 127, 127, 132, 134, 118, 120, 130, 133, 134, 128, 125, 126, 127, 126, 126, 132, 127, 124, 133, 129, 130, 131, 120, 131, 124, 109, 131, 132, 119, 124, 126, 139, 131, 111, 122, 136, 134, 122, 121, 129, 130, 135, 131, 128, 129, 121, 124, 133, 125, 116, 124, 143, 137, 123, 127, 125, 122, 129, 135, 129, 122, 131, 130, 125, 131, 123, 131, 140, 120, 113, 125, 138, 135, 126, 127, 126, 131, 128, 119, 126, 121, 122, 136, 134, 125, 118, 125, 132, 127, 128, 125, 124, 128, 131, 135, 123, 115, 129, 140, 136, 120, 116, 138, 141, 123, 122, 124, 125, 135, 131, 122, 120, 124, 139, 133, 121, 128, 124, 131, 134, 122, 124, 122, 125, 134, 134, 130, 118, 129, 140, 125, 126, 120, 122, 131, 124, 134, 126, 123, 136, 122, 132, 132, 114, 131, 129, 129, 131, 127, 143, 126, 128, 145, 117, 123, 127, 118, 137, 124, 118, 134, 126, 130, 133, 122, 120, 128, 127, 121, 131, 133, 122, 127, 125, 121, 123, 120, 131, 133, 124, 131, 132, 127, 127, 131, 130, 120, 122, 129, 131, 133, 126, 122, 129, 133, 130, 126, 128, 126, 131, 136, 124, 119, 129, 136, 137, 125, 122, 129, 119, 128, 135, 118, 131, 136, 124, 134, 121, 115, 130, 124, 125, 130, 129, 122, 115, 129, 124, 118, 130, 124, 135, 141, 122, 128, 126, 121, 134, 128, 116, 121, 130, 127, 124, 127, 122, 130, 145, 134, 128, 132, 115, 108, 116, 118, 125, 119, 106, 129, 151, 142, 141, 132, 121, 140, 141, 126, 133, 135, 127, 129, 139, 129, 107, 112, 111, 115, 138, 128, 121, 140, 145, 128, 126, 154, 143, 120, 137, 123, 118, 149, 131, 114, 125, 118, 123, 132, 112, 126, 149, 141, 145, 143, 137, 141, 128, 125, 128, 129, 136, 125, 118, 122, 116, 113, 127, 146, 144, 125, 119, 130, 144, 134, 110, 110, 125, 124, 110, 103, 103, 107, 118, 122, 120, 133, 138, 119, 114, 125, 118, 110, 121, 118, 102, 113, 127, 122, 116, 123, 125, 119, 135, 141, 128, 141, 142, 127, 137, 137, 133, 146, 152, 149, 155, 163, 165, 176, 176, 168, 193, 195, 169, 182, 192, 187, 194, 178, 154, 158, 152, 128, 120, 117, 106, 100, 95, 94, 80, 55, 44, 38, 52, 47, 10, 0, 0, 0, 0, 8, 81, 103, 113, 142, 177, 208, 212, 184, 151, 150, 140, 104, 71, 27, 0, 6, 35, 47, 55, 108, 190, 255, 255, 255, 255, 255, 255, 255, 215, 188, 189, 197, 188, 185, 199, 199, 194, 174, 150, 132, 128, 109, 71, 56, 25, 10, 15, 0, 0, 0, 0, 0, 0, 123, 244, 219, 255, 255, 255, 255, 255, 136, 40, 53, 11, 0, 0, 0, 0, 15, 98, 138, 168, 195, 215, 254, 219, 157, 190, 224, 220, 205, 173, 164, 201, 214, 181, 185, 225, 254, 255, 255, 244, 235, 254, 236, 171, 128, 110, 90, 70, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 255, 255, 255, 255, 255, 249, 230, 136, 0, 0, 0, 0, 0, 0, 0, 76, 214, 255, 250, 217, 209, 163, 136, 83, 24, 76, 167, 169, 160, 224, 255, 255, 255, 255, 255, 255, 255, 255, 251, 205, 188, 202, 186, 128, 71, 56, 88, 83, 43, 46, 41, 36, 39, 0, 0, 0, 0, 0, 0, 103, 255, 255, 253, 255, 255, 255, 229, 5, 0, 0, 0, 0, 18, 0, 26, 217, 255, 254, 176, 160, 124, 98, 43, 0, 0, 90, 178, 184, 245, 255, 255, 255, 255, 215, 206, 241, 241, 224, 180, 147, 196, 255, 233, 169, 132, 143, 157, 114, 54, 0, 48, 73, 25, 18, 0, 0, 0, 0, 0, 0, 64, 255, 255, 244, 255, 237, 232, 237, 32, 0, 0, 0, 0, 41, 41, 57, 187, 255, 255, 197, 120, 62, 56, 2, 0, 0, 46, 175, 237, 255, 255, 255, 255, 255, 236, 183, 174, 175, 162, 168, 186, 230, 255, 255, 235, 192, 194, 198, 153, 103, 100, 85, 33, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 206, 255, 255, 247, 255, 192, 184, 126, 0, 0, 0, 15, 26, 99, 127, 149, 255, 255, 187, 91, 58, 29, 0, 0, 0, 0, 126, 216, 235, 255, 255, 255, 255, 255, 156, 135, 175, 162, 145, 146, 203, 255, 255, 255, 240, 233, 225, 174, 141, 102, 77, 88, 74, 37, 18, 10, 0, 0, 0, 0, 11, 0, 0, 0, 58, 255, 255, 225, 234, 170, 126, 156, 13, 0, 0, 22, 80, 125, 123, 128, 243, 255, 236, 110, 31, 25, 24, 2, 0, 0, 76, 157, 209, 255, 255, 255, 255, 255, 173, 115, 155, 158, 160, 155, 162, 229, 255, 255, 240, 226, 210, 189, 182, 149, 99, 85, 96, 44, 19, 28, 0, 0, 0, 0, 1, 6, 0, 0, 30, 255, 255, 255, 241, 127, 101, 162, 48, 0, 0, 0, 58, 160, 185, 115, 181, 255, 247, 126, 40, 0, 0, 22, 0, 0, 73, 163, 220, 237, 255, 255, 255, 255, 188, 122, 130, 184, 195, 153, 172, 219, 255, 255, 255, 206, 188, 203, 177, 133, 124, 99, 99, 139, 71, 16, 43, 9, 0, 9, 25, 16, 8, 0, 0, 21, 255, 255, 244, 255, 175, 146, 175, 27, 0, 0, 19, 31, 84, 130, 112, 196, 255, 228, 134, 76, 24, 14, 51, 0, 0, 67, 149, 190, 204, 230, 255, 255, 255, 183, 124, 164, 182, 195, 186, 171, 176, 255, 255, 224, 215, 184, 171, 210, 160, 106, 116, 145, 140, 140, 105, 19, 23, 42, 14, 0, 8, 25, 0, 0, 0, 0, 255, 255, 253, 255, 219, 163, 211, 135, 0, 0, 0, 12, 60, 120, 80, 116, 253, 255, 148, 106, 74, 31, 54, 53, 19, 46, 100, 124, 174, 237, 239, 255, 255, 246, 194, 200, 202, 194, 202, 191, 197, 228, 232, 224, 217, 216, 196, 176, 192, 162, 127, 136, 132, 105, 96, 103, 57, 39, 62, 49, 32, 23, 55, 13, 0, 0, 0, 0, 255, 255, 237, 255, 197, 182, 232, 146, 0, 0, 0, 0, 48, 98, 54, 92, 205, 220, 176, 130, 83, 79, 83, 60, 29, 46, 105, 108, 119, 172, 217, 255, 255, 255, 206, 182, 201, 211, 216, 194, 186, 220, 238, 236, 210, 175, 161, 186, 202, 169, 153, 141, 139, 157, 132, 89, 91, 107, 70, 62, 76, 37, 44, 45, 0, 0, 0, 0, 0, 29, 255, 255, 255, 255, 168, 169, 221, 120, 0, 0, 0, 1, 78, 92, 27, 49, 148, 203, 187, 178, 124, 68, 95, 93, 73, 71, 63, 68, 98, 137, 165, 238, 255, 255, 229, 225, 207, 196, 208, 202, 166, 174, 220, 231, 213, 204, 192, 180, 193, 182, 149, 147, 143, 138, 154, 156, 137, 125, 115, 72, 51, 68, 59, 53, 46, 14, 5, 0, 0, 0, 0, 99, 245, 214, 224, 232, 175, 187, 205, 129, 32, 22, 29, 12, 39, 40, 23, 47, 90, 140, 146, 133, 132, 120, 129, 133, 124, 118, 100, 94, 91, 89, 120, 148, 168, 198, 203, 206, 223, 230, 227, 206, 193, 191, 183, 194, 197, 185, 174, 174, 181, 167, 167, 175, 164, 163, 169, 172, 168, 160, 139, 107, 96, 89, 88, 81, 72, 79, 67, 69, 75, 62, 49, 20, 0, 0, 18, 135, 150, 150, 162, 136, 151, 190, 192, 138, 101, 111, 103, 113, 123, 90, 65, 70, 80, 77, 84, 88, 69, 76, 104, 122, 136, 141, 129, 113, 125, 151, 159, 158, 158, 157, 171, 188, 184, 176, 167, 160, 164, 164, 159, 152, 133, 133, 160, 168, 151, 137, 140, 152, 170, 183, 180, 173, 170, 171, 176, 165, 147, 135, 128, 131, 132, 127, 120, 110, 105, 104, 99, 85, 69, 52, 41, 60, 85, 86, 81, 83, 87, 91, 106, 118, 116, 120, 133, 135, 131, 137, 134, 122, 122, 120, 116, 121, 128, 127, 117, 109, 108, 103, 96, 98, 97, 93, 102, 107, 113, 121, 123, 136, 141, 144, 153, 156, 155, 154, 156, 155, 153, 157, 156, 157, 148, 145, 154, 147, 148, 156, 151, 147, 150, 158, 153, 151, 153, 145, 148, 148, 147, 153, 155, 151, 143, 145, 153, 147, 131, 127, 126, 111, 114, 124, 113, 101, 96, 102, 100, 91, 93, 86, 81, 85, 87, 95, 103, 107, 103, 105, 118, 122, 125, 126, 124, 125, 123, 126, 122, 114, 112, 104, 103, 106, 103, 105, 102, 108, 120, 115, 115, 125, 130, 126, 126, 130, 125, 127, 138, 137, 133, 140, 145, 143, 146, 152, 156, 160, 159, 155, 152, 154, 159, 158, 153, 151, 152, 153, 149, 150, 148, 145, 150, 151, 151, 144, 137, 140, 141, 143, 141, 136, 135, 136, 136, 132, 134, 135, 130, 130, 123, 122, 125, 118, 119, 114, 111, 112, 106, 110, 107, 101, 100, 96, 99, 98, 97, 99, 100, 100, 96, 103, 105, 100, 108, 109, 109, 113, 112, 112, 113, 116, 120, 116, 117, 120, 119, 119, 121, 123, 129, 129, 126, 126, 124, 125, 126, 129, 134, 129, 129, 134, 134, 135, 136, 137, 137, 145, 153, 148, 148, 154, 156, 158, 160, 161, 161, 163, 159, 159, 157, 153, 156, 155, 154, 149, 146, 148, 138, 141, 143, 136, 140, 133, 136, 139, 129, 132, 128, 125, 130, 121, 120, 122, 116, 111, 111, 114, 107, 101, 105, 107, 105, 100, 94, 101, 107, 97, 96, 106, 106, 103, 99, 106, 110, 104, 105, 105, 108, 113, 110, 112, 109, 109, 116, 113, 112, 112, 110, 117, 123, 119, 121, 126, 123, 123, 131, 132, 132, 131, 137, 142, 138, 146, 151, 141, 147, 151, 142, 146, 155, 151, 146, 152, 160, 157, 158, 163, 152, 151, 156, 150, 158, 162, 150, 150, 151, 148, 148, 147, 140, 135, 144, 145, 135, 133, 133, 131, 128, 131, 129, 123, 127, 122, 118, 123, 114, 106, 110, 111, 109, 105, 95, 95, 99, 95, 99, 103, 97, 97, 96, 100, 110, 107, 96, 101, 114, 111, 104, 106, 110, 112, 108, 111, 114, 109, 114, 119, 117, 118, 117, 118, 120, 126, 132, 130, 132, 136, 135, 137, 141, 140, 139, 144, 144, 149, 161, 159, 153, 156, 162, 164, 160, 158, 159, 159, 157, 162, 170, 162, 158, 164, 160, 153, 151, 154, 147, 142, 147, 144, 151, 150, 136, 132, 132, 136, 131, 128, 128, 112, 114, 123, 117, 113, 103, 93, 89, 90, 86, 71, 62, 53, 50, 73, 104, 118, 118, 120, 122, 136, 148, 140, 126, 110, 102, 103, 98, 92, 80, 74, 78, 89, 101, 102, 99, 95, 102, 118, 129, 135, 129, 125, 126, 130, 138, 131, 120, 120, 138, 160, 165, 177, 182, 176, 186, 195, 195, 192, 181, 172, 176, 184, 180, 172, 172, 172, 172, 178, 175, 164, 162, 160, 153, 150, 150, 142, 136, 141, 129, 116, 116, 102, 94, 94, 93, 90, 83, 73, 54, 54, 43, 17, 62, 130, 147, 151, 156, 152, 153, 171, 164, 116, 83, 76, 67, 56, 55, 48, 39, 61, 90, 103, 111, 117, 117, 120, 132, 131, 113, 97, 90, 89, 92, 96, 96, 93, 102, 116, 114, 115, 131, 128, 129, 163, 184, 178, 184, 203, 203, 199, 200, 188, 180, 182, 179, 173, 171, 177, 183, 195, 204, 194, 188, 188, 182, 168, 158, 147, 136, 145, 151, 151, 154, 147, 127, 115, 131, 122, 99, 96, 83, 88, 96, 77, 56, 36, 34, 28, 61, 143, 160, 146, 160, 167, 167, 171, 161, 109, 65, 62, 50, 42, 44, 37, 40, 68, 106, 122, 118, 114, 104, 105, 119, 111, 90, 79, 77, 86, 100, 105, 102, 109, 122, 126, 132, 133, 126, 122, 113, 107, 103, 100, 109, 121, 144, 146, 153, 220, 255, 229, 212, 203, 189, 187, 195, 177, 155, 165, 183, 203, 218, 207, 187, 183, 189, 183, 165, 146, 135, 140, 153, 149, 139, 139, 136, 140, 144, 130, 111, 112, 109, 97, 89, 75, 68, 72, 62, 45, 40, 40, 48, 93, 175, 200, 169, 174, 162, 145, 146, 120, 64, 21, 36, 45, 54, 75, 75, 78, 111, 141, 137, 128, 101, 80, 81, 89, 81, 68, 72, 81, 99, 114, 126, 126, 124, 130, 124, 120, 116, 107, 102, 98, 101, 103, 117, 122, 132, 133, 125, 154, 183, 191, 186, 189, 190, 194, 208, 197, 177, 169, 178, 193, 204, 203, 187, 195, 204, 201, 201, 179, 153, 145, 153, 153, 143, 139, 138, 144, 152, 147, 138, 132, 121, 118, 110, 94, 94, 87, 83, 85, 82, 78, 72, 72, 57, 57, 51, 105, 164, 154, 152, 124, 120, 121, 117, 85, 41, 42, 53, 79, 88, 91, 90, 104, 130, 131, 109, 83, 71, 70, 82, 86, 88, 92, 107, 125, 137, 144, 135, 130, 125, 115, 103, 99, 99, 97, 101, 111, 122, 138, 148, 151, 149, 142, 133, 123, 115, 97, 144, 186, 179, 192, 206, 208, 219, 236, 202, 180, 184, 181, 185, 197, 191, 179, 205, 220, 208, 188, 166, 138, 136, 151, 140, 136, 142, 146, 164, 173, 151, 123, 114, 108, 105, 114, 106, 98, 111, 115, 112, 103, 86, 71, 71, 81, 69, 53, 43, 53, 57, 92, 133, 125, 116, 114, 113, 110, 117, 91, 66, 72, 84, 89, 89, 90, 85, 98, 114, 117, 109, 105, 99, 95, 107, 112, 115, 119, 120, 122, 127, 137, 135, 131, 130, 120, 118, 126, 126, 119, 120, 128, 135, 141, 145, 138, 134, 133, 129, 121, 129, 157, 171, 177, 186, 192, 195, 198, 195, 180, 180, 184, 181, 181, 182, 179, 180, 191, 183, 175, 166, 148, 145, 151, 143, 138, 140, 139, 143, 147, 136, 122, 121, 106, 111, 124, 122, 112, 116, 123, 123, 138, 125, 106, 100, 97, 92, 91, 71, 50, 52, 60, 65, 64, 59, 52, 50, 73, 119, 130, 126, 121, 122, 131, 135, 121, 98, 98, 102, 112, 111, 100, 93, 98, 111, 118, 117, 111, 105, 110, 120, 124, 127, 130, 130, 135, 144, 144, 144, 145, 143, 143, 143, 139, 134, 137, 137, 137, 140, 141, 144, 142, 144, 146, 146, 141, 138, 141, 158, 171, 174, 175, 173, 175, 178, 181, 172, 169, 169, 168, 165, 166, 163, 155, 158, 156, 150, 146, 141, 135, 133, 136, 140, 140, 139, 126, 116, 110, 109, 108, 106, 100, 90, 103, 114, 121, 123, 122, 119, 122, 125, 125, 118, 104, 95, 88, 88, 80, 73, 68, 64, 66, 70, 71, 66, 62, 72, 93, 105, 109, 111, 114, 121, 130, 133, 133, 131, 129, 134, 133, 129, 128, 126, 129, 130, 127, 123, 121, 117, 119, 124, 129, 134, 135, 138, 147, 155, 159, 161, 158, 155, 154, 156, 151, 147, 142, 136, 143, 147, 146, 143, 141, 139, 143, 146, 146, 146, 145, 146, 153, 157, 156, 160, 154, 148, 157, 159, 153, 152, 152, 145, 144, 146, 143, 143, 139, 135, 134, 130, 125, 121, 118, 114, 115, 117, 115, 113, 110, 104, 103, 107, 109, 110, 110, 108, 112, 113, 117, 126, 124, 121, 118, 113, 105, 104, 101, 94, 94, 91, 88, 87, 88, 85, 84, 92, 96, 89, 83, 87, 89, 96, 109, 116, 126, 137, 146, 152, 157, 153, 149, 149, 144, 137, 134, 132, 127, 132, 138, 142, 143, 144, 143, 143, 143, 137, 134, 132, 131, 137, 141, 140, 141, 139, 138, 134, 133, 132, 127, 126, 128, 127, 130, 139, 143, 143, 147, 152, 153, 156, 161, 162, 166, 170, 169, 170, 168, 164, 161, 159, 155, 147, 137, 131, 131, 128, 124, 120, 116, 116, 114, 111, 111, 108, 105, 108, 113, 114, 108, 111, 124, 128, 123, 119, 118, 119, 122, 120, 111, 104, 104, 107, 104, 103, 100, 96, 98, 98, 93, 88, 83, 84, 92, 93, 84, 84, 91, 99, 112, 123, 129, 131, 137, 146, 149, 150, 148, 146, 143, 145, 145, 138, 133, 130, 128, 134, 137, 133, 124, 123, 128, 132, 133, 129, 124, 126, 133, 134, 136, 134, 132, 135, 136, 139, 136, 131, 129, 127, 126, 129, 128, 126, 128, 130, 136, 143, 146, 150, 152, 156, 162, 167, 169, 172, 171, 168, 171, 172, 165, 157, 151, 143, 139, 140, 134, 127, 126, 126, 125, 126, 125, 122, 119, 118, 119, 117, 119, 120, 120, 123, 121, 115, 113, 112, 108, 108, 109, 105, 104, 107, 108, 109, 110, 108, 103, 100, 96, 91, 90, 85, 78, 82, 93, 94, 94, 100, 108, 114, 121, 124, 124, 126, 130, 135, 138, 138, 136, 138, 140, 138, 138, 135, 131, 130, 130, 127, 124, 126, 124, 125, 130, 133, 133, 132, 134, 137, 139, 138, 136, 133, 131, 133, 133, 133, 134, 130, 126, 129, 133, 132, 130, 128, 132, 144, 147, 145, 151, 154, 157, 166, 170, 167, 166, 164, 164, 167, 164, 157, 153, 151, 149, 149, 145, 138, 132, 130, 129, 129, 128, 124, 121, 119, 121, 124, 124, 119, 115, 116, 117, 116, 115, 112, 108, 109, 112, 113, 109, 106, 106, 106, 107, 105, 102, 99, 100, 100, 100, 98, 95, 91, 91, 97, 102, 99, 99, 104, 108, 114, 120, 123, 123, 125, 129, 135, 137, 134, 134, 134, 136, 137, 135, 131, 130, 132, 132, 132, 131, 128, 128, 130, 132, 133, 133, 132, 133, 135, 137, 138, 137, 134, 133, 134, 133, 132, 130, 127, 128, 129, 129, 129, 129, 130, 134, 139, 142, 143, 145, 150, 154, 156, 157, 157, 157, 159, 159, 157, 153, 151, 149, 148, 146, 142, 137, 135, 135, 133, 131, 129, 126, 126, 126, 125, 125, 125, 122, 122, 122, 121, 119, 118, 118, 117, 116, 115, 113, 113, 113, 112, 111, 111, 110, 110, 109, 107, 106, 106, 106, 105, 104, 101, 102, 101, 100, 104, 110, 109, 108, 112, 115, 120, 123, 125, 126, 128, 130, 133, 134, 131, 131, 133, 135, 135, 135, 131, 130, 133, 133, 133, 134, 131, 130, 133, 134, 134, 134, 133, 132, 134, 135, 134, 133, 131, 130, 130, 130, 129, 128, 124, 124, 125, 125, 124, 124, 124, 125, 127, 129, 132, 135, 137, 139, 141, 143, 146, 148, 149, 150, 149, 149, 149, 149, 147, 145, 142, 140, 137, 136, 134, 131, 129, 130, 130, 129, 128, 128, 129, 130, 129, 127, 127, 126, 124, 125, 124, 121, 119, 119, 118, 117, 117, 117, 118, 117, 116, 117, 118, 118, 119, 119, 117, 116, 117, 118, 117, 116, 115, 114, 114, 114, 113, 112, 111, 111, 114, 115, 114, 114, 115, 117, 121, 125, 124, 123, 125, 128, 131, 132, 129, 129, 131, 132, 133, 133, 130, 129, 132, 133, 133, 133, 131, 130, 133, 134, 133, 132, 130, 130, 131, 131, 130, 129, 128, 128, 129, 128, 128, 128, 125, 125, 128, 130, 129, 127, 128, 131, 134, 135, 135, 135, 137, 140, 142, 141, 141, 141, 143, 143, 144, 142, 140, 139, 139, 138, 137, 134, 132, 132, 132, 131, 130, 130, 129, 128, 129, 128, 126, 126, 125, 125, 126, 126, 125, 123, 124, 125, 125, 125, 125, 126, 127, 127, 125, 124, 124, 124, 125, 125, 123, 121, 121, 122, 123, 123, 122, 120, 122, 125, 126, 126, 124, 122, 122, 124, 124, 121, 119, 118, 115, 114, 115, 115, 112, 112, 112, 113, 116, 118, 119, 120, 122, 125, 128, 128, 127, 128, 130, 131, 132, 132, 131, 129, 131, 133, 132, 130, 128, 129, 130, 131, 131, 130, 128, 129, 131, 131, 131, 131, 130, 129, 131, 133, 133, 132, 132, 135, 137, 137, 136, 136, 139, 140, 140, 140, 139, 139, 141, 141, 140, 138, 137, 136, 136, 136, 134, 132, 130, 131, 131, 130, 129, 128, 126, 125, 126, 126, 126, 125, 124, 124, 125, 125, 124, 123, 122, 122, 123, 122, 121, 121, 122, 122, 124, 125, 124, 124, 126, 126, 125, 124, 124, 124, 124, 124, 124, 122, 119, 120, 121, 120, 119, 119, 119, 119, 121, 121, 120, 121, 121, 121, 123, 122, 121, 120, 119, 120, 121, 120, 119, 118, 120, 121, 123, 123, 122, 124, 127, 130, 131, 132, 133, 135, 137, 139, 139, 138, 138, 139, 141, 140, 140, 140, 139, 138, 137, 135, 135, 136, 134, 132, 132, 132, 133, 134, 133, 131, 131, 133, 134, 134, 132, 131, 132, 133, 134, 134, 133, 133, 132, 132, 131, 130, 128, 128, 128, 128, 127, 125, 126, 126, 125, 124, 124, 124, 123, 122, 122, 122, 121, 121, 120, 120, 120, 120, 120, 120, 120, 121, 121, 120, 120, 121, 122, 123, 122, 121, 122, 124, 125, 124, 124, 123, 123, 124, 123, 124, 124, 123, 123, 125, 125, 124, 125, 125, 124, 126, 128, 127, 127, 128, 129, 130, 131, 130, 131, 132, 132, 132, 133, 133, 133, 134, 135, 135, 134, 133, 134, 135, 134, 133, 133, 134, 135, 136, 134, 131, 132, 133, 133, 132, 130, 128, 130, 132, 131, 129, 128, 128, 128, 128, 127, 126, 125, 126, 128, 129, 128, 127, 128, 128, 127, 125, 125, 124, 124, 124, 123, 123, 124, 123, 122, 121, 121, 122, 122, 121, 122, 123, 124, 124, 123, 124, 125, 125, 125, 126, 126, 127, 127, 127, 126, 125, 125, 124, 124, 124, 124, 125, 125, 127, 127, 127, 128, 129, 130, 129, 129, 129, 130, 131, 130, 129, 130, 131, 131, 129, 128, 128, 129, 130, 131, 130, 129, 129, 131, 132, 131, 130, 130, 130, 131, 130, 130, 129, 129, 129, 129, 129, 128, 128, 128, 128, 127, 127, 127, 126, 126, 126, 128, 128, 128, 127, 128, 128, 129, 128, 128, 128, 127, 127, 127, 127, 126, 126, 127, 127, 125, 124, 125, 125, 124, 123, 124, 125, 125, 125, 124, 125, 126, 126, 127, 127, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 127, 127, 127, 128, 129, 130, 130, 130, 129, 129, 130, 131, 132, 132, 131, 130, 131, 131, 130, 129, 128, 129, 130, 129, 129, 129, 129, 129, 129, 129, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 128, 127, 128, 128, 128, 128, 127, 127, 127, 128, 128, 126, 125, 125, 126, 127, 126, 125, 126, 126, 126, 125, 125, 125, 125, 125, 125, 126, 126, 127, 127, 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 126, 126, 127, 127, 127, 126, 126, 127, 127, 127, 127, 127, 127, 127, 128, 128, 129, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 128, 129, 129, 129, 129, 129, 129, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 127, 127, 127, 127, 128, 127, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 127, 127, 126, 127, 127, 127, 126, 126, 126, 127, 127, 127, 126, 126, 126, 127, 127, 126, 126, 126, 127, 127, 127, 127, 127, 128, 128, 127, 127, 127, 128, 128, 129, 128, 128, 128, 128, 128, 127, 127, 127, 127, 128, 128, 127, 127, 127, 127, 128, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 127, 127, 127, 128, 128, 128, 128, 128, 128, 127, 127, 127, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 127, 128, 128, 128, 127, 127, 127, 128, 128, 128, 128, 128, 127, 127, 127, 127, 128, 128, 128, 128, 127, 128, 128, 127, 127, 127, 127, 128, 128, 128, 127, 127, 127, 128, 128, 128, 127, 127, 127, 127, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 127, 127, 127, 127, 127, 128, 127, 127, 127, 127, 127, 128, 128, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 128, 128, 128, 127, 127, 128, 128, 128, 127, 127, 128, 128, 127, 127, 127, 128, 128, 128, 127, 127, 127, 128, 127, 127, 127, 127, 127, 128, 128, 128, 127, 127, 127, 128, 128, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 128, 127, 127, 127, 127, 128, 128, 128, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 127, 127, 127, 128, 128, 127, 127, 127, 128, 128, 128, 127, 127, 128, 128, 128, 128, 127, 127, 127, 128, 127, 127, 127, 128, 128, 128, 128, 128, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 128, 128, 128, 127, 127, 128, 128, 128, 127, 127, 127, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 127, 127, 128, 128, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 128, 127, 128, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 128, 127, 127, 128, 128,};
const unsigned char eight[] PROGMEM = {128, 129, 126, 127, 130, 127, 125, 127, 128, 126, 124, 128, 126, 125, 128, 126, 126, 126, 128, 127, 125, 127, 125, 125, 123, 125, 127, 123, 130, 128, 126, 130, 127, 128, 126, 126, 127, 120, 123, 125, 124, 121, 125, 131, 132, 133, 123, 148, 180, 159, 157, 162, 145, 146, 134, 117, 118, 116, 113, 109, 111, 124, 127, 116, 121, 128, 117, 106, 103, 105, 98, 99, 106, 113, 127, 116, 154, 199, 140, 152, 198, 145, 130, 137, 117, 115, 92, 82, 101, 96, 77, 99, 128, 115, 119, 139, 143, 145, 134, 146, 157, 133, 134, 146, 138, 127, 130, 139, 139, 136, 141, 155, 154, 150, 153, 154, 153, 137, 130, 133, 125, 117, 116, 126, 121, 114, 128, 119, 108, 116, 120, 93, 85, 106, 55, 76, 154, 84, 93, 191, 153, 129, 176, 173, 146, 140, 129, 126, 115, 72, 79, 108, 82, 74, 115, 127, 110, 131, 152, 143, 138, 135, 141, 127, 105, 115, 108, 102, 110, 111, 134, 140, 133, 170, 182, 158, 186, 197, 168, 168, 168, 164, 146, 131, 146, 137, 128, 134, 143, 143, 126, 136, 133, 123, 121, 111, 124, 105, 96, 115, 97, 93, 99, 96, 84, 81, 64, 27, 114, 149, 62, 146, 222, 146, 158, 211, 168, 139, 145, 108, 104, 94, 35, 59, 82, 47, 70, 122, 127, 118, 155, 180, 166, 168, 164, 157, 142, 110, 115, 109, 84, 100, 118, 121, 147, 174, 187, 198, 206, 212, 212, 199, 190, 181, 162, 152, 140, 123, 114, 115, 117, 105, 117, 132, 114, 123, 126, 117, 121, 94, 101, 109, 80, 77, 78, 72, 13, 65, 174, 48, 74, 245, 141, 115, 230, 190, 137, 153, 141, 112, 98, 52, 43, 82, 36, 27, 102, 102, 80, 120, 169, 154, 145, 180, 178, 151, 140, 150, 140, 112, 120, 134, 137, 130, 145, 178, 164, 172, 194, 193, 197, 196, 196, 190, 175, 165, 154, 136, 127, 122, 108, 103, 107, 92, 105, 106, 96, 108, 102, 106, 88, 97, 99, 64, 61, 12, 79, 155, 27, 95, 228, 136, 120, 222, 211, 131, 148, 168, 116, 87, 69, 56, 67, 22, 36, 91, 71, 61, 115, 152, 130, 146, 186, 177, 160, 176, 182, 153, 139, 169, 139, 118, 160, 141, 128, 168, 172, 165, 186, 198, 198, 194, 197, 198, 175, 150, 157, 132, 107, 96, 99, 93, 70, 103, 95, 91, 112, 106, 114, 102, 104, 112, 70, 68, 19, 42, 143, 36, 40, 207, 137, 68, 223, 231, 119, 166, 204, 140, 114, 98, 79, 83, 36, 28, 92, 61, 39, 111, 110, 107, 140, 172, 182, 175, 196, 195, 180, 178, 167, 161, 157, 134, 145, 143, 132, 148, 163, 160, 176, 184, 187, 196, 180, 190, 173, 160, 150, 128, 125, 108, 91, 87, 98, 81, 66, 110, 98, 66, 103, 110, 87, 84, 73, 78, 20, 5, 171, 72, 8, 221, 167, 78, 217, 237, 138, 173, 194, 154, 131, 92, 74, 100, 40, 8, 76, 49, 8, 59, 106, 104, 110, 142, 194, 179, 168, 213, 219, 178, 169, 184, 173, 135, 122, 152, 125, 113, 143, 159, 151, 163, 201, 212, 178, 201, 226, 188, 161, 183, 176, 116, 131, 126, 95, 90, 109, 81, 92, 102, 92, 100, 94, 91, 82, 89, 70, 19, 0, 145, 74, 0, 169, 168, 80, 148, 250, 167, 151, 190, 203, 144, 104, 111, 100, 60, 12, 64, 53, 11, 30, 81, 78, 88, 119, 157, 170, 155, 206, 213, 184, 181, 191, 176, 145, 150, 154, 125, 131, 139, 133, 157, 151, 148, 196, 181, 176, 201, 193, 190, 177, 175, 162, 157, 129, 124, 153, 93, 103, 144, 93, 101, 120, 110, 84, 88, 94, 69, 54, 60, 32, 31, 142, 31, 59, 207, 112, 109, 206, 227, 129, 173, 224, 147, 136, 139, 125, 94, 57, 56, 70, 47, 14, 57, 74, 49, 84, 120, 127, 117, 153, 179, 175, 161, 185, 183, 136, 157, 168, 127, 118, 171, 142, 119, 169, 182, 149, 158, 208, 191, 157, 190, 195, 166, 153, 162, 168, 116, 123, 128, 119, 103, 104, 134, 110, 102, 140, 124, 86, 131, 103, 73, 74, 78, 57, 13, 91, 80, 6, 127, 152, 49, 175, 227, 134, 186, 255, 185, 167, 228, 175, 145, 138, 111, 106, 75, 36, 62, 63, 16, 49, 73, 93, 73, 91, 174, 138, 137, 189, 190, 158, 159, 181, 162, 125, 138, 153, 114, 119, 136, 138, 129, 127, 161, 152, 138, 166, 170, 151, 159, 175, 159, 146, 159, 161, 141, 125, 143, 146, 117, 127, 147, 129, 127, 129, 133, 142, 104, 97, 121, 76, 57, 65, 83, 83, 11, 105, 150, 48, 105, 209, 135, 114, 233, 185, 149, 182, 181, 156, 136, 119, 113, 100, 45, 70, 57, 20, 51, 59, 51, 75, 96, 98, 120, 139, 141, 135, 167, 164, 124, 164, 149, 138, 148, 118, 173, 152, 115, 174, 169, 139, 157, 180, 173, 150, 176, 180, 167, 165, 157, 182, 159, 147, 153, 157, 149, 137, 149, 144, 127, 142, 135, 101, 128, 109, 96, 102, 93, 76, 75, 53, 61, 49, 31, 122, 49, 67, 159, 125, 115, 183, 210, 141, 197, 211, 162, 156, 168, 143, 103, 114, 87, 87, 69, 34, 77, 62, 37, 74, 84, 85, 96, 108, 140, 134, 122, 153, 168, 138, 128, 178, 156, 129, 156, 153, 160, 137, 139, 177, 148, 139, 163, 168, 155, 156, 177, 158, 167, 175, 161, 160, 175, 165, 145, 172, 159, 141, 143, 147, 141, 121, 115, 128, 114, 94, 99, 97, 85, 86, 62, 62, 119, 64, 47, 130, 114, 50, 124, 165, 94, 127, 170, 149, 138, 171, 166, 156, 149, 145, 153, 128, 110, 109, 108, 78, 79, 85, 73, 68, 84, 89, 84, 100, 120, 117, 123, 154, 140, 142, 154, 161, 135, 136, 156, 124, 117, 124, 121, 97, 105, 117, 106, 107, 118, 128, 132, 131, 148, 159, 159, 165, 170, 187, 169, 172, 192, 173, 164, 174, 168, 153, 150, 148, 147, 137, 129, 136, 129, 122, 121, 122, 131, 113, 117, 131, 123, 122, 123, 125, 127, 129, 117, 134, 133, 121, 127, 131, 126, 116, 113, 105, 112, 85, 83, 88, 61, 98, 97, 48, 114, 132, 71, 128, 167, 120, 131, 182, 157, 141, 165, 154, 147, 138, 124, 128, 118, 98, 94, 93, 95, 80, 84, 104, 95, 96, 110, 121, 117, 120, 137, 142, 138, 143, 147, 146, 141, 139, 136, 134, 137, 115, 124, 135, 111, 118, 132, 121, 122, 142, 132, 140, 159, 156, 158, 176, 182, 174, 183, 183, 182, 174, 174, 169, 160, 154, 140, 143, 137, 121, 122, 127, 111, 109, 119, 117, 105, 112, 121, 110, 112, 119, 117, 105, 115, 116, 103, 101, 110, 104, 82, 109, 96, 79, 119, 101, 89, 133, 118, 107, 149, 135, 127, 154, 144, 138, 145, 142, 130, 126, 124, 110, 110, 102, 89, 95, 95, 87, 93, 101, 95, 102, 113, 121, 114, 127, 141, 135, 143, 147, 151, 145, 155, 149, 141, 148, 141, 137, 127, 133, 124, 114, 121, 118, 109, 115, 130, 114, 126, 152, 140, 150, 174, 175, 170, 189, 198, 182, 187, 192, 180, 167, 170, 159, 141, 141, 132, 120, 116, 113, 108, 106, 102, 102, 108, 104, 102, 113, 107, 106, 112, 106, 107, 103, 110, 90, 109, 121, 87, 119, 130, 107, 117, 142, 130, 124, 141, 136, 137, 131, 128, 133, 122, 114, 115, 115, 99, 93, 108, 97, 87, 100, 104, 99, 103, 112, 115, 118, 119, 129, 131, 131, 135, 139, 140, 133, 140, 142, 134, 135, 137, 137, 129, 127, 132, 125, 117, 126, 125, 111, 118, 124, 119, 116, 128, 139, 132, 140, 163, 160, 161, 182, 184, 180, 190, 193, 183, 183, 175, 170, 164, 149, 142, 140, 127, 114, 123, 117, 101, 111, 116, 106, 111, 115, 116, 115, 117, 118, 117, 111, 115, 111, 106, 109, 95, 119, 103, 96, 124, 109, 109, 122, 125, 116, 129, 132, 124, 131, 128, 123, 128, 122, 111, 120, 113, 103, 107, 105, 103, 99, 105, 105, 106, 108, 113, 120, 115, 123, 130, 127, 130, 135, 135, 135, 136, 133, 138, 137, 130, 135, 137, 130, 131, 130, 130, 126, 123, 127, 123, 123, 121, 123, 127, 125, 123, 137, 133, 129, 143, 145, 141, 146, 161, 156, 155, 167, 167, 162, 168, 172, 164, 165, 167, 158, 156, 150, 147, 140, 130, 134, 123, 115, 121, 111, 109, 113, 110, 110, 113, 113, 112, 120, 119, 114, 120, 123, 115, 110, 119, 110, 104, 104, 102, 101, 96, 98, 109, 102, 97, 120, 117, 111, 126, 134, 126, 131, 141, 134, 134, 135, 130, 133, 125, 121, 123, 118, 115, 109, 120, 110, 107, 121, 114, 115, 122, 126, 124, 130, 135, 135, 136, 144, 142, 140, 145, 145, 143, 139, 144, 140, 135, 133, 135, 129, 126, 126, 120, 124, 121, 115, 125, 129, 116, 130, 142, 129, 134, 148, 146, 138, 148, 157, 148, 145, 154, 155, 142, 143, 149, 139, 129, 137, 135, 120, 126, 126, 121, 120, 118, 120, 119, 117, 119, 122, 119, 123, 129, 121, 127, 131, 124, 127, 128, 125, 121, 125, 120, 119, 119, 116, 116, 117, 116, 112, 120, 116, 115, 120, 122, 119, 122, 126, 124, 123, 124, 125, 122, 121, 120, 122, 116, 116, 119, 113, 114, 116, 116, 114, 120, 118, 120, 125, 125, 125, 131, 134, 130, 139, 140, 138, 142, 143, 142, 143, 142, 141, 140, 138, 138, 139, 132, 134, 137, 128, 129, 133, 128, 125, 131, 130, 125, 130, 131, 128, 127, 130, 129, 128, 127, 129, 129, 125, 129, 129, 127, 128, 128, 127, 128, 127, 126, 127, 125, 124, 126, 125, 123, 124, 124, 123, 123, 123, 124, 122, 123, 124, 123, 123, 124, 124, 124, 124, 125, 125, 124, 126, 125, 125, 125, 126, 126, 125, 127, 126, 126, 127, 127, 126, 127, 128, 128, 128, 128, 128, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 128, 129, 129, 128, 129, 129, 129, 129, 129, 129, 129, 130, 130, 129, 129, 130, 129, 129, 129, 129, 128, 129, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126, 126, 126, 126, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129, 129, 129, 129, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126, 126, 126, 126, 126, 127, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 127, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 128, 128, 128, 127, 128, 127, 127, 128, 127, 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 127, 128, 127, 127, 128, 125, 130, 136, 128, 126, 128, 127, 127, 126, 126, 126, 125, 127, 126, 126, 129, 126, 127, 130, 127, 128, 129, 128, 129, 127, 129, 128, 127, 128, 127, 128, 128, 128, 128, 129, 132, 130, 127, 128, 128, 128, 126, 126, 126, 126, 126, 125, 127, 127, 126, 128, 128, 130, 129, 127, 129, 129, 129, 129, 128, 128, 129, 127, 125, 126, 126, 127, 125, 125, 128, 126, 126, 128, 127, 126, 124, 127, 128, 127, 127, 125, 126, 124, 124, 126, 126, 131, 132, 140, 150, 156, 146, 120, 132, 142, 120, 120, 123, 121, 123, 120, 124, 120, 121, 126, 125, 130, 129, 131, 132, 129, 128, 125, 131, 131, 126, 127, 127, 132, 129, 126, 129, 124, 125, 124, 126, 129, 124, 126, 126, 127, 127, 126, 128, 125, 127, 126, 126, 129, 126, 129, 129, 129, 131, 129, 129, 127, 133, 130, 124, 134, 128, 122, 125, 128, 132, 129, 128, 125, 124, 130, 126, 124, 125, 128, 129, 127, 128, 125, 127, 130, 128, 129, 128, 127, 127, 128, 130, 129, 132, 130, 126, 125, 125, 126, 125, 124, 123, 127, 127, 120, 124, 128, 131, 130, 130, 131, 124, 128, 128, 127, 132, 124, 133, 135, 124, 133, 129, 125, 130, 124, 122, 125, 130, 127, 126, 135, 128, 126, 132, 126, 126, 128, 128, 134, 133, 125, 127, 133, 129, 123, 125, 130, 131, 128, 124, 123, 125, 128, 126, 129, 131, 126, 129, 130, 122, 125, 128, 128, 134, 128, 123, 125, 127, 125, 119, 126, 131, 125, 128, 128, 126, 128, 126, 123, 126, 129, 129, 126, 127, 127, 123, 123, 125, 126, 126, 126, 127, 128, 120, 125, 130, 126, 134, 137, 130, 133, 130, 120, 120, 126, 132, 128, 126, 127, 127, 128, 123, 124, 134, 130, 128, 125, 121, 133, 129, 120, 130, 134, 131, 128, 124, 123, 126, 125, 123, 130, 133, 129, 125, 124, 127, 126, 129, 131, 129, 125, 124, 125, 129, 123, 127, 131, 135, 136, 125, 129, 123, 119, 122, 119, 118, 132, 128, 129, 131, 130, 129, 122, 131, 129, 127, 132, 132, 127, 132, 121, 119, 129, 129, 124, 126, 126, 118, 129, 121, 125, 135, 131, 130, 131, 128, 121, 131, 125, 126, 132, 124, 125, 125, 127, 127, 134, 128, 122, 136, 130, 121, 126, 130, 123, 129, 136, 130, 124, 129, 127, 122, 130, 129, 121, 126, 128, 122, 132, 131, 125, 132, 133, 128, 135, 126, 121, 130, 126, 132, 132, 117, 122, 130, 122, 127, 127, 135, 136, 124, 132, 124, 126, 125, 117, 134, 132, 128, 123, 124, 124, 120, 138, 124, 126, 133, 136, 126, 130, 129, 116, 135, 127, 125, 127, 135, 123, 123, 121, 126, 128, 132, 129, 117, 133, 133, 124, 121, 138, 120, 124, 124, 128, 126, 127, 130, 129, 136, 117, 124, 128, 132, 121, 128, 137, 129, 119, 124, 128, 133, 133, 121, 126, 136, 124, 114, 126, 131, 130, 126, 134, 125, 132, 134, 134, 125, 130, 146, 123, 125, 130, 127, 126, 128, 124, 121, 129, 132, 124, 122, 129, 131, 128, 125, 128, 121, 129, 129, 126, 129, 131, 136, 127, 124, 124, 129, 126, 129, 131, 120, 123, 133, 126, 123, 130, 133, 129, 129, 128, 126, 128, 121, 123, 123, 130, 126, 130, 127, 125, 124, 129, 132, 125, 128, 124, 135, 136, 124, 122, 131, 124, 123, 120, 126, 126, 135, 137, 124, 130, 127, 128, 130, 131, 117, 127, 135, 128, 125, 123, 135, 126, 134, 129, 115, 128, 130, 136, 123, 136, 126, 136, 130, 115, 132, 122, 142, 118, 127, 137, 130, 129, 125, 120, 129, 124, 120, 128, 125, 133, 122, 132, 125, 131, 128, 127, 117, 123, 133, 126, 126, 121, 133, 130, 139, 123, 121, 135, 128, 125, 121, 125, 126, 129, 130, 119, 124, 135, 129, 127, 126, 123, 130, 132, 127, 118, 131, 135, 125, 124, 127, 127, 124, 128, 123, 127, 127, 127, 123, 134, 128, 132, 134, 127, 128, 125, 130, 124, 127, 124, 131, 126, 126, 126, 127, 132, 126, 131, 129, 128, 125, 126, 128, 130, 126, 126, 129, 128, 130, 129, 129, 124, 128, 129, 122, 127, 132, 132, 129, 131, 134, 130, 127, 124, 122, 130, 127, 125, 124, 127, 130, 132, 131, 126, 130, 127, 134, 125, 127, 127, 126, 131, 127, 126, 131, 136, 128, 126, 124, 126, 126, 129, 131, 125, 125, 127, 122, 126, 126, 123, 125, 130, 129, 120, 126, 135, 133, 133, 131, 126, 133, 131, 124, 122, 125, 126, 124, 128, 128, 124, 131, 131, 128, 130, 130, 128, 127, 131, 127, 129, 131, 129, 124, 124, 131, 127, 126, 126, 127, 130, 130, 128, 129, 129, 130, 129, 128, 126, 127, 130, 125, 126, 122, 125, 127, 129, 130, 123, 125, 126, 130, 126, 128, 128, 126, 129, 129, 125, 125, 127, 127, 125, 132, 130, 125, 127, 125, 127, 128, 131, 130, 127, 128, 130, 128, 128, 125, 124, 129, 128, 126, 130, 128, 124, 129, 125, 127, 126, 126, 126, 126, 130, 127, 130, 129, 131, 127, 126, 131, 127, 130, 125, 125, 129, 129, 128, 127, 127, 128, 128, 129, 129, 128, 129, 129, 129, 128, 125, 127, 129, 127, 127, 123, 128, 126, 128, 127, 128, 126, 127, 130, 127, 129, 126, 130, 126, 131, 126, 127, 125, 127, 127, 124,};
byte fileMask[9], fileMaskOld[9], vacatedRank, rank, file, vacatedFile, i;
bool vacated=false, landed=false;
String minStr, secStr; //Time of last move in minutes and seconds
String Move[5]; //Stores moves: 0 = most recent move; 4 = four moves ago
const String fString[]={"","a","b","c","d","e","f","g","h"}; //Array to convert file numbers to letters
long time0, timen; //Times of first and last moves
int8_t board[8][8] = { //Initial board array of pieces
//Pawn=1; Rook=2; Knight=3; Bishop=4; Queen=5; King=6; positive=white; negative=black.
{2,3,4,5,6,4,3,2},
{1,1,1,1,1,1,1,1},
{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,-1,-1,-1,-1,-1,-1,-1},
{-2,-3,-4,-5,-6,-4,-3,-2}};
void setup() {
lcd.init();
lcd.backlight();
lcd.print(" NVE GMR Switch Smart Chessboard");
DDRK = 0; //Set A8-A15 as inputs for sensors
PORTK = 0xFF; //Enable port K pullups
}
void loop() {
for(rank=1; rank < 9; rank++) { //Scan through sensor ranks (rows)
DDRF = 1<<(rank-1); //Turn on selected sensor row
PORTF = 1<<(rank-1);
delay(1); //Allow sensors to stabilize before reading outputs
fileMaskOld[rank] = fileMask[rank];
fileMask[rank] = ~PINK; //Read sensor files (columns)
DDRF = 0; //Turn off sensors
if((~fileMask[rank] & fileMaskOld[rank])>0) { //Square vacated
vacated=true; //Set flag to indicate a square was vacated
vacatedFile = log(float(~fileMask[rank] & fileMaskOld[rank]))/log(2.0)+1.5; //Calculate vacated file (1-8)
vacatedRank=rank;
delay(100); //Lockout additional moves
}
if(vacated&&((fileMask[rank] & ~fileMaskOld[rank])>0)){ //Piece landed
file=log(float(fileMask[rank] & ~fileMaskOld[rank]))/log(2.0)+1.5;
landed=true;
}
if(vacated&&landed&&(file==vacatedFile)&&(rank==vacatedRank)) { //Not a move
vacated=false; //Clear flags
landed=false;
}
if(vacated&&landed) { //Legal move
if (Move[0]=="") time0=micros(); //Store time of first move
timen=(micros()-time0)/1000000; //Time of this move (wraps after ~1 hour)
minStr=String(timen/60);
secStr=String(timen-timen/60*60);
if(minStr.length()<2) minStr="0"+minStr;
if(secStr.length()<2) secStr="0"+secStr;
//Last move:
Move[0]=minStr+":"+secStr+" "+String(fString[vacatedFile]+String(vacatedRank)+"-"+fString[file]+String(rank));
//Clear flags
vacated=false;
landed=false;
board[rank-1][file-1] = board[vacatedRank-1][vacatedFile-1]; //Update board
board[vacatedRank-1][vacatedFile-1]=0;
//Display move
lcd.clear();
for(i=4; i>0; i--){
Move[i] = Move[i-1]; //Shift recent-move array
lcd.setCursor(0,4-i);
lcd.print(Move[i]);} //Update LCD display row-by-row
//Speak move
sayPiece(abs(board[rank-1][file-1])); //Say the name of the piece moving
startPlayback(to, sizeof(to));
delay(sizeof(to)/8+50);
sayPiece(file/5+5); //Say the side of the board
if((file<4)||(file>5)) { //Not in king's or queen's file
startPlayback(s, sizeof(s)); //Say "'s"
delay (sizeof(s)/8);
if(file<6)sayPiece(1+file); //Say the file
else sayPiece(10-file);
}
if(board[rank-1][file-1]>0) sayNumber(rank); //White piece
else sayNumber(9-rank); //Black piece
}}
//Display running time
if (Move[0]!="") { //After first move, display running time
timen=(micros()-time0)/1000000; //Update running time
minStr="0"+String(timen/60);
secStr="0"+String(timen-timen/60*60);
lcd.setCursor(15,3);
lcd.print(minStr.substring(minStr.length()-2)+":"+secStr.substring(secStr.length()-2));} //Update running time
}
//Speech routines
void sayPiece(byte Piece) {
switch (Piece) {
case 1:
startPlayback(P, sizeof(P));
delay (sizeof(P)/8);
break;
case 2:
startPlayback(R, sizeof(R));
delay (sizeof(R)/8);
break;
case 3:
startPlayback(N, sizeof(N));
delay (sizeof(N)/8);
break;
case 4:
startPlayback(B, sizeof(B));
delay (sizeof(B)/8);
break;
case 5:
startPlayback(Q, sizeof(Q));
delay (sizeof(Q)/8);
break;
case 6:
startPlayback(K, sizeof(K));
delay (sizeof(K)/8);
break;
}}
void sayNumber(byte Number) {
switch (Number) {
case 1:
startPlayback(one, sizeof(one));
break;
case 2:
startPlayback(two, sizeof(two));
break;
case 3:
startPlayback(three, sizeof(three));
break;
case 4:
startPlayback(four, sizeof(four));
break;
case 5:
startPlayback(five, sizeof(five));
break;
case 6:
startPlayback(six, sizeof(six));
break;
case 7:
startPlayback(seven, sizeof(seven));
break;
case 8:
startPlayback(eight, sizeof(eight));
break;
}}