comparison tests/agcl/parsifal/good/sql.c @ 0:13d2b8934445

Import AnaGram (near-)release tree into Mercurial.
author David A. Holland
date Sat, 22 Dec 2007 17:52:45 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:13d2b8934445
1
2 /*
3 * AnaGram, A System for Syntax Directed Programming
4 * File generated by: ...
5 *
6 * AnaGram Parsing Engine
7 * Copyright 1993-2002 Parsifal Software. All Rights Reserved.
8 *
9 * This software is provided 'as-is', without any express or implied
10 * warranty. In no event will the authors be held liable for any damages
11 * arising from the use of this software.
12 *
13 * Permission is granted to anyone to use this software for any purpose,
14 * including commercial applications, and to alter it and redistribute it
15 * freely, subject to the following restrictions:
16 *
17 * 1. The origin of this software must not be misrepresented; you must not
18 * claim that you wrote the original software. If you use this software
19 * in a product, an acknowledgment in the product documentation would be
20 * appreciated but is not required.
21 * 2. Altered source versions must be plainly marked as such, and must not be
22 * misrepresented as being the original software.
23 * 3. This notice may not be removed or altered from any source distribution.
24 */
25
26 #ifndef SQL_H
27 #include "sql.h"
28 #endif
29
30 #ifndef SQL_H
31 #error Mismatched header file
32 #endif
33
34 #include <ctype.h>
35 #include <stdio.h>
36
37 #define RULE_CONTEXT (&((PCB).cs[(PCB).ssx]))
38 #define ERROR_CONTEXT ((PCB).cs[(PCB).error_frame_ssx])
39 #define CONTEXT ((PCB).cs[(PCB).ssx])
40
41
42
43 sql_pcb_type sql_pcb;
44 #define PCB sql_pcb
45
46 #ifndef CONVERT_CASE
47
48 static const char agCaseTable[31] = {
49 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
50 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
51 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0,
52 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20
53 };
54
55 static int agConvertCase(int c) {
56 if (c >= 'a' && c <= 'z') return c ^= 0x20;
57 if (c >= 0xe0 && c < 0xff) c ^= agCaseTable[c-0xe0];
58 return c;
59 }
60
61 #define CONVERT_CASE(c) agConvertCase(c)
62
63 #endif
64
65
66 #ifndef TAB_SPACING
67 #define TAB_SPACING 8
68 #endif
69
70
71 #define READ_COUNTS
72 #define WRITE_COUNTS
73 #undef V
74 #define V(i,t) (*t (&(PCB).vs[(PCB).ssx + i]))
75 #undef VS
76 #define VS(i) (PCB).vs[(PCB).ssx + i]
77
78 #ifndef GET_CONTEXT
79 #define GET_CONTEXT CONTEXT = (PCB).input_context
80 #endif
81
82 typedef enum {
83 ag_action_1,
84 ag_action_2,
85 ag_action_3,
86 ag_action_4,
87 ag_action_5,
88 ag_action_6,
89 ag_action_7,
90 ag_action_8,
91 ag_action_9,
92 ag_action_10,
93 ag_action_11,
94 ag_action_12
95 } ag_parser_action;
96
97
98 #ifndef NULL_VALUE_INITIALIZER
99 #define NULL_VALUE_INITIALIZER = 0
100 #endif
101
102 static int const ag_null_value NULL_VALUE_INITIALIZER;
103
104 static const unsigned char far ag_rpx[] = {
105 0
106 };
107
108 static const unsigned char far ag_key_itt[] = {
109 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
110 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
111 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1,
112 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
113 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
114 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
120 0
121 };
122
123 static const unsigned short far ag_key_pt[] = {
124 0,347, 0,348, 0,349, 0,350, 0,351, 0,352, 0,354, 0,353,
125 0,356, 0,355, 0,358, 0,357, 0,359, 0,360, 0,362, 0,361,
126 0,364, 0,363, 0,378, 0,379, 0,380, 0,381, 0,382, 0,383,
127 0,384, 0,385, 0,386, 0,387, 0,388, 0,389, 0,390, 0,391,
128 0,392, 0,393, 0,394, 0,395, 0,396, 0,397, 0,398, 0,404,
129 0,405, 0,406, 0,407, 0,410, 0,409, 0,411, 0,412, 0,413,
130 0,414, 0,415, 0,416, 0,417, 0,418, 0,419, 0,420, 0,421,
131 0,422, 0,423, 0,424, 0,425, 0,426, 0,427, 0,428, 0,429,
132 0,431, 0,430, 0,432, 0,433, 0,434, 0,435, 0,436, 0,437,
133 0,438, 0,441, 0,440, 0,439, 0,443, 0,442, 0,445, 0,444,
134 0,446, 0,447, 0,449, 0,448, 0,451, 0,450, 0,454, 0,453,
135 0,452, 0,456, 0,455, 0,457, 0,459, 0,458, 0,462, 0,460,
136 0,461, 0,466, 0,463, 0,464, 0,465, 0,467, 0,468, 0,469,
137 0,475, 0,470, 0,471, 0,472, 0,473, 0,474, 0,476, 0,477,
138 0,478, 0,479, 0,480, 0,481, 0,483, 0,482, 0,484, 0,485,
139 0,486, 0,487, 0,488, 0,489, 0,490, 0,491, 0,492, 0,493,
140 0,494, 0,496, 0,495, 0,499, 0,498, 0,497, 0,500, 0,501,
141 0,502, 0,503, 0,504, 0,505, 0,506, 0,507, 0,508, 0,509,
142 0,510, 0,511, 0,512,0
143 };
144
145 static const unsigned char far ag_key_ch[] = {
146 0, 42, 47,255, 69, 73,255, 77,255, 77,255, 76, 79, 82,255, 67, 76, 83,
147 255, 69, 82,255, 78, 88,255, 67, 83,255, 78,255, 69, 79,255, 45, 47, 65,
148 66, 67, 68, 69, 70, 71, 73, 76, 79, 80, 82, 83, 85, 87,255, 42,255, 42,
149 47,255, 61, 62,255, 76, 84,255, 68, 89,255, 67,255, 68, 76, 78, 83, 86,
150 255, 71, 84,255, 65,255, 68,255, 78, 84,255, 69, 73, 89,255, 65,255, 82,
151 255, 65, 69,255, 69, 73,255, 77,255, 73, 82,255, 78, 84,255, 76, 77, 78,
152 85,255, 84,255, 69,255, 84,255, 65,255, 69,255, 82, 83,255, 82,255, 65,
153 72, 76, 79, 82, 85,255, 66,255, 65, 69,255, 83,255, 84, 89,255, 73, 76,
154 255, 66, 80,255, 73,255, 82,255, 67,255, 67, 76, 83,255, 65, 66, 69, 73,
155 82,255, 69, 76,255, 67, 69, 73,255, 78, 85, 88,255, 69,255, 82, 85,255,
156 69, 76, 79, 82,255, 65, 79,255, 79, 82,255, 83,255, 82,255, 76, 85,255,
157 65, 79,255, 71, 82,255, 69, 79,255, 67, 68, 83, 84,255, 79,255, 77, 78,
158 83,255, 65, 75,255, 67, 78,255, 69, 73, 79,255, 83,255, 68,255, 78,255,
159 79,255, 67,255, 69,255, 83,255, 79,255, 82,255, 83,255, 69,255, 84,255,
160 85,255, 67, 78,255, 83,255, 72,255, 84,255, 68, 78,255, 65, 73, 79,255,
161 69,255, 76, 77,255, 79, 85,255, 76,255, 69, 84,255, 68,255, 70, 78, 80,
162 82,255, 77, 86,255, 69, 73, 79,255, 65, 82, 85,255, 70, 83, 86,255, 69,
163 79,255, 83,255, 68,255, 78,255, 79, 84,255, 67, 76, 84,255, 67, 68, 69,
164 87,255, 76,255, 66, 77,255, 69, 72, 77, 79, 81, 85,255, 83,255, 69,255,
165 77,255, 65, 73, 79, 82,255, 79, 81,255, 73,255, 65, 69, 73,255, 78, 80,
166 83,255, 76, 82,255, 65, 73,255, 78, 82,255, 69,255, 72, 73, 79,255, 83,
167 255, 82,255, 65,255, 69,255, 45, 47, 60, 62, 65, 66, 67, 68, 69, 70, 71,
168 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 87, 89,255, 69,
169 73,255, 77,255, 77,255, 76, 79, 82,255, 67, 76, 83,255, 69, 82,255, 78,
170 88,255, 67, 83,255, 78,255, 69, 79,255, 65, 66, 67, 68, 69, 70, 71, 73,
171 76, 79, 80, 82, 83, 85, 87,255, 42, 47,255, 76, 86,255, 72, 79, 85,255,
172 83,255, 84, 89,255, 65, 73,255, 85,255, 67, 78,255, 65, 73, 79,255, 66,
173 77,255, 69, 85,255, 83,255, 69,255, 77,255, 73, 82,255, 45, 47, 65, 67,
174 68, 72, 76, 77, 79, 83, 84, 85, 89,255, 42, 47,255, 45, 47, 67, 70, 79,
175 82, 83,255, 42, 47,255, 70, 78,255, 45, 47, 79, 82,255, 76, 86,255, 72,
176 79, 85,255, 83,255, 84, 89,255, 65, 73,255, 85,255, 67, 78,255, 65, 73,
177 79,255, 66, 77,255, 69, 85,255, 83,255, 69,255, 77,255, 73, 82,255, 65,
178 67, 68, 72, 76, 77, 83, 84, 85, 89,255, 42, 47,255, 45, 47,255, 42, 47,
179 255, 45, 47, 73, 79,255, 42, 47,255, 45, 47, 79,255, 42, 47,255, 45, 47,
180 73, 79,255, 70,255, 42, 47,255, 45, 47, 73, 84, 85, 86,255, 42, 47,255,
181 69, 87,255, 76,255, 81,255, 45, 47, 78, 83,255, 73,255, 42, 47,255, 69,
182 73,255, 77,255, 77,255, 76, 79, 82,255, 67, 76, 83,255, 69,255, 78, 88,
183 255, 67, 83,255, 78,255, 69, 79,255, 72, 79,255, 45, 47, 65, 66, 67, 68,
184 69, 70, 71, 73, 76, 79, 80, 82, 83, 85, 87,255, 42, 47,255, 76, 84,255,
185 76,255, 65,255, 68,255, 78,255, 73,255, 78, 84,255, 78,255, 79, 82,255,
186 66, 69,255, 68, 83,255, 78,255, 45, 47, 65, 66, 67, 68, 69, 73, 82, 83,
187 85,255, 42, 47,255, 45, 47, 84,255, 42, 47,255, 67, 68,255, 76,255, 81,
188 255, 45, 47, 83,255, 73,255, 42, 47,255, 45, 47, 68,255, 42, 47,255, 45,
189 47, 83,255, 73, 84, 85, 86,255, 42, 47,255, 45, 47, 79,255, 42, 47,255,
190 45, 47, 79, 84,255, 42, 47,255, 73, 79,255, 65, 82,255, 45, 47, 70, 73,
191 80, 84, 86,255, 69, 87,255, 76,255, 81,255, 78, 83,255, 69, 73,255, 77,
192 255, 77,255, 76, 79, 82,255, 67, 76, 83,255, 69,255, 78, 88,255, 67, 83,
193 255, 78,255, 69, 79,255, 72, 79,255, 65, 66, 67, 68, 69, 70, 71, 73, 76,
194 79, 80, 82, 83, 85, 87,255, 76, 84,255, 76,255, 65,255, 68,255, 78,255,
195 73,255, 78, 84,255, 78,255, 79, 82,255, 66, 69,255, 68, 83,255, 78,255,
196 65, 66, 67, 68, 69, 73, 82, 83, 85,255, 84,255, 67, 68,255, 76,255, 81,
197 255, 83,255, 68,255, 79,255, 65, 82,255, 73, 80, 84, 86,255, 69, 73,255,
198 77,255, 77,255, 76, 79, 82,255, 67, 76, 83,255, 69,255, 78, 88,255, 67,
199 83,255, 78,255, 69, 79,255, 65, 66, 67, 68, 69, 70, 71, 73, 76, 79, 80,
200 82, 83, 85, 87,255, 42, 47,255, 72, 79, 85,255, 83,255, 84, 89,255, 65,
201 255, 85,255, 67, 78,255, 65, 73, 79,255, 66, 77,255, 69, 85,255, 83,255,
202 69,255, 77,255, 73, 82,255, 45, 47, 65, 67, 68, 72, 76, 77, 83, 84, 85,
203 89,255, 42, 47,255, 72, 79, 85,255, 83,255, 84, 89,255, 65,255, 85,255,
204 67, 78,255, 65, 73, 79,255, 67, 76,255, 66, 77,255, 69, 85,255, 83,255,
205 69,255, 77,255, 73, 82,255, 45, 47, 65, 67, 68, 72, 76, 77, 79, 80, 83,
206 84, 85, 89,255, 72, 79, 85,255, 83,255, 84, 89,255, 65,255, 85,255, 67,
207 78,255, 65, 73, 79,255, 66, 77,255, 69, 85,255, 83,255, 69,255, 77,255,
208 73, 82,255, 65, 67, 68, 72, 76, 77, 83, 84, 85, 89,255, 42, 47,255, 45,
209 47, 80,255, 34,255, 42, 47,255, 61, 62,255, 67,255, 68, 76, 78, 83,255,
210 71, 84,255, 69,255, 65,255, 82,255, 65,255, 69, 73,255, 77,255, 77,255,
211 72, 76, 79, 82, 85,255, 83,255, 84, 89,255, 73, 76,255, 82,255, 67,255,
212 67, 76, 83,255, 65, 69, 82,255, 67, 69,255, 78, 88,255, 69,255, 82,255,
213 69, 76, 79, 82,255, 65, 79,255, 82,255, 83,255, 82,255, 85,255, 65, 79,
214 255, 71, 82,255, 69, 79,255, 67, 83, 84,255, 78, 83,255, 67, 78,255, 73,
215 79,255, 83,255, 68,255, 78,255, 79,255, 67,255, 69,255, 83,255, 79,255,
216 82,255, 83,255, 69,255, 84,255, 85,255, 67, 78,255, 83,255, 72,255, 84,
217 255, 78,255, 73, 79,255, 69,255, 77,255, 79, 85,255, 68,255, 78, 80, 82,
218 255, 69, 73,255, 82,255, 70, 86,255, 69, 79,255, 83,255, 68,255, 78,255,
219 79,255, 67, 76, 84,255, 69, 77,255, 83,255, 69,255, 77,255, 73, 79,255,
220 78, 80, 83,255, 76, 82,255, 65,255, 78, 82,255, 69,255, 72, 73,255, 83,
221 255, 82,255, 65,255, 69,255, 45, 47, 60, 62, 65, 66, 67, 68, 69, 70, 71,
222 72, 73, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 87, 89,255, 42, 47,255,
223 61, 62,255, 45, 47, 60, 62,255, 61, 62,255, 67,255, 68, 76, 78, 83,255,
224 71, 84,255, 69,255, 65,255, 82,255, 65,255, 69, 73,255, 77,255, 77,255,
225 72, 76, 79, 82,255, 83,255, 84, 89,255, 73, 76,255, 82,255, 67,255, 67,
226 76, 83,255, 65, 69, 82,255, 67, 69,255, 78, 88,255, 69,255, 82,255, 69,
227 76, 79, 82,255, 65, 79,255, 82,255, 83,255, 82,255, 85,255, 65, 79,255,
228 71, 82,255, 69, 79,255, 67, 83, 84,255, 78, 83,255, 67, 78,255, 73, 79,
229 255, 83,255, 68,255, 78,255, 79,255, 67,255, 69,255, 83,255, 79,255, 82,
230 255, 83,255, 69,255, 84,255, 85,255, 67, 78,255, 83,255, 72,255, 84,255,
231 78,255, 73, 79,255, 69,255, 77,255, 79, 85,255, 68,255, 78, 80, 82,255,
232 69, 73,255, 82,255, 70, 86,255, 69, 79,255, 83,255, 68,255, 78,255, 79,
233 255, 67, 76, 84,255, 69, 77,255, 83,255, 69,255, 77,255, 73, 79,255, 78,
234 80, 83,255, 76, 82,255, 65,255, 78, 82,255, 69,255, 72, 73,255, 83,255,
235 82,255, 65,255, 69,255, 60, 62, 65, 66, 67, 68, 69, 70, 71, 72, 73, 76,
236 77, 78, 79, 80, 82, 83, 84, 85, 86, 87, 89,255, 83,255, 69, 73,255, 77,
237 255, 77,255, 76, 79, 82,255, 67, 76, 83,255, 69,255, 78, 88,255, 67, 83,
238 255, 78,255, 69, 79,255, 80, 83,255, 65, 66, 67, 68, 69, 70, 71, 73, 76,
239 79, 80, 82, 83, 85, 87,255, 73, 85,255, 69, 73,255, 77,255, 77,255, 76,
240 79, 82,255, 67, 76, 83,255, 69,255, 78, 88,255, 67, 83,255, 78,255, 69,
241 79,255, 78, 82,255, 69,255, 72,255, 65, 66, 67, 68, 69, 70, 71, 73, 76,
242 79, 80, 82, 83, 85, 87,255, 42, 47,255, 45, 47, 73,255, 73,255, 42, 47,
243 255, 45, 47, 67, 71,255, 42, 47,255, 72, 79, 85,255, 83,255, 84, 89,255,
244 65,255, 69, 73,255, 85,255, 67, 78,255, 65, 73, 79,255, 79, 85,255, 66,
245 77,255, 69, 85,255, 83,255, 69,255, 77,255, 73, 82,255, 45, 47, 65, 66,
246 67, 68, 69, 70, 72, 73, 76, 77, 78, 83, 84, 85, 89,255, 70,255, 67, 71,
247 255, 42, 47,255, 69, 73,255, 77,255, 77,255, 76, 79, 82,255, 67, 76, 83,
248 255, 69,255, 78, 88,255, 67, 83,255, 78,255, 69, 79,255, 45, 47, 65, 66,
249 67, 68, 69, 70, 71, 73, 76, 79, 80, 82, 83, 85, 87,255, 79, 80,255, 70,
250 73,255, 83,255, 67,255, 42, 47,255, 65, 69,255, 65, 82,255, 45, 47, 67,
251 68, 73, 80, 84, 85,255, 67, 84,255, 39,255, 42, 47,255, 61, 62,255, 68,
252 76, 78,255, 71, 84,255, 69,255, 69, 73,255, 77,255, 77,255, 76, 79, 82,
253 255, 67, 76, 83,255, 69, 82,255, 67, 69,255, 78, 88,255, 69,255, 82,255,
254 69, 79, 82,255, 65, 79,255, 82,255, 69, 79,255, 67, 83, 84,255, 78, 83,
255 255, 73, 79,255, 68,255, 80, 82,255, 69, 73,255, 82,255, 70, 86,255, 69,
256 79,255, 78, 80,255, 78, 82,255, 69,255, 72, 73,255, 45, 47, 60, 62, 65,
257 66, 67, 68, 69, 70, 71, 72, 73, 76, 78, 79, 80, 82, 83, 85, 87,255, 42,
258 47,255, 61, 62,255, 76, 78,255, 71, 84,255, 69,255, 69, 73,255, 77,255,
259 77,255, 76, 79, 82,255, 67, 76, 83,255, 69,255, 67, 69,255, 78, 88,255,
260 69, 79, 82,255, 65, 79,255, 82,255, 69, 79,255, 67, 83, 84,255, 78, 83,
261 255, 73, 79,255, 68,255, 80, 82,255, 69, 79,255, 78, 80,255, 78, 82,255,
262 69,255, 72, 73,255, 45, 47, 60, 62, 65, 66, 67, 68, 69, 70, 71, 72, 73,
263 76, 78, 79, 80, 82, 83, 85, 87,255, 42, 47,255, 68, 76,255, 69, 73,255,
264 77,255, 77,255, 76, 79, 82,255, 67, 76, 83,255, 69, 82,255, 78, 88,255,
265 69,255, 82,255, 69, 79,255, 67, 83,255, 78,255, 69, 73,255, 82,255, 70,
266 86,255, 69, 79,255, 45, 47, 65, 66, 67, 68, 69, 70, 71, 73, 76, 78, 79,
267 80, 82, 83, 85, 87,255, 42, 47,255, 61, 62,255, 76, 78,255, 71, 84,255,
268 69,255, 69, 73,255, 77,255, 77,255, 76, 79, 82,255, 83,255, 89,255, 67,
269 76, 83,255, 65, 69,255, 67, 69,255, 78, 88,255, 69, 79, 82,255, 65, 79,
270 255, 82,255, 83,255, 82,255, 85,255, 65, 79,255, 69, 79,255, 67, 83, 84,
271 255, 78, 83,255, 73, 79,255, 83,255, 68,255, 78,255, 79,255, 67,255, 69,
272 255, 83,255, 79,255, 82,255, 83,255, 69,255, 84,255, 85,255, 67, 78,255,
273 83,255, 72,255, 84,255, 78,255, 73, 79,255, 68,255, 80, 82,255, 69, 79,
274 255, 83,255, 68,255, 78,255, 79,255, 67, 76,255, 69,255, 78, 80,255, 78,
275 82,255, 69,255, 72, 73,255, 83,255, 82,255, 65,255, 69,255, 45, 47, 60,
276 62, 65, 66, 67, 68, 69, 70, 71, 72, 73, 76, 77, 78, 79, 80, 82, 83, 85,
277 87, 89,255, 42, 47,255, 61, 62,255, 76, 78,255, 71, 84,255, 69,255, 69,
278 73,255, 77,255, 77,255, 76, 79, 82,255, 83,255, 89,255, 67, 76, 83,255,
279 65, 69,255, 67, 69,255, 78, 88,255, 69, 79, 82,255, 65, 79,255, 82,255,
280 83,255, 82,255, 85,255, 65, 79,255, 69, 79,255, 67, 83, 84,255, 78, 83,
281 255, 73, 79,255, 83,255, 68,255, 78,255, 79,255, 67,255, 69,255, 83,255,
282 79,255, 82,255, 83,255, 69,255, 84,255, 85,255, 67, 78,255, 83,255, 72,
283 255, 84,255, 78,255, 73, 79,255, 68,255, 80, 82,255, 69, 79,255, 83,255,
284 68,255, 78,255, 79,255, 67, 76,255, 69,255, 78, 80,255, 78, 82,255, 69,
285 255, 72, 73,255, 83,255, 82,255, 65,255, 69,255, 45, 47, 60, 62, 65, 66,
286 67, 68, 69, 70, 71, 72, 73, 76, 77, 78, 79, 80, 82, 83, 85, 87, 89,255,
287 61, 62,255, 76, 78,255, 71, 84,255, 69,255, 69, 73,255, 77,255, 77,255,
288 76, 79, 82,255, 83,255, 89,255, 67, 76, 83,255, 65, 69,255, 67, 69,255,
289 78, 88,255, 69, 79, 82,255, 65, 79,255, 82,255, 83,255, 82,255, 85,255,
290 65, 79,255, 69, 79,255, 67, 83, 84,255, 78, 83,255, 73, 79,255, 83,255,
291 68,255, 78,255, 79,255, 67,255, 69,255, 83,255, 79,255, 82,255, 83,255,
292 69,255, 84,255, 85,255, 67, 78,255, 83,255, 72,255, 84,255, 78,255, 73,
293 79,255, 68,255, 80, 82,255, 69, 79,255, 83,255, 68,255, 78,255, 79,255,
294 67, 76,255, 69,255, 78, 80,255, 78, 82,255, 69,255, 72, 73,255, 83,255,
295 82,255, 65,255, 69,255, 60, 62, 65, 66, 67, 68, 69, 70, 71, 72, 73, 76,
296 77, 78, 79, 80, 82, 83, 85, 87, 89,255, 61, 62,255, 76, 78,255, 71, 84,
297 255, 69,255, 69, 73,255, 77,255, 77,255, 76, 79, 82,255, 83,255, 89,255,
298 67, 76, 83,255, 65, 69,255, 67, 69,255, 78, 88,255, 69, 79, 82,255, 65,
299 79,255, 82,255, 83,255, 82,255, 85,255, 65, 79,255, 69, 79,255, 67, 83,
300 84,255, 78, 83,255, 73, 79,255, 83,255, 68,255, 78,255, 79,255, 67,255,
301 69,255, 83,255, 79,255, 82,255, 83,255, 69,255, 84,255, 85,255, 67, 78,
302 255, 83,255, 72,255, 84,255, 78,255, 73, 79,255, 68,255, 80, 82,255, 69,
303 79,255, 83,255, 68,255, 78,255, 79,255, 67, 76,255, 69,255, 78, 80,255,
304 78, 82,255, 69,255, 72, 73,255, 83,255, 82,255, 65,255, 69,255, 60, 62,
305 65, 66, 67, 68, 69, 70, 71, 72, 73, 76, 77, 78, 79, 80, 82, 83, 85, 87,
306 89,255, 42, 47,255, 76, 86,255, 72, 79, 85,255, 83,255, 84, 89,255, 65,
307 73,255, 85,255, 67, 78,255, 65, 73, 79,255, 79, 85,255, 67, 76,255, 66,
308 77,255, 69, 85,255, 83,255, 69,255, 77,255, 73, 82,255, 45, 47, 65, 67,
309 68, 69, 70, 72, 76, 77, 78, 80, 83, 84, 85, 89,255, 42, 47,255, 83,255,
310 69,255, 77,255, 73,255, 45, 47, 68, 79, 84,255, 83,255, 69,255, 77,255,
311 73,255, 68, 84,255, 61, 62,255, 76, 78,255, 71, 84,255, 69,255, 69, 73,
312 255, 77,255, 77,255, 76, 79, 82,255, 67, 76, 83,255, 69,255, 67, 69,255,
313 78, 88,255, 69, 79, 82,255, 65, 79,255, 82,255, 69, 79,255, 67, 83, 84,
314 255, 78, 83,255, 73, 79,255, 68,255, 80, 82,255, 69, 79,255, 78, 80,255,
315 78, 82,255, 69,255, 72, 73,255, 60, 62, 65, 66, 67, 68, 69, 70, 71, 72,
316 73, 76, 78, 79, 80, 82, 83, 85, 87,255, 83,255, 89,255, 65,255, 83,255,
317 82,255, 85,255, 79,255, 83,255, 68,255, 78,255, 79,255, 67,255, 69,255,
318 83,255, 79,255, 82,255, 83,255, 69,255, 84,255, 85,255, 67, 78,255, 83,
319 255, 72,255, 84,255, 78,255, 73, 79,255, 83,255, 68,255, 78,255, 79,255,
320 67,255, 69,255, 83,255, 82,255, 65,255, 69,255, 68, 70, 72, 73, 77, 83,
321 89,255, 42, 47,255, 72, 79, 85,255, 83,255, 84, 89,255, 65,255, 85,255,
322 67, 78,255, 65, 73, 79,255, 66, 77,255, 69, 85,255, 83,255, 69,255, 77,
323 255, 73, 82,255, 45, 47, 65, 67, 68, 70, 72, 73, 76, 77, 83, 84, 85, 89,
324 255, 42, 47,255, 45, 47, 78,255, 42, 47,255, 45, 47, 68,255, 68,255, 83,
325 86,255, 42, 47,255, 72, 79, 85,255, 83,255, 84, 89,255, 65,255, 85,255,
326 67, 78,255, 65, 73, 79,255, 66, 77,255, 69, 85,255, 83,255, 69,255, 77,
327 255, 73, 82,255, 45, 47, 65, 67, 68, 69, 72, 76, 77, 78, 83, 84, 85, 89,
328 255, 72, 79, 85,255, 83,255, 84, 89,255, 65,255, 85,255, 67, 78,255, 65,
329 73, 79,255, 66, 77,255, 69, 85,255, 83,255, 69,255, 77,255, 73, 82,255,
330 65, 67, 68, 69, 72, 76, 77, 78, 83, 84, 85, 89,255, 65,255, 42, 47,255,
331 45, 47, 84,255, 84,255, 42, 47,255, 76, 86,255, 65,255, 68,255, 78,255,
332 73,255, 78, 84,255, 78, 85,255, 72, 79, 82, 85,255, 83,255, 84, 89,255,
333 65, 66, 69,255, 85, 88,255, 68, 83,255, 78, 83,255, 69, 79,255, 85,255,
334 67, 78,255, 65, 73, 79,255, 67, 76,255, 66, 77,255, 69, 85,255, 83,255,
335 69,255, 77,255, 73, 82,255, 65, 69,255, 80, 83,255, 45, 47, 65, 66, 67,
336 68, 69, 70, 72, 73, 74, 76, 77, 78, 80, 82, 83, 84, 85, 89,255, 65,255,
337 68,255, 78,255, 73,255, 78, 84,255, 78,255, 79, 82,255, 66, 69,255, 68,
338 83,255, 78,255, 65, 66, 67, 68, 69, 73, 82, 83, 85,255, 65, 82,255, 68,
339 73, 80, 84,255, 73,255, 42, 47,255, 45, 47, 70, 87,255, 70, 87,255, 73,
340 255, 65, 68, 70, 80,255, 68,255, 69, 73,255, 77,255, 77,255, 76, 79, 82,
341 255, 67, 76, 83,255, 69,255, 78, 88,255, 65, 79,255, 82,255, 67, 83,255,
342 78,255, 69, 79,255, 78, 82,255, 69,255, 72,255, 65, 66, 67, 68, 69, 70,
343 71, 72, 73, 76, 79, 80, 82, 83, 85, 87,255, 83,255, 69, 73,255, 77,255,
344 77,255, 76, 79, 82,255, 67, 76, 83,255, 69,255, 67, 69,255, 78, 88,255,
345 67, 83, 84,255, 78,255, 69, 79,255, 78, 80,255, 65, 66, 67, 68, 69, 70,
346 71, 73, 76, 79, 80, 82, 83, 85, 87,255, 83,255, 69,255, 77,255, 73,255,
347 68, 79, 84,255, 61, 62,255, 78, 83,255, 60, 62, 66, 73, 76, 78,255, 76,
348 78,255, 69, 73,255, 77,255, 77,255, 76, 79, 82,255, 67, 76, 83,255, 69,
349 255, 67, 69,255, 78, 88,255, 69, 79,255, 65, 79,255, 82,255, 67, 83, 84,
350 255, 78,255, 68,255, 80, 82,255, 69, 79,255, 78, 80,255, 72, 73,255, 65,
351 66, 67, 68, 69, 70, 71, 72, 73, 76, 79, 80, 82, 83, 85, 87,255, 70, 80,
352 255, 42, 47,255, 45, 47, 70, 84,255, 42, 47,255, 72, 79, 85,255, 83,255,
353 84, 89,255, 65,255, 85,255, 67, 78,255, 65, 73, 79,255, 66, 77,255, 69,
354 72, 85,255, 83,255, 69,255, 77,255, 73, 82,255, 45, 47, 65, 67, 68, 69,
355 72, 76, 77, 83, 84, 85, 89,255, 69, 83,255, 42, 47,255, 45, 47, 67, 72,
356 255, 72,255, 70,255, 42, 47,255, 79, 85,255, 45, 47, 78,255, 42, 47,255,
357 45, 47, 75,255, 75,255, 68, 76,255, 69, 73,255, 77,255, 77,255, 76, 79,
358 82,255, 67, 76, 83,255, 69, 82,255, 78, 88,255, 69, 79,255, 67, 83,255,
359 78,255, 69, 73,255, 82,255, 69, 79,255, 65, 66, 67, 68, 69, 70, 71, 73,
360 76, 79, 80, 82, 83, 85, 87,255, 42, 47,255, 61, 62,255, 68, 76, 78, 83,
361 255, 71, 84,255, 69,255, 69, 73,255, 77,255, 77,255, 76, 79, 82,255, 83,
362 255, 89,255, 67, 76, 83,255, 65, 69, 82,255, 67, 69,255, 78, 88,255, 69,
363 255, 82,255, 69, 79, 82,255, 65, 79,255, 82,255, 83,255, 82,255, 85,255,
364 65, 79,255, 69, 79,255, 67, 83, 84,255, 78, 83,255, 73, 79,255, 83,255,
365 68,255, 78,255, 79,255, 67,255, 69,255, 83,255, 79,255, 82,255, 83,255,
366 69,255, 84,255, 85,255, 67, 78,255, 83,255, 72,255, 84,255, 78,255, 73,
367 79,255, 68,255, 80, 82,255, 69, 73,255, 82,255, 70, 86,255, 69, 79,255,
368 83,255, 68,255, 78,255, 79,255, 67, 76,255, 69,255, 78, 80,255, 78, 82,
369 255, 69,255, 72, 73,255, 83,255, 82,255, 65,255, 69,255, 45, 47, 60, 62,
370 65, 66, 67, 68, 69, 70, 71, 72, 73, 76, 77, 78, 79, 80, 82, 83, 85, 86,
371 87, 89,255, 42, 47,255, 76, 78, 86,255, 72, 79, 85,255, 83,255, 84, 89,
372 255, 65,255, 85,255, 67, 78,255, 65, 73, 79,255, 66, 77,255, 69, 79, 85,
373 255, 83,255, 69,255, 77,255, 73, 82,255, 45, 47, 65, 67, 68, 72, 76, 77,
374 78, 83, 84, 85, 89,255, 72, 79, 85,255, 83,255, 84, 89,255, 65,255, 85,
375 255, 67, 78,255, 65, 73, 79,255, 66, 77,255, 69, 85,255, 83,255, 69,255,
376 77,255, 73, 82,255, 65, 67, 68, 72, 76, 77, 78, 83, 84, 85, 89,255, 69,
377 73,255, 77,255, 77,255, 76, 79, 82,255, 67, 76, 83,255, 69,255, 67, 69,
378 255, 78, 88,255, 69, 79,255, 65, 79,255, 82,255, 67, 83, 84,255, 78,255,
379 80, 82,255, 69, 79,255, 78, 80,255, 78, 82,255, 69,255, 72, 73,255, 65,
380 66, 67, 68, 69, 70, 71, 72, 73, 76, 79, 80, 82, 83, 85, 87,255, 69, 73,
381 255, 77,255, 77,255, 76, 79, 82,255, 67, 76, 83,255, 69,255, 78, 88,255,
382 65, 79,255, 82,255, 67, 83,255, 78,255, 69, 79,255, 65, 66, 67, 68, 69,
383 70, 71, 72, 73, 76, 79, 80, 82, 83, 85, 87,255, 69, 73, 85,255, 67, 78,
384 85,255, 42, 47,255, 45, 47, 65, 83,255, 65, 83,255, 42, 47,255, 45, 47,
385 85,255, 85,255, 79, 85,255, 78,255, 66, 73, 76,255, 42, 47,255, 76, 78,
386 86,255, 72, 79, 85,255, 83,255, 84, 89,255, 65,255, 85,255, 67, 78,255,
387 65, 73, 79,255, 66, 77,255, 69, 79, 85,255, 83,255, 69,255, 77,255, 73,
388 82,255, 45, 47, 65, 67, 68, 72, 76, 77, 83, 84, 85, 89,255, 76, 78, 86,
389 255, 72, 79, 85,255, 83,255, 84, 89,255, 65,255, 85,255, 67, 78,255, 65,
390 73, 79,255, 66, 77,255, 69, 79, 85,255, 83,255, 69,255, 77,255, 73, 82,
391 255, 65, 67, 68, 72, 76, 77, 83, 84, 85, 89,255, 65, 79,255, 42, 47,255,
392 45, 47, 83,255, 65,255, 82,255, 65,255, 72,255, 73,255, 67,255, 65, 69,
393 255, 69,255, 84,255, 78,255, 69,255, 77,255, 85,255, 83,255, 69,255, 77,
394 255, 73,255, 67, 68, 70, 73, 76, 78, 83, 84, 86,255, 70, 78, 82,255, 80,
395 255, 42, 47,255, 45, 47, 77,255, 77,255, 42, 47,255, 45, 47, 70,255, 42,
396 47,255, 45, 47, 66, 70, 83, 85,255, 82,255, 73, 79,255, 65, 82,255, 70,
397 73, 80, 84, 86,255, 69, 73, 74, 76, 85,255, 42, 47,255, 61, 62,255, 76,
398 78, 83,255, 71, 84,255, 69,255, 69, 73,255, 77,255, 77,255, 76, 79, 82,
399 255, 83,255, 89,255, 82,255, 67,255, 67, 76, 83,255, 65, 69,255, 67, 69,
400 255, 78, 88,255, 69, 79, 82,255, 65, 79,255, 82,255, 83,255, 82,255, 85,
401 255, 65, 79,255, 69, 79,255, 67, 83, 84,255, 78, 83,255, 73, 79,255, 83,
402 255, 68,255, 78,255, 79,255, 67,255, 69,255, 83,255, 79,255, 82,255, 83,
403 255, 69,255, 84,255, 85,255, 67, 78,255, 83,255, 72,255, 84,255, 78,255,
404 73, 79,255, 68,255, 80, 82,255, 69, 79,255, 83,255, 68,255, 78,255, 79,
405 255, 67, 76,255, 69,255, 78, 80,255, 78, 82,255, 69,255, 72, 73,255, 83,
406 255, 82,255, 65,255, 69,255, 45, 47, 60, 62, 65, 66, 67, 68, 69, 70, 71,
407 72, 73, 76, 77, 78, 79, 80, 82, 83, 85, 87, 89,255, 42, 47,255, 68, 76,
408 78,255, 69, 73,255, 77,255, 77,255, 76, 79, 82,255, 67, 76, 83,255, 69,
409 82,255, 67, 69,255, 78, 88,255, 69,255, 82,255, 69, 79,255, 65, 79,255,
410 82,255, 67, 83, 84,255, 78,255, 68,255, 78, 80, 82,255, 69, 73,255, 82,
411 255, 70, 86,255, 69, 79,255, 78, 80,255, 78, 82,255, 69,255, 72, 73,255,
412 45, 47, 65, 66, 67, 68, 69, 70, 71, 72, 73, 76, 78, 79, 80, 82, 83, 85,
413 87,255, 42, 47,255, 45, 47, 66,255, 66,255, 69, 73,255, 77,255, 77,255,
414 76, 79, 82,255, 67, 76, 83,255, 69,255, 78, 88,255, 67, 83,255, 78,255,
415 69, 79,255, 65, 66, 67, 68, 69, 70, 71, 72, 73, 76, 79, 80, 82, 83, 85,
416 87,255, 69, 73,255, 77,255, 77,255, 76, 79, 82,255, 67, 76, 83,255, 69,
417 255, 67, 69,255, 78, 88,255, 69, 79,255, 65, 79,255, 82,255, 67, 83, 84,
418 255, 78,255, 80, 82,255, 69, 79,255, 78, 80,255, 72, 73,255, 65, 66, 67,
419 68, 69, 70, 71, 72, 73, 76, 79, 80, 82, 83, 85, 87,255, 72, 79, 85,255,
420 83,255, 84, 89,255, 65,255, 85,255, 67, 78,255, 65, 73, 79,255, 67, 76,
421 255, 66, 77,255, 69, 85,255, 83,255, 69,255, 77,255, 73, 82,255, 65, 67,
422 68, 72, 76, 77, 83, 84, 85, 89,255, 78,255, 65,255, 69, 73,255, 77,255,
423 77,255, 76, 79, 82,255, 67, 76, 83,255, 69,255, 67, 69,255, 78, 88,255,
424 67, 83, 84,255, 78,255, 69, 79,255, 78, 80,255, 72, 73,255, 65, 66, 67,
425 68, 69, 70, 71, 73, 76, 79, 80, 82, 83, 85, 87,255, 42, 47,255, 45, 47,
426 86,255, 86,255, 68, 76,255, 69, 73,255, 77,255, 77,255, 76, 79, 82,255,
427 67, 76, 83,255, 69, 82,255, 78, 88,255, 69,255, 82,255, 69, 79,255, 67,
428 83,255, 78,255, 69, 73,255, 82,255, 70, 86,255, 69, 79,255, 65, 66, 67,
429 68, 69, 70, 71, 73, 76, 78, 79, 80, 82, 83, 85, 87,255, 70, 78, 80, 82,
430 255, 66,255, 69, 73,255, 77,255, 77,255, 76, 79, 82,255, 67, 76, 83,255,
431 69,255, 67, 69,255, 78, 88,255, 69, 79,255, 67, 83, 84,255, 78,255, 80,
432 82,255, 69, 79,255, 78, 80,255, 65, 66, 67, 68, 69, 70, 71, 73, 76, 79,
433 80, 82, 83, 85, 87,255, 68, 76,255, 69, 73,255, 77,255, 77,255, 76, 79,
434 82,255, 67, 76, 83,255, 69, 82,255, 78, 88,255, 69,255, 82,255, 69, 79,
435 255, 67, 83,255, 78,255, 69, 73,255, 82,255, 70, 86,255, 69, 79,255, 65,
436 66, 67, 68, 69, 70, 71, 73, 76, 79, 80, 82, 83, 85, 87,255, 69, 73,255,
437 77,255, 77,255, 76, 79, 82,255, 67, 76, 83,255, 69,255, 67, 69,255, 78,
438 88,255, 69, 79,255, 67, 83, 84,255, 78,255, 80, 82,255, 69, 79,255, 78,
439 80,255, 72, 73,255, 65, 66, 67, 68, 69, 70, 71, 72, 73, 76, 79, 80, 82,
440 83, 85, 87,255, 67,255, 68, 76,255, 69, 73,255, 77,255, 77,255, 76, 79,
441 82,255, 67, 76, 83,255, 69, 82,255, 78, 88,255, 69,255, 82,255, 69, 79,
442 255, 67, 83,255, 78,255, 78, 80,255, 69, 73,255, 82,255, 70, 86,255, 69,
443 79,255, 65, 66, 67, 68, 69, 70, 71, 73, 76, 78, 79, 80, 82, 83, 85, 87,
444 255, 42, 47,255, 45, 47, 68,255, 68,255, 70, 85,255, 69, 73,255, 77,255,
445 77,255, 76, 79, 82,255, 67, 76, 83,255, 69,255, 78, 88,255, 69, 79,255,
446 67, 83,255, 78,255, 69, 79,255, 65, 66, 67, 68, 69, 70, 71, 73, 76, 79,
447 80, 82, 83, 85, 87,255, 76, 78,255, 69, 73,255, 77,255, 77,255, 76, 79,
448 82,255, 67, 76, 83,255, 69,255, 67, 69,255, 78, 88,255, 69, 79,255, 67,
449 83, 84,255, 78,255, 68,255, 80, 82,255, 69, 79,255, 78, 80,255, 72, 73,
450 255, 65, 66, 67, 68, 69, 70, 71, 73, 76, 79, 80, 82, 83, 85, 87,255, 42,
451 47,255, 45, 47, 79,255, 79,255, 68, 85,255, 76, 83,255, 69, 73,255, 77,
452 255, 77,255, 76, 79, 82,255, 82,255, 67,255, 67, 76, 83,255, 69,255, 78,
453 88,255, 69, 79,255, 67, 83,255, 78,255, 69, 79,255, 65, 66, 67, 68, 69,
454 70, 71, 73, 76, 79, 80, 82, 83, 85, 87,255, 79,255, 79,255, 70,255, 67,
455 82, 83,255, 82,255, 85,255, 42, 47,255, 69, 73,255, 77,255, 77,255, 76,
456 79, 82,255, 67, 76, 83,255, 69,255, 78, 88,255, 69, 79,255, 67, 83,255,
457 78,255, 69, 79,255, 45, 47, 65, 66, 67, 68, 69, 70, 71, 73, 76, 79, 80,
458 82, 83, 85, 87,255, 42, 47,255, 68, 76,255, 69, 73,255, 77,255, 77,255,
459 76, 79, 82,255, 67, 76, 83,255, 69, 82,255, 78, 88,255, 69,255, 82,255,
460 69, 79,255, 67, 83,255, 78,255, 78, 80,255, 69, 73,255, 82,255, 70, 86,
461 255, 69, 79,255, 45, 47, 65, 66, 67, 68, 69, 70, 71, 73, 76, 78, 79, 80,
462 82, 83, 85, 87,255, 68,255
463 };
464
465 static const unsigned char far ag_key_act[] = {
466 0,0,0,4,7,7,4,2,4,2,4,7,2,7,4,7,7,7,4,2,7,4,7,7,4,7,7,4,2,4,7,7,4,3,2,
467 7,7,2,2,2,7,7,2,7,7,7,2,7,7,7,4,3,4,0,0,4,0,0,4,5,7,4,5,5,4,5,4,7,2,2,
468 6,7,4,7,7,4,7,4,6,4,2,5,4,2,2,5,4,7,4,6,4,2,7,4,7,7,4,2,4,7,7,4,7,2,4,
469 7,2,2,7,4,7,4,6,4,2,4,2,4,2,4,7,7,4,2,4,7,2,7,2,2,2,4,7,4,6,5,4,5,4,2,
470 6,4,7,7,4,7,7,4,2,4,2,4,6,4,6,7,2,4,2,7,2,7,7,4,7,7,4,2,7,7,4,7,7,2,4,
471 7,4,6,7,4,7,7,2,7,4,7,7,4,5,2,4,5,4,6,4,7,2,4,7,2,4,7,7,4,2,5,4,7,7,7,
472 6,4,5,4,7,6,6,4,7,5,4,2,7,4,7,7,2,4,5,4,6,4,2,4,2,4,2,4,2,4,2,4,2,4,2,
473 4,5,4,6,4,2,4,2,4,2,6,4,5,4,6,4,2,4,7,2,4,7,2,2,4,7,4,7,6,4,7,2,4,7,4,
474 7,7,4,7,4,5,6,2,6,4,7,7,4,7,2,7,4,7,2,7,4,7,7,7,4,2,7,4,5,4,6,4,2,4,2,
475 7,4,2,7,5,4,7,7,7,7,4,2,4,7,5,4,2,7,7,7,2,2,4,7,4,6,4,2,4,7,2,5,7,4,7,
476 7,4,2,4,5,7,7,4,2,7,2,4,7,7,4,2,7,4,7,7,4,2,4,2,7,7,4,5,4,6,4,2,4,2,4,
477 3,2,2,3,2,2,2,2,6,2,2,2,2,7,7,2,2,2,2,2,2,2,2,2,2,2,2,4,7,7,4,2,4,2,4,
478 7,2,7,4,7,7,7,4,2,7,4,7,7,4,7,7,4,2,4,7,7,4,7,7,2,2,2,7,7,2,7,7,7,2,7,
479 7,7,4,0,0,4,7,7,4,7,7,7,4,5,4,7,6,4,2,7,4,7,4,7,6,4,7,2,7,4,7,5,4,7,2,
480 4,7,4,6,4,2,4,2,7,4,3,2,2,2,2,7,7,2,7,2,2,7,7,4,0,0,4,3,2,7,7,7,7,7,4,
481 0,0,4,5,5,4,3,2,2,7,4,7,7,4,7,7,7,4,5,4,7,6,4,2,7,4,7,4,7,6,4,7,2,7,4,
482 7,5,4,7,2,4,7,4,6,4,2,4,2,7,4,2,2,2,7,7,2,2,2,7,7,4,0,0,4,3,2,4,0,0,4,
483 3,2,7,7,4,0,0,4,3,2,7,4,0,0,4,3,2,7,7,4,7,4,0,0,4,3,2,7,7,7,7,4,0,0,4,
484 7,7,4,2,4,2,4,3,2,7,2,4,7,4,0,0,4,7,7,4,2,4,2,4,7,2,7,4,7,7,7,4,2,4,7,
485 7,4,7,7,4,2,4,7,7,4,7,7,4,3,2,7,7,2,2,2,7,7,2,7,7,7,2,7,7,2,4,0,0,4,5,
486 7,4,2,4,7,4,6,4,2,4,2,4,7,7,4,2,4,2,7,4,7,7,4,7,7,4,2,4,3,2,2,2,2,2,7,
487 2,7,7,7,4,0,0,4,3,2,7,4,0,0,4,7,7,4,2,4,2,4,3,2,2,4,7,4,0,0,4,3,2,7,4,
488 0,0,4,3,2,7,4,7,7,7,7,4,0,0,4,3,2,7,4,0,0,4,3,2,7,7,4,0,0,4,7,7,4,7,2,
489 4,3,2,7,7,2,7,7,4,7,7,4,2,4,2,4,7,2,4,7,7,4,2,4,2,4,7,2,7,4,7,7,7,4,2,
490 4,7,7,4,7,7,4,2,4,7,7,4,7,7,4,7,7,2,2,2,7,7,2,7,7,7,2,7,7,2,4,5,7,4,2,
491 4,7,4,6,4,2,4,2,4,7,7,4,2,4,2,7,4,7,7,4,7,7,4,2,4,2,2,2,2,7,2,7,7,7,4,
492 7,4,7,7,4,2,4,2,4,2,4,7,4,7,4,7,7,4,7,2,7,7,4,7,7,4,2,4,2,4,7,2,7,4,7,
493 7,7,4,2,4,7,7,4,7,7,4,2,4,7,7,4,7,7,2,2,2,7,7,2,7,7,7,2,7,7,7,4,0,0,4,
494 7,7,7,4,5,4,7,6,4,2,4,7,4,7,6,4,7,2,7,4,7,5,4,7,2,4,7,4,6,4,2,4,2,7,4,
495 3,2,7,2,2,7,7,2,2,2,7,7,4,0,0,4,7,7,7,4,5,4,7,6,4,2,4,7,4,7,6,4,7,2,7,
496 4,7,7,4,7,5,4,2,2,4,7,4,6,4,2,4,2,7,4,3,2,7,2,2,7,7,2,7,7,2,2,7,7,4,7,
497 7,7,4,5,4,7,6,4,2,4,7,4,7,6,4,7,2,7,4,7,5,4,7,2,4,7,4,6,4,2,4,2,7,4,7,
498 2,2,7,7,2,2,2,7,7,4,0,0,4,3,2,7,4,3,4,0,0,4,0,0,4,5,4,7,7,7,6,4,7,7,4,
499 2,4,7,4,6,4,2,4,7,7,4,2,4,2,4,2,7,2,7,7,4,5,4,7,6,4,7,7,4,7,4,6,4,6,7,
500 2,4,2,2,7,4,7,7,4,7,2,4,7,4,6,4,7,7,2,7,4,7,7,4,2,4,5,4,6,4,2,4,7,2,4,
501 7,7,4,2,5,4,7,7,6,4,6,5,4,7,7,4,7,2,4,5,4,6,4,2,4,2,4,2,4,2,4,2,4,2,4,
502 2,4,5,4,6,4,2,4,2,4,2,2,4,5,4,6,4,2,4,2,4,2,2,4,7,4,6,4,7,2,4,7,4,5,7,
503 6,4,7,7,4,2,4,7,7,4,2,7,4,5,4,6,4,2,4,2,4,2,7,5,4,2,7,4,7,4,6,4,2,4,2,
504 5,4,7,7,7,4,7,7,4,2,4,7,7,4,2,4,2,7,4,5,4,6,4,2,4,2,4,3,2,2,3,2,2,2,2,
505 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,4,0,0,4,0,0,4,3,2,2,3,4,0,0,4,5,4,7,
506 7,7,6,4,7,7,4,2,4,7,4,6,4,2,4,7,7,4,2,4,2,4,2,7,2,7,4,5,4,7,6,4,7,7,4,
507 7,4,6,4,6,7,2,4,2,2,7,4,7,7,4,7,2,4,7,4,6,4,7,7,2,7,4,7,7,4,2,4,5,4,6,
508 4,2,4,7,2,4,7,7,4,2,5,4,7,7,6,4,6,5,4,7,7,4,7,2,4,5,4,6,4,2,4,2,4,2,4,
509 2,4,2,4,2,4,2,4,5,4,6,4,2,4,2,4,2,2,4,5,4,6,4,2,4,2,4,2,2,4,7,4,6,4,7,
510 2,4,7,4,5,7,6,4,7,7,4,2,4,7,7,4,2,7,4,5,4,6,4,2,4,2,4,2,7,5,4,2,7,4,7,
511 4,6,4,2,4,2,5,4,7,7,7,4,7,7,4,2,4,7,7,4,2,4,2,7,4,5,4,6,4,2,4,2,4,2,3,
512 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,4,7,4,7,7,4,2,4,2,4,7,2,7,4,
513 7,7,7,4,2,4,7,7,4,7,7,4,2,4,7,7,4,7,7,4,7,7,2,2,2,7,7,2,7,7,7,2,7,2,7,
514 4,7,7,4,7,7,4,2,4,2,4,7,2,7,4,7,7,7,4,2,4,7,7,4,7,7,4,2,4,7,7,4,7,7,4,
515 2,4,2,4,7,7,2,2,2,7,7,2,7,7,7,2,7,7,2,4,0,0,4,3,2,7,4,7,4,0,0,4,3,2,7,
516 7,4,0,0,4,7,7,7,4,5,4,7,6,4,2,4,7,7,4,7,4,7,6,4,7,2,7,4,7,7,4,7,5,4,7,
517 2,4,7,4,6,4,2,4,2,7,4,3,2,7,7,2,2,7,7,7,7,2,2,2,2,2,7,7,4,7,4,7,7,4,0,
518 0,4,7,7,4,2,4,2,4,7,2,7,4,7,7,7,4,2,4,7,7,4,7,7,4,2,4,7,7,4,3,2,7,7,2,
519 2,2,7,7,2,7,7,7,2,7,7,7,4,7,7,4,7,7,4,7,4,7,4,0,0,4,7,7,4,7,7,4,3,2,7,
520 2,7,2,7,7,4,7,7,4,3,4,0,0,4,0,0,4,7,7,7,4,7,7,4,2,4,7,7,4,2,4,2,4,7,2,
521 7,4,7,7,7,4,2,7,4,7,7,4,7,2,4,7,4,6,4,7,2,7,4,7,7,4,2,4,7,5,4,7,7,2,4,
522 6,5,4,7,7,4,7,4,7,6,4,7,7,4,2,4,7,7,4,2,7,4,7,7,4,7,7,4,2,4,2,7,4,3,2,
523 2,3,2,2,2,2,2,2,2,7,2,2,7,2,2,2,7,2,2,4,0,0,4,0,0,4,7,7,4,7,7,4,2,4,7,
524 7,4,2,4,2,4,7,2,7,4,7,7,7,4,2,4,7,7,4,7,2,4,7,7,7,4,7,7,4,2,4,7,5,4,7,
525 7,2,4,6,5,4,7,7,4,7,4,7,6,4,7,7,4,7,7,4,7,7,4,2,4,2,7,4,3,2,2,3,2,2,2,
526 2,2,2,2,7,2,2,7,2,7,2,7,2,2,4,0,0,4,7,7,4,7,7,4,2,4,2,4,7,2,7,4,7,7,7,
527 4,2,7,4,7,7,4,7,4,6,4,7,2,4,7,7,4,2,4,7,7,4,2,4,7,7,4,2,7,4,3,2,2,7,2,
528 2,2,2,7,2,7,7,7,2,2,7,7,7,4,0,0,4,0,0,4,7,7,4,7,7,4,2,4,7,7,4,2,4,2,4,
529 7,2,7,4,5,4,6,4,7,7,7,4,2,2,4,7,7,4,7,2,4,7,7,7,4,7,7,4,2,4,5,4,6,4,2,
530 4,7,2,4,7,5,4,7,7,2,4,6,5,4,7,7,4,5,4,6,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,
531 5,4,6,4,2,4,2,4,2,2,4,5,4,6,4,2,4,2,4,2,2,4,7,4,7,6,4,7,7,4,5,4,6,4,2,
532 4,2,4,2,7,4,2,4,7,7,4,7,7,4,2,4,2,7,4,5,4,6,4,2,4,2,4,3,2,2,3,2,2,2,2,
533 2,2,2,2,2,2,2,7,2,7,2,2,2,2,2,4,0,0,4,0,0,4,7,7,4,7,7,4,2,4,7,7,4,2,4,
534 2,4,7,2,7,4,5,4,6,4,7,7,7,4,2,2,4,7,7,4,7,2,4,7,7,7,4,7,7,4,2,4,5,4,6,
535 4,2,4,7,2,4,7,5,4,7,7,2,4,6,5,4,7,7,4,5,4,6,4,2,4,2,4,2,4,2,4,2,4,2,4,
536 2,4,5,4,6,4,2,4,2,4,2,2,4,5,4,6,4,2,4,2,4,2,2,4,7,4,7,6,4,7,7,4,5,4,6,
537 4,2,4,2,4,2,7,4,2,4,7,7,4,7,7,4,2,4,2,7,4,5,4,6,4,2,4,2,4,3,2,2,3,2,2,
538 2,2,6,2,2,2,2,2,2,7,2,7,2,2,2,2,2,4,0,0,4,7,7,4,7,7,4,2,4,7,7,4,2,4,2,
539 4,7,2,7,4,5,4,6,4,7,7,7,4,2,2,4,7,7,4,7,2,4,7,7,7,4,7,7,4,2,4,5,4,6,4,
540 2,4,7,2,4,7,5,4,7,7,2,4,6,5,4,7,7,4,5,4,6,4,2,4,2,4,2,4,2,4,2,4,2,4,2,
541 4,5,4,6,4,2,4,2,4,2,2,4,5,4,6,4,2,4,2,4,2,2,4,7,4,7,6,4,7,7,4,5,4,6,4,
542 2,4,2,4,2,7,4,2,4,7,7,4,7,7,4,2,4,2,7,4,5,4,6,4,2,4,2,4,2,3,2,2,2,2,2,
543 2,2,2,2,2,2,7,2,7,2,2,2,2,2,4,0,0,4,7,7,4,7,7,4,2,4,7,7,4,2,4,2,4,7,2,
544 7,4,5,4,6,4,7,7,7,4,2,2,4,7,7,4,7,2,4,7,7,7,4,7,7,4,2,4,5,4,6,4,2,4,7,
545 2,4,7,5,4,7,7,2,4,6,5,4,7,7,4,5,4,6,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,5,4,
546 6,4,2,4,2,4,2,2,4,5,4,6,4,2,4,2,4,2,2,4,7,4,7,6,4,7,7,4,5,4,6,4,2,4,2,
547 4,2,7,4,2,4,7,7,4,7,7,4,2,4,2,7,4,5,4,6,4,2,4,2,4,2,3,2,2,2,2,6,2,2,2,
548 2,2,2,7,2,7,2,2,2,2,2,4,0,0,4,7,7,4,7,7,7,4,5,4,7,6,4,2,7,4,7,4,7,6,4,
549 7,2,7,4,7,7,4,7,7,4,7,5,4,2,2,4,7,4,6,4,2,4,2,7,4,3,2,2,2,2,7,7,7,7,2,
550 2,7,2,2,7,7,4,0,0,4,7,4,6,4,2,4,2,4,3,2,7,7,2,4,7,4,6,4,2,4,2,4,7,2,4,
551 0,0,4,7,7,4,7,7,4,2,4,7,7,4,2,4,2,4,7,2,7,4,7,7,7,4,2,4,7,7,4,7,2,4,7,
552 7,7,4,7,7,4,2,4,7,5,4,7,7,2,4,6,5,4,7,7,4,7,4,7,6,4,7,7,4,7,7,4,7,7,4,
553 2,4,2,7,4,2,3,2,2,2,2,2,2,2,7,2,2,7,2,7,2,7,2,2,4,5,4,6,4,2,4,5,4,6,4,
554 2,4,2,4,5,4,6,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,5,4,6,4,2,4,2,4,2,2,4,5,4,
555 6,4,2,4,2,4,2,2,4,5,4,6,4,2,4,2,4,2,4,2,4,5,4,6,4,2,4,2,4,2,7,2,7,2,2,
556 2,4,0,0,4,7,7,7,4,5,4,7,6,4,2,4,7,4,7,6,4,7,2,7,4,7,5,4,7,2,4,7,4,6,4,
557 2,4,2,7,4,3,2,7,2,2,7,7,7,7,2,2,2,7,7,4,0,0,4,3,2,7,4,0,0,4,3,2,7,4,7,
558 4,7,7,4,0,0,4,7,7,7,4,5,4,7,6,4,2,4,7,4,7,6,4,7,2,7,4,7,5,4,7,2,4,7,4,
559 6,4,2,4,2,7,4,3,2,7,2,2,7,7,7,2,7,2,2,7,7,4,7,7,7,4,5,4,7,6,4,2,4,7,4,
560 7,6,4,7,2,7,4,7,5,4,7,2,4,7,4,6,4,2,4,2,7,4,7,2,2,7,7,7,2,7,2,2,7,7,4,
561 7,4,0,0,4,3,2,7,4,7,4,0,0,4,7,7,4,7,4,6,4,2,4,2,4,7,7,4,2,7,4,7,2,7,7,
562 4,5,4,7,6,4,2,7,7,4,7,7,4,7,7,4,2,7,4,7,7,4,7,4,7,6,4,7,2,7,4,7,7,4,7,
563 5,4,2,2,4,7,4,6,4,2,4,2,7,4,5,7,4,7,2,4,3,2,2,2,2,2,2,7,7,2,7,2,2,7,7,
564 7,2,2,2,7,4,7,4,6,4,2,4,2,4,7,7,4,2,4,2,7,4,7,7,4,7,7,4,2,4,7,2,2,2,7,
565 2,7,7,7,4,7,7,4,7,7,2,7,4,7,4,0,0,4,3,2,7,7,4,7,7,4,7,4,7,7,7,7,4,7,4,
566 7,7,4,2,4,2,4,7,2,7,4,7,7,7,4,2,4,7,7,4,7,7,4,2,4,7,7,4,2,4,7,7,4,7,7,
567 4,2,4,2,4,7,7,2,2,2,7,2,7,2,7,7,7,2,7,7,2,4,7,4,7,7,4,2,4,2,4,7,2,7,4,
568 7,7,7,4,2,4,7,7,4,7,2,4,7,7,7,4,2,4,7,7,4,7,7,4,7,7,2,2,2,7,7,2,7,7,7,
569 2,7,2,7,4,7,4,6,4,2,4,2,4,7,7,2,4,0,0,4,5,5,4,2,3,7,2,7,7,4,7,7,4,7,7,
570 4,2,4,2,4,7,2,7,4,7,7,7,4,2,4,7,7,4,7,2,4,7,7,4,7,7,4,2,4,7,7,7,4,2,4,
571 7,4,7,6,4,7,7,4,7,7,4,7,7,4,2,7,2,2,2,2,2,7,2,7,2,7,2,7,2,2,4,7,7,4,0,
572 0,4,3,2,7,7,4,0,0,4,7,7,7,4,5,4,7,6,4,2,4,7,4,7,6,4,7,2,7,4,7,5,4,7,7,
573 2,4,7,4,6,4,2,4,2,7,4,3,2,7,2,2,7,7,7,2,2,2,7,7,4,7,7,4,0,0,4,3,2,7,7,
574 4,7,4,7,4,0,0,4,7,7,4,3,2,2,4,0,0,4,3,2,7,4,7,4,7,7,4,7,7,4,2,4,2,4,7,
575 2,7,4,7,7,7,4,2,7,4,7,7,4,7,7,4,7,7,4,2,4,7,7,4,2,4,7,7,4,2,7,2,2,2,2,
576 7,2,7,7,2,2,7,7,7,4,0,0,4,0,0,4,7,7,7,5,4,7,7,4,2,4,7,7,4,2,4,2,4,7,2,
577 7,4,5,4,6,4,7,7,7,4,2,2,7,4,7,7,4,7,2,4,7,4,6,4,7,2,7,4,7,7,4,2,4,5,4,
578 6,4,2,4,7,2,4,7,5,4,7,7,2,4,6,5,4,7,7,4,5,4,6,4,2,4,2,4,2,4,2,4,2,4,2,
579 4,2,4,5,4,6,4,2,4,2,4,2,2,4,5,4,6,4,2,4,2,4,2,2,4,7,4,7,6,4,7,7,4,2,4,
580 7,7,4,2,7,4,5,4,6,4,2,4,2,4,2,7,4,2,4,7,7,4,7,7,4,2,4,2,7,4,5,4,6,4,2,
581 4,2,4,3,2,2,3,2,2,2,2,2,2,2,2,2,2,2,7,2,2,2,2,2,7,2,2,4,0,0,4,7,7,7,4,
582 7,7,7,4,5,4,7,6,4,2,4,7,4,7,6,4,7,2,7,4,7,5,4,7,7,2,4,7,4,6,4,2,4,2,7,
583 4,3,2,2,2,2,7,7,2,7,2,2,7,7,4,7,7,7,4,5,4,7,6,4,2,4,7,4,7,6,4,7,2,7,4,
584 7,5,4,7,2,4,7,4,6,4,2,4,2,7,4,7,2,2,7,7,2,7,2,2,7,7,4,7,7,4,2,4,2,4,7,
585 2,7,4,7,7,7,4,2,4,7,7,4,7,2,4,7,7,4,7,7,4,2,4,7,7,7,4,2,4,7,7,4,7,7,4,
586 7,7,4,7,7,4,2,4,2,7,4,7,7,2,2,2,2,2,7,2,7,2,7,2,7,2,2,4,7,7,4,2,4,2,4,
587 7,2,7,4,7,7,7,4,2,4,7,7,4,7,7,4,2,4,7,7,4,2,4,7,7,4,7,7,2,2,2,7,2,7,2,
588 7,7,7,2,7,7,7,4,7,7,7,4,7,7,7,4,0,0,4,3,2,7,7,4,7,7,4,0,0,4,3,2,7,4,7,
589 4,7,7,4,2,4,7,7,7,4,0,0,4,7,7,7,4,7,7,7,4,5,4,7,6,4,2,4,7,4,7,6,4,7,2,
590 7,4,7,5,4,7,7,2,4,7,4,6,4,2,4,2,7,4,3,2,2,2,2,7,7,2,2,2,7,7,4,7,7,7,4,
591 7,7,7,4,5,4,7,6,4,2,4,7,4,7,6,4,7,2,7,4,7,5,4,7,7,2,4,7,4,6,4,2,4,2,7,
592 4,2,2,2,7,7,2,2,2,7,7,4,7,7,4,0,0,4,3,2,7,4,7,4,6,4,2,4,2,4,7,4,6,4,7,
593 2,4,7,4,6,4,2,4,7,4,6,4,2,4,7,4,6,4,2,4,2,4,2,2,7,2,7,2,7,2,7,4,7,7,7,
594 4,7,4,0,0,4,3,2,7,4,7,4,0,0,4,3,2,7,4,0,0,4,3,2,7,7,7,7,4,7,4,7,7,4,7,
595 2,4,7,7,2,7,7,4,7,7,7,7,7,4,0,0,4,0,0,4,7,7,7,4,7,7,4,2,4,7,7,4,2,4,2,
596 4,7,2,7,4,5,4,6,4,7,4,6,4,7,7,2,4,2,2,4,7,7,4,7,2,4,7,7,7,4,7,7,4,2,4,
597 5,4,6,4,2,4,7,2,4,7,5,4,7,7,2,4,6,5,4,7,7,4,5,4,6,4,2,4,2,4,2,4,2,4,2,
598 4,2,4,2,4,5,4,6,4,2,4,2,4,2,2,4,5,4,6,4,2,4,2,4,2,2,4,7,4,7,6,4,7,7,4,
599 5,4,6,4,2,4,2,4,2,7,4,2,4,7,7,4,7,7,4,2,4,2,7,4,5,4,6,4,2,4,2,4,3,2,2,
600 3,2,2,2,2,2,2,2,2,2,2,2,7,2,7,2,2,2,2,2,4,0,0,4,7,7,7,4,7,7,4,2,4,2,4,
601 7,2,7,4,7,7,7,4,2,7,4,7,7,4,7,2,4,7,4,6,4,7,2,4,7,7,4,2,4,7,7,7,4,2,4,
602 7,4,5,7,6,4,7,7,4,2,4,7,7,4,2,7,4,7,7,4,7,7,4,2,4,2,7,4,3,2,2,7,2,2,2,
603 2,2,7,2,7,7,2,2,2,7,2,2,4,0,0,4,3,2,7,4,7,4,7,7,4,2,4,2,4,7,2,7,4,7,7,
604 7,4,2,4,7,7,4,7,7,4,2,4,7,7,4,7,7,2,2,2,7,7,7,2,7,7,7,2,7,7,7,4,7,7,4,
605 2,4,2,4,7,2,7,4,7,7,7,4,2,4,7,7,4,7,2,4,7,7,4,7,7,4,2,4,7,7,7,4,2,4,7,
606 7,4,7,7,4,7,7,4,7,7,4,7,7,2,2,2,2,2,7,2,7,2,7,2,7,2,2,4,7,7,7,4,5,4,7,
607 6,4,2,4,7,4,7,6,4,7,2,7,4,7,7,4,7,5,4,2,2,4,7,4,6,4,2,4,2,7,4,7,2,2,7,
608 7,2,2,2,7,7,4,7,4,7,4,7,7,4,2,4,2,4,7,2,7,4,7,7,7,4,2,4,7,7,4,7,2,4,7,
609 7,7,4,2,4,7,7,4,7,7,4,7,7,4,7,7,2,2,2,7,7,2,7,7,7,2,7,2,2,4,0,0,4,3,2,
610 7,4,7,4,7,7,4,7,7,4,2,4,2,4,7,2,7,4,7,7,7,4,2,7,4,7,7,4,7,4,6,4,7,2,4,
611 7,7,4,2,4,7,7,4,2,4,7,7,4,2,7,4,2,7,2,2,2,2,7,2,7,7,7,2,2,7,7,7,4,7,7,
612 7,7,4,7,4,7,7,4,2,4,2,4,7,2,7,4,7,7,7,4,2,4,7,7,4,7,2,4,7,7,4,7,7,7,4,
613 2,4,7,7,4,7,7,4,7,7,4,7,7,2,2,2,2,7,2,7,2,7,2,7,2,7,4,7,7,4,7,7,4,2,4,
614 2,4,7,2,7,4,7,7,7,4,2,7,4,7,7,4,7,4,6,4,7,2,4,7,7,4,2,4,7,7,4,2,4,7,7,
615 4,2,7,4,2,7,2,2,2,2,7,2,7,7,2,2,7,7,7,4,7,7,4,2,4,2,4,7,2,7,4,7,7,7,4,
616 2,4,7,7,4,7,2,4,7,7,4,7,7,7,4,2,4,7,7,4,7,7,4,7,7,4,7,7,4,7,7,2,2,2,2,
617 7,7,2,7,2,7,2,7,2,2,4,7,4,7,7,4,7,7,4,2,4,2,4,7,2,7,4,7,7,7,4,2,7,4,7,
618 7,4,7,4,6,4,7,2,4,7,7,4,2,4,5,7,4,7,7,4,2,4,7,7,4,2,7,4,2,7,2,2,2,2,7,
619 2,7,7,2,2,2,7,7,7,4,0,0,4,3,2,7,4,7,4,7,7,4,7,7,4,2,4,2,4,7,2,7,4,7,7,
620 7,4,2,4,7,7,4,7,7,4,7,7,4,2,4,7,7,4,7,7,2,2,2,2,7,2,7,7,7,2,7,7,7,4,7,
621 7,4,7,7,4,2,4,2,4,7,2,7,4,7,7,7,4,2,4,7,7,4,7,2,4,7,7,4,7,7,7,4,2,4,7,
622 4,7,6,4,7,7,4,7,7,4,7,7,4,2,7,2,2,2,2,7,2,7,2,7,2,7,2,2,4,0,0,4,3,2,7,
623 4,7,4,7,7,4,7,7,4,7,7,4,2,4,2,4,7,2,7,4,7,4,6,4,7,7,2,4,2,4,7,7,4,7,7,
624 4,7,7,4,2,4,7,7,4,2,7,2,2,2,2,7,2,7,7,7,2,7,7,7,4,7,4,7,4,7,4,7,7,7,4,
625 7,4,7,4,0,0,4,7,7,4,2,4,2,4,7,2,7,4,7,7,7,4,2,4,7,7,4,7,7,4,7,7,4,2,4,
626 7,7,4,3,2,7,7,2,2,2,2,7,2,7,7,7,2,7,7,7,4,0,0,4,7,7,4,7,7,4,2,4,2,4,7,
627 2,7,4,7,7,7,4,2,7,4,7,7,4,7,4,6,4,7,2,4,7,7,4,2,4,5,7,4,7,7,4,2,4,7,7,
628 4,2,7,4,3,2,2,7,2,2,2,2,7,2,7,7,2,2,2,7,7,7,4,7,4
629 };
630
631 static const unsigned short far ag_key_parm[] = {
632 0, 41, 34, 0,164,168, 0, 0, 0, 0, 0,162, 0,258, 0, 12, 16,178,
633 0, 0,226, 0,182,268, 0,188,288, 0, 0, 0,204,206, 0, 39, 0,156,
634 160, 0, 0, 0,152,184, 0,194,292,202, 0,124,148,208, 0, 45, 0, 41,
635 34, 0,402,400, 0, 82,156, 0, 66, 80, 0,142, 0,224, 0, 0,262, 96,
636 0,160, 74, 0,276, 0,284, 0, 0,232, 0, 0, 0,130, 0, 2, 0, 0,
637 0, 0,264, 0,164,168, 0, 0, 0,216,286, 0,278, 0, 0,256, 0, 0,
638 104, 0,280, 0,258, 0, 0, 0, 0, 0, 0, 0, 86,172, 0, 0, 0,240,
639 0,162, 0, 0, 0, 0,220, 0,234, 88, 0, 48, 0, 0, 46, 0, 6, 12,
640 0,178, 34, 0, 0, 0, 0, 0,144, 0, 4, 16, 0, 0, 0,282, 0,106,
641 226, 0,136,198, 0, 0,268, 70, 0,182,112, 0, 0,228, 0,146,210, 0,
642 152,250, 0, 18, 0,184,128, 0,218, 0, 0, 52, 0, 50, 0,176, 0, 0,
643 132, 0, 0,246,138, 0, 0,180, 0,188,222,288,244, 0,108, 0,270, 72,
644 68, 0,116,194, 0, 0,254, 0,118, 76, 0, 0, 64, 0, 62, 0, 0, 0,
645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, 54, 0, 0, 0,
646 0, 0, 0,100, 0, 44, 0, 42, 0, 0, 0,200, 0, 0, 98, 0, 0, 0,
647 10, 0, 22, 8, 0, 20, 0, 0,154, 0,292,266, 0,140, 0,150,166, 0,
648 94, 0, 28,274, 0,202, 0, 26, 0, 24, 0,272, 0,236,238,204, 0, 0,
649 206, 0, 60, 0, 58, 0, 0, 0, 0, 14, 0, 0,124,242, 0,190,192,212,
650 214, 0, 0, 0,120,102, 0, 0,196,248, 78, 0, 0, 0, 92, 0, 90, 0,
651 0, 0,158, 0,186,122, 0,134,260, 0, 0, 0,110, 84, 32, 0, 0,148,
652 0, 0,290,252, 0, 0,230, 0,208,126, 0, 0, 0, 0,174,170, 0, 40,
653 0, 38, 0, 0, 0, 0, 0, 39, 0, 0,403, 0, 0, 0, 0, 36, 0, 0,
654 0, 0,114, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164,
655 168, 0, 0, 0, 0, 0,162, 0,258, 0, 12, 16,178, 0, 0,226, 0,182,
656 268, 0,188,288, 0, 0, 0,204,206, 0,156,160, 0, 0, 0,152,184, 0,
657 194,292,202, 0,124,148,208, 0, 41, 34, 0, 82, 96, 0, 0,104, 86, 0,
658 48, 0, 88, 46, 0, 0,106, 0, 54, 0, 62,100, 0, 98, 0, 42, 0,120,
659 102, 0, 58, 0, 0, 92, 0, 90, 0, 0, 0, 0,122, 0, 39, 0, 0, 0,
660 0, 50,118, 0,166, 0, 0, 84, 38, 0, 41, 34, 0, 39, 0,240, 18,166,
661 238,242, 0, 41, 34, 0,150,166, 0, 39, 0, 0,238, 0, 82, 96, 0, 0,
662 104, 86, 0, 48, 0, 88, 46, 0, 0,106, 0, 54, 0, 62,100, 0, 98, 0,
663 42, 0,120,102, 0, 58, 0, 0, 92, 0, 90, 0, 0, 0, 0,122, 0, 0,
664 0, 0, 50,118, 0, 0, 0, 84, 38, 0, 41, 34, 0, 39, 0, 0, 41, 34,
665 0, 39, 0,180,166, 0, 41, 34, 0, 39, 0,154, 0, 41, 34, 0, 39, 0,
666 270,166, 0, 18, 0, 41, 34, 0, 39, 0,222,158,260,230, 0, 41, 34, 0,
667 212,214, 0, 0, 0, 0, 0, 39, 0, 20, 0, 0,180, 0, 41, 34, 0,164,
668 168, 0, 0, 0, 0, 0,162, 0,258, 0, 12, 16,178, 0, 0, 0,182,268,
669 0,188,288, 0, 0, 0,204,206, 0,208,170, 0, 39, 0,156,160, 0, 0,
670 0,152,184, 0,194,292,202, 0,124,148, 0, 0, 41, 34, 0, 82,156, 0,
671 0, 0,276, 0,284, 0, 0, 0, 0, 0,278,286, 0, 0, 0, 0,280, 0,
672 282, 16, 0,222,288, 0, 0, 0, 39, 0, 0, 0, 0, 0,268, 0,236,124,
673 148, 0, 41, 34, 0, 39, 0,158, 0, 41, 34, 0,190,192, 0, 0, 0, 0,
674 0, 39, 0, 0, 0,270, 0, 41, 34, 0, 39, 0, 12, 0, 41, 34, 0, 39,
675 0, 14, 0,222,158,260,230, 0, 41, 34, 0, 39, 0,166, 0, 41, 34, 0,
676 39, 0,166,158, 0, 41, 34, 0, 28, 26, 0, 24, 0, 0, 39, 0,228,222,
677 0,158,230, 0,212,214, 0, 0, 0, 0, 0, 20, 0, 0,164,168, 0, 0,
678 0, 0, 0,162, 0,258, 0, 12, 16,178, 0, 0, 0,182,268, 0,188,288,
679 0, 0, 0,204,206, 0,208,170, 0,156,160, 0, 0, 0,152,184, 0,194,
680 292,202, 0,124,148, 0, 0, 82,156, 0, 0, 0,276, 0,284, 0, 0, 0,
681 0, 0,278,286, 0, 0, 0, 0,280, 0,282, 16, 0,222,288, 0, 0, 0,
682 0, 0, 0, 0,268, 0,236,124,148, 0,158, 0,190,192, 0, 0, 0, 0,
683 0, 0, 0, 12, 0,166, 0, 24, 26, 0,222, 0,158,230, 0,164,168, 0,
684 0, 0, 0, 0,162, 0,258, 0, 12, 16,178, 0, 0, 0,182,268, 0,188,
685 288, 0, 0, 0,204,206, 0,156,160, 0, 0, 0,152,184, 0,194,292,202,
686 0,124,148,208, 0, 41, 34, 0, 0,104, 86, 0, 48, 0, 88, 46, 0, 0,
687 0, 54, 0, 62,100, 0, 98, 0, 42, 0,120,102, 0, 58, 0, 0, 92, 0,
688 90, 0, 0, 0, 0,122, 0, 39, 0, 96, 0, 0, 50,118, 0, 0, 0, 84,
689 38, 0, 41, 34, 0, 0,104, 86, 0, 48, 0, 88, 46, 0, 0, 0, 54, 0,
690 62,100, 0, 98, 0, 42, 0, 58,124, 0,120,102, 0, 0, 0, 0, 92, 0,
691 90, 0, 0, 0, 0,122, 0, 39, 0, 96, 0, 0, 50,118, 0,166,274, 0,
692 0, 84, 38, 0, 0,104, 86, 0, 48, 0, 88, 46, 0, 0, 0, 54, 0, 62,
693 100, 0, 98, 0, 42, 0,120,102, 0, 58, 0, 0, 92, 0, 90, 0, 0, 0,
694 0,122, 0, 96, 0, 0, 50,118, 0, 0, 0, 84, 38, 0, 41, 34, 0, 39,
695 0,272, 0, 56, 0, 41, 34, 0,402,400, 0,142, 0,224,156, 66,262, 0,
696 160, 74, 0, 0, 0, 2, 0, 0, 0, 0, 0,164,168, 0, 0, 0, 0, 0,
697 0,162, 0,258,172, 0, 48, 0, 88, 46, 0, 6, 12, 0,178, 0,144, 0,
698 4, 16, 0, 0, 0, 0,226, 0,136,268, 0,182, 0, 0,228, 0,146, 0,
699 152,250, 0, 18, 0,184,128, 0, 0, 0, 52, 0, 50, 0, 0, 0,132, 0,
700 0,246,138, 0, 0,180, 0,188,288,244, 0, 72, 68, 0,194,254, 0, 76,
701 0, 0, 64, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
702 0, 0, 56, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 42, 0, 0,
703 0, 0, 0, 0, 0, 0, 10, 0, 8, 0, 20, 0, 0,140, 0,166,292, 94,
704 0,202, 28, 0, 0, 0,236,204, 0, 0,206, 0, 60, 0, 58, 0, 0, 0,
705 0, 0, 0,124,242, 0, 0,248, 0, 92, 0, 90, 0, 0, 0, 0,186, 0,
706 134,148, 32, 0,290,252, 0, 0, 0,208,126, 0, 0, 0, 0,174, 0, 40,
707 0, 38, 0, 0, 0, 0, 0, 39, 0, 0,403, 0, 0, 0, 0, 0, 0, 0,
708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 34, 0,
709 402,400, 0, 39, 0, 0,403, 0,402,400, 0,142, 0,224,156, 66,262, 0,
710 160, 74, 0, 0, 0, 2, 0, 0, 0, 0, 0,164,168, 0, 0, 0, 0, 0,
711 0,162, 0,258, 0, 48, 0, 88, 46, 0, 6, 12, 0,178, 0,144, 0, 4,
712 16, 0, 0, 0, 0,226, 0,136,268, 0,182, 0, 0,228, 0,146, 0,152,
713 250, 0, 18, 0,184,128, 0, 0, 0, 52, 0, 50, 0, 0, 0,132, 0, 0,
714 246,138, 0, 0,180, 0,188,288,244, 0, 72, 68, 0,194,254, 0, 76, 0,
715 0, 64, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
716 0, 56, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 42, 0, 0, 0,
717 0, 0, 0, 0, 0, 10, 0, 8, 0, 20, 0, 0,140, 0,166,292, 94, 0,
718 202, 28, 0, 0, 0,236,204, 0, 0,206, 0, 60, 0, 58, 0, 0, 0, 0,
719 0, 0,124,242, 0, 0,248, 0, 92, 0, 90, 0, 0, 0, 0,186, 0,134,
720 148, 32, 0,290,252, 0, 0, 0,208,126, 0, 0, 0, 0,174, 0, 40, 0,
721 38, 0, 0, 0, 0, 0, 0,403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242, 0,164,168, 0, 0,
723 0, 0, 0,162, 0,258, 0, 12, 16,178, 0, 0, 0,182,268, 0,188,288,
724 0, 0, 0,204,206, 0,148, 32, 0,156,160, 0, 0, 0,152,184, 0,194,
725 292,202, 0,124, 0,208, 0,180, 32, 0,164,168, 0, 0, 0, 0, 0,162,
726 0,258, 0, 12, 16,178, 0, 0, 0,182,268, 0,188,288, 0, 0, 0,204,
727 206, 0,208,126, 0, 0, 0, 0, 0,156,160, 0, 0, 0,152,184, 0,194,
728 292,202, 0,124,148, 0, 0, 41, 34, 0, 39, 0,222, 0,222, 0, 41, 34,
729 0, 39, 0,216,218, 0, 41, 34, 0, 0,104, 86, 0, 48, 0, 88, 46, 0,
730 0, 0,118, 76, 0, 54, 0, 62,100, 0, 98, 0, 42, 0, 20, 22, 0,120,
731 102, 0, 58, 0, 0, 92, 0, 90, 0, 0, 0, 0,122, 0, 39, 0, 96, 74,
732 0, 0, 70,210, 50, 72, 0, 0, 0, 0, 0, 84, 38, 0,210, 0,216,218,
733 0, 41, 34, 0,164,168, 0, 0, 0, 0, 0,162, 0,258, 0, 12, 16,178,
734 0, 0, 0,182,268, 0,188,288, 0, 0, 0,204,206, 0, 39, 0,156,160,
735 0, 0, 0,152,184, 0,194,292,202, 0,124,148,208, 0,166,274, 0, 18,
736 180, 0, 14, 0,172, 0, 41, 34, 0,220, 16, 0, 24, 26, 0, 39, 0,256,
737 0,222, 0,158,148, 0,256,158, 0, 91, 0, 41, 34, 0,402,400, 0,224,
738 156, 66, 0,160, 74, 0, 0, 0,164,168, 0, 0, 0, 0, 0,162, 0,258,
739 0, 12, 16,178, 0, 0,226, 0,136,268, 0,182, 0, 0,228, 0,146, 0,
740 152, 0, 18, 0,184,128, 0, 0, 0,138,180, 0,188,288, 0, 0, 72, 68,
741 0, 76,194, 0,140, 0,292, 94, 0,202, 28, 0, 0, 0,236,204, 0, 0,
742 206, 0,134,148, 0,208,126, 0, 0, 0, 0,174, 0, 39, 0, 0,403, 0,
743 0, 0, 0, 0, 0, 0,132, 0, 0, 20, 0, 0, 0,124, 0, 0, 0, 41,
744 34, 0,402,400, 0,156, 66, 0,160, 74, 0, 0, 0,164,168, 0, 0, 0,
745 0, 0,162, 0,258, 0, 12, 16,178, 0, 0, 0,136,268, 0,182, 0, 0,
746 152,146, 18, 0,184,128, 0, 0, 0,138,180, 0,188,288, 0, 0, 72, 68,
747 0, 76,194, 0,140, 0,292, 94, 0,204,206, 0,134,148, 0,208,126, 0,
748 0, 0, 0,174, 0, 39, 0, 0,403, 0, 0, 0, 0, 0, 0, 0,132, 0,
749 0, 20, 0,202, 0,124, 0, 0, 0, 41, 34, 0,224,156, 0,164,168, 0,
750 0, 0, 0, 0,162, 0,258, 0, 12, 16,178, 0, 0,226, 0,182,268, 0,
751 228, 0,146, 0,152, 0, 0,188,288, 0, 0, 0,202, 28, 0, 0, 0,236,
752 204, 0, 0,206, 0, 39, 0, 0,160, 0, 0, 0, 0,184, 0,194, 20,292,
753 0, 0,124,148,208, 0, 41, 34, 0,402,400, 0,156, 66, 0,160, 74, 0,
754 0, 0,164,168, 0, 0, 0, 0, 0,162, 0,258, 0, 48, 0, 46, 0, 12,
755 16,178, 0, 0, 0, 0,136,268, 0,182, 0, 0,152,146, 18, 0,184,128,
756 0, 0, 0, 52, 0, 50, 0, 0, 0,132, 0, 0,138,180, 0,188,288, 0,
757 0, 72, 68, 0, 76,194, 0, 64, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0,
758 0, 0, 0, 0, 0, 0, 0, 56, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0,
759 44, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0,140, 0,292, 94, 0,204,206,
760 0, 60, 0, 58, 0, 0, 0, 0, 0, 0,124, 0, 0, 0,134,148, 0,208,
761 126, 0, 0, 0, 0,174, 0, 40, 0, 38, 0, 0, 0, 0, 0, 39, 0, 0,
762 403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0,202, 0, 0, 0,
763 0, 0, 0, 41, 34, 0,402,400, 0,156, 66, 0,160, 74, 0, 0, 0,164,
764 168, 0, 0, 0, 0, 0,162, 0,258, 0, 48, 0, 46, 0, 12, 16,178, 0,
765 0, 0, 0,136,268, 0,182, 0, 0,152,146, 18, 0,184,128, 0, 0, 0,
766 52, 0, 50, 0, 0, 0,132, 0, 0,138,180, 0,188,288, 0, 0, 72, 68,
767 0, 76,194, 0, 64, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
768 0, 0, 0, 0, 56, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 42,
769 0, 0, 0, 0, 0, 0, 0, 0,140, 0,292, 94, 0,204,206, 0, 60, 0,
770 58, 0, 0, 0, 0, 0, 0,124, 0, 0, 0,134,148, 0,208,126, 0, 0,
771 0, 0,174, 0, 40, 0, 38, 0, 0, 0, 0, 0, 39, 0, 0,403, 0, 0,
772 0, 0, 36, 0, 0, 0, 0, 0, 0, 20, 0,202, 0, 0, 0, 0, 0, 0,
773 402,400, 0,156, 66, 0,160, 74, 0, 0, 0,164,168, 0, 0, 0, 0, 0,
774 162, 0,258, 0, 48, 0, 46, 0, 12, 16,178, 0, 0, 0, 0,136,268, 0,
775 182, 0, 0,152,146, 18, 0,184,128, 0, 0, 0, 52, 0, 50, 0, 0, 0,
776 132, 0, 0,138,180, 0,188,288, 0, 0, 72, 68, 0, 76,194, 0, 64, 0,
777 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 0,
778 54, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 42, 0, 0, 0, 0, 0, 0,
779 0, 0,140, 0,292, 94, 0,204,206, 0, 60, 0, 58, 0, 0, 0, 0, 0,
780 0,124, 0, 0, 0,134,148, 0,208,126, 0, 0, 0, 0,174, 0, 40, 0,
781 38, 0, 0, 0, 0, 0, 0,403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
782 0, 20, 0,202, 0, 0, 0, 0, 0, 0,402,400, 0,156, 66, 0,160, 74,
783 0, 0, 0,164,168, 0, 0, 0, 0, 0,162, 0,258, 0, 48, 0, 46, 0,
784 12, 16,178, 0, 0, 0, 0,136,268, 0,182, 0, 0,152,146, 18, 0,184,
785 128, 0, 0, 0, 52, 0, 50, 0, 0, 0,132, 0, 0,138,180, 0,188,288,
786 0, 0, 72, 68, 0, 76,194, 0, 64, 0, 62, 0, 0, 0, 0, 0, 0, 0,
787 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, 54, 0, 0, 0, 0, 0, 0, 0,
788 0, 44, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0,140, 0,292, 94, 0,204,
789 206, 0, 60, 0, 58, 0, 0, 0, 0, 0, 0,124, 0, 0, 0,134,148, 0,
790 208,126, 0, 0, 0, 0,174, 0, 40, 0, 38, 0, 0, 0, 0, 0, 0,403,
791 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 20, 0,202, 0, 0, 0, 0,
792 0, 0, 41, 34, 0, 82, 96, 0, 0,104, 86, 0, 48, 0, 88, 46, 0, 0,
793 106, 0, 54, 0, 62,100, 0, 98, 0, 42, 0, 20, 22, 0, 58,124, 0,120,
794 102, 0, 0, 0, 0, 92, 0, 90, 0, 0, 0, 0,122, 0, 39, 0, 0, 0,
795 0, 70,228, 50,118, 0, 0, 28, 0, 0, 84, 38, 0, 41, 34, 0, 92, 0,
796 90, 0, 0, 0, 0, 0, 39, 0, 88,150, 0, 0, 92, 0, 90, 0, 0, 0,
797 0, 0, 88, 0, 0,402,400, 0,156, 66, 0,160, 74, 0, 0, 0,164,168,
798 0, 0, 0, 0, 0,162, 0,258, 0, 12, 16,178, 0, 0, 0,136,268, 0,
799 182, 0, 0,152,146, 18, 0,184,128, 0, 0, 0,138,180, 0,188,288, 0,
800 0, 72, 68, 0, 76,194, 0,140, 0,292, 94, 0,204,206, 0,134,148, 0,
801 208,126, 0, 0, 0, 0,174, 0, 0,403, 0, 0, 0, 0, 0, 0, 0,132,
802 0, 0, 20, 0,202, 0,124, 0, 0, 0, 48, 0, 46, 0, 0, 0, 52, 0,
803 50, 0, 0, 0, 0, 0, 64, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0,
804 0, 0, 0, 0, 0, 0, 56, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 44,
805 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 58, 0, 0, 0, 0, 0,
806 0, 0, 0, 0, 40, 0, 38, 0, 0, 0, 0, 0, 0, 18, 0,180, 0, 0,
807 0, 0, 41, 34, 0, 0,104, 86, 0, 48, 0, 88, 46, 0, 0, 0, 54, 0,
808 62,100, 0, 98, 0, 42, 0,120,102, 0, 58, 0, 0, 92, 0, 90, 0, 0,
809 0, 0,122, 0, 39, 0, 96, 0, 0, 18, 50,180,118, 0, 0, 0, 84, 38,
810 0, 41, 34, 0, 39, 0, 22, 0, 41, 34, 0, 39, 0, 34, 0, 34, 0,124,
811 290, 0, 41, 34, 0, 0,104, 86, 0, 48, 0, 88, 46, 0, 0, 0, 54, 0,
812 62,100, 0, 98, 0, 42, 0,120,102, 0, 58, 0, 0, 92, 0, 90, 0, 0,
813 0, 0,122, 0, 39, 0, 96, 0, 0, 70, 50,118, 0, 20, 0, 0, 84, 38,
814 0, 0,104, 86, 0, 48, 0, 88, 46, 0, 0, 0, 54, 0, 62,100, 0, 98,
815 0, 42, 0,120,102, 0, 58, 0, 0, 92, 0, 90, 0, 0, 0, 0,122, 0,
816 96, 0, 0, 70, 50,118, 0, 20, 0, 0, 84, 38, 0,262, 0, 41, 34, 0,
817 39, 0,186, 0,186, 0, 41, 34, 0,156, 96, 0,276, 0,284, 0, 0, 0,
818 0, 0,278,286, 0, 0,104, 0, 0, 0,280, 86, 0, 48, 0, 88, 46, 0,
819 0,282, 16, 0,112,268, 0,222,288, 0, 0,108, 0,118,116, 0, 54, 0,
820 62,100, 0, 98, 0, 42, 0, 58,124, 0,120,102, 0, 0, 0, 0, 92, 0,
821 90, 0, 0, 0, 0,122, 0,110, 84, 0,148, 0, 0, 39, 0, 0, 0, 0,
822 0, 0,228, 50, 0,114, 0, 0, 22, 28,236, 0, 0, 0, 38, 0,276, 0,
823 284, 0, 0, 0, 0, 0,278,286, 0, 0, 0, 0,280, 0,282, 16, 0,222,
824 288, 0, 0, 0,156, 0, 0, 0,268, 0,236,124,148, 0, 24, 26, 0,220,
825 222, 0,158, 0, 72, 0, 41, 34, 0, 39, 0,146,174, 0,146,174, 0, 68,
826 0,224,226,228, 28, 0,106, 0,164,168, 0, 0, 0, 0, 0,162, 0,258,
827 0, 12, 16,178, 0, 0, 0,182,268, 0,184,128, 0, 0, 0,188,288, 0,
828 0, 0,204,206, 0,208,126, 0, 0, 0, 0, 0,156,160, 0, 0, 0,152,
829 0,132, 0,194,292,202, 0,124,148, 0, 0,124, 0,164,168, 0, 0, 0,
830 0, 0,162, 0,258, 0, 12, 16,178, 0, 0, 0,136,268, 0,182, 0, 0,
831 188,288,138, 0, 0, 0,204,206, 0,134,148, 0,156,160, 0, 0, 0,152,
832 184, 0,194,292,202, 0,124, 0,208, 0, 92, 0, 90, 0, 0, 0, 0, 0,
833 88,150, 0, 0,402,400, 0, 72, 68, 0, 0,403, 74, 0, 76, 20, 0,156,
834 66, 0,164,168, 0, 0, 0, 0, 0,162, 0,258, 0, 12, 16,178, 0, 0,
835 0,136,268, 0,182, 0, 0,152,146, 0,184,128, 0, 0, 0,188,288,138,
836 0, 0, 0,140, 0,292, 94, 0,204,206, 0,134,148, 0,208,174, 0, 0,
837 160, 0, 0, 0, 0, 0,132, 0,194, 0,202, 0,124, 0, 0, 0,228, 28,
838 0, 41, 34, 0, 39, 0, 18,186, 0, 41, 34, 0, 0,104, 86, 0, 48, 0,
839 88, 46, 0, 0, 0, 54, 0, 62,100, 0, 98, 0, 42, 0,120,102, 0, 58,
840 196, 0, 0, 92, 0, 90, 0, 0, 0, 0,122, 0, 39, 0, 96, 0, 0,198,
841 50,118, 0, 0, 0, 84, 38, 0,198,196, 0, 41, 34, 0, 39, 0,264,176,
842 0,176, 0,146, 0, 41, 34, 0, 20, 22, 0, 39, 0, 0, 0, 41, 34, 0,
843 39, 0, 30, 0, 30, 0,224,156, 0,164,168, 0, 0, 0, 0, 0,162, 0,
844 258, 0, 12, 16,178, 0, 0,226, 0,182,268, 0,152,228, 0,188,288, 0,
845 0, 0,202, 28, 0, 0, 0,204,206, 0, 0,160, 0, 0, 0, 0,184, 0,
846 194,292, 0, 0,124,148,208, 0, 41, 34, 0,402,400, 0,224,156, 66,262,
847 0,160, 74, 0, 0, 0,164,168, 0, 0, 0, 0, 0,162, 0,258, 0, 48,
848 0, 46, 0, 12, 16,178, 0, 0, 0,226, 0,136,268, 0,182, 0, 0,228,
849 0,146, 0,152, 0, 18, 0,184,128, 0, 0, 0, 52, 0, 50, 0, 0, 0,
850 132, 0, 0,138,180, 0,188,288, 0, 0, 72, 68, 0, 76,194, 0, 64, 0,
851 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 0,
852 54, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 42, 0, 0, 0, 0, 0, 0,
853 0, 0,140, 0,292, 94, 0,202, 28, 0, 0, 0,236,204, 0, 0,206, 0,
854 60, 0, 58, 0, 0, 0, 0, 0, 0,124, 0, 0, 0,134,148, 0,208,126,
855 0, 0, 0, 0,174, 0, 40, 0, 38, 0, 0, 0, 0, 0, 39, 0, 0,403,
856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0,290,
857 0, 0, 0, 41, 34, 0, 82, 80, 96, 0, 0,104, 86, 0, 48, 0, 88, 46,
858 0, 0, 0, 54, 0, 62,100, 0, 98, 0, 42, 0,120,102, 0, 58, 78, 0,
859 0, 92, 0, 90, 0, 0, 0, 0,122, 0, 39, 0, 0, 0, 0, 50,118, 0,
860 22, 0, 0, 84, 38, 0, 0,104, 86, 0, 48, 0, 88, 46, 0, 0, 0, 54,
861 0, 62,100, 0, 98, 0, 42, 0,120,102, 0, 58, 0, 0, 92, 0, 90, 0,
862 0, 0, 0,122, 0, 96, 0, 0, 50,118, 0, 22, 0, 0, 84, 38, 0,164,
863 168, 0, 0, 0, 0, 0,162, 0,258, 0, 12, 16,178, 0, 0, 0,136,268,
864 0,182, 0, 0,152,146, 0,184,128, 0, 0, 0,188,288,138, 0, 0, 0,
865 292,140, 0,204,206, 0,134,148, 0,208,126, 0, 0, 0, 0,174, 0,156,
866 160, 0, 0, 0, 0, 0,132, 0,194, 0,202, 0,124, 0, 0, 0,164,168,
867 0, 0, 0, 0, 0,162, 0,258, 0, 12, 16,178, 0, 0, 0,182,268, 0,
868 184,128, 0, 0, 0,188,288, 0, 0, 0,204,206, 0,156,160, 0, 0, 0,
869 152, 0,132, 0,194,292,202, 0,124,148,208, 0,136,138,134, 0, 86, 22,
870 84, 0, 41, 34, 0, 39, 0, 82,124, 0, 82,124, 0, 41, 34, 0, 39, 0,
871 84, 0, 84, 0, 20, 22, 0, 0, 0, 74, 72, 76, 0, 41, 34, 0, 82, 80,
872 96, 0, 0,104, 86, 0, 48, 0, 88, 46, 0, 0, 0, 54, 0, 62,100, 0,
873 98, 0, 42, 0,120,102, 0, 58, 78, 0, 0, 92, 0, 90, 0, 0, 0, 0,
874 122, 0, 39, 0, 0, 0, 0, 50,118, 0, 0, 0, 84, 38, 0, 82, 80, 96,
875 0, 0,104, 86, 0, 48, 0, 88, 46, 0, 0, 0, 54, 0, 62,100, 0, 98,
876 0, 42, 0,120,102, 0, 58, 78, 0, 0, 92, 0, 90, 0, 0, 0, 0,122,
877 0, 0, 0, 0, 50,118, 0, 0, 0, 84, 38, 0, 66, 94, 0, 41, 34, 0,
878 39, 0,124, 0, 2, 0, 0, 0, 0, 0, 0, 0, 6, 0, 4, 0, 88, 0,
879 0,246, 0,244, 0, 0, 0, 10, 0, 8, 0, 0, 0, 92, 0, 90, 0, 0,
880 0, 0, 0, 0, 0,250, 0,254, 0,248, 0,252, 0,146, 20,236, 0,272,
881 0, 41, 34, 0, 39, 0,200, 0,200, 0, 41, 34, 0, 39, 0,146, 0, 41,
882 34, 0, 39, 0,232,152,124,148, 0,236, 0, 28, 26, 0, 24, 0, 0,228,
883 222, 0,158,230, 0,112,108,114,116,110, 0, 41, 34, 0,402,400, 0,156,
884 66,142, 0,160, 74, 0, 0, 0,164,168, 0, 0, 0, 0, 0,162, 0,258,
885 0, 48, 0, 46, 0,178, 0,144, 0, 12, 16, 0, 0, 0, 0, 0,136,268,
886 0,182, 0, 0,152,146, 18, 0,184,128, 0, 0, 0, 52, 0, 50, 0, 0,
887 0,132, 0, 0,138,180, 0,188,288, 0, 0, 72, 68, 0, 76,194, 0, 64,
888 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,
889 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 42, 0, 0, 0, 0, 0,
890 0, 0, 0,140, 0,292, 94, 0,204,206, 0, 60, 0, 58, 0, 0, 0, 0,
891 0, 0,124, 0, 0, 0,134,148, 0,208,126, 0, 0, 0, 0,174, 0, 40,
892 0, 38, 0, 0, 0, 0, 0, 39, 0, 0,403, 0, 0, 0, 0, 0, 0, 0,
893 0, 0, 0, 0, 20, 0,202, 0, 0, 0, 0, 0, 0, 41, 34, 0,224,156,
894 66, 0,164,168, 0, 0, 0, 0, 0,162, 0,258, 0, 12, 16,178, 0, 0,
895 226, 0,136,268, 0,182, 0, 0,228, 0,146, 0,152, 0, 0,184,128, 0,
896 0, 0,188,288,138, 0, 0, 0,140, 0,166,292, 94, 0,202, 28, 0, 0,
897 0,236,204, 0, 0,206, 0,134,148, 0,208,126, 0, 0, 0, 0,174, 0,
898 39, 0, 0,160, 0, 0, 0, 0, 0,132, 0,194, 20, 0, 0, 0,124, 0,
899 0, 0, 41, 34, 0, 39, 0,130, 0,130, 0,164,168, 0, 0, 0, 0, 0,
900 162, 0,258, 0, 12, 16,178, 0, 0, 0,182,268, 0,188,288, 0, 0, 0,
901 204,206, 0,156,160, 0, 0, 0,152,184,132, 0,194,292,202, 0,124,148,
902 208, 0,164,168, 0, 0, 0, 0, 0,162, 0,258, 0, 12, 16,178, 0, 0,
903 0,136,268, 0,182, 0, 0,152,146, 0,184,128, 0, 0, 0,188,288,138,
904 0, 0, 0,292,140, 0,204,206, 0,134,148, 0,208,174, 0,156,160, 0,
905 0, 0, 0, 0,132, 0,194, 0,202, 0,124, 0, 0, 0, 0,104, 86, 0,
906 48, 0, 88, 46, 0, 0, 0, 54, 0, 62,100, 0, 98, 0, 42, 0, 58,124,
907 0,120,102, 0, 0, 0, 0, 92, 0, 90, 0, 0, 0, 0,122, 0, 96, 0,
908 0, 50,118, 0, 0, 0, 84, 38, 0, 22, 0, 66, 0,164,168, 0, 0, 0,
909 0, 0,162, 0,258, 0, 12, 16,178, 0, 0, 0,136,268, 0,182, 0, 0,
910 188,288,138, 0, 0, 0,204,206, 0,134,148, 0,208,174, 0,156,160, 0,
911 0, 0,152,184, 0,194,292,202, 0,124, 0, 0, 0, 41, 34, 0, 39, 0,
912 252, 0,252, 0,224,156, 0,164,168, 0, 0, 0, 0, 0,162, 0,258, 0,
913 12, 16,178, 0, 0,226, 0,182,268, 0,228, 0,146, 0,152, 0, 0,188,
914 288, 0, 0, 0,202, 28, 0, 0, 0,236,204, 0, 0,206, 0, 0,160, 0,
915 0, 0, 0,184, 0,194, 20,292, 0, 0,124,148,208, 0,146, 20, 28,236,
916 0,232, 0,164,168, 0, 0, 0, 0, 0,162, 0,258, 0, 12, 16,178, 0,
917 0, 0,136,268, 0,182, 0, 0,152,146, 0,188,288,138, 0, 0, 0,292,
918 140, 0,204,206, 0,134,148, 0,156,160, 0, 0, 0, 0,184, 0,194, 0,
919 202, 0,124, 0,208, 0,224,156, 0,164,168, 0, 0, 0, 0, 0,162, 0,
920 258, 0, 12, 16,178, 0, 0,226, 0,182,268, 0,228, 0,146, 0,152, 0,
921 0,188,288, 0, 0, 0,202, 28, 0, 0, 0,236,204, 0, 0,206, 0, 0,
922 160, 0, 0, 0, 0,184, 0,194,292, 0, 0,124,148,208, 0,164,168, 0,
923 0, 0, 0, 0,162, 0,258, 0, 12, 16,178, 0, 0, 0,136,268, 0,182,
924 0, 0,152,146, 0,188,288,138, 0, 0, 0,292,140, 0,204,206, 0,134,
925 148, 0,208,174, 0,156,160, 0, 0, 0, 0,184,132, 0,194, 0,202, 0,
926 124, 0, 0, 0,264, 0,224,156, 0,164,168, 0, 0, 0, 0, 0,162, 0,
927 258, 0, 12, 16,178, 0, 0,226, 0,182,268, 0,228, 0,146, 0,152, 0,
928 0,188,288, 0, 0, 0,166,292, 0,202, 28, 0, 0, 0,236,204, 0, 0,
929 206, 0, 0,160, 0, 0, 0, 0,184, 0,194, 20, 0, 0, 0,124,148,208,
930 0, 41, 34, 0, 39, 0,234, 0,234, 0,152,148, 0,164,168, 0, 0, 0,
931 0, 0,162, 0,258, 0, 12, 16,178, 0, 0, 0,182,268, 0,152,146, 0,
932 188,288, 0, 0, 0,204,206, 0,156,160, 0, 0, 0, 0,184, 0,194,292,
933 202, 0,124,148,208, 0,156, 66, 0,164,168, 0, 0, 0, 0, 0,162, 0,
934 258, 0, 12, 16,178, 0, 0, 0,136,268, 0,182, 0, 0,152,146, 0,188,
935 288,138, 0, 0, 0,140, 0,292, 94, 0,204,206, 0,134,148, 0,208,174,
936 0, 0,160, 0, 0, 0, 0,184, 0,194, 0,202, 0,124, 0, 0, 0, 41,
937 34, 0, 39, 0,266, 0,266, 0, 16,148, 0,156,142, 0,164,168, 0, 0,
938 0, 0, 0,162, 0,258, 0,178, 0,144, 0, 12, 16, 0, 0, 0, 0,182,
939 268, 0,152,146, 0,188,288, 0, 0, 0,204,206, 0, 0,160, 0, 0, 0,
940 0,184, 0,194,292,202, 0,124,148,208, 0,154, 0,150, 0,152, 0,240,
941 238,242, 0,238, 0,148, 0, 41, 34, 0,164,168, 0, 0, 0, 0, 0,162,
942 0,258, 0, 12, 16,178, 0, 0, 0,182,268, 0,152,146, 0,188,288, 0,
943 0, 0,204,206, 0, 39, 0,156,160, 0, 0, 0, 0,184, 0,194,292,202,
944 0,124,148,208, 0, 41, 34, 0,224,156, 0,164,168, 0, 0, 0, 0, 0,
945 162, 0,258, 0, 12, 16,178, 0, 0,226, 0,182,268, 0,228, 0,146, 0,
946 152, 0, 0,188,288, 0, 0, 0,166,292, 0,202, 28, 0, 0, 0,236,204,
947 0, 0,206, 0, 39, 0, 0,160, 0, 0, 0, 0,184, 0,194, 20, 0, 0,
948 0,124,148,208, 0, 16, 0
949 };
950
951 static const unsigned short far ag_key_jmp[] = {
952 0, 0, 0, 0, 16, 19, 0, 4, 0, 7, 0, 12, 9, 21, 0, 26, 31, 35,
953 0, 15, 41, 0, 44, 46, 0, 62, 67, 0, 25, 0, 86, 91, 0, 0, 1, 2,
954 7, 11, 19, 22, 52, 57, 28, 71, 75, 79, 30, 98,104,110, 0,118, 0, 0,
955 0, 0, 0, 0, 0, 0,126, 0, 0, 0, 0, 0, 0,124, 59, 62, 65,129,
956 0,131,134, 0,139, 0, 76, 0, 78, 0, 0, 73, 80, 0, 0,148, 0, 87,
957 0, 89,153, 0,164,167, 0, 94, 0,173,177, 0,169, 99, 0,160, 97,102,
958 180, 0,183, 0,110, 0,112, 0,114, 0,116, 0,186,190, 0,120, 0,142,
959 91,156,105,118,123, 0,193, 0,132, 0, 0, 0, 0,134,137, 0,201,205,
960 0,213,215, 0,145, 0,148, 0,150, 0,142,209,152, 0,139,197,154,219,
961 226, 0,233,236, 0,164,242,247, 0,229,231,167, 0,259, 0,175,263, 0,
962 251,255,177,266, 0,269,272, 0, 0,185, 0, 0, 0,191, 0,280,193, 0,
963 275,195, 0,304,307, 0,201, 0, 0,292,297,300,204, 0, 0, 0,282,207,
964 212, 0,326, 0, 0,218,328, 0,318,323,221, 0, 0, 0,228, 0,230, 0,
965 232, 0,234, 0,236, 0,238, 0,240, 0,242, 0, 0, 0,246, 0,248, 0,
966 250, 0,244,252, 0, 0, 0,257, 0,259, 0,332,261, 0,330,254,263, 0,
967 338, 0,336,270, 0,334,272, 0,342, 0,344,346, 0,350, 0, 0,278,280,
968 283, 0,364,368, 0,359,290,375, 0,353,293,380, 0,385,393,399, 0,301,
969 403, 0, 0, 0,308, 0,310, 0,312,410, 0,314,414, 0, 0,432,434,436,
970 441, 0,321, 0,448, 0, 0,317,418,422,429,326,328, 0,456, 0,338, 0,
971 340, 0,452,342, 0,461, 0,469,471, 0,349, 0, 0,479,481, 0,352,474,
972 354, 0,484,488, 0,362,493, 0,496,501, 0,368, 0,371,503,506, 0, 0,
973 0,377, 0,379, 0,381, 0,120, 53, 56,122, 67, 83,125,158,171,180,188,
974 198,214,312,315,224,266,275,285,297,305,331,344,358,365,373,383, 0,523,
975 526, 0,413, 0,416, 0,519,418,528, 0,533,538,542, 0,424,548, 0,551,
976 553, 0,569,574, 0,434, 0,593,598, 0,509,514,420,428,431,559,564,437,
977 578,582,586,439,605,611,617, 0, 0, 0, 0,627,629, 0,631,634,638, 0,
978 0, 0,644,468, 0,470,646, 0,674, 0,665,476, 0,663,478,677, 0,688,
979 0, 0,683,485, 0,692, 0,491, 0,493, 0,495,697, 0,625,458,461,464,
980 473,653,657,481,681,488,497,705,709, 0, 0, 0, 0,713,514,715,722,726,
981 728,736, 0, 0, 0, 0, 0, 0, 0,739,525,528,741, 0,749,751, 0,753,
982 756,760, 0, 0, 0,766,543, 0,545,768, 0,796, 0,787,551, 0,785,553,
983 799, 0,808, 0, 0,803,560, 0,812, 0,566, 0,568, 0,570,817, 0,536,
984 539,548,775,779,556,563,572,825,829, 0, 0, 0, 0,833,586, 0, 0, 0,
985 0,835,592,837,841, 0, 0, 0, 0,843,600,845, 0, 0, 0, 0,849,607,
986 851,862, 0,864, 0, 0, 0, 0,868,617,870,875,880,886, 0, 0, 0, 0,
987 895,900, 0,630, 0,633, 0,890,627,892,635, 0,907, 0, 0, 0, 0,927,
988 930, 0,647, 0,650, 0,923,652,932, 0,937,942,946, 0,658, 0,952,954,
989 0,970,975, 0,667, 0,994,999, 0,1018,1025, 0,911,644,913,918,654,
990 662,664,960,965,670,979,983,987,672,1006,1012,675, 0, 0, 0, 0, 0,
991 1030, 0,699, 0,1033, 0,704, 0,706, 0,708, 0,1036,1040, 0,712, 0,
992 715,1044, 0,1052,1056, 0,1068,1071, 0,723, 0,1028,696,702,710,717,
993 720,1061,726,1075,1085,1091, 0, 0, 0, 0,1097,740,1099, 0, 0, 0,
994 0,1106,1108, 0,750, 0,753, 0,1104,747,755, 0,1110, 0, 0, 0, 0,
995 1121,763,1123, 0, 0, 0, 0,1130,770,1132, 0,1139,1144,1149,1155, 0,
996 0, 0, 0,1159,782,1161, 0, 0, 0, 0,1163,789,1165,1167, 0, 0, 0,
997 0,1192,1197, 0,1186,800, 0,1172,797,1174,1181,803,1202,1207, 0,1214,
998 1219, 0,814, 0,817, 0,1211,819, 0,1240,1243, 0,824, 0,827, 0,1236,
999 829,1245, 0,1250,1255,1259, 0,835, 0,1265,1267, 0,1283,1288, 0,844,
1000 0,1307,1312, 0,1331,1338, 0,1226,1231,831,839,841,1273,1278,847,1292,
1001 1296,1300,849,1319,1325,852, 0, 0,1341, 0,871, 0,1344, 0,876, 0,
1002 878, 0,880, 0,1347,1351, 0,884, 0,887,1355, 0,1363,1367, 0,1379,
1003 1382, 0,895, 0,874,882,889,892,1372,898,1386,1396,1402, 0,1408, 0,
1004 1413,1415, 0,912, 0,915, 0,917, 0,1417, 0,1424, 0,1431,1437, 0,
1005 1426,925,1443,1448, 0,1466,1469, 0,933, 0,936, 0,1462,938,1471, 0,
1006 1476,1481,1485, 0,944, 0,1491,1493, 0,1509,1514, 0,953, 0,1533,1538,
1007 0,1452,1457,940,948,950,1499,1504,956,1518,1522,1526,958,1545,1551,1557,
1008 0, 0, 0, 0,1570,1573,1577, 0, 0, 0,1583,984, 0,986, 0,1606, 0,
1009 1597,991, 0,1595,993,1609, 0,1618, 0, 0,1613,1000, 0,1622, 0,1006,
1010 0,1008, 0,1010,1627, 0,1565,977,1567,980,989,1585,1589,996,1003,1012,
1011 1635,1639, 0, 0, 0, 0,1648,1651,1655, 0, 0, 0,1661,1035, 0,1037,
1012 0,1684, 0,1675,1042, 0,1673,1044,1687, 0,1703,1707, 0,1711, 0, 0,
1013 1051,1054, 0,1715, 0,1060, 0,1062, 0,1064,1720, 0,1643,1028,1645,
1014 1031,1040,1663,1667,1047,1691,1693,1057,1066,1728,1732, 0,1739,1742,1746,
1015 0, 0, 0,1752,1088, 0,1090, 0,1775, 0,1766,1095, 0,1764,1097,1778,
1016 0,1787, 0, 0,1782,1104, 0,1791, 0,1110, 0,1112, 0,1114,1796, 0,
1017 1736,1084,1093,1754,1758,1100,1107,1116,1804,1808, 0, 0, 0, 0,1812,
1018 1130,1814, 0,1820, 0, 0, 0, 0, 0, 0, 0, 0, 0,1826,1828,1832,
1019 1145, 0,1834,1837, 0,1152, 0,1842, 0,1157, 0,1159, 0,1851,1854, 0,
1020 1163, 0,1166, 0,1161,1847,1168,1856,1861, 0, 0, 0,1866,1176, 0,1868,
1021 1872, 0,1880, 0,1184, 0,1181,1876,1186, 0,1178,1188,1884, 0,1889,
1022 1893, 0,1887,1196, 0,1906, 0,1202, 0,1898,1902,1204,1910, 0,1913,
1023 1916, 0,1211, 0, 0, 0,1216, 0,1218, 0,1919,1220, 0,1933,1936, 0,
1024 1225, 0, 0,1924,1929,1228, 0,1231, 0, 0,1944,1946, 0,1941,1238, 0,
1025 0, 0,1244, 0,1246, 0,1248, 0,1250, 0,1252, 0,1254, 0,1256, 0,
1026 1258, 0, 0, 0,1262, 0,1264, 0,1266, 0,1260,1268, 0, 0, 0,1273,
1027 0,1275, 0,1277, 0,1270,1279, 0,1950, 0,1284, 0,1948,1286, 0,1957,
1028 0, 0,1954,1291, 0,1960,1965, 0,1297, 0,1970,1978, 0,1302,1982, 0,
1029 0, 0,1308, 0,1310, 0,1312, 0,1314,1989, 0, 0,1316,1993, 0,2000,
1030 0,1323, 0,1325, 0,1327, 0, 0,2005,2009,2014, 0,2018,2022, 0,1336,
1031 0,2027,2032, 0,1341, 0,1344,2034, 0, 0, 0,1349, 0,1351, 0,1353,
1032 0,1822,1139,1142,1824,1147,1155,1170,1192,1199,1206,1214,1222,1235,1241,
1033 1281,1288,1293,1300,1305,1320,1329,1332,1339,1346,1355, 0, 0, 0, 0,
1034 0, 0, 0,2037,1383,1386,2039, 0, 0, 0, 0, 0, 0,2043,2045,2049,
1035 1397, 0,2051,2054, 0,1404, 0,2059, 0,1409, 0,1411, 0,2068,2071, 0,
1036 1415, 0,1418, 0,1413,2064,1420,2073, 0, 0, 0,2078,1427, 0,2080,2084,
1037 0,2092, 0,1435, 0,1432,2088,1437, 0,1429,1439,2096, 0,2101,2105,
1038 0,2099,1447, 0,2118, 0,1453, 0,2110,2114,1455,2122, 0,2125,2128,
1039 0,1462, 0, 0, 0,1467, 0,1469, 0,2131,1471, 0,2145,2148, 0,1476,
1040 0, 0,2136,2141,1479, 0,1482, 0, 0,2156,2158, 0,2153,1489, 0, 0,
1041 0,1495, 0,1497, 0,1499, 0,1501, 0,1503, 0,1505, 0,1507, 0,1509,
1042 0, 0, 0,1513, 0,1515, 0,1517, 0,1511,1519, 0, 0, 0,1524, 0,
1043 1526, 0,1528, 0,1521,1530, 0,2162, 0,1535, 0,2160,1537, 0,2169, 0,
1044 0,2166,1542, 0,2172,2177, 0,1548, 0,2182,2190, 0,1553,2194, 0, 0,
1045 0,1559, 0,1561, 0,1563, 0,1565,2201, 0, 0,1567,2205, 0,2212, 0,
1046 1574, 0,1576, 0,1578, 0, 0,2217,2221,2226, 0,2230,2234, 0,1587, 0,
1047 2239,2244, 0,1592, 0,1595,2246, 0, 0, 0,1600, 0,1602, 0,1604, 0,
1048 1394,2041,1399,1407,1422,1443,1450,1457,1465,1473,1486,1492,1532,1539,
1049 1544,1551,1556,1571,1580,1583,1590,1597,1606, 0,2249, 0,2266,2269, 0,
1050 1634, 0,1637, 0,2262,1639,2271, 0,2276,2281,2285, 0,1645, 0,2291,
1051 2293, 0,2309,2314, 0,1654, 0,2333,2338, 0,2351,2356, 0,2252,2257,
1052 1641,1649,1651,2299,2304,1657,2318,2322,2326,1659,2345,1662,2360, 0,2368,
1053 2372, 0,2391,2394, 0,1684, 0,1687, 0,2387,1689,2396, 0,2401,2406,
1054 2410, 0,1695, 0,2416,2418, 0,2434,2439, 0,1704, 0,2458,2463, 0,2482,
1055 2487, 0,1712, 0,1715, 0,2377,2382,1691,1699,1701,2424,2429,1707,2443,
1056 2447,2451,1709,2470,2476,1717, 0, 0, 0, 0,2489,1735,2491, 0,2496,
1057 0, 0, 0, 0,2501,1744,2503,2511, 0, 0, 0, 0,2525,2528,2532, 0,
1058 0, 0,2538,1759, 0,1761, 0,2557,2562, 0,2576, 0,2567,1769, 0,2565,
1059 1771,2579, 0,2583,2585, 0,2593, 0, 0,2588,1781, 0,2597, 0,1787, 0,
1060 1789, 0,1791,2602, 0,2513,1752,2515,2518,1755,1764,2540,2546,2551,2555,
1061 1766,1774,1778,1784,1793,2610,2614, 0,2618, 0,2623,2631, 0, 0, 0,
1062 0,2649,2652, 0,1822, 0,1825, 0,2645,1827,2654, 0,2659,2664,2668,
1063 0,1833, 0,2674,2676, 0,2692,2697, 0,1842, 0,2716,2721, 0,2633,1819,
1064 2635,2640,1829,1837,1839,2682,2687,1845,2701,2705,2709,1847,2728,2734,
1065 2740, 0,2748,2750, 0,2760,2764, 0,2768, 0,2775, 0, 0, 0, 0,2789,
1066 2796, 0,2806,2812, 0,2781,1878,2783,1881,2801,1884,2818,2823, 0,2829,
1067 2835, 0,2840, 0, 0, 0, 0, 0, 0, 0,2846,2848,2852, 0,2854,2857,
1068 0,1911, 0,2866,2869, 0,1916, 0,1919, 0,2862,1921,2871, 0,2876,2881,
1069 2885, 0,1927,2891, 0,2896,2900, 0,2894,1934, 0,2909, 0,1940, 0,2905,
1070 1942,2913, 0,2916,2919, 0,1948, 0,2937, 0, 0,2928,2933,1953, 0,1956,
1071 0, 0,2943,2946, 0,2955, 0,2952,1966, 0,2958,2963, 0,1971, 0,2968,
1072 2976, 0,1976,2980, 0,2993,2997, 0,3002,3007, 0,1985, 0,1988,3009,
1073 0,2842,1901,1904,2844,1907,1914,1923,1931,1937,1944,1951,2922,1960,1963,
1074 2949,1968,1974,1979,2987,1982,1990, 0, 0, 0, 0, 0, 0, 0,3016,3020,
1075 0,3022,3025, 0,2024, 0,3034,3037, 0,2029, 0,2032, 0,3030,2034,3039,
1076 0,3044,3049,3053, 0,2040, 0,3061,3065, 0,3059,2046, 0,3070,3074,
1077 3076, 0,3079,3082, 0,2056, 0,3100, 0, 0,3091,3096,2061, 0,2064, 0,
1078 0,3106,3109, 0,3118, 0,3115,2074, 0,3128,3133, 0,3146,3150, 0,3155,
1079 3160, 0,2085, 0,2088,3162, 0,3012,2015,2018,3014,2021,2027,2036,2044,
1080 2049,2052,2059,3085,2068,2071,3112,2076,3121,2079,3140,2082,2090, 0, 0,
1081 0, 0,3167,3169, 0,3182,3185, 0,2121, 0,2124, 0,3178,2126,3187, 0,
1082 3192,3197,3201, 0,2132,3207, 0,3210,3212, 0,3222, 0,2142, 0,3218,
1083 2144, 0,3231,3236, 0,2149, 0,3251,3256, 0,2154, 0,3261,3269, 0,2159,
1084 3273, 0,3165,2115,2118,3173,2128,2136,2139,2146,3226,2152,3240,3244,3247,
1085 2157,2162,3280,3286,3292, 0, 0, 0, 0, 0, 0, 0,3304,3308, 0,3310,
1086 3313, 0,2193, 0,3322,3325, 0,2198, 0,2201, 0,3318,2203,3327, 0, 0,
1087 0,2209, 0,3332,3337,3341, 0,2211,2213, 0,3349,3353, 0,3347,2220,
1088 0,3358,3362,3364, 0,3367,3370, 0,2230, 0, 0, 0,2235, 0,2237, 0,
1089 3373,2239, 0,3387, 0, 0,3378,3383,2244, 0,2247, 0, 0,3393,3396, 0,
1090 0, 0,2257, 0,2259, 0,2261, 0,2263, 0,2265, 0,2267, 0,2269, 0,
1091 2271, 0, 0, 0,2275, 0,2277, 0,2279, 0,2273,2281, 0, 0, 0,2286,
1092 0,2288, 0,2290, 0,2283,2292, 0,3405, 0,3402,2297, 0,3415,3420, 0,
1093 0, 0,2305, 0,2307, 0,2309, 0,2311,3427, 0,2313, 0,3431,3435, 0,
1094 3440,3445, 0,2321, 0,2324,3447, 0, 0, 0,2329, 0,2331, 0,2333, 0,
1095 3300,2184,2187,3302,2190,2196,2205,2217,2223,2226,2233,2241,2251,2254,
1096 2294,3399,2299,3408,2302,2316,2318,2326,2335, 0, 0, 0, 0, 0, 0, 0,
1097 3454,3458, 0,3460,3463, 0,2370, 0,3472,3475, 0,2375, 0,2378, 0,3468,
1098 2380,3477, 0, 0, 0,2386, 0,3482,3487,3491, 0,2388,2390, 0,3499,3503,
1099 0,3497,2397, 0,3508,3512,3514, 0,3517,3520, 0,2407, 0, 0, 0,2412,
1100 0,2414, 0,3523,2416, 0,3537, 0, 0,3528,3533,2421, 0,2424, 0, 0,
1101 3543,3546, 0, 0, 0,2434, 0,2436, 0,2438, 0,2440, 0,2442, 0,2444,
1102 0,2446, 0,2448, 0, 0, 0,2452, 0,2454, 0,2456, 0,2450,2458, 0,
1103 0, 0,2463, 0,2465, 0,2467, 0,2460,2469, 0,3555, 0,3552,2474, 0,
1104 3565,3570, 0, 0, 0,2482, 0,2484, 0,2486, 0,2488,3577, 0,2490, 0,
1105 3581,3585, 0,3590,3595, 0,2498, 0,2501,3597, 0, 0, 0,2506, 0,2508,
1106 0,2510, 0,3450,2361,2364,3452,2367,2373,2382,2394,2400,2403,2410,2418,
1107 2428,2431,2471,3549,2476,3558,2479,2493,2495,2503,2512, 0, 0, 0, 0,
1108 3602,3606, 0,3608,3611, 0,2544, 0,3620,3623, 0,2549, 0,2552, 0,3616,
1109 2554,3625, 0, 0, 0,2560, 0,3630,3635,3639, 0,2562,2564, 0,3647,3651,
1110 0,3645,2571, 0,3656,3660,3662, 0,3665,3668, 0,2581, 0, 0, 0,2586,
1111 0,2588, 0,3671,2590, 0,3685, 0, 0,3676,3681,2595, 0,2598, 0, 0,
1112 3691,3694, 0, 0, 0,2608, 0,2610, 0,2612, 0,2614, 0,2616, 0,2618,
1113 0,2620, 0,2622, 0, 0, 0,2626, 0,2628, 0,2630, 0,2624,2632, 0,
1114 0, 0,2637, 0,2639, 0,2641, 0,2634,2643, 0,3703, 0,3700,2648, 0,
1115 3713,3718, 0, 0, 0,2656, 0,2658, 0,2660, 0,2662,3725, 0,2664, 0,
1116 3729,3733, 0,3738,3743, 0,2672, 0,2675,3745, 0, 0, 0,2680, 0,2682,
1117 0,2684, 0,2538,3600,2541,2547,2556,2568,2574,2577,2584,2592,2602,2605,
1118 2645,3697,2650,3706,2653,2667,2669,2677,2686, 0, 0, 0, 0,3750,3754,
1119 0,3756,3759, 0,2716, 0,3768,3771, 0,2721, 0,2724, 0,3764,2726,3773,
1120 0, 0, 0,2732, 0,3778,3783,3787, 0,2734,2736, 0,3795,3799, 0,3793,
1121 2743, 0,3804,3808,3810, 0,3813,3816, 0,2753, 0, 0, 0,2758, 0,2760,
1122 0,3819,2762, 0,3833, 0, 0,3824,3829,2767, 0,2770, 0, 0,3839,3842,
1123 0, 0, 0,2780, 0,2782, 0,2784, 0,2786, 0,2788, 0,2790, 0,2792,
1124 0,2794, 0, 0, 0,2798, 0,2800, 0,2802, 0,2796,2804, 0, 0, 0,
1125 2809, 0,2811, 0,2813, 0,2806,2815, 0,3851, 0,3848,2820, 0,3861,3866,
1126 0, 0, 0,2828, 0,2830, 0,2832, 0,2834,3873, 0,2836, 0,3877,3881,
1127 0,3886,3891, 0,2844, 0,2847,3893, 0, 0, 0,2852, 0,2854, 0,2856,
1128 0,2710,3748,2713,2719,2728,2740,2746,2749,2756,2764,2774,2777,2817,3845,
1129 2822,3854,2825,2839,2841,2849,2858, 0, 0, 0, 0,3898,3900, 0,3902,
1130 3905,3909, 0, 0, 0,3915,2892, 0,2894,3917, 0,3958, 0,3949,2900, 0,
1131 3947,2902,3961, 0,3965,3967, 0,3977,3981, 0,3985, 0, 0,2912,2915,
1132 0,3989, 0,2921, 0,2923, 0,2925,3994, 0,3896,2882,2885,2888,2897,
1133 3924,3930,3937,3941,2905,2909,3970,2918,2927,4002,4006, 0, 0, 0, 0,
1134 4018, 0,2950, 0,2952, 0,2954, 0,4010,2947,4012,4016,2956, 0,4027,
1135 0,2964, 0,2966, 0,2968, 0,4023,2970, 0, 0, 0, 0,4034,4038, 0,
1136 4040,4043, 0,2981, 0,4052,4055, 0,2986, 0,2989, 0,4048,2991,4057,
1137 0,4062,4067,4071, 0,2997, 0,4079,4083, 0,4077,3003, 0,4088,4092,
1138 4094, 0,4097,4100, 0,3013, 0,4118, 0, 0,4109,4114,3018, 0,3021, 0,
1139 0,4124,4127, 0,4136, 0,4133,3031, 0,4146,4151, 0,4164,4168, 0,4173,
1140 4178, 0,3042, 0,3045,4180, 0,2975,4032,2978,2984,2993,3001,3006,3009,
1141 3016,4103,3025,3028,4130,3033,4139,3036,4158,3039,3047, 0, 0, 0,3070,
1142 0,3072, 0, 0, 0,3076, 0,3078, 0,3080, 0, 0, 0,3084, 0,3086,
1143 0,3088, 0,3090, 0,3092, 0,3094, 0,3096, 0,3098, 0, 0, 0,3102,
1144 0,3104, 0,3106, 0,3100,3108, 0, 0, 0,3113, 0,3115, 0,3117, 0,
1145 3110,3119, 0, 0, 0,3124, 0,3126, 0,3128, 0,3130, 0,3132, 0, 0,
1146 0,3136, 0,3138, 0,3140, 0,3074,4183,3082,4187,3121,3134,3142, 0,
1147 0, 0, 0,4196,4199,4203, 0, 0, 0,4209,3159, 0,3161, 0,4240, 0,
1148 4231,3166, 0,4229,3168,4243, 0,4252, 0, 0,4247,3175, 0,4256, 0,3181,
1149 0,3183, 0,3185,4261, 0,4191,3152,4193,3155,3164,4211,4215,4219,4223,
1150 3171,3178,3187,4269,4273, 0, 0, 0, 0,4277,3205,4279, 0, 0, 0, 0,
1151 4283,3212,4285, 0,4295, 0,4305,4311, 0, 0, 0, 0,4322,4325,4329, 0,
1152 0, 0,4335,3231, 0,3233, 0,4364, 0,4355,3238, 0,4353,3240,4367, 0,
1153 4379, 0, 0,4374,3247, 0,4383, 0,3253, 0,3255, 0,3257,4388, 0,4317,
1154 3224,4319,3227,3236,4337,4343,4347,3243,4371,3250,3259,4396,4400, 0,4407,
1155 4410,4414, 0, 0, 0,4420,3281, 0,3283, 0,4449, 0,4440,3288, 0,4438,
1156 3290,4452, 0,4464, 0, 0,4459,3297, 0,4468, 0,3303, 0,3305, 0,3307,
1157 4473, 0,4404,3277,3286,4422,4428,4432,3293,4456,3300,3309,4481,4485, 0,
1158 4489, 0, 0, 0, 0,4491,3327,4493, 0,4495, 0, 0, 0, 0,4499,4503,
1159 0,4505, 0,3342, 0,3344, 0,3346, 0,4511,4515, 0,3350,4519, 0,4508,
1160 3353,4522,4530, 0, 0, 0,4536,3361, 0,3363,4538,4542, 0,4547,4549,
1161 0,4566,4569, 0,3373,4573, 0,4578,4583, 0,4598, 0,4589,3382, 0,4587,
1162 3384,4601, 0,4626,4630, 0,4634, 0, 0,3391,3394, 0,4638, 0,3400, 0,
1163 3402, 0,3404,4643, 0, 0,4656, 0,4651,3409, 0,4497,3336,3339,3348,
1164 3356,3366,3370,4555,4562,3376,4575,3379,3387,4605,4609,4616,3397,3406,
1165 3412,4658, 0,4667, 0,3436, 0,3438, 0,3440, 0,4670,4674, 0,3444, 0,
1166 3447,4678, 0,4686,4690, 0,4702,4705, 0,3455, 0,4662,3442,3449,3452,
1167 4695,3458,4709,4719,4725, 0,4744,4750, 0,4731,4739,3470,4756, 0,4761,
1168 0, 0, 0, 0,4763,3480,4765,4768, 0,4772,4775, 0,4779, 0,4781,4784,
1169 4788,4795, 0,4802, 0,4824,4827, 0,3500, 0,3503, 0,4820,3505,4829,
1170 0,4834,4839,4843, 0,3511, 0,4849,4851, 0,4862,4865, 0,3520, 0,4874,
1171 4879, 0,3525, 0,4898,4903, 0,4922,4927, 0,3533, 0,3536, 0,4810,4815,
1172 3507,3515,3517,4857,3523,4868,3528,4883,4887,4891,3530,4910,4916,3538,
1173 0,4929, 0,4949,4952, 0,3559, 0,3562, 0,4945,3564,4954, 0,4959,4964,
1174 4968, 0,3570, 0,4976,4980, 0,4974,3576, 0,4995,5000,5004, 0,3582,
1175 0,5026,5031, 0,5044,5048, 0,4935,4940,3566,3574,3579,4985,4990,3586,
1176 5011,5015,5019,3588,5038,3591,5053, 0,5067, 0,3610, 0,3612, 0,3614,
1177 0,5061,5065,3616, 0, 0, 0, 0, 0, 0, 0,3622,5072,5074,3625,5081,
1178 5085, 0,5088,5092, 0,5103,5106, 0,3638, 0,3641, 0,5099,3643,5108,
1179 0,5113,5118,5122, 0,3649, 0,5130,5134, 0,5128,3655, 0,5139,5143,
1180 0,5145,5148, 0,3664, 0,5157,5162,5166, 0,3669, 0,5180, 0,5177,3675,
1181 0,5190,5195, 0,5208,5212, 0,5217,5224, 0,3635,5094,3645,3653,3658,
1182 3661,3667,5151,3673,5173,3677,5183,3680,5202,3683,3686, 0,5227,5234, 0,
1183 0, 0, 0,5241,3709,5243,5247, 0, 0, 0, 0,5254,5257,5261, 0, 0,
1184 0,5267,3724, 0,3726, 0,5299, 0,5290,3731, 0,5288,3733,5302, 0,5315,
1185 0, 0,5306,5311,3740, 0,5319, 0,3747, 0,3749, 0,3751,5324, 0,5249,
1186 3717,5251,3720,3729,5269,5278,5282,3736,3743,3753,5332,5336, 0,5340,5349,
1187 0, 0, 0, 0,5354,3773,5356,5361, 0,5365, 0,5369, 0, 0, 0, 0,
1188 5374,5376, 0,5372,3785,3788, 0, 0, 0, 0,5379,3795,5381, 0,5384, 0,
1189 5387,5389, 0,5402,5405, 0,3807, 0,3810, 0,5398,3812,5407, 0,5412,
1190 5417,5421, 0,3818,5427, 0,5430,5432, 0,5438,5442, 0,5453,5458, 0,
1191 3831, 0,5470,5475, 0,3836, 0,5480,5485, 0,3804,5393,3814,3822,3825,
1192 3828,5448,3834,5462,5466,3839,3841,5492,5498,5504, 0, 0, 0, 0, 0,
1193 0, 0,5516,5518,5522, 0, 0,5524,5527, 0,3871, 0,5536,5539, 0,3876,
1194 0,3879, 0,5532,3881,5541, 0, 0, 0,3887, 0,5546,5551,5555, 0,3889,
1195 3891,5561, 0,5566,5570, 0,5564,3899, 0,5579, 0,3905, 0,5575,3907,
1196 5583, 0,5586,5589, 0,3913, 0, 0, 0,3918, 0,3920, 0,5592,3922, 0,
1197 5606, 0, 0,5597,5602,3927, 0,3930, 0, 0,5612,5615, 0, 0, 0,3940,
1198 0,3942, 0,3944, 0,3946, 0,3948, 0,3950, 0,3952, 0,3954, 0, 0,
1199 0,3958, 0,3960, 0,3962, 0,3956,3964, 0, 0, 0,3969, 0,3971, 0,
1200 3973, 0,3966,3975, 0,5624, 0,5621,3980, 0,5627,5632, 0,3985, 0,5637,
1201 5645, 0,3990,5649, 0, 0, 0,3996, 0,3998, 0,4000, 0,4002,5656, 0,
1202 4004, 0,5660,5664, 0,5675,5680, 0,4012, 0,4015,5682, 0, 0, 0,4020,
1203 0,4022, 0,4024, 0,5512,3860,3863,5514,3866,3874,3883,3895,3902,3909,
1204 3916,3924,3934,3937,3977,5618,3982,3988,3993,4007,4009,5669,4017,4026,
1205 0, 0, 0, 0,5687,5689,5691, 0,5693,5696,5700, 0, 0, 0,5706,4064,
1206 0,4066, 0,5729, 0,5720,4071, 0,5718,4073,5732, 0,5748, 0, 0,5740,
1207 5745,4080, 0,5752, 0,4087, 0,4089, 0,4091,5757, 0,5685,4053,4056,
1208 4060,4069,5708,5712,4076,5736,4083,4093,5765,5769, 0,5776,5779,5783, 0,
1209 0, 0,5789,4114, 0,4116, 0,5812, 0,5803,4121, 0,5801,4123,5815, 0,
1210 5828, 0, 0,5823,4130, 0,5832, 0,4136, 0,4138, 0,4140,5837, 0,5773,
1211 4110,4119,5791,5795,4126,5819,4133,4142,5845,5849, 0,5867,5870, 0,4157,
1212 0,4160, 0,5863,4162,5872, 0,5877,5882,5886, 0,4168, 0,5894,5898,
1213 0,5892,4174, 0,5903,5907, 0,5909,5912, 0,4183, 0,5921,5926,5930,
1214 0,4188, 0,5941,5944, 0,5955,5960, 0,5973,5977, 0,5982,5987, 0,4203,
1215 0,4206,5989, 0,5853,5858,4164,4172,4177,4180,4186,5915,4192,5937,4194,
1216 5948,4197,5967,4200,4208, 0,6006,6009, 0,4228, 0,4231, 0,6002,4233,
1217 6011, 0,6016,6021,6025, 0,4239, 0,6031,6033, 0,6044,6047, 0,4248,
1218 0,6056,6061, 0,4253, 0,6080,6085, 0,5992,5997,4235,4243,4245,6039,
1219 4251,6050,4256,6065,6069,6073,4258,6092,6098,6104, 0,6112,6118,6127, 0,
1220 6132,6139,6143, 0, 0, 0, 0,6147,4286,6149,6152, 0,6158,6161, 0, 0,
1221 0, 0,6167,4297,6169, 0,6173, 0,6177,6179, 0,4306, 0,6182,6189,6191,
1222 0, 0, 0, 0,6197,6199,6201, 0,6203,6206,6210, 0, 0, 0,6216,4326,
1223 0,4328, 0,6239, 0,6230,4333, 0,6228,4335,6242, 0,6254, 0, 0,6246,
1224 6251,4342, 0,6258, 0,4349, 0,4351, 0,4353,6263, 0,6195,4315,4318,
1225 4322,4331,6218,6222,4338,4345,4355,6271,6275, 0,6279,6281,6283, 0,6285,
1226 6288,6292, 0, 0, 0,6298,4379, 0,4381, 0,6321, 0,6312,4386, 0,6310,
1227 4388,6324, 0,6336, 0, 0,6328,6333,4395, 0,6340, 0,4402, 0,4404, 0,
1228 4406,6345, 0,4371,4375,4384,6300,6304,4391,4398,4408,6353,6357, 0,6361,
1229 6364, 0, 0, 0, 0,6366,4425,6368, 0,6374, 0,4432, 0,4434, 0,4436,
1230 0,6382, 0,4440, 0,6379,4442, 0,6391, 0,4447, 0,4449, 0,6399, 0,
1231 4453, 0,4455, 0,6411, 0,4459, 0,4461, 0,4463, 0,4438,4444,6386,4451,
1232 6395,4457,6403,4465,6416, 0,6423,6426,6429, 0,6439, 0, 0, 0, 0,6445,
1233 4483,6447, 0,6451, 0, 0, 0, 0,6455,4492,6457, 0, 0, 0, 0,6460,
1234 4499,6462,6465,6470,6476, 0,6482, 0,6510,6515, 0,6504,4511, 0,6492,
1235 6499,4514,6520,6525, 0,6529,6532,6535,6538,6543, 0, 0, 0, 0, 0, 0,
1236 0,6550,6554,6556, 0,6558,6561, 0,4539, 0,6570,6573, 0,4544, 0,4547,
1237 0,6566,4549,6575, 0, 0, 0,4555, 0,6589, 0,4559, 0,6580,6585,4561,
1238 0,4557,4563, 0,6595,6599, 0,6593,4570, 0,6604,6608,6610, 0,6613,
1239 6616, 0,4580, 0, 0, 0,4585, 0,4587, 0,6619,4589, 0,6633, 0, 0,
1240 6624,6629,4594, 0,4597, 0, 0,6639,6642, 0, 0, 0,4607, 0,4609, 0,
1241 4611, 0,4613, 0,4615, 0,4617, 0,4619, 0,4621, 0, 0, 0,4625, 0,
1242 4627, 0,4629, 0,4623,4631, 0, 0, 0,4636, 0,4638, 0,4640, 0,4633,
1243 4642, 0,6651, 0,6648,4647, 0,6661,6666, 0, 0, 0,4655, 0,4657, 0,
1244 4659, 0,4661,6673, 0,4663, 0,6677,6681, 0,6686,6691, 0,4671, 0,4674,
1245 6693, 0, 0, 0,4679, 0,4681, 0,4683, 0,6546,4529,4532,6548,4535,4542,
1246 4551,4567,4573,4576,4583,4591,4601,4604,4644,6645,4649,6654,4652,4666,
1247 4668,4676,4685, 0, 0, 0, 0,6698,6700,6704, 0,6715,6718, 0,4718, 0,
1248 4721, 0,6711,4723,6720, 0,6725,6730,6734, 0,4729,6740, 0,6745,6749,
1249 0,6743,4736, 0,6758, 0,4742, 0,6754,4744, 0,6762,6765, 0,4749, 0,
1250 6774,6779,6783, 0,4754, 0,6800, 0, 0,6797,4760, 0,6803,6808, 0,4766,
1251 0,6813,6821, 0,4771,6825, 0,6838,6842, 0,6847,6852, 0,4780, 0,4783,
1252 6854, 0,6696,4711,4714,6706,4725,4733,4739,4746,4752,6768,4758,6790,6794,
1253 4762,4769,4774,6832,4777,4785, 0, 0, 0, 0,6857,4808,6859, 0,6861,
1254 0,6877,6880, 0,4817, 0,4820, 0,6873,4822,6882, 0,6887,6892,6896,
1255 0,4828, 0,6902,6904, 0,6926,6931, 0,4837, 0,6950,6955, 0,6863,6868,
1256 4824,4832,4834,6910,6915,6920,4840,6935,6939,6943,4842,6962,6968,6974,
1257 0,6996,6999, 0,4862, 0,4865, 0,6992,4867,7001, 0,7006,7011,7015,
1258 0,4873, 0,7023,7027, 0,7021,4879, 0,7032,7036, 0,7038,7041, 0,4888,
1259 0,7050,7055,7059, 0,4893, 0,7070,7073, 0,7084,7089, 0,7102,7106,
1260 0,7111,7118, 0,6982,6987,4869,4877,4882,4885,4891,7044,4897,7066,4899,
1261 7077,4902,7096,4905,4908, 0,7124,7127,7131, 0, 0, 0,7137,4932, 0,
1262 4934, 0,7160, 0,7151,4939, 0,7149,4941,7163, 0,7167,7171, 0,7175,
1263 0, 0,4948,4951, 0,7179, 0,4957, 0,4959, 0,4961,7184, 0,7121,4928,
1264 4937,7139,7143,4944,4954,4963,7192,7196, 0,7200, 0,7204, 0,7221,7224,
1265 0,4981, 0,4984, 0,7217,4986,7226, 0,7231,7236,7240, 0,4992, 0,7248,
1266 7252, 0,7246,4998, 0,7267,7272,7276, 0,5004, 0,7298,7303, 0,7316,
1267 7320, 0,7325,7332, 0,7207,7212,4988,4996,5001,7257,7262,5008,7283,7287,
1268 7291,5010,7310,5013,5016, 0, 0, 0, 0,7335,5035,7337, 0,7344, 0,7351,
1269 7353, 0,7366,7369, 0,5047, 0,5050, 0,7362,5052,7371, 0,7376,7381,
1270 7385, 0,5058,7391, 0,7394,7396, 0,7406, 0,5068, 0,7402,5070, 0,7415,
1271 7420, 0,5075, 0,7435,7440, 0,5080, 0,7445,7453, 0,5085,7457, 0,5044,
1272 7357,5054,5062,5065,5072,7410,5078,7424,7428,7431,5083,5088,7464,7470,
1273 7476, 0,7484,7487,7490,7497, 0,7507, 0,7524,7527, 0,5115, 0,5118,
1274 0,7520,5120,7529, 0,7534,7539,7543, 0,5126, 0,7551,7555, 0,7549,
1275 5132, 0,7560,7564, 0,7571,7576,7580, 0,5141, 0,7591,7594, 0,7605,
1276 7610, 0,7623,7627, 0,7510,7515,5122,5130,5135,5138,7566,5145,7587,5147,
1277 7598,5150,7617,5153,7632, 0,7640,7642, 0,7655,7658, 0,5175, 0,5178,
1278 0,7651,5180,7660, 0,7665,7670,7674, 0,5186,7680, 0,7683,7685, 0,
1279 7695, 0,5196, 0,7691,5198, 0,7704,7709, 0,5203, 0,7721,7726, 0,5208,
1280 0,7731,7739, 0,5213,7743, 0,5172,7646,5182,5190,5193,5200,7699,5206,
1281 7713,7717,5211,5216,7750,7756,7762, 0,7784,7787, 0,5235, 0,5238, 0,
1282 7780,5240,7789, 0,7794,7799,7803, 0,5246, 0,7811,7815, 0,7809,5252,
1283 0,7820,7824, 0,7837,7842,7846, 0,5261, 0,7857,7860, 0,7871,7876,
1284 0,7889,7893, 0,7898,7905, 0,7770,7775,5242,5250,5255,5258,7826,7831,
1285 5265,7853,5267,7864,5270,7883,5273,5276, 0,7908, 0,7913,7915, 0,7928,
1286 7931, 0,5301, 0,5304, 0,7924,5306,7933, 0,7938,7943,7947, 0,5312,
1287 7953, 0,7956,7958, 0,7968, 0,5322, 0,7964,5324, 0,7977,7982, 0,5329,
1288 0, 0,7993, 0,7996,8001, 0,5337, 0,8006,8014, 0,5342,8018, 0,5298,
1289 7919,5308,5316,5319,5326,7972,5332,7986,7990,5334,5340,5345,8025,8031,
1290 8037, 0, 0, 0, 0,8045,5365,8047, 0,8051, 0,8055,8060, 0,8080,8083,
1291 0,5377, 0,5380, 0,8076,5382,8085, 0,8090,8095,8099, 0,5388, 0,8105,
1292 8107, 0,8113,8117, 0,8124,8129, 0,5400, 0,8148,8153, 0,8066,8071,
1293 5384,5392,5394,5397,8119,5403,8133,8137,8141,5405,8160,8166,8172, 0,8180,
1294 8184, 0,8195,8198, 0,5427, 0,5430, 0,8191,5432,8200, 0,8205,8210,
1295 8214, 0,5438, 0,8222,8226, 0,8220,5444, 0,8231,8235, 0,8242,8247,
1296 8251, 0,5453, 0,8265, 0,8262,5459, 0,8275,8280, 0,8293,8297, 0,8302,
1297 8309, 0,5424,8186,5434,5442,5447,5450,8237,5457,8258,5461,8268,5464,8287,
1298 5467,5470, 0, 0, 0, 0,8312,5489,8314, 0,8320, 0,8326,8332, 0,8338,
1299 8342, 0,8353,8356, 0,5504, 0,5507, 0,8349,5509,8358, 0,8372, 0,5515,
1300 0,8363,8368,5517, 0,5519, 0,8376,8378, 0,8384,8388, 0,8395,8400,
1301 0,5531, 0,8419,8424, 0,5501,8344,5511,5523,5525,5528,8390,5534,8404,
1302 8408,8412,5536,8431,8437,8443, 0,8451, 0,8455, 0,8457, 0,8462,8469,
1303 8477, 0,8480, 0,8488, 0, 0, 0, 0,8510,8513, 0,5572, 0,5575, 0,
1304 8506,5577,8515, 0,8520,8525,8529, 0,5583, 0,8535,8537, 0,8543,8547,
1305 0,8554,8559, 0,5595, 0,8578,8583, 0,8494,5569,8496,8501,5579,5587,
1306 5589,5592,8549,5598,8563,8567,8571,5600,8590,8596,8602, 0, 0, 0, 0,
1307 8612,8614, 0,8627,8630, 0,5627, 0,5630, 0,8623,5632,8632, 0,8637,
1308 8642,8646, 0,5638,8652, 0,8655,8657, 0,8667, 0,5648, 0,8663,5650,
1309 0,8676,8681, 0,5655, 0, 0,8692, 0,8695,8700, 0,5663, 0,8705,8713,
1310 0,5668,8717, 0,8610,5621,5624,8618,5634,5642,5645,5652,8671,5658,8685,
1311 8689,5660,5666,5671,8724,8730,8736, 0,8744, 0
1312 };
1313
1314 static const unsigned short far ag_key_index[] = {
1315 33, 0, 51, 0, 0,385,442, 0, 51, 51, 0,500,517,531,575,589,595,603,
1316 610,615,620,637, 0,642,678,728,589, 0,743,642,757,728, 0,761,766,589,
1317 0,773,777,678,785,589,766,792,806,821,855,900, 0,910,919,900,921, 0,
1318 0,855,923, 0,921,910,928,961, 0,1015,1069,1119,1133,1137,1357,1389,
1319 1608,1632,589, 0,1665, 0,1681,589, 0,1665,1719,589, 0,589, 0,1738,
1320 1742,1747,1747,1796,1814,1816,1850,785,785,785,785,785,785,785,785,923,
1321 1868,923,1871, 0,1850,1850,923,1874,642,1876,1887,1896, 0,589,589, 0,
1322 589,589,589,589,589,1899,589,1993,589,2093,1993,2093,2093,2093,2093,589,
1323 2093,2093,2093,1993,2165,589, 0,2337,2514,2514, 0, 0, 0,1015,1015,
1324 2688,2860,2860,2930, 0,2958,2093,1119,2972,1119,2688,3050,3144,1871,3190,
1325 1871,1137,589, 0,1632,3208, 0,1719,615, 0,3215,3219,3221,3219, 0, 0,
1326 0,3219,1719,3262,3312,3325, 0, 0,1747,3330,1850,3334,3415,3460,785,
1327 3473, 0,615,3478,3473,1850, 0,3483,3488,589, 0, 0,3491,3493,1899, 0,
1328 2337,2337,2688,1119,3498,575,589, 0, 0,1119, 0,2093,2093,2093,2093,
1329 2093,2093,1015,1119, 0,1119,1119,1719, 0,1719, 0,3540, 0,961,589,3221,
1330 615,3557,589, 0,3594,961,961,3312,3618,589, 0,3628,3312,3312,3689, 0,
1331 3325,3706,923,1133, 0,3712, 0,615, 0,3756,3770,3334,3776,3781,3783,
1332 0,3791, 0,3798,3802,3798, 0,3802,589,3706, 0, 0,3844,2337, 0, 0,
1333 0,1119, 0, 0, 0, 0,4028,3144,3050,4096,4145, 0,4211,4211,4261,3557,
1334 4211,4278, 0,4282,4289,4289,4289,4294,4294,4294,3557,589, 0,3557,1119,
1335 4300,4304,4309,1015,4311,1119,4358,4358,4358,4358,4411,4422,3628,3262,
1336 3262,3312,4428,3557,4467, 0,4477, 0, 0,961,4481,4486,4486,4490,4481,
1337 4495,4502,3557,2165, 0,4509,3802,4467,4517,442,4523, 0, 0, 0,4687,
1338 1119, 0,4788,1719, 0,4811,4815,4845,4911, 0, 0,4278,3689,4966,4977,
1339 4979,589,589, 0,4966,3689,5019,2165,2165,2165,2165,2165,2165,5038,2165,
1340 2165,2165,2165,5042,5091, 0,5091, 0,4509,5108,5113,3706, 0,1850,961,
1341 1850,5156, 0,5219,589,589,589,589,589, 0,589, 0,3262,3312,5279,4282,
1342 4278,4966, 0,1119,3557,4278,5296, 0, 0,5348,5368,5372, 0,5374,4811,
1343 4815,5408,5219,5279,5473,1119, 0,3689,4278,5492,5496, 0, 0,5498,5348,
1344 2165,5539,5539, 0,5555,5557, 0,5559,4509,5113, 0,1850, 0,5561,5565,
1345 5567,5603,5603, 0,1850, 0,5408,5372, 0,5674,5674,4977,5348,5565,961,
1346 5693
1347 };
1348
1349 static const unsigned char far ag_key_ends[] = {
1350 45,0, 76,84,69,82,0, 69,71,73,78,0, 79,83,69,0, 78,84,0, 84,0,
1351 69,65,84,69,0, 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0,
1352 79,80,0, 68,0, 69,67,85,84,69,0, 69,84,67,72,0, 82,65,78,84,0,
1353 76,85,68,69,0, 69,82,84,0, 79,67,75,0, 80,69,78,0,
1354 82,69,80,65,82,69,0, 86,79,75,69,0, 76,76,66,65,67,75,0,
1355 69,76,69,67,84,0, 80,68,65,84,69,0, 72,69,78,69,86,69,82,0, 47,0,
1356 45,0, 61,0, 68,0, 69,82,0, 71,0, 73,78,0, 87,69,69,78,0,
1357 68,68,0, 83,67,65,68,69,0, 67,84,69,82,0, 67,75,0, 79,83,69,0,
1358 85,77,78,0, 78,84,0, 84,0, 69,67,84,0, 78,85,69,0, 79,76,0,
1359 78,84,0, 65,66,0, 69,78,84,0, 79,82,0, 65,83,69,0, 65,68,77,0,
1360 77,65,76,0, 65,82,69,0, 69,84,69,0, 69,0, 84,79,82,0,
1361 83,84,73,78,67,84,0, 79,80,0, 68,0, 82,0, 80,84,0,
1362 85,83,73,86,69,0, 67,85,84,69,0, 83,84,83,0, 84,67,72,0,
1363 79,65,84,0, 73,71,78,0, 78,68,0, 79,77,0, 78,84,0, 85,80,0,
1364 86,73,78,71,0, 68,0, 77,69,68,73,65,84,69,76,89,0, 76,85,68,69,0,
1365 69,88,0, 69,82,84,0, 69,82,0, 83,69,67,84,0, 73,83,0, 69,89,0,
1366 78,71,84,72,0, 75,69,0, 76,0, 71,0, 88,0, 69,0, 84,0, 76,0,
1367 82,73,67,0, 89,0, 78,0, 73,79,78,0, 69,82,0, 67,75,65,71,69,0,
1368 80,65,82,69,0, 65,82,89,0, 73,76,69,71,69,83,0, 71,82,65,77,0,
1369 66,76,73,67,0, 69,82,69,78,67,69,83,0, 84,82,73,67,84,0,
1370 79,75,69,0, 76,76,66,65,67,75,0, 73,79,78,0, 69,67,84,0,
1371 65,82,69,0, 65,76,76,73,78,84,0, 77,69,0, 65,0, 65,0,
1372 82,82,79,82,0, 65,82,78,73,78,71,0, 83,84,82,0, 66,76,69,0,
1373 84,65,77,80,0, 65,78,83,76,65,84,69,0, 78,0, 85,69,0,
1374 68,65,84,69,0, 82,0, 78,71,0, 85,69,83,0, 67,72,65,82,0,
1375 69,87,0, 69,86,69,82,0, 69,0, 84,72,0, 82,75,0, 76,84,69,82,0,
1376 69,71,73,78,0, 79,83,69,0, 78,84,0, 84,0, 69,65,84,69,0,
1377 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0, 79,80,0, 68,0,
1378 69,67,85,84,69,0, 69,84,67,72,0, 82,65,78,84,0, 76,85,68,69,0,
1379 69,82,84,0, 79,67,75,0, 80,69,78,0, 82,69,80,65,82,69,0,
1380 86,79,75,69,0, 76,76,66,65,67,75,0, 69,76,69,67,84,0,
1381 80,68,65,84,69,0, 72,69,78,69,86,69,82,0, 45,0, 76,0, 71,0,
1382 65,82,0, 85,78,84,0, 82,82,69,78,84,0, 69,0, 83,84,73,78,67,84,0,
1383 79,85,82,0, 69,78,71,84,72,0, 88,0, 82,79,83,69,67,79,78,68,0,
1384 84,69,0, 78,84,72,0, 78,0, 67,79,78,68,0, 83,84,82,0,
1385 84,65,77,80,0, 65,78,83,76,65,84,69,0, 83,69,82,0, 69,65,82,0,
1386 45,0, 65,83,67,65,68,69,0, 82,79,77,0, 78,0,
1387 69,83,84,82,73,67,84,0, 69,84,0, 45,0, 69,83,84,82,73,67,84,0,
1388 76,0, 71,0, 65,82,0, 85,78,84,0, 82,82,69,78,84,0, 69,0,
1389 83,84,73,78,67,84,0, 79,85,82,0, 69,78,71,84,72,0, 88,0,
1390 82,79,83,69,67,79,78,68,0, 84,69,0, 78,84,72,0, 67,79,78,68,0,
1391 83,84,82,0, 84,65,77,80,0, 65,78,83,76,65,84,69,0, 83,69,82,0,
1392 69,65,82,0, 45,0, 45,0, 78,84,79,0, 78,0, 45,0, 78,76,89,0,
1393 45,0, 77,77,69,68,73,65,84,69,76,89,0, 78,0, 82,79,77,0, 45,0,
1394 78,68,69,88,0, 65,66,76,69,0, 78,73,81,85,69,0, 73,69,87,0, 45,0,
1395 79,84,0, 82,82,79,82,0, 65,82,78,73,78,71,0, 78,84,79,0, 45,0,
1396 76,84,69,82,0, 69,71,73,78,0, 79,83,69,0, 78,84,0, 84,0,
1397 69,65,84,69,0, 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0, 68,0,
1398 69,67,85,84,69,0, 69,84,67,72,0, 82,65,78,84,0, 76,85,68,69,0,
1399 69,82,84,0, 79,67,75,0, 80,69,78,0, 82,69,80,65,82,69,0,
1400 86,79,75,69,0, 76,76,66,65,67,75,0, 69,76,69,67,84,0,
1401 80,68,65,84,69,0, 69,78,69,86,69,82,0, 82,75,0, 45,0, 69,82,0,
1402 68,68,0, 69,67,84,0, 82,79,76,0, 69,65,84,69,84,65,66,0,
1403 65,68,77,0, 76,69,84,69,0, 88,69,67,85,84,69,0, 69,88,0,
1404 69,82,84,0, 69,70,69,82,69,78,67,69,83,0, 69,76,69,67,84,0,
1405 80,68,65,84,69,0, 45,0, 65,66,76,69,0, 45,0, 65,0, 65,0,
1406 77,77,69,68,73,65,84,69,76,89,0, 45,0, 69,67,76,65,82,69,0, 45,0,
1407 69,67,84,73,79,78,0, 78,68,69,88,0, 65,66,76,69,0,
1408 78,73,81,85,69,0, 73,69,87,0, 45,0, 78,0, 45,0, 78,0,
1409 65,66,76,69,0, 45,0, 79,82,69,73,71,78,0, 78,68,69,88,0,
1410 67,75,65,71,69,0, 77,65,82,89,0, 71,82,65,77,0, 65,66,76,69,0,
1411 73,69,87,0, 79,84,0, 82,82,79,82,0, 65,82,78,73,78,71,0,
1412 76,84,69,82,0, 69,71,73,78,0, 79,83,69,0, 78,84,0, 84,0,
1413 69,65,84,69,0, 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0, 68,0,
1414 69,67,85,84,69,0, 69,84,67,72,0, 82,65,78,84,0, 76,85,68,69,0,
1415 69,82,84,0, 79,67,75,0, 80,69,78,0, 82,69,80,65,82,69,0,
1416 86,79,75,69,0, 76,76,66,65,67,75,0, 69,76,69,67,84,0,
1417 80,68,65,84,69,0, 69,78,69,86,69,82,0, 82,75,0, 69,82,0, 68,68,0,
1418 69,67,84,0, 82,79,76,0, 69,65,84,69,84,65,66,0, 65,68,77,0,
1419 76,69,84,69,0, 88,69,67,85,84,69,0, 69,88,0, 69,82,84,0,
1420 69,70,69,82,69,78,67,69,83,0, 69,76,69,67,84,0, 80,68,65,84,69,0,
1421 65,66,76,69,0, 65,0, 65,0, 69,67,76,65,82,69,0, 78,0,
1422 78,68,69,88,0, 67,75,65,71,69,0, 79,71,82,65,77,0, 65,66,76,69,0,
1423 73,69,87,0, 76,84,69,82,0, 69,71,73,78,0, 79,83,69,0, 78,84,0,
1424 84,0, 69,65,84,69,0, 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0,
1425 68,0, 69,67,85,84,69,0, 69,84,67,72,0, 82,65,78,84,0,
1426 76,85,68,69,0, 69,82,84,0, 79,67,75,0, 80,69,78,0,
1427 82,69,80,65,82,69,0, 86,79,75,69,0, 76,76,66,65,67,75,0,
1428 69,76,69,67,84,0, 80,68,65,84,69,0, 72,69,78,69,86,69,82,0, 45,0,
1429 86,71,0, 65,82,0, 85,78,84,0, 82,82,69,78,84,0, 69,0,
1430 79,85,82,0, 69,78,71,84,72,0, 88,0, 82,79,83,69,67,79,78,68,0,
1431 84,69,0, 78,84,72,0, 67,79,78,68,0, 83,84,82,0, 84,65,77,80,0,
1432 65,78,83,76,65,84,69,0, 83,69,82,0, 69,65,82,0, 45,0, 86,71,0,
1433 65,82,0, 85,78,84,0, 82,82,69,78,84,0, 69,0, 79,85,82,0,
1434 69,78,71,84,72,0, 88,0, 82,79,83,69,67,79,78,68,0, 84,69,0,
1435 78,84,72,0, 78,0, 82,73,86,73,76,69,71,69,83,0, 79,78,68,0,
1436 69,67,84,0, 83,84,82,0, 84,65,77,80,0, 65,78,83,76,65,84,69,0,
1437 83,69,82,0, 69,65,82,0, 86,71,0, 65,82,0, 85,78,84,0,
1438 82,82,69,78,84,0, 69,0, 79,85,82,0, 69,78,71,84,72,0, 88,0,
1439 82,79,83,69,67,79,78,68,0, 84,69,0, 78,84,72,0, 67,79,78,68,0,
1440 83,84,82,0, 84,65,77,80,0, 65,78,83,76,65,84,69,0, 83,69,82,0,
1441 69,65,82,0, 45,0, 85,66,76,73,67,0, 34,0, 45,0, 61,0, 68,0,
1442 84,69,82,0, 68,0, 73,78,0, 87,69,69,78,0, 67,84,69,82,0,
1443 79,83,69,0, 78,84,0, 84,0, 69,65,84,69,0, 82,83,79,82,0, 69,0,
1444 77,65,76,0, 65,82,69,0, 69,84,69,0, 73,66,69,0, 79,80,0, 68,0,
1445 69,80,84,0, 67,85,84,69,0, 84,67,72,0, 79,65,84,0, 73,71,78,0,
1446 79,77,0, 78,84,0, 85,80,0, 86,73,78,71,0, 76,85,68,69,0,
1447 69,82,84,0, 69,82,0, 83,69,67,84,0, 75,69,0, 75,0, 71,0, 84,0,
1448 82,73,67,0, 69,78,0, 69,82,0, 80,65,82,69,0, 77,65,82,89,0,
1449 69,82,69,78,67,69,83,0, 79,75,69,0, 76,76,66,65,67,75,0,
1450 69,67,84,0, 65,76,76,73,78,84,0, 84,65,77,80,0, 73,79,78,0,
1451 68,65,84,69,0, 73,78,71,0, 85,69,83,0, 67,72,65,82,0,
1452 69,86,69,82,0, 69,0, 84,72,0, 45,0, 61,0, 61,0, 68,0,
1453 84,69,82,0, 68,0, 73,78,0, 87,69,69,78,0, 67,84,69,82,0,
1454 79,83,69,0, 78,84,0, 84,0, 69,65,84,69,0, 69,0, 77,65,76,0,
1455 65,82,69,0, 69,84,69,0, 73,66,69,0, 79,80,0, 68,0, 69,80,84,0,
1456 67,85,84,69,0, 84,67,72,0, 79,65,84,0, 73,71,78,0, 79,77,0,
1457 78,84,0, 85,80,0, 86,73,78,71,0, 76,85,68,69,0, 69,82,84,0,
1458 69,82,0, 83,69,67,84,0, 75,69,0, 75,0, 71,0, 84,0, 82,73,67,0,
1459 69,78,0, 69,82,0, 80,65,82,69,0, 77,65,82,89,0,
1460 69,82,69,78,67,69,83,0, 79,75,69,0, 76,76,66,65,67,75,0,
1461 69,67,84,0, 65,76,76,73,78,84,0, 84,65,77,80,0, 73,79,78,0,
1462 68,65,84,69,0, 73,78,71,0, 85,69,83,0, 67,72,65,82,0,
1463 69,86,69,82,0, 69,0, 84,72,0, 69,84,0, 76,84,69,82,0,
1464 69,71,73,78,0, 79,83,69,0, 78,84,0, 84,0, 69,65,84,69,0,
1465 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0, 68,0,
1466 69,67,85,84,69,0, 69,84,67,72,0, 82,65,78,84,0, 76,85,68,69,0,
1467 69,82,84,0, 79,67,75,0, 80,69,78,0, 82,69,80,65,82,69,0,
1468 86,79,75,69,0, 76,76,66,65,67,75,0, 69,76,69,67,84,0,
1469 68,65,84,69,0, 73,78,71,0, 72,69,78,69,86,69,82,0, 78,84,79,0,
1470 83,73,78,71,0, 76,84,69,82,0, 69,71,73,78,0, 79,83,69,0, 78,84,0,
1471 84,0, 69,65,84,69,0, 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0,
1472 68,0, 69,67,85,84,69,0, 69,84,67,72,0, 82,65,78,84,0,
1473 76,85,68,69,0, 69,82,84,0, 79,67,75,0, 80,69,78,0,
1474 82,69,80,65,82,69,0, 86,79,75,69,0, 76,76,66,65,67,75,0,
1475 69,76,69,67,84,0, 80,68,65,84,69,0, 69,86,69,82,0, 69,0, 45,0,
1476 78,68,69,88,0, 78,68,69,88,0, 45,0, 79,78,84,73,78,85,69,0, 79,0,
1477 45,0, 86,71,0, 69,84,87,69,69,78,0, 65,82,0, 85,78,84,0,
1478 82,82,69,78,84,0, 69,0, 88,73,83,84,83,0, 79,85,78,68,0,
1479 79,85,82,0, 78,0, 78,71,84,72,0, 75,69,0, 88,0,
1480 82,79,83,69,67,79,78,68,0, 84,69,0, 78,84,72,0, 84,0, 76,76,0,
1481 67,79,78,68,0, 83,84,82,0, 84,65,77,80,0, 65,78,83,76,65,84,69,0,
1482 83,69,82,0, 69,65,82,0, 79,85,78,68,0, 79,78,84,73,78,85,69,0,
1483 79,0, 45,0, 76,84,69,82,0, 69,71,73,78,0, 79,83,69,0, 78,84,0,
1484 84,0, 69,65,84,69,0, 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0,
1485 68,0, 69,67,85,84,69,0, 69,84,67,72,0, 82,65,78,84,0,
1486 76,85,68,69,0, 69,82,84,0, 79,67,75,0, 80,69,78,0,
1487 82,69,80,65,82,69,0, 86,79,75,69,0, 76,76,66,65,67,75,0,
1488 69,76,69,67,84,0, 80,68,65,84,69,0, 72,69,78,69,86,69,82,0, 78,0,
1489 82,73,86,73,76,69,71,69,83,0, 82,79,77,0, 78,84,79,0,
1490 69,67,84,73,79,78,0, 85,82,83,79,82,0, 45,0, 79,76,85,77,78,0,
1491 84,65,66,65,83,69,0, 76,69,84,69,0, 78,68,69,88,0,
1492 67,75,65,71,69,0, 79,71,82,65,77,0, 65,66,76,69,0,
1493 80,68,65,84,69,0, 79,76,85,77,78,0, 65,66,76,69,0, 39,0, 45,0,
1494 61,0, 68,0, 84,69,82,0, 68,0, 73,78,0, 87,69,69,78,0,
1495 79,83,69,0, 78,84,0, 84,0, 69,65,84,69,0, 76,65,82,69,0,
1496 69,84,69,0, 67,82,73,66,69,0, 79,80,0, 68,0, 69,80,84,0,
1497 67,85,84,69,0, 84,67,72,0, 73,71,78,0, 79,77,0, 78,84,0,
1498 85,80,0, 65,86,73,78,71,0, 76,85,68,69,0, 69,82,84,0,
1499 82,83,69,67,84,0, 75,69,0, 67,75,0, 79,84,0, 69,78,0, 69,82,0,
1500 80,65,82,69,0, 77,65,82,89,0, 69,82,69,78,67,69,83,0, 79,75,69,0,
1501 76,76,66,65,67,75,0, 69,76,69,67,84,0, 73,79,78,0, 68,65,84,69,0,
1502 69,86,69,82,0, 69,0, 84,72,0, 45,0, 61,0, 84,69,82,0, 68,0,
1503 73,78,0, 87,69,69,78,0, 79,83,69,0, 78,84,0, 84,0,
1504 69,65,84,69,0, 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0, 68,0,
1505 69,80,84,0, 67,85,84,69,0, 84,67,72,0, 82,0, 79,77,0, 78,84,0,
1506 85,80,0, 65,86,73,78,71,0, 76,85,68,69,0, 69,82,84,0,
1507 82,83,69,67,84,0, 75,69,0, 67,75,0, 79,84,0, 69,78,0, 69,82,0,
1508 82,69,80,65,82,69,0, 86,79,75,69,0, 76,76,66,65,67,75,0,
1509 69,76,69,67,84,0, 73,79,78,0, 68,65,84,69,0, 69,86,69,82,0, 69,0,
1510 84,72,0, 45,0, 68,0, 84,69,82,0, 69,71,73,78,0, 79,83,69,0,
1511 78,84,0, 84,0, 69,65,84,69,0, 76,65,82,69,0, 69,84,69,0,
1512 67,82,73,66,69,0, 79,80,0, 68,0, 69,67,85,84,69,0, 84,67,72,0,
1513 73,71,78,0, 82,65,78,84,0, 76,85,68,69,0, 69,82,84,0, 79,67,75,0,
1514 79,84,0, 80,69,78,0, 80,65,82,69,0, 77,65,82,89,0,
1515 69,82,69,78,67,69,83,0, 79,75,69,0, 76,76,66,65,67,75,0,
1516 69,76,69,67,84,0, 80,68,65,84,69,0, 72,69,78,69,86,69,82,0, 45,0,
1517 61,0, 84,69,82,0, 68,0, 73,78,0, 87,69,69,78,0, 79,83,69,0,
1518 78,84,0, 84,0, 69,65,84,69,0, 76,65,82,69,0, 69,84,69,0,
1519 67,82,73,66,69,0, 68,0, 69,80,84,0, 67,85,84,69,0, 84,67,72,0,
1520 82,0, 79,77,0, 78,84,0, 85,80,0, 86,73,78,71,0, 76,85,68,69,0,
1521 69,82,84,0, 82,83,69,67,84,0, 75,69,0, 67,75,0, 79,84,0,
1522 69,78,0, 69,82,0, 82,69,80,65,82,69,0, 86,79,75,69,0,
1523 76,76,66,65,67,75,0, 69,67,84,0, 73,79,78,0, 68,65,84,69,0,
1524 69,86,69,82,0, 69,0, 84,72,0, 45,0, 61,0, 84,69,82,0, 68,0,
1525 73,78,0, 87,69,69,78,0, 79,83,69,0, 78,84,0, 84,0,
1526 69,65,84,69,0, 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0, 68,0,
1527 69,80,84,0, 67,85,84,69,0, 84,67,72,0, 82,0, 79,77,0, 78,84,0,
1528 85,80,0, 86,73,78,71,0, 76,85,68,69,0, 69,82,84,0,
1529 82,83,69,67,84,0, 75,69,0, 67,75,0, 79,84,0, 69,78,0, 69,82,0,
1530 82,69,80,65,82,69,0, 86,79,75,69,0, 76,76,66,65,67,75,0,
1531 69,67,84,0, 73,79,78,0, 68,65,84,69,0, 69,86,69,82,0, 69,0,
1532 84,72,0, 61,0, 84,69,82,0, 68,0, 73,78,0, 87,69,69,78,0,
1533 79,83,69,0, 78,84,0, 84,0, 69,65,84,69,0, 76,65,82,69,0,
1534 69,84,69,0, 67,82,73,66,69,0, 68,0, 69,80,84,0, 67,85,84,69,0,
1535 84,67,72,0, 82,0, 79,77,0, 78,84,0, 85,80,0, 86,73,78,71,0,
1536 76,85,68,69,0, 69,82,84,0, 82,83,69,67,84,0, 75,69,0, 67,75,0,
1537 79,84,0, 69,78,0, 69,82,0, 82,69,80,65,82,69,0, 86,79,75,69,0,
1538 76,76,66,65,67,75,0, 69,67,84,0, 73,79,78,0, 68,65,84,69,0,
1539 69,86,69,82,0, 69,0, 84,72,0, 61,0, 84,69,82,0, 68,0, 73,78,0,
1540 87,69,69,78,0, 79,83,69,0, 78,84,0, 84,0, 69,65,84,69,0,
1541 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0, 68,0, 69,80,84,0,
1542 67,85,84,69,0, 84,67,72,0, 82,0, 79,77,0, 78,84,0, 85,80,0,
1543 86,73,78,71,0, 76,85,68,69,0, 69,82,84,0, 82,83,69,67,84,0,
1544 75,69,0, 67,75,0, 79,84,0, 69,78,0, 69,82,0,
1545 82,69,80,65,82,69,0, 86,79,75,69,0, 76,76,66,65,67,75,0,
1546 69,67,84,0, 73,79,78,0, 68,65,84,69,0, 69,86,69,82,0, 69,0,
1547 84,72,0, 45,0, 76,0, 71,0, 65,82,0, 85,78,84,0,
1548 82,82,69,78,84,0, 69,0, 83,84,73,78,67,84,0, 88,73,83,84,83,0,
1549 79,82,69,73,71,78,0, 79,85,82,0, 69,78,71,84,72,0, 88,0,
1550 82,79,83,69,67,79,78,68,0, 84,69,0, 78,84,72,0, 84,0, 76,76,0,
1551 82,73,77,65,82,89,0, 79,78,68,0, 69,67,84,0, 83,84,82,0,
1552 84,65,77,80,0, 65,78,83,76,65,84,69,0, 83,69,82,0, 69,65,82,0,
1553 45,0, 65,84,69,0, 70,0, 84,65,77,80,0, 65,84,69,0,
1554 84,65,77,80,0, 61,0, 84,69,82,0, 68,0, 73,78,0, 87,69,69,78,0,
1555 79,83,69,0, 78,84,0, 84,0, 69,65,84,69,0, 76,65,82,69,0,
1556 69,84,69,0, 67,82,73,66,69,0, 68,0, 69,80,84,0, 67,85,84,69,0,
1557 84,67,72,0, 82,0, 79,77,0, 78,84,0, 85,80,0, 65,86,73,78,71,0,
1558 76,85,68,69,0, 69,82,84,0, 82,83,69,67,84,0, 75,69,0, 67,75,0,
1559 79,84,0, 69,78,0, 69,82,0, 82,69,80,65,82,69,0, 86,79,75,69,0,
1560 76,76,66,65,67,75,0, 69,76,69,67,84,0, 73,79,78,0, 68,65,84,69,0,
1561 69,86,69,82,0, 69,0, 84,72,0, 82,79,77,0, 78,84,79,0, 45,0,
1562 86,71,0, 65,82,0, 85,78,84,0, 82,82,69,78,84,0, 69,0,
1563 82,79,77,0, 79,85,82,0, 78,84,79,0, 69,78,71,84,72,0, 88,0,
1564 82,79,83,69,67,79,78,68,0, 84,69,0, 78,84,72,0, 67,79,78,68,0,
1565 83,84,82,0, 84,65,77,80,0, 65,78,83,76,65,84,69,0, 83,69,82,0,
1566 69,65,82,0, 45,0, 85,76,76,0, 45,0, 69,83,67,82,73,80,84,79,82,0,
1567 69,83,67,82,73,80,84,79,82,0, 69,76,69,67,84,0, 65,76,85,69,83,0,
1568 45,0, 86,71,0, 65,82,0, 85,78,84,0, 82,82,69,78,84,0, 69,0,
1569 88,73,83,84,83,0, 79,85,82,0, 69,78,71,84,72,0, 88,0,
1570 82,79,83,69,67,79,78,68,0, 84,69,0, 78,84,72,0, 79,84,0,
1571 67,79,78,68,0, 83,84,82,0, 84,65,77,80,0, 65,78,83,76,65,84,69,0,
1572 83,69,82,0, 69,65,82,0, 86,71,0, 65,82,0, 85,78,84,0,
1573 82,82,69,78,84,0, 69,0, 88,73,83,84,83,0, 79,85,82,0,
1574 69,78,71,84,72,0, 88,0, 82,79,83,69,67,79,78,68,0, 84,69,0,
1575 78,84,72,0, 79,84,0, 67,79,78,68,0, 83,84,82,0, 84,65,77,80,0,
1576 65,78,83,76,65,84,69,0, 83,69,82,0, 69,65,82,0, 83,0, 45,0,
1577 79,0, 79,0, 45,0, 84,69,82,0, 71,0, 68,68,0, 65,82,0,
1578 69,67,84,0, 82,79,76,0, 78,84,0, 69,65,84,69,84,65,66,0,
1579 82,82,69,78,84,0, 69,0, 65,68,77,0, 76,69,84,69,0, 82,0,
1580 69,67,85,84,69,0, 79,82,69,73,71,78,0, 79,85,82,0, 69,88,0,
1581 69,82,84,0, 79,0, 73,83,0, 78,71,84,72,0, 67,65,76,0, 88,0,
1582 82,79,83,69,67,79,78,68,0, 84,69,0, 78,84,72,0, 85,76,76,0,
1583 82,73,77,65,82,89,0, 69,70,69,82,69,78,67,69,83,0, 79,78,68,0,
1584 69,67,84,0, 83,84,82,0, 84,65,77,80,0, 65,78,83,76,65,84,69,0,
1585 68,65,84,69,0, 82,0, 69,65,82,0, 76,84,69,82,0, 68,68,0,
1586 69,67,84,0, 82,79,76,0, 69,65,84,69,84,65,66,0, 65,68,77,0,
1587 76,69,84,69,0, 88,69,67,85,84,69,0, 69,88,0, 69,82,84,0,
1588 69,70,69,82,69,78,67,69,83,0, 69,76,69,67,84,0, 80,68,65,84,69,0,
1589 65,84,65,66,65,83,69,0, 78,68,69,88,0, 67,75,65,71,69,0,
1590 79,71,82,65,77,0, 65,66,76,69,0, 78,0, 45,0, 79,82,0,
1591 73,84,72,0, 79,82,0, 73,84,72,0, 83,0, 68,68,0, 82,79,80,0,
1592 79,82,69,73,71,78,0, 82,73,77,65,82,89,0, 73,83,84,73,78,67,84,0,
1593 76,84,69,82,0, 69,71,73,78,0, 79,83,69,0, 78,84,0, 84,0,
1594 69,65,84,69,0, 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0, 68,0,
1595 69,67,85,84,69,0, 69,84,67,72,0, 78,84,0, 85,80,0,
1596 65,86,73,78,71,0, 76,85,68,69,0, 69,82,84,0, 79,67,75,0,
1597 80,69,78,0, 82,69,80,65,82,69,0, 86,79,75,69,0,
1598 76,76,66,65,67,75,0, 69,76,69,67,84,0, 80,68,65,84,69,0,
1599 69,86,69,82,0, 69,0, 69,76,69,67,84,0, 76,84,69,82,0,
1600 69,71,73,78,0, 79,83,69,0, 78,84,0, 84,0, 69,65,84,69,0,
1601 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0, 68,0, 69,80,84,0,
1602 67,85,84,69,0, 69,84,67,72,0, 82,65,78,84,0, 76,85,68,69,0,
1603 69,82,84,0, 69,82,83,69,67,84,0, 79,67,75,0, 80,69,78,0,
1604 82,69,80,65,82,69,0, 86,79,75,69,0, 76,76,66,65,67,75,0,
1605 69,76,69,67,84,0, 73,79,78,0, 68,65,84,69,0,
1606 72,69,78,69,86,69,82,0, 65,84,69,0, 70,0, 84,65,77,80,0, 61,0,
1607 69,84,87,69,69,78,0, 73,75,69,0, 79,84,0, 84,69,82,0, 68,0,
1608 69,71,73,78,0, 79,83,69,0, 78,84,0, 84,0, 69,65,84,69,0,
1609 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0, 68,0, 69,80,84,0,
1610 67,85,84,69,0, 84,67,72,0, 82,0, 78,84,0, 85,80,0,
1611 65,86,73,78,71,0, 76,85,68,69,0, 69,82,84,0, 69,82,83,69,67,84,0,
1612 79,67,75,0, 69,78,0, 69,82,0, 82,69,80,65,82,69,0, 86,79,75,69,0,
1613 76,76,66,65,67,75,0, 69,76,69,67,84,0, 73,79,78,0, 68,65,84,69,0,
1614 69,78,69,86,69,82,0, 84,72,0, 79,82,69,73,71,78,0,
1615 82,73,77,65,82,89,0, 45,0, 82,79,77,0, 79,0, 45,0, 86,71,0,
1616 65,82,0, 85,78,84,0, 82,82,69,78,84,0, 69,0,
1617 88,67,76,85,83,73,86,69,0, 79,85,82,0, 69,78,71,84,72,0, 88,0,
1618 82,79,83,69,67,79,78,68,0, 84,69,0, 78,84,72,0, 67,79,78,68,0,
1619 65,82,69,0, 83,84,82,0, 84,65,77,80,0, 65,78,83,76,65,84,69,0,
1620 83,69,82,0, 69,65,82,0, 88,67,76,85,83,73,86,69,0, 72,65,82,69,0,
1621 45,0, 72,69,67,75,0, 79,76,68,0, 79,76,68,0, 79,82,0, 45,0,
1622 84,0, 76,76,0, 45,0, 69,89,0, 69,89,0, 68,0, 84,69,82,0,
1623 69,71,73,78,0, 79,83,69,0, 78,84,0, 84,0, 69,65,84,69,0,
1624 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0, 79,80,0, 68,0,
1625 69,67,85,84,69,0, 84,67,72,0, 82,69,73,71,78,0, 82,65,78,84,0,
1626 76,85,68,69,0, 69,82,84,0, 79,67,75,0, 80,69,78,0, 80,65,82,69,0,
1627 77,65,82,89,0, 86,79,75,69,0, 76,76,66,65,67,75,0,
1628 69,76,69,67,84,0, 80,68,65,84,69,0, 72,69,78,69,86,69,82,0, 45,0,
1629 61,0, 68,0, 84,69,82,0, 68,0, 73,78,0, 87,69,69,78,0,
1630 79,83,69,0, 78,84,0, 84,0, 69,65,84,69,0, 76,65,82,69,0,
1631 69,84,69,0, 67,82,73,66,69,0, 79,80,0, 68,0, 69,80,84,0,
1632 67,85,84,69,0, 84,67,72,0, 73,71,78,0, 79,77,0, 78,84,0,
1633 85,80,0, 86,73,78,71,0, 76,85,68,69,0, 69,82,84,0,
1634 82,83,69,67,84,0, 75,69,0, 67,75,0, 79,84,0, 69,78,0, 69,82,0,
1635 80,65,82,69,0, 77,65,82,89,0, 69,82,69,78,67,69,83,0, 79,75,69,0,
1636 76,76,66,65,67,75,0, 69,67,84,0, 73,79,78,0, 68,65,84,69,0,
1637 65,76,85,69,83,0, 69,86,69,82,0, 69,0, 84,72,0, 45,0, 76,0,
1638 89,0, 71,0, 65,82,0, 85,78,84,0, 82,82,69,78,84,0, 69,0,
1639 79,85,82,0, 69,78,71,84,72,0, 88,0, 82,79,83,69,67,79,78,68,0,
1640 84,69,0, 78,84,72,0, 85,76,76,0, 67,79,78,68,0, 77,69,0,
1641 83,84,82,0, 84,65,77,80,0, 65,78,83,76,65,84,69,0, 83,69,82,0,
1642 69,65,82,0, 86,71,0, 65,82,0, 85,78,84,0, 82,82,69,78,84,0,
1643 69,0, 79,85,82,0, 69,78,71,84,72,0, 88,0,
1644 82,79,83,69,67,79,78,68,0, 84,69,0, 78,84,72,0, 85,76,76,0,
1645 67,79,78,68,0, 83,84,82,0, 84,65,77,80,0, 65,78,83,76,65,84,69,0,
1646 83,69,82,0, 69,65,82,0, 76,84,69,82,0, 69,71,73,78,0, 79,83,69,0,
1647 78,84,0, 84,0, 69,65,84,69,0, 76,65,82,69,0, 69,84,69,0,
1648 67,82,73,66,69,0, 68,0, 69,80,84,0, 67,85,84,69,0, 84,67,72,0,
1649 82,0, 78,84,0, 85,80,0, 65,86,73,78,71,0, 76,85,68,69,0,
1650 69,82,84,0, 69,82,83,69,67,84,0, 79,67,75,0, 69,78,0, 68,69,82,0,
1651 82,69,80,65,82,69,0, 86,79,75,69,0, 76,76,66,65,67,75,0,
1652 69,76,69,67,84,0, 73,79,78,0, 68,65,84,69,0, 69,86,69,82,0, 69,0,
1653 84,72,0, 76,84,69,82,0, 69,71,73,78,0, 79,83,69,0, 78,84,0,
1654 84,0, 69,65,84,69,0, 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0,
1655 68,0, 69,67,85,84,69,0, 69,84,67,72,0, 78,84,0, 85,80,0,
1656 65,86,73,78,71,0, 76,85,68,69,0, 69,82,84,0, 79,67,75,0,
1657 80,69,78,0, 82,69,80,65,82,69,0, 86,79,75,69,0,
1658 76,76,66,65,67,75,0, 69,76,69,67,84,0, 80,68,65,84,69,0,
1659 72,69,78,69,86,69,82,0, 88,67,69,80,84,0,
1660 78,84,69,82,83,69,67,84,0, 78,73,79,78,0, 85,82,82,69,78,84,0,
1661 85,76,76,0, 83,69,82,0, 45,0, 76,76,0, 69,76,69,67,84,0,
1662 76,76,0, 69,76,69,67,84,0, 45,0, 83,69,82,0, 83,69,82,0, 84,0,
1663 76,76,0, 69,84,87,69,69,78,0, 78,0, 73,75,69,0, 45,0, 76,0,
1664 89,0, 71,0, 65,82,0, 85,78,84,0, 82,82,69,78,84,0, 69,0,
1665 79,85,82,0, 69,78,71,84,72,0, 88,0, 82,79,83,69,67,79,78,68,0,
1666 84,69,0, 78,84,72,0, 67,79,78,68,0, 77,69,0, 83,84,82,0,
1667 84,65,77,80,0, 65,78,83,76,65,84,69,0, 83,69,82,0, 69,65,82,0,
1668 76,0, 89,0, 71,0, 65,82,0, 85,78,84,0, 82,82,69,78,84,0, 69,0,
1669 79,85,82,0, 69,78,71,84,72,0, 88,0, 82,79,83,69,67,79,78,68,0,
1670 84,69,0, 78,84,72,0, 67,79,78,68,0, 77,69,0, 83,84,82,0,
1671 84,65,77,80,0, 65,78,83,76,65,84,69,0, 83,69,82,0, 69,65,82,0,
1672 78,68,0, 82,0, 45,0, 69,76,69,67,84,0, 67,84,69,82,0, 84,69,0,
1673 77,65,76,0, 76,79,65,84,0, 71,69,82,0, 79,78,71,0, 82,73,67,0,
1674 77,65,76,76,73,78,84,0, 84,65,77,80,0, 65,82,67,72,65,82,0,
1675 79,82,0, 79,84,0, 69,70,69,82,69,78,67,69,83,0, 85,66,76,73,67,0,
1676 45,0, 79,68,69,0, 79,68,69,0, 45,0, 79,82,0, 45,0, 73,84,0,
1677 69,84,67,72,0, 69,76,69,67,84,0, 80,68,65,84,69,0,
1678 69,70,69,82,69,78,67,69,83,0, 79,82,69,73,71,78,0, 78,68,69,88,0,
1679 67,75,65,71,69,0, 77,65,82,89,0, 71,82,65,77,0, 65,66,76,69,0,
1680 73,69,87,0, 85,82,0, 83,79,0, 73,83,0, 79,67,65,76,0, 83,65,0,
1681 45,0, 61,0, 84,69,82,0, 68,0, 67,0, 73,78,0, 87,69,69,78,0,
1682 79,83,69,0, 78,84,0, 84,0, 69,65,84,69,0, 76,65,82,69,0,
1683 69,84,69,0, 73,66,69,0, 68,0, 69,80,84,0, 67,85,84,69,0,
1684 84,67,72,0, 82,0, 79,77,0, 78,84,0, 85,80,0, 86,73,78,71,0,
1685 76,85,68,69,0, 69,82,84,0, 82,83,69,67,84,0, 75,69,0, 67,75,0,
1686 79,84,0, 69,78,0, 69,82,0, 82,69,80,65,82,69,0, 86,79,75,69,0,
1687 76,76,66,65,67,75,0, 69,67,84,0, 73,79,78,0, 68,65,84,69,0,
1688 69,86,69,82,0, 69,0, 84,72,0, 45,0, 68,0, 84,69,82,0, 68,0,
1689 69,71,73,78,0, 79,83,69,0, 78,84,0, 84,0, 69,65,84,69,0,
1690 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0, 79,80,0, 68,0,
1691 69,80,84,0, 67,85,84,69,0, 84,67,72,0, 73,71,78,0, 78,84,0,
1692 85,80,0, 65,86,73,78,71,0, 76,85,68,69,0, 69,82,84,0,
1693 69,82,83,69,67,84,0, 79,67,75,0, 79,84,0, 69,78,0, 69,82,0,
1694 80,65,82,69,0, 77,65,82,89,0, 69,82,69,78,67,69,83,0, 79,75,69,0,
1695 76,76,66,65,67,75,0, 69,76,69,67,84,0, 73,79,78,0, 68,65,84,69,0,
1696 69,86,69,82,0, 69,0, 84,72,0, 45,0, 89,0, 89,0, 76,84,69,82,0,
1697 69,71,73,78,0, 79,83,69,0, 78,84,0, 84,0, 69,65,84,69,0,
1698 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0, 68,0,
1699 69,67,85,84,69,0, 69,84,67,72,0, 82,65,78,84,0, 65,86,73,78,71,0,
1700 76,85,68,69,0, 69,82,84,0, 79,67,75,0, 80,69,78,0,
1701 82,69,80,65,82,69,0, 86,79,75,69,0, 76,76,66,65,67,75,0,
1702 69,76,69,67,84,0, 80,68,65,84,69,0, 72,69,78,69,86,69,82,0,
1703 76,84,69,82,0, 69,71,73,78,0, 79,83,69,0, 78,84,0, 84,0,
1704 69,65,84,69,0, 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0, 68,0,
1705 69,80,84,0, 67,85,84,69,0, 84,67,72,0, 82,0, 78,84,0, 85,80,0,
1706 65,86,73,78,71,0, 76,85,68,69,0, 69,82,84,0, 69,82,83,69,67,84,0,
1707 79,67,75,0, 69,78,0, 68,69,82,0, 82,69,80,65,82,69,0,
1708 86,79,75,69,0, 76,76,66,65,67,75,0, 69,76,69,67,84,0, 73,79,78,0,
1709 68,65,84,69,0, 69,78,69,86,69,82,0, 84,72,0, 86,71,0, 65,82,0,
1710 85,78,84,0, 82,82,69,78,84,0, 69,0, 79,85,82,0, 69,78,71,84,72,0,
1711 88,0, 82,79,83,69,67,79,78,68,0, 84,69,0, 78,84,72,0, 79,78,68,0,
1712 69,67,84,0, 83,84,82,0, 84,65,77,80,0, 65,78,83,76,65,84,69,0,
1713 83,69,82,0, 69,65,82,0, 85,76,76,0, 78,68,0, 76,84,69,82,0,
1714 69,71,73,78,0, 79,83,69,0, 78,84,0, 84,0, 69,65,84,69,0,
1715 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0, 68,0, 69,80,84,0,
1716 67,85,84,69,0, 69,84,67,72,0, 82,65,78,84,0, 76,85,68,69,0,
1717 69,82,84,0, 69,82,83,69,67,84,0, 79,67,75,0, 80,69,78,0,
1718 82,69,80,65,82,69,0, 86,79,75,69,0, 76,76,66,65,67,75,0,
1719 69,76,69,67,84,0, 73,79,78,0, 68,65,84,69,0, 69,78,69,86,69,82,0,
1720 84,72,0, 45,0, 65,82,67,72,65,82,0, 65,82,67,72,65,82,0, 68,0,
1721 84,69,82,0, 69,71,73,78,0, 79,83,69,0, 78,84,0, 84,0,
1722 69,65,84,69,0, 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0,
1723 79,80,0, 68,0, 69,67,85,84,69,0, 84,67,72,0, 73,71,78,0,
1724 82,65,78,84,0, 76,85,68,69,0, 69,82,84,0, 79,67,75,0, 79,84,0,
1725 80,69,78,0, 80,65,82,69,0, 77,65,82,89,0, 69,82,69,78,67,69,83,0,
1726 79,75,69,0, 76,76,66,65,67,75,0, 69,76,69,67,84,0,
1727 80,68,65,84,69,0, 72,69,78,69,86,69,82,0, 79,82,0, 79,84,0,
1728 82,73,77,65,82,89,0, 69,70,69,82,69,78,67,69,83,0, 73,84,0,
1729 76,84,69,82,0, 69,71,73,78,0, 79,83,69,0, 78,84,0, 84,0,
1730 69,65,84,69,0, 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0, 68,0,
1731 69,80,84,0, 67,85,84,69,0, 84,67,72,0, 82,0, 82,65,78,84,0,
1732 76,85,68,69,0, 69,82,84,0, 69,82,83,69,67,84,0, 79,67,75,0,
1733 69,78,0, 68,69,82,0, 82,69,80,65,82,69,0, 86,79,75,69,0,
1734 76,76,66,65,67,75,0, 69,76,69,67,84,0, 73,79,78,0, 68,65,84,69,0,
1735 72,69,78,69,86,69,82,0, 68,0, 84,69,82,0, 69,71,73,78,0,
1736 79,83,69,0, 78,84,0, 84,0, 69,65,84,69,0, 76,65,82,69,0,
1737 69,84,69,0, 67,82,73,66,69,0, 79,80,0, 68,0, 69,67,85,84,69,0,
1738 84,67,72,0, 73,71,78,0, 82,65,78,84,0, 76,85,68,69,0, 69,82,84,0,
1739 79,67,75,0, 80,69,78,0, 80,65,82,69,0, 77,65,82,89,0,
1740 69,82,69,78,67,69,83,0, 79,75,69,0, 76,76,66,65,67,75,0,
1741 69,76,69,67,84,0, 80,68,65,84,69,0, 72,69,78,69,86,69,82,0,
1742 76,84,69,82,0, 69,71,73,78,0, 79,83,69,0, 78,84,0, 84,0,
1743 69,65,84,69,0, 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0, 68,0,
1744 69,80,84,0, 67,85,84,69,0, 84,67,72,0, 82,0, 82,65,78,84,0,
1745 65,86,73,78,71,0, 76,85,68,69,0, 69,82,84,0, 69,82,83,69,67,84,0,
1746 79,67,75,0, 69,78,0, 68,69,82,0, 82,69,80,65,82,69,0,
1747 86,79,75,69,0, 76,76,66,65,67,75,0, 69,76,69,67,84,0, 73,79,78,0,
1748 68,65,84,69,0, 69,78,69,86,69,82,0, 84,72,0, 72,69,67,75,0, 68,0,
1749 84,69,82,0, 69,71,73,78,0, 79,83,69,0, 78,84,0, 84,0,
1750 69,65,84,69,0, 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0,
1751 79,80,0, 68,0, 69,67,85,84,69,0, 84,67,72,0, 73,71,78,0,
1752 82,65,78,84,0, 76,85,68,69,0, 69,82,84,0, 79,67,75,0, 79,84,0,
1753 69,78,0, 80,65,82,69,0, 77,65,82,89,0, 69,82,69,78,67,69,83,0,
1754 79,75,69,0, 76,76,66,65,67,75,0, 69,76,69,67,84,0,
1755 80,68,65,84,69,0, 72,69,78,69,86,69,82,0, 45,0, 65,84,65,0,
1756 65,84,65,0, 69,84,67,72,0, 80,68,65,84,69,0, 76,84,69,82,0,
1757 69,71,73,78,0, 79,83,69,0, 78,84,0, 84,0, 69,65,84,69,0,
1758 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0, 68,0,
1759 69,67,85,84,69,0, 84,67,72,0, 82,0, 82,65,78,84,0, 76,85,68,69,0,
1760 69,82,84,0, 79,67,75,0, 80,69,78,0, 82,69,80,65,82,69,0,
1761 86,79,75,69,0, 76,76,66,65,67,75,0, 69,76,69,67,84,0,
1762 80,68,65,84,69,0, 72,69,78,69,86,69,82,0, 84,69,82,0, 68,0,
1763 69,71,73,78,0, 79,83,69,0, 78,84,0, 84,0, 69,65,84,69,0,
1764 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0, 68,0, 69,80,84,0,
1765 67,85,84,69,0, 84,67,72,0, 82,0, 82,65,78,84,0, 76,85,68,69,0,
1766 69,82,84,0, 69,82,83,69,67,84,0, 79,67,75,0, 69,78,0, 69,82,0,
1767 82,69,80,65,82,69,0, 86,79,75,69,0, 76,76,66,65,67,75,0,
1768 69,76,69,67,84,0, 73,79,78,0, 68,65,84,69,0, 69,78,69,86,69,82,0,
1769 84,72,0, 45,0, 80,84,73,79,78,0, 80,84,73,79,78,0,
1770 69,76,69,84,69,0, 80,68,65,84,69,0, 84,69,82,0, 67,0,
1771 69,71,73,78,0, 79,83,69,0, 78,84,0, 84,0, 69,65,84,69,0,
1772 76,65,82,69,0, 69,84,69,0, 73,66,69,0, 68,0, 69,67,85,84,69,0,
1773 84,67,72,0, 82,0, 82,65,78,84,0, 76,85,68,69,0, 69,82,84,0,
1774 79,67,75,0, 80,69,78,0, 82,69,80,65,82,69,0, 86,79,75,69,0,
1775 76,76,66,65,67,75,0, 69,76,69,67,84,0, 80,68,65,84,69,0,
1776 72,69,78,69,86,69,82,0, 78,76,89,0, 70,0, 69,84,67,72,0,
1777 65,83,67,65,68,69,0, 69,83,84,82,73,67,84,0, 69,84,0,
1778 69,83,84,82,73,67,84,0, 80,68,65,84,69,0, 45,0, 76,84,69,82,0,
1779 69,71,73,78,0, 79,83,69,0, 78,84,0, 84,0, 69,65,84,69,0,
1780 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0, 68,0,
1781 69,67,85,84,69,0, 84,67,72,0, 82,0, 82,65,78,84,0, 76,85,68,69,0,
1782 69,82,84,0, 79,67,75,0, 80,69,78,0, 82,69,80,65,82,69,0,
1783 86,79,75,69,0, 76,76,66,65,67,75,0, 69,76,69,67,84,0,
1784 80,68,65,84,69,0, 72,69,78,69,86,69,82,0, 45,0, 68,0, 84,69,82,0,
1785 69,71,73,78,0, 79,83,69,0, 78,84,0, 84,0, 69,65,84,69,0,
1786 76,65,82,69,0, 69,84,69,0, 67,82,73,66,69,0, 79,80,0, 68,0,
1787 69,67,85,84,69,0, 84,67,72,0, 73,71,78,0, 82,65,78,84,0,
1788 76,85,68,69,0, 69,82,84,0, 79,67,75,0, 79,84,0, 69,78,0,
1789 80,65,82,69,0, 77,65,82,89,0, 69,82,69,78,67,69,83,0, 79,75,69,0,
1790 76,76,66,65,67,75,0, 69,76,69,67,84,0, 80,68,65,84,69,0,
1791 72,69,78,69,86,69,82,0, 69,76,69,84,69,0,
1792 };
1793 #define AG_TCV(x) (((int)(x) >= 0 && (int)(x) <= 255) ? ag_tcv[(x)] : 0)
1794
1795 static const unsigned short far ag_tcv[] = {
1796 210,341,341,341,341,341,341,341,341, 33, 38,341,341, 33,341,341,341,341,
1797 341,341,341,341,341,341,341,341,341,341,341,341,341,341, 33,341, 52,342,
1798 342,341,341, 86,374,373,371,369,408,370,367,372,515,515,515,515,515,515,
1799 515,515,515,515,368,341,341,399,401,341,342,513,513,513,513,513,513,513,
1800 513,513,513,513,513,513,513,513,513,513,513,513,513,513,513,513,513,513,
1801 513,341,341,341,341,514,341,513,513,513,513,513,513,513,513,513,513,513,
1802 513,513,513,513,513,513,513,513,513,513,513,513,513,513,513,341,341,341,
1803 341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,
1804 341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,
1805 341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,
1806 341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,
1807 341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,
1808 341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,
1809 341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,341,
1810 341,341,341,341
1811 };
1812
1813 #ifndef SYNTAX_ERROR
1814 #define SYNTAX_ERROR fprintf(stderr,"%s, line %d, column %d\n", \
1815 (PCB).error_message, (PCB).line, (PCB).column)
1816 #endif
1817
1818 #ifndef FIRST_LINE
1819 #define FIRST_LINE 1
1820 #endif
1821
1822 #ifndef FIRST_COLUMN
1823 #define FIRST_COLUMN 1
1824 #endif
1825
1826 #ifndef PARSER_STACK_OVERFLOW
1827 #define PARSER_STACK_OVERFLOW {fprintf(stderr, \
1828 "\nParser stack overflow, line %d, column %d\n",\
1829 (PCB).line, (PCB).column);}
1830 #endif
1831
1832 #ifndef REDUCTION_TOKEN_ERROR
1833 #define REDUCTION_TOKEN_ERROR {fprintf(stderr, \
1834 "\nReduction token error, line %d, column %d\n", \
1835 (PCB).line, (PCB).column);}
1836 #endif
1837
1838
1839 typedef enum
1840 {ag_accept_key, ag_set_key, ag_jmp_key, ag_end_key, ag_no_match_key,
1841 ag_cf_accept_key, ag_cf_set_key, ag_cf_end_key} key_words;
1842
1843 #ifndef GET_INPUT
1844 #define GET_INPUT ((PCB).input_code = getchar())
1845 #endif
1846
1847
1848 static int ag_look_ahead(void) {
1849 if ((PCB).rx < (PCB).fx) {
1850 return CONVERT_CASE((PCB).lab[(PCB).rx++]);
1851 }
1852 GET_INPUT;
1853 (PCB).fx++;
1854 return CONVERT_CASE((PCB).lab[(PCB).rx++] = (PCB).input_code);
1855 }
1856
1857 static void ag_get_key_word(int ag_k) {
1858 int save_index = (PCB).rx;
1859 const unsigned char *sp;
1860 int ag_ch;
1861 while (1) {
1862 switch (ag_key_act[ag_k]) {
1863 case ag_cf_end_key:
1864 sp = ag_key_ends + ag_key_jmp[ag_k];
1865 do {
1866 if ((ag_ch = *sp++) == 0) {
1867 int ag_k1 = ag_key_parm[ag_k];
1868 int ag_k2 = ag_key_pt[ag_k1];
1869 if (ag_key_itt[ag_k2 + ag_look_ahead()]) goto ag_fail;
1870 (PCB).rx--;
1871 (PCB).token_number = (sql_token_type) ag_key_pt[ag_k1 + 1];
1872 return;
1873 }
1874 } while (ag_look_ahead() == ag_ch);
1875 goto ag_fail;
1876 case ag_end_key:
1877 sp = ag_key_ends + ag_key_jmp[ag_k];
1878 do {
1879 if ((ag_ch = *sp++) == 0) {
1880 (PCB).token_number = (sql_token_type) ag_key_parm[ag_k];
1881 return;
1882 }
1883 } while (ag_look_ahead() == ag_ch);
1884 case ag_no_match_key:
1885 ag_fail:
1886 (PCB).rx = save_index;
1887 return;
1888 case ag_cf_set_key: {
1889 int ag_k1 = ag_key_parm[ag_k];
1890 int ag_k2 = ag_key_pt[ag_k1];
1891 ag_k = ag_key_jmp[ag_k];
1892 if (ag_key_itt[ag_k2 + (ag_ch = ag_look_ahead())]) break;
1893 save_index = --(PCB).rx;
1894 (PCB).token_number = (sql_token_type) ag_key_pt[ag_k1+1];
1895 break;
1896 }
1897 case ag_set_key:
1898 save_index = (PCB).rx;
1899 (PCB).token_number = (sql_token_type) ag_key_parm[ag_k];
1900 case ag_jmp_key:
1901 ag_k = ag_key_jmp[ag_k];
1902 ag_ch = ag_look_ahead();
1903 break;
1904 case ag_accept_key:
1905 (PCB).token_number = (sql_token_type) ag_key_parm[ag_k];
1906 return;
1907 case ag_cf_accept_key: {
1908 int ag_k1 = ag_key_parm[ag_k];
1909 int ag_k2 = ag_key_pt[ag_k1];
1910 if (ag_key_itt[ag_k2 + ag_look_ahead()]) (PCB).rx = save_index;
1911 else {
1912 (PCB).rx--;
1913 (PCB).token_number = (sql_token_type) ag_key_pt[ag_k1+1];
1914 }
1915 return;
1916 }
1917 default:
1918 /* not reachable; here to suppress compiler warnings */
1919 goto ag_fail;
1920 }
1921 if (ag_ch <= 255) while (ag_key_ch[ag_k] < ag_ch) ag_k++;
1922 if (ag_ch > 255 || ag_key_ch[ag_k] != ag_ch) {
1923 (PCB).rx = save_index;
1924 return;
1925 }
1926 }
1927 }
1928
1929
1930 #ifndef AG_NEWLINE
1931 #define AG_NEWLINE 10
1932 #endif
1933
1934 #ifndef AG_RETURN
1935 #define AG_RETURN 13
1936 #endif
1937
1938 #ifndef AG_FORMFEED
1939 #define AG_FORMFEED 12
1940 #endif
1941
1942 #ifndef AG_TABCHAR
1943 #define AG_TABCHAR 9
1944 #endif
1945
1946 static void ag_track(void) {
1947 int ag_k = 0;
1948 while (ag_k < (PCB).rx) {
1949 int ag_ch = (PCB).lab[ag_k++];
1950 switch (ag_ch) {
1951 case AG_NEWLINE:
1952 (PCB).column = 1, (PCB).line++;
1953 case AG_RETURN:
1954 case AG_FORMFEED:
1955 break;
1956 case AG_TABCHAR:
1957 (PCB).column += (TAB_SPACING) - ((PCB).column - 1) % (TAB_SPACING);
1958 break;
1959 default:
1960 (PCB).column++;
1961 }
1962 }
1963 ag_k = 0;
1964 while ((PCB).rx < (PCB).fx) (PCB).lab[ag_k++] = (PCB).lab[(PCB).rx++];
1965 (PCB).fx = ag_k;
1966 (PCB).rx = 0;
1967 }
1968
1969
1970 static void ag_prot(void) {
1971 int ag_k;
1972 ag_k = 128 - ++(PCB).btsx;
1973 if (ag_k <= (PCB).ssx) {
1974 (PCB).exit_flag = AG_STACK_ERROR_CODE;
1975 PARSER_STACK_OVERFLOW;
1976 return;
1977 }
1978 (PCB).bts[(PCB).btsx] = (PCB).sn;
1979 (PCB).bts[ag_k] = (PCB).ssx;
1980 (PCB).vs[ag_k] = (PCB).vs[(PCB).ssx];
1981 (PCB).ss[ag_k] = (PCB).ss[(PCB).ssx];
1982 }
1983
1984 static void ag_undo(void) {
1985 if ((PCB).drt == -1) return;
1986 while ((PCB).btsx) {
1987 int ag_k = 128 - (PCB).btsx;
1988 (PCB).sn = (PCB).bts[(PCB).btsx--];
1989 (PCB).ssx = (PCB).bts[ag_k];
1990 (PCB).vs[(PCB).ssx] = (PCB).vs[ag_k];
1991 (PCB).ss[(PCB).ssx] = (PCB).ss[ag_k];
1992 }
1993 (PCB).token_number = (sql_token_type) (PCB).drt;
1994 (PCB).ssx = (PCB).dssx;
1995 (PCB).sn = (PCB).dsn;
1996 (PCB).drt = -1;
1997 }
1998
1999
2000 static const unsigned short far ag_tstt[] = {
2001 512,510,500,496,479,475,469,468,467,466,462,459,457,456,451,449,447,446,445,
2002 443,440,428,356,354,210,41,39,38,34,33,0,27,40,345,346,
2003 515,514,513,408,401,399,374,373,372,371,370,369,368,367,342,341,86,52,38,33,
2004 0,36,37,
2005 515,514,513,408,401,399,374,373,372,371,370,369,368,367,342,341,86,52,45,38,
2006 33,0,43,44,
2007 38,0,
2008 515,514,513,408,401,399,374,373,372,371,370,369,368,367,342,341,86,52,38,33,
2009 0,36,37,
2010 515,514,513,512,511,510,509,508,507,506,505,504,503,502,501,500,499,498,497,
2011 496,495,494,493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,
2012 478,477,476,475,474,473,472,471,470,469,468,467,466,465,464,463,462,461,
2013 460,459,458,457,456,455,454,453,452,451,450,449,448,447,446,445,444,443,
2014 442,441,440,439,438,437,436,435,434,433,432,431,430,429,428,427,426,425,
2015 424,423,422,421,420,419,418,417,416,415,414,413,412,411,410,409,408,407,
2016 406,405,404,403,402,401,400,399,398,397,396,395,394,393,392,391,390,389,
2017 388,387,386,385,384,383,382,381,380,379,378,374,373,372,371,370,369,368,
2018 367,364,363,362,361,360,359,358,357,356,355,354,353,352,351,350,349,348,
2019 347,342,210,86,52,41,39,38,34,33,0,27,40,
2020 512,510,500,496,479,475,469,468,467,466,462,459,457,456,451,449,447,446,445,
2021 443,440,428,356,354,210,0,9,12,14,166,174,203,205,207,208,209,211,212,
2022 213,218,219,220,223,226,232,233,235,236,237,238,243,247,248,253,254,256,
2023 257,258,259,260,275,303,316,330,335,
2024 515,514,513,408,401,399,374,373,372,371,370,369,368,367,342,341,86,52,33,0,
2025 515,514,513,408,401,399,374,373,372,371,370,369,368,367,342,341,86,52,38,33,
2026 0,
2027 45,0,
2028 38,0,
2029 515,513,448,427,426,425,419,418,417,416,415,414,412,411,410,409,408,407,406,
2030 391,389,387,385,384,383,381,379,374,371,370,369,368,347,342,86,52,41,39,
2031 38,34,33,0,27,40,345,346,
2032 487,486,485,448,408,355,41,39,38,34,33,0,27,40,345,346,
2033 513,485,448,439,408,342,52,41,39,38,34,33,0,27,40,345,346,
2034 515,513,427,426,425,419,418,417,416,415,414,412,411,410,409,407,406,391,389,
2035 387,385,384,383,381,379,374,371,370,369,368,347,342,86,52,0,129,155,175,
2036 513,342,52,41,39,38,34,33,0,27,40,345,346,
2037 455,448,408,41,39,38,34,33,0,27,40,345,346,
2038 513,442,342,52,41,39,38,34,33,0,27,40,345,346,
2039 513,501,448,408,342,52,41,39,38,34,33,0,27,40,345,346,
2040 355,0,13,
2041 495,481,477,444,41,39,38,34,33,0,27,40,345,346,
2042 472,471,358,41,39,38,34,33,0,27,40,345,346,
2043 513,342,52,0,28,29,46,47,49,365,366,
2044 455,0,234,
2045 512,510,500,496,475,469,468,467,466,462,459,457,456,451,450,449,447,446,445,
2046 443,440,428,356,354,210,41,39,38,34,33,0,27,40,345,346,
2047 510,509,508,507,506,505,504,500,484,477,445,440,428,406,356,41,39,38,34,33,
2048 0,27,40,345,346,
2049 513,342,52,41,39,38,34,33,0,27,40,345,346,
2050 513,342,52,0,28,29,46,47,49,365,366,
2051 444,41,39,38,34,33,0,27,40,345,346,
2052 455,0,234,
2053 461,460,41,39,38,34,33,0,27,40,345,346,
2054 510,509,508,507,506,505,504,500,484,477,445,440,428,406,356,41,39,38,34,33,
2055 0,27,40,345,346,
2056 513,342,52,0,28,29,46,47,49,365,366,
2057 513,501,342,52,0,28,29,46,318,365,366,
2058 354,41,39,38,34,33,0,27,40,345,346,
2059 513,342,52,41,39,38,34,33,0,27,40,345,346,
2060 513,342,52,0,28,29,46,47,49,365,366,
2061 513,353,342,52,41,39,38,34,33,0,27,40,345,346,
2062 495,481,477,444,0,214,277,304,305,
2063 512,510,500,496,475,469,468,467,466,462,459,457,456,451,450,449,447,446,445,
2064 443,440,428,356,354,210,41,39,38,34,33,0,27,40,345,346,
2065 448,41,39,38,34,33,0,27,40,345,346,
2066 513,342,52,41,39,38,34,33,0,27,40,345,346,
2067 354,41,39,38,34,33,0,27,40,345,346,
2068 448,444,408,41,39,38,34,33,0,27,40,345,346,
2069 481,480,477,444,362,360,359,41,39,38,34,33,0,27,40,345,346,
2070 472,471,358,0,15,262,263,264,
2071 512,510,500,496,475,469,468,467,466,462,459,457,456,451,450,449,447,446,445,
2072 443,440,428,356,354,210,0,224,225,
2073 510,509,508,507,506,505,504,500,484,477,445,440,428,406,356,0,12,129,174,
2074 203,213,239,270,287,316,322,323,324,325,326,327,328,329,330,
2075 513,342,52,0,28,29,46,365,366,
2076 444,0,214,
2077 461,460,0,244,245,246,
2078 510,509,508,507,506,505,504,500,484,477,445,440,428,406,356,0,12,129,174,
2079 203,213,239,270,287,316,322,323,324,325,326,327,328,329,330,
2080 354,0,9,11,
2081 513,342,52,0,28,29,46,365,366,
2082 513,342,52,0,28,29,46,365,366,
2083 512,510,500,496,475,469,468,467,466,462,459,457,456,451,450,449,447,446,445,
2084 443,440,428,356,354,210,0,224,225,
2085 448,0,221,
2086 513,342,52,0,28,29,46,365,366,
2087 354,0,9,11,
2088 444,0,214,
2089 481,477,444,360,359,0,18,19,214,270,277,278,
2090 512,510,500,496,475,469,468,467,466,462,459,457,456,451,449,447,446,445,443,
2091 440,428,356,354,0,9,12,14,166,174,203,205,212,213,218,219,220,223,226,
2092 232,233,235,236,237,238,243,247,248,253,254,256,257,258,259,260,303,316,
2093 330,335,
2094 210,0,
2095 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,387,385,
2096 384,383,381,379,374,371,370,369,368,347,342,86,52,41,39,38,34,33,0,27,
2097 40,345,346,
2098 515,513,503,448,428,427,426,425,418,417,416,415,414,412,411,410,409,407,391,
2099 389,387,385,384,383,381,379,374,371,370,369,368,347,342,86,52,41,39,38,
2100 34,33,0,27,40,345,346,
2101 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,387,385,
2102 384,383,381,379,374,371,370,369,368,347,342,86,52,0,1,28,29,30,31,32,46,
2103 47,49,60,61,62,63,64,66,67,68,70,72,73,75,76,77,79,80,81,92,94,96,97,98,
2104 100,102,104,130,134,135,136,137,142,143,144,145,147,148,149,150,151,154,
2105 162,163,164,176,177,178,365,366,375,376,377,
2106 513,502,368,342,52,41,39,38,34,33,0,27,40,345,346,
2107 515,514,513,408,401,399,374,373,372,371,370,369,368,367,342,341,86,56,38,33,
2108 0,53,54,
2109 513,512,511,510,500,499,496,493,492,491,490,489,488,487,484,480,479,478,475,
2110 469,468,467,466,462,459,458,457,456,455,454,453,451,449,448,447,446,445,
2111 443,441,440,438,437,436,435,434,433,432,431,429,428,413,412,411,409,408,
2112 403,402,401,400,399,398,397,396,394,393,392,391,390,389,388,387,386,385,
2113 384,383,382,381,380,379,374,373,372,371,370,369,367,364,362,358,356,355,
2114 354,352,351,350,349,348,347,342,210,52,41,39,38,34,33,0,27,40,345,346,
2115 515,514,513,408,403,402,401,400,399,374,373,372,371,370,369,367,342,210,52,
2116 41,39,38,34,33,0,27,40,345,346,
2117 367,0,48,
2118 513,487,342,52,0,28,29,46,47,49,293,336,337,365,366,
2119 513,368,342,52,41,39,38,34,33,0,27,40,345,346,
2120 368,0,60,61,62,317,
2121 364,0,24,26,
2122 513,342,52,0,28,29,46,47,49,365,366,
2123 455,364,0,24,26,234,
2124 368,41,39,38,34,33,0,27,40,345,346,
2125 368,0,60,61,62,
2126 364,0,24,26,
2127 513,512,510,500,496,475,469,468,467,466,462,459,457,456,451,449,447,446,445,
2128 443,440,429,428,356,354,342,210,52,0,28,29,46,47,49,168,169,181,315,365,
2129 366,
2130 513,342,52,41,39,38,34,33,0,27,40,345,346,
2131 513,342,52,0,28,29,46,47,49,365,366,
2132 513,342,52,41,39,38,34,33,0,27,40,345,346,
2133 513,342,52,0,28,29,46,47,49,365,366,
2134 477,41,39,38,34,33,0,27,40,345,346,
2135 477,0,270,
2136 474,473,41,39,38,34,33,0,27,40,345,346,
2137 474,473,41,39,38,34,33,0,27,40,345,346,
2138 515,513,470,427,426,425,418,417,416,415,414,412,411,410,409,407,398,397,396,
2139 395,391,389,387,385,384,383,381,379,374,370,369,368,358,357,347,342,86,
2140 52,41,39,38,34,33,0,27,40,345,346,
2141 470,0,261,
2142 474,473,0,265,266,267,
2143 512,510,500,496,475,469,468,467,466,462,459,457,456,451,449,447,446,445,443,
2144 440,428,356,354,210,41,39,38,34,33,0,27,40,345,346,
2145 513,448,408,342,52,41,39,38,34,33,0,27,40,345,346,
2146 513,448,408,342,52,41,39,38,34,33,0,27,40,345,346,
2147 448,408,41,39,38,34,33,0,27,40,345,346,
2148 448,408,41,39,38,34,33,0,27,40,345,346,
2149 448,408,41,39,38,34,33,0,27,40,345,346,
2150 448,408,41,39,38,34,33,0,27,40,345,346,
2151 448,408,41,39,38,34,33,0,27,40,345,346,
2152 448,408,41,39,38,34,33,0,27,40,345,346,
2153 408,0,131,
2154 503,448,0,320,321,
2155 448,0,221,
2156 455,355,0,234,255,
2157 513,342,52,0,28,29,46,47,49,365,366,
2158 512,510,500,496,475,469,468,467,466,462,459,457,456,451,449,447,446,445,443,
2159 440,428,356,354,210,41,39,38,34,33,0,27,40,345,346,
2160 512,510,500,496,475,469,468,467,466,462,459,457,456,451,449,447,446,445,443,
2161 440,428,356,354,210,41,39,38,34,33,0,27,40,345,346,
2162 448,0,221,
2163 353,0,10,
2164 455,0,234,
2165 454,0,227,
2166 513,494,477,476,444,440,360,359,356,342,52,41,39,38,34,33,0,27,40,345,346,
2167 494,444,0,214,222,302,
2168 513,342,52,0,28,29,46,47,49,365,366,
2169 513,342,52,41,39,38,34,33,0,27,40,345,346,
2170 513,342,52,41,39,38,34,33,0,27,40,345,346,
2171 513,342,52,0,28,29,46,365,366,
2172 374,41,39,38,34,33,0,27,40,345,346,
2173 374,41,39,38,34,33,0,27,40,345,346,
2174 374,41,39,38,34,33,0,27,40,345,346,
2175 374,41,39,38,34,33,0,27,40,345,346,
2176 514,513,41,39,38,34,33,0,27,40,345,346,
2177 515,514,513,408,401,399,374,373,372,371,370,369,368,367,342,341,91,86,52,38,
2178 33,0,87,88,89,
2179 374,41,39,38,34,33,0,27,40,345,346,
2180 513,512,510,500,496,484,480,479,478,475,469,468,467,466,462,459,457,456,455,
2181 453,451,449,447,446,445,443,441,440,436,435,434,433,432,431,429,428,413,
2182 408,403,402,401,400,399,398,397,396,394,393,374,373,372,371,370,369,362,
2183 358,356,355,354,342,210,52,41,39,38,34,33,0,27,40,345,346,
2184 374,41,39,38,34,33,0,27,40,345,346,
2185 512,510,500,496,475,469,468,467,466,462,459,457,456,455,453,451,449,447,446,
2186 445,443,441,440,436,435,434,433,432,431,429,428,413,408,403,402,401,400,
2187 399,398,397,396,394,393,374,373,372,371,370,369,358,356,355,354,210,41,
2188 39,38,34,33,0,27,40,345,346,
2189 513,512,510,500,496,484,480,479,478,475,469,468,467,466,462,459,457,456,455,
2190 453,451,449,447,446,445,443,441,440,436,435,434,433,432,431,429,428,413,
2191 408,403,402,401,400,399,398,397,396,394,393,374,373,372,371,370,369,362,
2192 358,356,355,354,342,210,52,41,39,38,34,33,0,27,40,345,346,
2193 512,510,500,496,475,469,468,467,466,462,459,457,456,455,453,451,449,447,446,
2194 445,443,441,440,436,435,434,433,432,431,429,428,413,408,403,402,401,400,
2195 399,398,397,396,394,393,374,373,372,371,370,369,358,356,355,354,210,41,
2196 39,38,34,33,0,27,40,345,346,
2197 512,510,500,496,475,469,468,467,466,462,459,457,456,455,453,451,449,447,446,
2198 445,443,441,440,436,435,434,433,432,431,429,428,413,408,403,402,401,400,
2199 399,398,397,396,394,393,374,373,372,371,370,369,358,356,355,354,210,41,
2200 39,38,34,33,0,27,40,345,346,
2201 512,510,500,496,475,469,468,467,466,462,459,457,456,455,453,451,449,447,446,
2202 445,443,441,440,436,435,434,433,432,431,429,428,413,408,403,402,401,400,
2203 399,398,397,396,394,393,374,373,372,371,370,369,358,356,355,354,210,41,
2204 39,38,34,33,0,27,40,345,346,
2205 512,510,500,496,475,469,468,467,466,462,459,457,456,455,453,451,449,447,446,
2206 445,443,441,440,436,435,434,433,432,431,429,428,413,408,403,402,401,400,
2207 399,398,397,396,394,393,374,373,372,371,370,369,358,356,355,354,210,41,
2208 39,38,34,33,0,27,40,345,346,
2209 374,41,39,38,34,33,0,27,40,345,346,
2210 512,510,500,496,475,469,468,467,466,462,459,457,456,455,453,451,449,447,446,
2211 445,443,441,440,436,435,434,433,432,431,429,428,413,408,403,402,401,400,
2212 399,398,397,396,394,393,374,373,372,371,370,369,358,356,355,354,210,41,
2213 39,38,34,33,0,27,40,345,346,
2214 512,510,500,496,475,469,468,467,466,462,459,457,456,455,453,451,449,447,446,
2215 445,443,441,440,436,435,434,433,432,431,429,428,413,408,403,402,401,400,
2216 399,398,397,396,394,393,374,373,372,371,370,369,358,356,355,354,210,41,
2217 39,38,34,33,0,27,40,345,346,
2218 512,510,500,496,475,469,468,467,466,462,459,457,456,455,453,451,449,447,446,
2219 445,443,441,440,436,435,434,433,432,431,429,428,413,408,403,402,401,400,
2220 399,398,397,396,394,393,374,373,372,371,370,369,358,356,355,354,210,41,
2221 39,38,34,33,0,27,40,345,346,
2222 513,512,510,500,496,484,480,479,478,475,469,468,467,466,462,459,457,456,455,
2223 453,451,449,447,446,445,443,441,440,436,435,434,433,432,431,429,428,413,
2224 408,403,402,401,400,399,398,397,396,394,393,374,373,372,371,370,369,362,
2225 358,356,355,354,342,210,52,41,39,38,34,33,0,27,40,345,346,
2226 513,512,510,500,496,484,480,479,478,475,469,468,467,466,462,459,457,456,451,
2227 449,447,446,445,443,441,440,428,408,374,373,362,358,356,354,342,210,52,
2228 41,39,38,34,33,0,27,40,345,346,
2229 374,41,39,38,34,33,0,27,40,345,346,
2230 514,513,0,57,343,344,
2231 512,510,500,496,475,469,468,467,466,462,459,457,456,455,453,451,449,447,446,
2232 445,443,441,440,436,435,434,433,432,431,429,428,413,408,403,402,401,400,
2233 399,398,397,396,394,393,392,391,390,389,388,387,386,385,384,383,382,381,
2234 380,379,373,372,371,370,369,358,356,355,354,210,41,39,38,34,33,0,27,40,
2235 345,346,
2236 515,512,510,500,496,475,469,468,467,466,462,459,457,456,455,453,451,449,447,
2237 446,445,443,441,440,436,435,434,433,432,431,429,428,413,408,403,402,401,
2238 400,399,398,397,396,394,393,392,391,390,389,388,387,386,385,384,383,382,
2239 381,380,379,378,373,372,371,370,369,358,356,355,354,210,41,39,38,34,33,
2240 0,27,40,345,346,
2241 515,512,510,500,496,475,469,468,467,466,462,459,457,456,455,453,451,449,447,
2242 446,445,443,441,440,436,435,434,433,432,431,429,428,413,408,403,402,401,
2243 400,399,398,397,396,394,393,392,391,390,389,388,387,386,385,384,383,382,
2244 381,380,379,378,373,372,371,370,369,367,358,356,355,354,210,41,39,38,34,
2245 33,0,27,40,345,346,
2246 374,0,77,
2247 374,0,77,153,
2248 374,0,77,153,
2249 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,387,385,
2250 384,383,381,379,374,370,369,368,347,342,86,52,41,39,38,34,33,0,27,40,
2251 345,346,
2252 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,387,385,
2253 384,383,381,379,374,370,369,368,347,342,86,52,41,39,38,34,33,0,27,40,
2254 345,346,
2255 368,0,60,61,
2256 378,0,83,
2257 378,0,83,
2258 515,513,480,428,427,426,425,419,418,417,416,415,414,412,411,410,409,407,406,
2259 395,391,389,387,385,384,383,381,379,374,371,370,369,368,362,358,357,347,
2260 342,86,52,41,39,38,34,33,0,27,40,345,346,
2261 374,0,77,
2262 439,412,411,409,41,39,38,34,33,0,27,40,345,346,
2263 512,510,500,496,475,469,468,467,466,462,459,457,456,455,453,451,449,447,446,
2264 445,443,441,440,436,435,434,433,432,431,429,428,413,408,403,402,401,400,
2265 399,398,397,396,394,393,373,372,371,370,369,358,356,355,354,210,41,39,
2266 38,34,33,0,27,40,345,346,
2267 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,387,385,
2268 384,383,381,379,374,370,369,368,347,342,86,52,0,1,28,29,30,31,32,46,47,
2269 49,60,61,62,63,64,66,67,68,72,73,75,76,77,79,80,81,92,94,96,97,98,100,
2270 102,104,130,134,135,136,137,142,143,144,145,147,148,149,150,151,154,162,
2271 163,164,365,366,375,376,377,
2272 412,411,409,0,135,136,137,
2273 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,387,385,
2274 384,383,381,379,374,370,369,368,347,342,86,52,0,1,28,29,30,31,32,46,47,
2275 49,60,61,62,66,67,68,72,73,75,76,77,79,80,81,92,94,96,97,98,100,102,104,
2276 130,134,135,136,137,142,143,144,145,147,148,149,150,151,154,162,163,164,
2277 365,366,375,376,377,
2278 392,391,390,389,388,387,386,385,384,383,382,381,380,379,0,74,92,93,94,95,96,
2279 97,98,99,100,101,102,103,104,105,
2280 372,371,0,69,70,71,
2281 367,0,48,
2282 370,369,0,65,66,67,
2283 515,513,455,427,426,425,418,417,416,415,414,412,411,410,409,408,407,391,389,
2284 387,385,384,383,381,379,374,373,370,369,368,355,347,342,86,52,41,39,38,
2285 34,33,0,27,40,345,346,
2286 408,0,131,
2287 515,514,513,408,401,399,374,373,372,371,370,369,368,367,342,341,86,56,52,38,
2288 33,0,54,
2289 513,371,342,52,41,39,38,34,33,0,27,40,345,346,
2290 513,342,52,0,28,29,46,365,366,
2291 487,0,293,336,337,
2292 513,357,342,52,41,39,38,34,33,0,27,40,345,346,
2293 513,342,52,0,28,29,46,338,339,365,366,
2294 429,0,168,181,315,
2295 408,355,0,13,131,167,
2296 368,0,60,61,
2297 368,363,41,39,38,34,33,0,27,40,345,346,
2298 368,363,0,25,60,61,62,317,
2299 511,428,374,0,77,117,165,166,174,185,187,331,333,
2300 363,0,25,
2301 368,0,60,61,
2302 368,0,60,61,62,317,
2303 368,0,60,61,
2304 368,363,0,25,60,61,62,317,
2305 512,510,500,496,475,469,468,467,466,462,459,457,456,451,449,447,446,445,443,
2306 440,429,428,356,354,210,0,168,169,181,
2307 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,395,391,389,387,
2308 385,384,383,381,379,374,370,369,368,358,347,342,86,52,41,39,38,34,33,0,
2309 27,40,345,346,
2310 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,395,391,389,387,
2311 385,384,383,381,379,374,370,369,368,358,347,342,86,52,0,1,15,28,29,30,
2312 31,32,46,47,49,60,61,62,63,64,66,67,68,72,73,75,76,77,79,80,81,92,94,96,
2313 97,98,100,102,104,106,116,130,134,135,136,137,138,139,142,143,144,145,
2314 147,148,149,150,151,154,162,163,164,365,366,375,376,377,
2315 499,374,0,77,185,307,
2316 374,0,77,
2317 513,342,52,0,28,29,46,47,49,365,366,
2318 474,473,41,39,38,34,33,0,27,40,345,346,
2319 458,41,39,38,34,33,0,27,40,345,346,
2320 512,510,500,496,475,469,468,467,466,462,459,457,456,451,449,447,446,445,443,
2321 440,428,356,354,210,41,39,38,34,33,0,27,40,345,346,
2322 458,0,241,
2323 515,513,510,509,508,507,506,505,504,500,484,480,477,445,440,428,427,426,425,
2324 424,423,422,421,420,418,417,416,415,414,412,411,410,409,407,391,389,387,
2325 385,384,383,381,379,374,370,369,368,362,357,356,347,342,86,52,41,39,38,
2326 34,33,0,27,40,345,346,
2327 510,509,508,507,506,505,504,500,484,477,445,440,428,356,0,12,174,203,213,
2328 270,287,316,323,324,325,326,327,328,329,330,
2329 448,41,39,38,34,33,0,27,40,345,346,
2330 513,477,476,444,360,359,342,52,0,18,19,20,214,240,268,269,270,
2331 368,0,60,61,
2332 355,0,13,
2333 396,0,118,
2334 513,477,476,444,360,359,342,52,0,18,19,20,214,240,268,269,270,
2335 512,510,500,496,475,469,468,467,466,462,459,457,456,451,449,447,446,445,443,
2336 440,428,356,354,210,41,39,38,34,33,0,27,40,345,346,
2337 368,0,60,61,
2338 453,441,41,39,38,34,33,0,27,40,345,346,
2339 453,441,0,228,230,
2340 513,342,52,41,39,38,34,33,0,27,40,345,346,
2341 513,342,52,0,28,29,46,47,365,366,
2342 513,342,52,0,28,29,46,47,49,365,366,
2343 394,0,111,
2344 480,479,478,362,0,21,23,215,271,272,274,275,276,286,
2345 515,514,513,408,401,399,374,373,372,371,370,369,368,367,342,341,91,52,38,33,
2346 0,87,
2347 86,0,
2348 515,514,513,512,510,500,496,475,469,468,467,466,462,459,457,456,455,453,451,
2349 449,447,446,445,443,441,440,436,435,434,433,432,431,429,428,413,408,403,
2350 402,401,400,399,398,397,396,394,393,392,391,390,389,388,387,386,385,384,
2351 383,382,381,380,379,373,372,371,370,369,368,358,356,355,354,210,41,39,
2352 38,34,33,0,27,40,345,346,
2353 515,514,513,512,510,500,496,475,469,468,467,466,462,459,457,456,455,453,451,
2354 449,447,446,445,443,441,440,436,435,434,433,432,431,429,428,413,408,403,
2355 402,401,400,399,398,397,396,394,393,392,391,390,389,388,387,386,385,384,
2356 383,382,381,380,379,373,372,371,370,369,368,358,356,355,354,210,41,39,
2357 38,34,33,0,27,40,345,346,
2358 515,514,513,0,82,343,344,
2359 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,387,385,
2360 384,383,381,379,374,370,369,368,347,342,86,52,0,1,28,29,30,31,32,46,47,
2361 49,60,61,62,63,64,66,67,68,72,73,75,76,77,79,80,81,92,94,96,97,98,100,
2362 102,104,130,134,135,136,137,142,143,144,145,147,148,149,150,151,154,162,
2363 163,164,365,366,375,376,377,
2364 419,371,0,70,155,
2365 515,513,427,426,425,419,418,417,416,415,414,412,411,410,409,407,406,391,389,
2366 387,385,384,383,381,379,374,370,369,368,347,342,86,52,0,129,152,155,
2367 515,370,369,41,39,38,34,33,0,27,40,345,346,
2368 515,370,369,0,66,67,84,85,
2369 515,370,369,0,66,67,84,85,
2370 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,387,385,
2371 384,383,381,379,374,370,369,368,347,342,86,52,0,1,28,29,30,31,32,46,47,
2372 49,60,61,62,63,64,66,67,68,72,73,75,76,77,79,80,81,92,94,96,97,98,100,
2373 102,104,130,134,135,136,137,142,143,144,145,146,147,148,149,150,151,154,
2374 162,163,164,365,366,375,376,377,
2375 373,370,369,0,65,66,67,78,
2376 512,510,500,496,475,469,468,467,466,462,459,457,456,455,453,451,449,447,446,
2377 445,443,441,440,436,435,434,433,432,431,429,428,413,408,403,402,401,400,
2378 399,398,397,396,394,393,373,372,371,370,369,358,356,355,354,210,41,39,
2379 38,34,33,0,27,40,345,346,
2380 512,510,500,496,475,469,468,467,466,462,459,457,456,455,453,451,449,447,446,
2381 445,443,441,440,436,435,434,433,432,431,429,428,413,408,403,402,401,400,
2382 399,398,397,396,394,393,373,372,371,370,369,358,356,355,354,210,41,39,
2383 38,34,33,0,27,40,345,346,
2384 512,510,500,496,475,469,468,467,466,462,459,457,456,455,453,451,449,447,446,
2385 445,443,441,440,436,435,434,433,432,431,429,428,413,408,403,402,401,400,
2386 399,398,397,396,394,393,373,372,371,370,369,358,356,355,354,210,41,39,
2387 38,34,33,0,27,40,345,346,
2388 512,510,500,496,475,469,468,467,466,462,459,457,456,455,453,451,449,447,446,
2389 445,443,441,440,436,435,434,433,432,431,429,428,413,408,403,402,401,400,
2390 399,398,397,396,394,393,373,372,371,370,369,358,356,355,354,210,41,39,
2391 38,34,33,0,27,40,345,346,
2392 512,510,500,496,475,469,468,467,466,462,459,457,456,455,453,451,449,447,446,
2393 445,443,441,440,436,435,434,433,432,431,429,428,413,408,403,402,401,400,
2394 399,398,397,396,394,393,373,372,371,370,369,358,356,355,354,210,41,39,
2395 38,34,33,0,27,40,345,346,
2396 512,510,500,496,475,469,468,467,466,462,459,457,456,455,453,451,449,447,446,
2397 445,443,441,440,436,435,434,433,432,431,429,428,413,408,403,402,401,400,
2398 399,398,397,396,394,393,373,372,371,370,369,358,356,355,354,210,41,39,
2399 38,34,33,0,27,40,345,346,
2400 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,387,385,
2401 384,383,381,379,374,370,369,368,347,342,86,52,41,39,38,34,33,0,27,40,
2402 345,346,
2403 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,387,385,
2404 384,383,381,379,374,370,369,368,347,342,86,52,0,1,28,29,30,31,32,46,47,
2405 49,60,61,62,66,67,68,72,73,75,76,77,79,80,81,92,94,96,97,98,100,102,104,
2406 130,134,135,136,137,142,143,144,145,147,148,149,150,151,154,162,163,164,
2407 365,366,375,376,377,
2408 513,371,342,52,0,28,29,46,70,365,366,
2409 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,387,385,
2410 384,383,381,379,374,370,369,368,347,342,86,52,0,1,28,29,30,31,32,46,47,
2411 49,60,61,62,64,66,67,68,72,73,75,76,77,79,80,81,92,94,96,97,98,100,102,
2412 104,130,134,135,136,137,142,143,144,145,147,148,149,150,151,154,162,163,
2413 164,365,366,375,376,377,
2414 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,387,385,
2415 384,383,381,379,374,370,369,368,347,342,86,52,0,1,28,29,30,31,32,46,47,
2416 49,60,61,62,63,64,66,67,68,72,73,75,76,77,79,80,81,92,94,96,97,98,100,
2417 102,104,130,134,135,136,137,142,143,144,145,147,148,149,150,151,154,162,
2418 163,164,178,365,366,375,376,377,
2419 429,0,168,181,
2420 399,0,121,
2421 408,0,131,
2422 513,342,52,0,28,29,46,47,49,179,180,365,366,
2423 512,510,500,496,475,469,468,467,466,462,459,457,456,451,449,447,446,445,443,
2424 440,432,431,429,428,356,354,210,0,168,169,181,
2425 368,0,60,61,62,
2426 408,0,131,
2427 368,41,39,38,34,33,0,27,40,345,346,
2428 511,428,374,0,77,117,165,166,174,187,331,333,
2429 355,0,13,167,
2430 513,428,374,342,52,0,28,29,46,47,49,77,117,165,166,174,184,187,365,366,
2431 374,41,39,38,34,33,0,27,40,345,346,
2432 374,0,77,
2433 435,434,433,0,188,189,190,191,
2434 408,0,131,
2435 408,0,131,
2436 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,395,391,389,387,
2437 385,384,383,381,379,374,370,369,368,358,347,342,86,52,0,1,15,28,29,30,
2438 31,32,46,47,49,60,61,62,63,64,66,67,68,72,73,75,76,77,79,80,81,92,94,96,
2439 97,98,100,102,104,106,116,130,134,135,136,137,138,139,142,143,144,145,
2440 147,148,149,150,151,154,162,163,164,365,366,375,376,377,
2441 439,412,411,409,0,135,136,137,204,
2442 374,41,39,38,34,33,0,27,40,345,346,
2443 374,0,77,
2444 403,402,401,400,399,398,397,396,394,370,369,358,0,15,65,66,67,107,109,111,
2445 112,114,118,119,120,121,122,123,124,125,
2446 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,395,391,389,387,
2447 385,384,383,381,379,374,370,369,368,358,347,342,86,52,0,1,15,28,29,30,
2448 31,32,46,47,49,60,61,62,63,64,66,67,68,72,73,75,76,77,79,80,81,92,94,96,
2449 97,98,100,102,104,106,116,130,134,135,136,137,138,142,143,144,145,147,
2450 148,149,150,151,154,162,163,164,365,366,375,376,377,
2451 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,395,391,389,387,
2452 385,384,383,381,379,374,370,369,368,358,347,342,86,52,0,1,15,28,29,30,
2453 31,32,46,47,49,60,61,62,63,64,66,67,68,72,73,75,76,77,79,80,81,92,94,96,
2454 97,98,100,102,104,106,116,130,134,135,136,137,138,139,142,143,144,145,
2455 147,148,149,150,151,154,162,163,164,365,366,375,376,377,
2456 413,393,0,110,140,141,
2457 513,342,52,0,28,29,46,47,49,184,365,366,
2458 499,0,308,
2459 513,480,362,342,52,0,21,23,28,29,46,47,49,274,276,286,306,312,313,365,366,
2460 448,0,221,
2461 514,513,502,342,52,41,39,38,34,33,0,27,40,345,346,
2462 514,513,0,57,343,344,
2463 458,355,41,39,38,34,33,0,27,40,345,346,
2464 513,342,52,0,28,29,46,47,49,365,366,
2465 355,0,13,
2466 368,0,60,61,62,
2467 515,513,464,463,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,
2468 387,385,384,383,381,379,374,370,369,368,347,342,86,52,41,39,38,34,33,0,
2469 27,40,345,346,
2470 464,463,0,249,250,251,
2471 458,0,241,
2472 498,452,41,39,38,34,33,0,27,40,345,346,
2473 452,0,229,
2474 441,0,202,
2475 367,0,48,
2476 358,357,86,41,39,38,34,33,0,27,40,345,346,
2477 86,0,32,377,
2478 361,41,39,38,34,33,0,27,40,345,346,
2479 361,0,22,
2480 361,41,39,38,34,33,0,27,40,345,346,
2481 374,0,77,185,
2482 361,0,22,
2483 513,342,52,41,39,38,34,33,0,27,40,345,346,
2484 480,362,0,21,23,276,
2485 374,0,77,185,
2486 513,342,52,0,28,29,46,47,49,273,365,366,
2487 512,510,500,496,480,479,478,475,469,468,467,466,462,459,457,456,451,449,447,
2488 446,445,443,440,428,362,356,354,210,0,21,23,211,216,217,271,272,274,275,
2489 276,286,
2490 515,514,513,512,510,500,496,475,469,468,467,466,462,459,457,456,455,453,451,
2491 449,447,446,445,443,441,440,436,435,434,433,432,431,429,428,413,408,403,
2492 402,401,400,399,398,397,396,394,393,392,391,390,389,388,387,386,385,384,
2493 383,382,381,380,379,373,372,371,370,369,368,358,356,355,354,210,41,39,
2494 38,34,33,0,27,40,345,346,
2495 408,373,370,369,0,65,66,67,131,156,
2496 513,342,52,0,28,29,46,47,49,80,365,366,
2497 373,0,78,
2498 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,387,385,
2499 384,383,381,379,374,370,369,368,347,342,86,52,0,1,28,29,30,31,32,46,47,
2500 49,60,61,62,63,64,66,67,68,72,73,75,76,77,79,80,81,92,94,96,97,98,100,
2501 102,104,130,134,135,136,137,142,143,144,145,147,148,149,150,151,154,162,
2502 163,164,365,366,375,376,377,
2503 515,0,30,375,
2504 515,0,30,375,
2505 370,369,0,65,66,67,
2506 408,373,0,78,131,
2507 513,512,511,510,500,499,496,484,480,479,478,475,469,468,467,466,462,459,457,
2508 456,455,453,451,449,447,446,445,443,441,440,436,435,434,433,432,431,429,
2509 428,413,408,403,402,401,400,399,398,397,396,394,393,392,391,390,389,388,
2510 387,386,385,384,383,382,381,380,379,374,373,372,371,370,369,362,358,356,
2511 355,354,342,210,52,41,39,38,34,33,0,27,40,345,346,
2512 367,0,48,
2513 372,371,0,69,70,71,
2514 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,406,405,404,391,
2515 389,387,385,384,383,381,379,374,370,369,368,357,347,342,86,52,41,39,38,
2516 34,33,0,27,40,345,346,
2517 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,387,385,
2518 384,383,381,379,374,370,369,368,357,347,342,86,52,0,1,16,28,29,30,31,32,
2519 46,47,49,60,61,62,63,64,66,67,68,72,73,75,76,77,79,80,81,92,94,96,97,98,
2520 100,102,104,130,134,135,136,137,142,143,144,145,147,148,149,150,151,154,
2521 162,163,164,340,365,366,375,376,377,
2522 513,342,52,0,28,29,46,339,365,366,
2523 513,342,52,0,28,29,46,47,49,365,366,
2524 408,0,131,
2525 512,510,500,496,475,469,468,467,466,462,459,457,456,451,449,447,446,445,443,
2526 440,432,431,428,356,354,210,0,170,171,182,
2527 428,374,0,77,117,165,166,174,187,
2528 512,510,500,496,475,469,468,467,466,462,459,457,456,453,451,449,447,446,445,
2529 443,441,440,436,435,434,433,432,431,429,428,373,356,354,210,0,168,169,
2530 181,
2531 435,434,433,373,0,78,188,189,190,191,
2532 408,373,0,78,131,
2533 515,410,407,368,357,86,0,16,30,31,32,60,61,62,72,79,81,130,134,332,334,375,
2534 376,377,
2535 428,406,374,41,39,38,34,33,0,27,40,345,346,
2536 428,406,374,41,39,38,34,33,0,27,40,345,346,
2537 428,406,374,41,39,38,34,33,0,27,40,345,346,
2538 406,0,129,
2539 406,0,129,
2540 406,0,129,
2541 428,374,0,77,165,166,174,187,
2542 513,342,52,41,39,38,34,33,0,27,40,345,346,
2543 513,342,52,0,28,29,46,47,49,365,366,
2544 428,374,0,77,117,165,166,174,187,
2545 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,387,385,
2546 384,383,381,379,374,370,369,368,347,342,86,52,0,1,28,29,30,31,32,46,47,
2547 49,60,61,62,63,64,66,67,68,72,73,75,76,77,79,80,81,92,94,96,97,98,100,
2548 102,104,115,130,134,135,136,137,142,143,144,145,147,148,149,150,151,154,
2549 162,163,164,365,366,375,376,377,
2550 407,368,86,41,39,38,34,33,0,27,40,345,346,
2551 407,368,86,0,32,60,61,62,113,130,377,
2552 358,357,0,15,16,17,
2553 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,387,385,
2554 384,383,381,379,374,370,369,368,347,342,86,52,41,39,38,34,33,0,27,40,
2555 345,346,
2556 398,397,396,0,118,119,120,
2557 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,387,385,
2558 384,383,381,379,374,370,369,368,347,342,86,52,0,1,28,29,30,31,32,46,47,
2559 49,60,61,62,63,64,66,67,68,72,73,75,76,77,79,80,81,92,94,96,97,98,100,
2560 102,104,130,134,135,136,137,142,143,144,145,147,148,149,150,151,154,162,
2561 163,164,365,366,375,376,377,
2562 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,406,405,404,391,
2563 389,387,385,384,383,381,379,374,370,369,368,347,342,86,52,41,39,38,34,
2564 33,0,27,40,345,346,
2565 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,406,405,404,391,
2566 389,387,385,384,383,381,379,374,370,369,368,347,342,86,52,41,39,38,34,
2567 33,0,27,40,345,346,
2568 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,406,405,404,391,
2569 389,387,385,384,383,381,379,374,370,369,368,347,342,86,52,41,39,38,34,
2570 33,0,27,40,345,346,
2571 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,406,405,404,391,
2572 389,387,385,384,383,381,379,374,370,369,368,347,342,86,52,41,39,38,34,
2573 33,0,27,40,345,346,
2574 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,406,405,404,391,
2575 389,387,385,384,383,381,379,374,370,369,368,347,342,86,52,0,1,28,29,30,
2576 31,32,46,47,49,60,61,62,63,64,66,67,68,72,73,75,76,77,79,80,81,92,94,96,
2577 97,98,100,102,104,108,126,127,128,129,130,134,135,136,137,142,143,144,
2578 145,147,148,149,150,151,154,162,163,164,365,366,375,376,377,
2579 413,393,373,0,78,110,140,141,
2580 403,402,401,400,399,398,397,396,394,373,370,369,358,0,15,65,66,67,78,107,
2581 109,111,112,114,118,119,120,121,122,123,124,125,
2582 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,395,391,389,387,
2583 385,384,383,381,379,374,370,369,368,358,347,342,86,52,41,39,38,34,33,0,
2584 27,40,345,346,
2585 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,395,391,389,387,
2586 385,384,383,381,379,374,370,369,368,358,347,342,86,52,41,39,38,34,33,0,
2587 27,40,345,346,
2588 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,395,391,389,387,
2589 385,384,383,381,379,374,370,369,368,358,347,342,86,52,0,1,15,28,29,30,
2590 31,32,46,47,49,60,61,62,63,64,66,67,68,72,73,75,76,77,79,80,81,92,94,96,
2591 97,98,100,102,104,106,116,130,134,135,136,137,138,142,143,144,145,147,
2592 148,149,150,151,154,162,163,164,365,366,375,376,377,
2593 428,374,41,39,38,34,33,0,27,40,345,346,
2594 428,374,0,77,117,165,166,174,187,
2595 493,492,491,490,489,488,412,411,409,352,351,350,349,348,347,0,1,2,3,4,5,6,7,
2596 8,135,136,137,279,295,296,297,298,299,300,301,
2597 374,0,77,185,
2598 513,484,441,358,342,52,0,15,17,28,29,46,47,49,202,284,287,314,365,366,
2599 408,373,0,78,131,
2600 513,342,52,0,28,29,46,47,49,365,366,
2601 515,514,513,0,82,343,344,
2602 513,502,342,52,0,28,29,46,47,49,184,242,319,365,366,
2603 465,41,39,38,34,33,0,27,40,345,346,
2604 465,41,39,38,34,33,0,27,40,345,346,
2605 465,0,252,
2606 513,502,342,52,0,28,29,46,47,49,184,242,319,365,366,
2607 441,41,39,38,34,33,0,27,40,345,346,
2608 513,483,443,440,428,374,342,52,41,39,38,34,33,0,27,40,345,346,
2609 513,428,374,342,52,0,28,29,46,77,117,165,166,174,187,192,231,365,366,
2610 513,512,510,500,496,484,480,479,478,475,469,468,467,466,462,459,457,456,451,
2611 449,447,446,445,443,441,440,428,408,374,373,362,358,356,354,342,210,52,
2612 41,39,38,34,33,0,27,40,345,346,
2613 513,342,52,0,28,29,46,47,49,365,366,
2614 484,0,284,287,
2615 361,0,22,
2616 493,492,491,490,489,488,412,411,409,352,351,350,349,348,347,0,1,2,3,4,5,6,7,
2617 8,135,136,137,279,295,296,297,298,299,300,301,
2618 481,480,477,444,362,360,359,0,18,19,21,23,214,270,276,277,278,
2619 479,0,211,275,
2620 424,423,422,421,420,0,157,158,159,160,161,
2621 373,0,78,
2622 373,0,78,
2623 373,370,369,0,65,66,67,78,
2624 515,512,510,500,496,475,469,468,467,466,462,459,457,456,455,453,451,449,447,
2625 446,445,443,441,440,438,437,436,435,434,433,432,431,429,428,413,408,403,
2626 402,401,400,399,398,397,396,394,393,392,391,390,389,388,387,386,385,384,
2627 383,382,381,380,379,373,372,371,370,369,358,356,355,354,210,41,39,38,34,
2628 33,0,27,40,345,346,
2629 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,387,385,
2630 384,383,381,379,374,370,369,368,347,342,86,52,0,1,28,29,30,31,32,46,47,
2631 49,60,61,62,63,64,66,67,68,72,73,75,76,77,79,80,81,92,94,96,97,98,100,
2632 102,104,130,134,135,136,137,142,143,144,145,147,148,149,150,151,154,162,
2633 163,164,365,366,375,376,377,
2634 371,0,70,
2635 513,512,510,500,496,484,480,479,478,475,469,468,467,466,462,459,457,456,453,
2636 451,449,448,447,446,445,443,441,440,436,435,434,433,432,431,429,428,413,
2637 408,393,373,362,358,356,354,342,210,52,41,39,38,34,33,0,27,40,345,346,
2638 370,369,0,65,66,67,
2639 513,342,52,0,28,29,46,47,49,180,365,366,
2640 430,41,39,38,34,33,0,27,40,345,346,
2641 430,0,183,
2642 512,510,500,496,475,469,468,467,466,462,459,457,456,451,449,447,446,445,443,
2643 440,432,428,356,354,210,0,172,173,186,
2644 512,510,500,496,475,469,468,467,466,462,459,457,456,453,451,449,447,446,445,
2645 443,441,440,436,435,434,433,432,431,428,373,356,354,210,0,170,171,182,
2646 513,342,52,0,28,29,46,47,49,365,366,
2647 408,373,0,78,131,
2648 435,434,433,373,0,78,188,189,190,191,
2649 370,369,0,65,66,67,
2650 515,513,428,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,387,
2651 385,384,383,381,379,374,370,369,368,347,342,86,52,0,1,28,29,30,31,32,46,
2652 47,49,60,61,62,63,64,66,67,68,72,73,75,76,77,79,80,81,92,94,96,97,98,
2653 100,102,104,117,130,134,135,136,137,142,143,144,145,147,148,149,150,151,
2654 154,162,163,164,165,166,174,187,365,366,375,376,377,
2655 357,0,16,
2656 393,370,369,0,65,66,67,110,
2657 374,41,39,38,34,33,0,27,40,345,346,
2658 374,41,39,38,34,33,0,27,40,345,346,
2659 374,0,77,
2660 515,513,428,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,387,
2661 385,384,383,381,379,374,370,369,368,347,342,86,52,0,1,28,29,30,31,32,46,
2662 47,49,60,61,62,63,64,66,67,68,72,73,75,76,77,79,80,81,92,94,96,97,98,
2663 100,102,104,117,130,134,135,136,137,142,143,144,145,147,148,149,150,151,
2664 154,162,163,164,165,166,174,187,365,366,375,376,377,
2665 370,369,0,65,66,67,
2666 512,510,500,496,475,469,468,467,466,462,459,457,456,453,451,449,447,446,445,
2667 443,440,435,434,433,428,356,354,210,0,188,189,190,191,228,311,
2668 513,512,510,500,496,484,480,479,478,475,469,468,467,466,462,459,457,456,451,
2669 449,447,446,445,443,441,440,428,408,374,373,362,358,356,354,342,210,52,
2670 41,39,38,34,33,0,27,40,345,346,
2671 513,512,510,500,496,484,480,479,478,475,469,468,467,466,462,459,457,456,451,
2672 449,447,446,445,443,441,440,428,408,374,373,362,358,356,354,342,210,52,
2673 41,39,38,34,33,0,27,40,345,346,
2674 513,512,510,500,496,484,480,479,478,475,469,468,467,466,462,459,457,456,451,
2675 449,447,446,445,443,441,440,428,408,374,373,362,358,356,354,342,210,52,
2676 41,39,38,34,33,0,27,40,345,346,
2677 513,512,510,500,496,484,480,479,478,475,469,468,467,466,462,459,457,456,451,
2678 449,447,446,445,443,441,440,428,408,374,373,362,358,356,354,342,210,52,
2679 41,39,38,34,33,0,27,40,345,346,
2680 513,512,510,500,496,484,480,479,478,475,469,468,467,466,462,459,457,456,451,
2681 449,447,446,445,443,441,440,428,408,374,373,362,358,356,354,342,210,52,
2682 41,39,38,34,33,0,27,40,345,346,
2683 513,512,510,500,496,484,480,479,478,475,469,468,467,466,462,459,457,456,451,
2684 449,447,446,445,443,441,440,428,408,374,373,362,358,356,354,342,210,52,
2685 41,39,38,34,33,0,27,40,345,346,
2686 492,41,39,38,34,33,0,27,40,345,346,
2687 513,512,510,500,496,484,480,479,478,475,469,468,467,466,462,459,457,456,451,
2688 449,447,446,445,443,441,440,428,408,373,362,358,356,354,342,210,52,41,
2689 39,38,34,33,0,27,40,345,346,
2690 513,512,510,500,496,484,480,479,478,475,469,468,467,466,462,459,457,456,451,
2691 449,447,446,445,443,441,440,428,408,373,362,358,356,354,342,210,52,41,
2692 39,38,34,33,0,27,40,345,346,
2693 513,512,510,500,496,484,480,479,478,475,469,468,467,466,462,459,457,456,451,
2694 449,447,446,445,443,441,440,428,408,373,362,358,356,354,342,210,52,41,
2695 39,38,34,33,0,27,40,345,346,
2696 513,512,510,500,496,484,480,479,478,475,469,468,467,466,462,459,457,456,451,
2697 449,447,446,445,443,441,440,428,408,373,362,358,356,354,342,210,52,41,
2698 39,38,34,33,0,27,40,345,346,
2699 492,0,299,
2700 513,512,510,500,496,484,480,479,478,475,469,468,467,466,462,459,457,456,451,
2701 449,447,446,445,443,441,440,428,408,374,373,362,358,356,354,342,210,52,
2702 0,
2703 374,0,77,
2704 374,0,77,
2705 513,342,52,0,28,29,46,47,49,365,366,
2706 484,0,284,287,
2707 362,0,21,23,
2708 483,0,282,
2709 513,480,362,342,52,0,21,23,28,29,46,47,49,274,276,286,312,313,365,366,
2710 374,0,77,
2711 512,510,500,496,475,469,468,467,466,462,459,457,456,451,449,447,446,445,443,
2712 440,428,356,354,210,41,39,38,34,33,0,27,40,345,346,
2713 408,0,131,
2714 512,510,500,496,475,469,468,467,466,462,459,457,456,451,449,447,446,445,443,
2715 440,428,356,354,210,41,39,38,34,33,0,27,40,345,346,
2716 441,436,435,434,433,0,188,189,190,191,193,194,195,196,202,
2717 513,342,52,0,28,29,46,365,366,
2718 513,512,510,500,496,484,480,479,478,475,469,468,467,466,462,459,457,456,451,
2719 449,447,446,445,443,441,440,428,362,356,354,342,210,52,0,280,
2720 373,41,39,38,34,33,0,27,40,345,346,
2721 373,41,39,38,34,33,0,27,40,345,346,
2722 373,41,39,38,34,33,0,27,40,345,346,
2723 373,41,39,38,34,33,0,27,40,345,346,
2724 373,41,39,38,34,33,0,27,40,345,346,
2725 370,369,0,65,66,67,
2726 515,513,342,52,41,39,38,34,33,0,27,40,345,346,
2727 513,342,52,0,28,29,46,47,49,184,365,366,
2728 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,395,391,389,387,
2729 385,384,383,381,379,374,370,369,368,358,347,342,86,52,41,39,38,34,33,0,
2730 27,40,345,346,
2731 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,395,391,389,387,
2732 385,384,383,381,379,374,370,369,368,358,347,342,86,52,0,1,15,28,29,30,
2733 31,32,46,47,49,60,61,62,63,64,66,67,68,72,73,75,76,77,79,80,81,92,94,96,
2734 97,98,100,102,104,106,116,130,134,135,136,137,138,139,142,143,144,145,
2735 147,148,149,150,151,154,162,163,164,365,366,375,376,377,
2736 512,510,500,496,475,469,468,467,466,462,459,457,456,453,451,449,447,446,445,
2737 443,441,440,436,435,434,433,432,428,373,356,354,210,0,172,173,186,
2738 515,410,407,368,357,86,0,16,30,31,32,60,61,62,72,79,81,130,134,334,375,376,
2739 377,
2740 435,434,433,373,0,78,188,189,190,191,
2741 515,513,428,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,387,
2742 385,384,383,381,379,374,370,369,368,347,342,86,52,0,1,28,29,30,31,32,46,
2743 47,49,60,61,62,63,64,66,67,68,72,73,75,76,77,79,80,81,92,94,96,97,98,
2744 100,102,104,117,130,134,135,136,137,142,143,144,145,147,148,149,150,151,
2745 154,162,163,164,165,166,174,187,365,366,375,376,377,
2746 408,373,370,369,0,65,66,67,78,131,132,133,
2747 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,387,385,
2748 384,383,381,379,374,370,369,368,347,342,86,52,0,1,28,29,30,31,32,46,47,
2749 49,60,61,62,63,64,66,67,68,72,73,75,76,77,79,80,81,92,94,96,97,98,100,
2750 102,104,130,134,135,136,137,142,143,144,145,147,148,149,150,151,154,162,
2751 163,164,365,366,375,376,377,
2752 428,374,0,77,117,165,166,174,187,
2753 435,434,433,373,0,78,188,189,190,191,
2754 498,0,309,
2755 515,0,30,375,
2756 515,0,30,375,
2757 513,512,510,500,496,484,480,479,478,475,469,468,467,466,462,459,457,456,451,
2758 449,448,447,446,445,443,441,440,428,408,373,362,358,356,354,342,210,52,
2759 0,221,288,289,
2760 482,41,39,38,34,33,0,27,40,345,346,
2761 482,0,283,
2762 515,513,342,52,0,28,29,30,46,47,49,197,198,365,366,375,
2763 443,440,0,203,205,
2764 430,41,39,38,34,33,0,27,40,345,346,
2765 430,0,183,
2766 441,0,194,202,
2767 513,484,441,342,52,0,28,29,46,47,49,202,281,284,285,287,365,366,
2768 408,0,131,
2769 413,393,0,110,140,141,
2770 515,513,427,426,425,418,417,416,415,414,412,411,410,409,407,391,389,387,385,
2771 384,383,381,379,374,370,369,368,347,342,86,52,0,1,28,29,30,31,32,46,47,
2772 49,60,61,62,63,64,66,67,68,72,73,75,76,77,79,80,81,92,94,96,97,98,100,
2773 102,104,130,134,135,136,137,142,143,144,145,147,148,149,150,151,154,162,
2774 163,164,365,366,375,376,377,
2775 408,373,0,78,131,132,
2776 370,369,0,65,66,67,
2777 435,434,433,373,0,78,188,189,190,191,
2778 497,41,39,38,34,33,0,27,40,345,346,
2779 497,0,310,
2780 373,0,78,
2781 408,373,0,78,131,
2782 440,356,0,12,203,
2783 448,0,221,
2784 513,512,510,500,496,484,480,479,478,475,469,468,467,466,462,459,457,456,451,
2785 449,447,446,445,443,441,440,428,408,373,362,358,356,354,342,210,52,41,
2786 39,38,34,33,0,27,40,345,346,
2787 512,510,500,496,475,469,468,467,466,462,459,457,456,451,449,447,446,445,443,
2788 441,440,438,437,428,408,373,356,354,210,0,199,200,201,
2789 512,510,500,496,475,469,468,467,466,462,459,457,456,451,449,447,446,445,443,
2790 441,440,438,437,428,408,373,356,354,210,0,199,200,201,
2791 408,373,0,78,131,
2792 442,0,206,
2793 439,0,204,
2794 515,513,342,52,0,28,29,30,46,47,49,197,198,365,366,375,
2795 443,0,205,
2796 484,0,284,287,
2797 483,0,282,
2798 370,369,0,65,66,67,
2799 512,510,500,496,475,469,468,467,466,462,459,457,456,451,449,447,446,445,443,
2800 440,428,356,354,210,41,39,38,34,33,0,27,40,345,346,
2801 515,0,30,375,
2802 487,486,485,0,290,292,293,294,
2803 485,0,290,
2804 440,0,203,
2805 512,510,500,496,475,469,468,467,466,462,459,457,456,451,449,447,446,445,443,
2806 441,440,428,408,373,356,354,210,41,39,38,34,33,0,27,40,345,346,
2807 512,510,500,496,475,469,468,467,466,462,459,457,456,451,449,447,446,445,443,
2808 441,440,428,408,373,356,354,210,41,39,38,34,33,0,27,40,345,346,
2809 515,513,342,52,0,28,29,30,46,47,49,198,365,366,375,
2810 512,510,500,496,475,469,468,467,466,462,459,457,456,451,449,447,446,445,443,
2811 440,428,356,354,210,41,39,38,34,33,0,27,40,345,346,
2812 513,342,52,0,28,29,46,47,49,184,365,366,
2813 408,0,131,
2814 482,0,283,
2815 373,0,78,
2816 513,512,510,500,496,484,480,479,478,475,469,468,467,466,462,459,457,456,451,
2817 449,448,447,446,445,443,441,440,428,408,373,362,358,356,354,342,210,52,
2818 41,39,38,34,33,0,27,40,345,346,
2819 513,512,510,500,496,484,480,479,478,475,469,468,467,466,462,459,457,456,451,
2820 449,448,447,446,445,443,441,440,428,408,373,362,358,356,354,342,210,52,
2821 41,39,38,34,33,0,27,40,345,346,
2822 357,0,16,
2823 513,512,510,500,496,484,480,479,478,475,469,468,467,466,462,459,457,456,451,
2824 449,448,447,446,445,443,441,440,428,408,373,362,358,356,354,342,210,52,
2825 0,221,289,291,
2826 485,0,290,
2827 408,0,131,
2828 356,0,12,
2829
2830 };
2831
2832
2833 static unsigned const char far ag_astt[10705] = {
2834 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,1,1,8,1,1,7,1,1,1,1,1,1,
2835 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,7,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2836 1,1,8,1,1,7,1,1,3,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,7,1,1,5,5,5,5,
2837 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2838 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2839 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2840 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2841 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,9,7,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2842 1,1,1,1,1,1,1,1,1,1,1,8,7,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2843 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,9,9,
2844 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,3,7,3,7,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2845 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,
2846 5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,8,8,8,8,8,1,8,8,8,
2847 8,8,8,8,8,8,8,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,1,1,1,5,5,5,1,1,8,1,1,
2848 7,1,1,1,3,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,
2849 5,1,1,8,1,1,7,1,1,1,3,1,7,3,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,1,1,8,1,1,7,
2850 1,1,1,3,1,1,1,7,1,1,1,1,1,1,1,1,7,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2851 5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,
2852 1,1,1,3,5,5,5,1,1,8,1,1,7,1,1,1,3,1,1,1,7,1,1,1,1,1,1,1,5,1,1,8,1,1,7,1,1,
2853 1,3,1,7,1,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,
2854 7,1,1,1,3,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,5,1,1,8,1,1,7,1,1,1,
2855 3,5,5,5,1,1,8,1,1,7,1,1,1,3,1,1,1,7,1,1,1,1,1,1,1,5,5,5,5,1,1,8,1,1,7,1,1,
2856 1,3,1,1,8,1,7,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,
2857 1,8,1,1,7,1,1,1,3,5,1,1,8,1,1,7,1,1,1,3,5,5,5,1,1,8,1,1,7,1,1,1,3,5,1,1,8,
2858 1,1,7,1,1,1,3,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,
2859 1,1,1,7,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,5,5,5,5,5,5,5,5,5,5,7,3,3,1,
2860 1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,
2861 1,1,1,1,1,1,7,1,1,1,7,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,
2862 1,1,1,1,1,1,1,1,1,1,1,1,7,1,3,1,1,1,7,1,1,1,1,1,1,1,1,7,1,1,1,1,1,5,5,5,5,
2863 5,5,5,5,5,5,5,5,5,5,1,5,5,5,5,5,5,5,5,5,5,7,3,3,1,7,1,1,1,1,7,3,3,3,1,1,1,
2864 7,1,3,1,7,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2865 1,1,1,1,5,1,1,1,1,1,1,1,3,1,1,1,1,1,3,3,1,1,3,3,1,1,3,1,3,1,1,1,3,3,1,1,1,
2866 1,1,3,7,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,
2867 1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2868 5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2869 1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,
2870 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,5,
2871 5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,
2872 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2873 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2874 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,
2875 9,9,9,5,5,5,5,5,5,5,5,5,5,5,5,5,9,5,5,1,1,8,1,1,7,1,1,1,3,1,5,1,1,1,1,1,7,
2876 1,1,1,1,1,1,1,3,1,1,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,7,1,1,1,1,1,5,1,1,1,1,1,
2877 7,1,1,1,1,1,1,1,1,1,7,1,1,1,5,1,1,8,1,1,7,1,1,1,3,1,7,1,1,3,1,5,1,1,1,5,5,
2878 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,5,5,5,1,5,1,7,1,1,1,1,1,3,3,1,3,1,1,
2879 5,5,5,1,1,8,1,1,7,1,1,1,3,1,1,1,7,1,1,1,1,1,1,1,5,5,5,1,1,8,1,1,7,1,1,1,3,
2880 1,1,1,7,1,1,1,1,1,1,1,5,1,1,8,1,1,7,1,1,1,3,1,7,1,5,5,1,1,8,1,1,7,1,1,1,3,
2881 5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2882 5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,7,3,1,1,7,3,1,3,5,5,5,5,5,
2883 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,1,1,8,
2884 1,1,7,1,1,1,3,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,1,1,8,1,1,7,1,1,1,3,5,5,1,
2885 1,8,1,1,7,1,1,1,3,5,5,1,1,8,1,1,7,1,1,1,3,5,5,1,1,8,1,1,7,1,1,1,3,5,5,1,1,
2886 8,1,1,7,1,1,1,3,5,5,1,1,8,1,1,7,1,1,1,3,1,5,1,1,5,7,3,3,1,7,1,1,8,7,1,1,1,
2887 1,1,7,1,1,1,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,
2888 1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,
2889 1,1,1,3,1,7,1,1,7,3,1,7,1,1,7,1,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,
2890 1,1,7,1,1,1,1,1,1,7,1,1,1,1,1,1,1,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,1,1,8,1,
2891 1,7,1,1,1,3,1,1,1,7,3,3,3,1,1,5,1,1,8,1,1,7,1,1,1,3,5,1,1,8,1,1,7,1,1,1,3,
2892 5,1,1,8,1,1,7,1,1,1,3,5,1,1,8,1,1,7,1,1,1,3,5,5,1,1,8,1,1,7,1,1,1,3,1,1,1,
2893 1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,7,1,1,1,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,
2894 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2895 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,1,1,8,1,1,
2896 7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2897 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,
2898 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2899 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,
2900 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2901 5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2902 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2903 1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2904 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,
2905 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2906 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,1,1,8,1,1,7,1,1,1,
2907 3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2908 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,
2909 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2910 5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2911 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,
2912 8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2913 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,
2914 1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2915 5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,1,1,8,1,1,7,1,1,1,3,1,1,7,1,1,1,5,5,5,5,
2916 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2917 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,9,
2918 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2919 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,
2920 1,1,1,3,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2921 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,5,5,5,5,5,
2922 1,1,8,1,1,7,1,1,1,3,1,7,1,1,7,1,3,1,7,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2923 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,
2924 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,5,3,1,1,5,1,1,
2925 5,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2926 5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,7,1,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,
2927 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2928 5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2929 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2930 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2931 1,7,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,
2932 1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,
2933 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,3,3,3,3,3,
2934 3,3,3,3,3,3,3,3,3,3,1,1,5,1,1,1,1,5,1,1,1,5,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,
2935 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,5,1,9,
2936 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,3,9,9,7,3,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,
2937 1,1,7,3,3,3,1,1,1,7,1,1,3,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,1,1,7,1,1,1,1,1,1,
2938 1,1,5,3,1,3,1,1,7,1,1,1,1,7,3,1,5,5,1,1,8,1,1,7,1,1,1,3,1,1,7,3,1,1,1,1,1,
2939 1,1,7,1,1,1,1,1,1,1,1,3,1,7,3,1,7,3,1,1,7,1,1,1,1,1,7,3,1,1,1,7,3,1,1,1,1,
2940 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,5,5,5,5,7,3,3,1,5,5,5,5,5,5,5,5,
2941 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,1,
2942 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,
2943 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2944 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,7,1,1,1,1,7,1,1,1,1,7,1,1,1,1,1,
2945 1,1,5,5,1,1,8,1,1,7,1,1,1,3,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,
2946 5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,7,1,5,5,5,5,5,5,5,5,5,5,5,5,
2947 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2948 5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,3,3,3,3,3,3,3,3,
2949 3,3,3,3,3,3,3,5,1,1,8,1,1,7,1,1,1,3,8,1,1,1,1,1,8,8,7,1,1,1,1,1,1,1,1,1,7,
2950 3,1,1,7,1,1,7,1,8,1,1,1,1,1,8,8,7,1,1,1,1,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,
2951 5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,7,3,1,5,5,1,1,8,1,1,7,1,1,1,
2952 3,1,8,7,1,1,5,5,5,1,1,8,1,1,7,1,1,1,3,1,1,1,7,1,1,1,3,1,1,1,1,1,7,1,1,1,3,
2953 3,1,1,1,7,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
2954 9,9,9,5,3,3,7,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2955 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2956 5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2957 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2958 5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,1,1,5,3,3,3,1,1,1,1,1,1,1,1,1,
2959 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2960 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2961 1,1,1,1,1,1,1,7,1,1,8,8,8,8,8,1,8,8,8,8,8,8,8,8,8,8,1,8,8,8,8,8,8,8,8,8,8,
2962 8,8,8,8,8,8,7,1,1,1,5,5,5,1,1,8,1,1,7,1,1,1,3,8,1,1,7,1,1,3,1,8,1,1,7,1,1,
2963 3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,
2964 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2965 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,
2966 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2967 5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2968 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,
2969 1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2970 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,
2971 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2972 5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2973 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,
2974 1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2975 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,
2976 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,
2977 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,
2978 1,1,1,1,1,1,1,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,
2979 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2980 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2981 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2982 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,
2983 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2984 1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,5,3,1,1,7,1,1,5,1,1,1,1,7,1,1,1,1,1,1,1,1,1,
2985 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,1,5,5,5,5,7,1,1,1,1,7,1,1,3,1,
2986 5,1,5,1,1,8,1,1,7,1,1,1,3,1,1,1,7,1,1,1,1,1,1,1,3,1,7,1,1,1,1,1,1,1,7,1,1,
2987 1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,8,1,1,7,1,1,1,3,1,7,1,1,1,1,5,1,1,1,1,1,5,1,
2988 1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,
2989 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2990 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,3,3,3,1,5,1,1,8,
2991 1,1,7,1,1,1,3,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2992 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,
2993 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,
2994 1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2995 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2996 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2997 1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,7,1,1,1,
2998 1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,1,7,1,1,1,5,
2999 5,1,1,8,1,1,7,1,1,1,3,1,1,1,7,1,1,1,3,3,1,1,1,7,1,1,7,1,1,3,5,5,5,5,5,5,5,
3000 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,
3001 1,7,1,1,1,1,7,1,5,5,1,1,8,1,1,7,1,1,1,3,1,7,3,1,7,1,1,7,1,5,5,5,1,1,8,1,1,
3002 7,1,1,1,3,1,7,3,1,5,1,1,8,1,1,7,1,1,1,3,1,7,1,5,1,1,8,1,1,7,1,1,1,3,1,7,1,
3003 1,1,7,3,5,5,5,1,1,8,1,1,7,1,1,1,3,1,1,7,1,3,1,1,7,1,3,1,1,1,7,1,1,1,1,1,3,
3004 1,1,5,5,5,5,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,5,5,5,7,1,1,1,1,3,3,
3005 1,3,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
3006 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
3007 5,5,1,1,8,1,1,7,1,1,1,3,1,8,1,1,7,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,7,3,
3008 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,
3009 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
3010 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,3,1,1,7,3,1,1,1,5,1,1,1,1,1,7,3,1,5,5,5,5,
3011 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
3012 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
3013 1,1,8,1,1,7,1,1,1,3,1,5,1,1,1,5,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
3014 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,1,1,1,1,1,1,1,1,1,
3015 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,3,1,1,1,1,1,1,1,1,1,1,1,1,
3016 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
3017 1,3,1,1,1,1,1,1,1,1,7,1,1,1,3,1,1,1,1,1,5,1,1,1,3,3,1,1,1,5,1,5,5,5,5,5,5,
3018 5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,1,5,5,5,5,7,1,1,1,1,1,7,1,1,1,1,1,1,5,5,5,5,
3019 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,1,5,5,5,5,5,7,1,1,1,1,1,1,
3020 1,7,3,1,1,1,1,1,1,7,3,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,
3021 5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,1,1,8,1,1,7,1,1,1,
3022 3,1,5,3,1,5,3,1,5,3,1,1,7,1,3,1,1,3,5,5,5,1,1,8,1,1,7,1,1,1,3,1,1,1,7,1,1,
3023 1,3,3,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
3024 1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
3025 1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,5,5,1,1,8,1,1,
3026 7,1,1,1,3,1,1,1,7,3,1,1,3,3,3,1,1,1,7,1,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
3027 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,1,1,7,3,3,3,1,1,1,1,
3028 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,
3029 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
3030 1,1,1,1,1,1,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
3031 5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
3032 5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,
3033 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,
3034 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,
3035 3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,
3036 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,
3037 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,3,1,1,1,1,1,1,1,1,1,
3038 1,1,1,1,1,1,1,7,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5,
3039 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,
3040 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,
3041 3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,
3042 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,
3043 1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,5,1,1,8,1,1,7,1,1,1,3,1,1,7,1,
3044 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,
3045 1,1,1,1,7,1,3,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,3,1,3,1,1,1,1,7,3,1,1,1,1,7,1,
3046 1,1,1,1,1,1,1,1,1,5,3,3,3,1,1,1,1,7,1,1,1,1,1,1,3,3,1,1,5,1,1,8,1,1,7,1,1,
3047 1,3,5,1,1,8,1,1,7,1,1,1,3,1,7,3,1,1,1,1,7,1,1,1,1,1,1,3,3,1,1,5,1,1,8,1,1,
3048 7,1,1,1,3,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,1,1,1,1,7,3,3,3,1,1,1,1,1,
3049 1,3,3,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
3050 5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,1,1,5,1,1,1,3,3,1,1,1,7,3,1,1,7,1,1,1,1,1,
3051 1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
3052 1,7,1,1,1,3,1,1,1,1,1,1,5,3,1,1,1,1,1,1,7,3,3,3,3,3,1,7,3,1,7,3,1,1,1,7,1,
3053 1,1,3,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
3054 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,
3055 1,8,1,1,7,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
3056 1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
3057 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,3,5,5,5,5,5,5,5,5,5,5,5,
3058 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,
3059 1,8,1,1,7,1,1,1,3,1,1,5,1,1,1,1,1,1,7,1,1,1,1,1,3,1,1,5,1,1,8,1,1,7,1,1,1,
3060 3,1,7,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,5,5,5,5,7,3,3,1,5,5,5,5,
3061 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,1,5,5,5,5,5,7,1,1,1,1,1,1,7,
3062 1,1,1,3,3,1,1,1,1,7,3,1,1,1,1,1,7,3,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,
3063 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,
3064 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
3065 1,1,1,1,1,1,1,1,1,1,1,1,7,3,1,1,1,7,1,1,1,1,5,1,1,8,1,1,7,1,1,1,3,5,1,1,8,
3066 1,1,7,1,1,1,3,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
3067 1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
3068 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,5,
3069 5,5,5,5,5,5,5,5,5,5,5,5,1,5,5,5,5,5,5,5,1,1,1,5,5,5,5,7,1,1,1,1,1,3,5,5,5,
3070 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,
3071 1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
3072 5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
3073 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,
3074 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,
3075 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
3076 1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
3077 5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,
3078 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,
3079 1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
3080 5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
3081 5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
3082 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,7,3,5,5,5,5,
3083 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,7,1,
3084 1,5,1,1,1,1,7,1,1,1,1,1,1,1,1,7,3,1,1,5,1,3,1,7,1,1,1,1,1,1,7,1,1,1,1,1,1,
3085 1,3,1,1,3,1,1,1,1,7,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,
3086 8,1,1,7,1,1,1,3,1,5,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,
3087 8,1,1,7,1,1,1,3,1,1,1,1,1,5,1,1,1,1,1,3,3,1,1,1,1,1,7,3,3,3,1,1,8,5,5,5,5,
3088 8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,8,5,8,7,1,5,1,1,8,1,1,7,
3089 1,1,1,3,5,1,1,8,1,1,7,1,1,1,3,5,1,1,8,1,1,7,1,1,1,3,5,1,1,8,1,1,7,1,1,1,3,
3090 5,1,1,8,1,1,7,1,1,1,3,1,1,5,1,1,1,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,1,1,7,1,1,
3091 1,1,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
3092 5,5,1,1,8,1,1,7,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
3093 1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
3094 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,5,5,5,
3095 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,5,5,5,5,5,7,3,3,1,1,1,1,1,1,
3096 1,7,3,1,1,3,1,1,3,3,3,3,3,1,3,1,1,1,1,1,1,1,7,3,1,1,1,1,1,1,1,1,1,1,1,1,1,
3097 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,
3098 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
3099 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
3100 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
3101 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
3102 1,1,7,1,1,1,1,1,1,1,1,1,1,7,3,1,1,1,1,1,7,1,1,7,1,1,1,7,1,1,5,5,5,5,5,5,5,
3103 5,5,5,5,5,5,5,5,5,5,5,5,5,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,3,1,5,1,1,
3104 8,1,1,7,1,1,1,3,1,7,3,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,5,1,1,8,1,
3105 1,7,1,1,1,3,1,7,1,1,5,3,1,1,1,1,1,1,5,1,1,1,1,1,1,3,3,1,1,1,1,1,5,1,1,1,5,
3106 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,
3107 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
3108 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,3,1,3,1,1,5,1,1,1,1,1,1,1,7,3,1,1,
3109 1,1,5,1,1,8,1,1,7,1,1,1,3,1,7,3,1,7,3,1,1,7,3,1,1,1,7,1,1,1,5,1,5,5,5,5,5,
3110 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,
3111 1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,5,5,5,5,5,5,7,3,3,3,
3112 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,5,5,5,5,5,5,7,3,3,3,1,1,7,3,
3113 1,1,7,3,1,7,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,7,3,1,1,7,1,1,1,5,1,
3114 1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,
3115 7,1,1,1,1,1,7,3,3,1,3,1,7,1,1,7,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
3116 5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
3117 5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,1,1,1,7,1,1,1,1,1,1,3,1,1,1,5,5,5,5,5,
3118 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,1,1,7,1,1,1,1,
3119 1,1,1,1,1,5,1,1,7,3,1,7,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
3120 5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
3121 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,8,1,1,7,1,1,1,3,1,7,3,5,
3122 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,
3123 1,3,3,1,7,3,1,5,1,1,7,1
3124 };
3125
3126
3127 static const unsigned short far ag_pstt[] = {
3128 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,2,1,3,4,5,0,5,3,5,6,
3129 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,17,7,1,7,21,
3130 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,2,8,9,
3131 22,3,
3132 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,10,7,4,7,10,
3133 515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,
3134 515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,
3135 515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,
3136 515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,
3137 515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,
3138 515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,
3139 515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,
3140 515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,
3141 515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,
3142 515,515,515,515,515,2,1,3,4,513,5,513,3,
3143 15,16,18,20,44,21,24,25,26,28,30,31,34,35,39,40,41,42,43,17,13,11,12,37,62,
3144 6,54,19,36,23,14,22,32,0,61,62,61,61,59,58,57,56,55,61,61,53,52,61,61,
3145 51,50,61,49,61,48,47,46,61,61,45,60,38,33,29,27,
3146 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,18,
3147 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,26,
3148 27,9,
3149 19,10,
3150 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3151 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,
3152 3,4,5,11,5,3,5,597,
3153 514,514,514,514,514,514,2,1,3,4,5,12,5,3,5,525,
3154 514,514,514,514,514,514,514,2,1,3,4,5,13,5,3,5,609,
3155 65,65,65,65,65,63,65,65,65,65,65,65,65,65,65,65,64,65,65,65,65,65,65,65,65,
3156 65,65,65,65,65,65,65,65,65,14,65,65,65,
3157 514,514,514,2,1,3,4,5,15,5,3,5,681,
3158 514,514,514,2,1,3,4,5,16,5,3,5,679,
3159 514,514,514,514,2,1,3,4,5,17,5,3,5,612,
3160 514,514,514,514,514,514,2,1,3,4,5,18,5,3,5,669,
3161 66,19,8,
3162 514,514,514,514,2,1,3,4,5,20,5,3,5,665,
3163 514,514,514,2,1,3,4,5,21,5,3,5,644,
3164 69,69,67,22,70,70,70,71,71,69,68,
3165 72,23,73,
3166 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3167 514,514,514,514,514,514,2,1,3,4,5,24,5,3,5,638,
3168 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,5,25,5,
3169 3,5,637,
3170 514,514,514,2,1,3,4,5,26,5,3,5,636,
3171 69,69,67,27,70,70,70,74,74,69,68,
3172 514,2,1,3,4,5,28,5,3,5,635,
3173 72,29,75,
3174 514,514,2,1,3,4,5,30,5,3,5,631,
3175 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,5,31,5,
3176 3,5,628,
3177 69,69,67,32,70,70,70,76,76,69,68,
3178 69,77,69,67,33,79,79,79,78,69,68,
3179 514,2,1,3,4,5,34,5,3,5,626,
3180 514,514,514,2,1,3,4,5,35,5,3,5,625,
3181 69,69,67,36,70,70,70,80,80,69,68,
3182 514,514,514,514,2,1,3,4,5,37,5,3,5,523,
3183 85,81,86,83,38,84,82,86,86,
3184 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3185 514,514,514,514,514,514,2,1,3,4,5,39,5,3,5,620,
3186 514,2,1,3,4,5,40,5,3,5,618,
3187 514,514,514,2,1,3,4,5,41,5,3,5,616,
3188 514,2,1,3,4,5,42,5,3,5,615,
3189 514,514,514,2,1,3,4,5,43,5,3,5,614,
3190 514,514,514,514,514,514,514,2,1,3,4,5,44,5,3,5,648,
3191 87,88,89,45,90,91,91,91,
3192 250,250,250,250,250,250,250,250,250,250,250,250,250,250,92,250,250,250,250,
3193 250,250,250,250,250,250,46,277,277,
3194 16,95,96,97,98,99,100,18,93,94,43,13,11,64,12,47,101,102,101,101,101,103,
3195 101,101,101,101,101,101,101,101,101,101,101,101,
3196 69,69,67,48,104,104,104,69,68,
3197 83,49,105,
3198 106,107,50,267,267,267,
3199 16,95,96,97,98,99,100,18,93,94,43,13,11,64,12,51,101,102,101,101,101,108,
3200 101,101,101,101,101,101,101,101,101,101,101,101,
3201 37,52,109,261,
3202 69,69,67,53,110,110,110,69,68,
3203 69,69,67,54,111,111,111,69,68,
3204 250,250,250,250,250,250,250,250,250,250,250,250,250,250,92,250,250,250,250,
3205 250,250,250,250,250,250,55,252,252,
3206 112,56,113,
3207 69,69,67,57,248,248,248,69,68,
3208 37,58,109,247,
3209 83,59,114,
3210 81,94,83,115,116,60,117,117,117,117,117,117,
3211 15,16,18,20,21,24,25,26,28,30,31,34,35,39,40,41,42,43,17,13,11,12,37,237,54,
3212 19,36,23,14,22,32,241,59,58,57,56,55,241,241,53,52,241,241,51,50,241,49,
3213 241,48,47,46,241,241,45,38,33,29,27,
3214 238,62,
3215 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3216 514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,5,63,5,3,5,
3217 588,
3218 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3219 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,
3220 5,64,5,3,5,575,
3221 143,69,124,126,133,139,118,119,120,121,125,128,154,137,155,132,129,131,134,
3222 135,136,130,127,152,163,148,147,122,138,69,123,67,65,144,161,161,151,
3223 150,159,161,159,159,149,140,159,162,160,158,158,160,194,160,159,158,159,
3224 156,159,159,159,153,153,153,153,153,153,153,153,160,157,153,153,153,159,
3225 159,159,153,146,146,146,146,146,145,153,153,153,164,194,164,69,68,143,
3226 142,141,
3227 514,514,514,514,514,2,1,3,4,5,66,5,3,5,524,
3228 165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,
3229 165,67,165,165,
3230 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3231 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3232 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3233 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3234 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3235 514,514,514,514,514,514,514,514,514,514,2,1,3,4,5,68,5,3,5,535,
3236 34,34,34,514,514,514,514,514,514,514,514,514,514,514,514,514,34,514,514,2,1,
3237 3,4,5,69,5,3,5,534,
3238 166,31,167,
3239 69,169,69,67,71,70,70,70,168,168,170,171,414,69,68,
3240 514,514,514,514,2,1,3,4,5,72,5,3,5,624,
3241 122,73,149,140,172,172,
3242 174,408,175,173,
3243 69,69,67,75,70,70,70,176,176,69,68,
3244 72,174,76,177,178,179,
3245 514,2,1,3,4,5,77,5,3,5,670,
3246 122,78,149,140,371,
3247 174,368,181,180,
3248 69,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,
3249 182,182,183,182,182,182,69,182,67,80,70,70,70,182,182,364,364,184,366,
3250 69,68,
3251 514,514,514,2,1,3,4,5,81,5,3,5,650,
3252 69,69,67,82,70,70,70,185,185,69,68,
3253 514,514,514,2,1,3,4,5,83,5,3,5,613,
3254 69,69,67,84,70,70,70,186,186,69,68,
3255 514,2,1,3,4,5,85,5,3,5,664,
3256 94,86,187,
3257 514,514,2,1,3,4,5,87,5,3,5,641,
3258 514,514,2,1,3,4,5,88,5,3,5,640,
3259 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3260 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3261 514,2,1,3,4,5,89,5,3,5,527,
3262 188,90,280,
3263 189,190,91,285,191,285,
3264 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3265 514,514,514,514,514,2,1,3,4,5,92,5,3,5,619,
3266 514,514,514,514,514,2,1,3,4,5,93,5,3,5,653,
3267 514,514,514,514,514,2,1,3,4,5,94,5,3,5,646,
3268 514,514,2,1,3,4,5,95,5,3,5,678,
3269 514,514,2,1,3,4,5,96,5,3,5,677,
3270 514,514,2,1,3,4,5,97,5,3,5,676,
3271 514,514,2,1,3,4,5,98,5,3,5,675,
3272 514,514,2,1,3,4,5,99,5,3,5,674,
3273 514,514,2,1,3,4,5,100,5,3,5,673,
3274 192,381,193,
3275 194,378,102,380,380,
3276 112,103,195,
3277 72,197,104,196,197,
3278 69,69,67,105,70,70,70,198,198,69,68,
3279 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3280 514,514,514,514,514,2,1,3,4,5,106,5,3,5,630,
3281 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3282 514,514,514,514,514,2,1,3,4,5,107,5,3,5,629,
3283 112,108,199,
3284 200,109,7,
3285 72,110,201,
3286 202,111,203,
3287 514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,5,112,5,3,5,617,
3288 204,83,113,206,207,205,
3289 69,69,67,114,70,70,70,208,208,69,68,
3290 514,514,514,2,1,3,4,5,115,5,3,5,529,
3291 514,514,514,2,1,3,4,5,116,5,3,5,528,
3292 69,69,67,117,304,304,304,69,68,
3293 514,2,1,3,4,5,118,5,3,5,586,
3294 514,2,1,3,4,5,119,5,3,5,585,
3295 514,2,1,3,4,5,120,5,3,5,584,
3296 514,2,1,3,4,5,121,5,3,5,583,
3297 514,514,2,1,3,4,5,122,5,3,5,537,
3298 209,209,209,209,209,209,209,209,209,209,209,209,209,209,209,209,209,210,209,
3299 209,209,123,209,209,210,
3300 514,2,1,3,4,5,124,5,3,5,596,
3301 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3302 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3303 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3304 514,514,514,514,514,514,514,2,1,3,4,5,125,5,3,5,581,
3305 514,2,1,3,4,5,126,5,3,5,595,
3306 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3307 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3308 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,
3309 3,4,5,127,5,3,5,548,
3310 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3311 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3312 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3313 514,514,514,514,514,514,514,2,1,3,4,5,128,5,3,5,580,
3314 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3315 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3316 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,
3317 3,4,5,129,5,3,5,558,
3318 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3319 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3320 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,
3321 3,4,5,130,5,3,5,550,
3322 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3323 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3324 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,
3325 3,4,5,131,5,3,5,556,
3326 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3327 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3328 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,
3329 3,4,5,132,5,3,5,560,
3330 514,2,1,3,4,5,133,5,3,5,594,
3331 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3332 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3333 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,
3334 3,4,5,134,5,3,5,554,
3335 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3336 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3337 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,
3338 3,4,5,135,5,3,5,553,
3339 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3340 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3341 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,
3342 3,4,5,136,5,3,5,552,
3343 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3344 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3345 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3346 514,514,514,514,514,514,514,2,1,3,4,5,137,5,3,5,578,
3347 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3348 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3349 2,1,3,4,5,138,5,3,5,516,
3350 514,2,1,3,4,5,139,5,3,5,587,
3351 211,212,140,213,213,213,
3352 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3353 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3354 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3355 514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,5,141,5,3,5,546,
3356 72,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3357 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3358 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3359 514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,5,142,5,
3360 3,5,545,
3361 70,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3362 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3363 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3364 514,514,514,514,514,514,514,514,514,71,514,514,514,514,514,2,1,3,4,5,
3365 143,5,3,5,544,
3366 152,144,214,
3367 152,145,215,156,
3368 152,146,216,155,
3369 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3370 514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,5,147,5,3,5,538,
3371 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3372 514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,5,148,5,3,5,539,
3373 122,43,44,140,
3374 217,66,218,
3375 217,65,219,
3376 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3377 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3378 514,514,514,2,1,3,4,5,152,5,3,5,543,
3379 152,153,220,
3380 514,514,514,514,2,1,3,4,5,154,5,3,5,579,
3381 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3382 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3383 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,
3384 5,155,5,3,5,576,
3385 143,69,124,126,133,139,118,119,120,121,125,128,154,137,155,132,129,131,134,
3386 135,136,130,127,152,148,147,122,138,69,123,67,156,144,70,70,151,150,159,
3387 70,159,159,149,140,159,221,160,158,158,160,160,159,158,159,156,159,159,
3388 159,153,153,153,153,153,153,153,153,160,157,153,153,153,159,159,159,153,
3389 146,146,146,146,146,145,153,153,153,69,68,143,142,141,
3390 125,128,137,157,134,135,136,
3391 143,69,124,126,133,139,118,119,120,121,125,128,154,137,155,132,129,131,134,
3392 135,136,130,127,152,148,147,122,138,69,123,67,158,144,70,70,151,150,159,
3393 70,159,159,149,140,159,158,158,56,56,159,158,159,156,159,159,159,153,
3394 153,153,153,153,153,153,153,56,157,153,153,153,159,159,159,153,146,146,
3395 146,146,146,145,153,153,153,69,68,143,142,141,
3396 222,132,223,129,224,131,225,134,135,136,226,130,227,127,54,55,55,55,55,55,
3397 55,55,55,55,55,55,55,55,55,55,
3398 228,163,45,229,229,229,
3399 166,31,230,
3400 148,147,197,231,231,231,
3401 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3402 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,
3403 5,163,5,3,5,540,
3404 192,193,232,
3405 37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,35,37,37,165,37,
3406 514,514,514,514,2,1,3,4,5,166,5,3,5,536,
3407 69,69,67,167,30,30,30,69,68,
3408 169,168,170,233,415,
3409 514,514,514,514,2,1,3,4,5,169,5,3,5,656,
3410 69,69,67,170,234,234,234,235,235,69,68,
3411 183,412,418,184,416,
3412 192,66,172,236,238,237,
3413 122,173,410,140,
3414 514,514,2,1,3,4,5,174,5,3,5,533,
3415 122,240,175,13,149,140,239,239,
3416 244,11,152,176,243,246,246,242,14,241,246,245,400,
3417 240,177,13,
3418 122,178,375,140,
3419 122,179,149,140,247,247,
3420 122,180,370,140,
3421 122,240,181,13,149,140,248,248,
3422 182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,
3423 182,183,182,182,182,182,182,365,365,249,
3424 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3425 514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,5,183,5,
3426 3,5,598,
3427 143,69,124,126,133,139,118,119,120,121,125,128,154,137,155,251,132,129,131,
3428 134,135,136,130,127,152,148,147,122,89,138,69,123,67,184,144,254,70,70,
3429 151,150,159,70,159,159,149,140,159,253,160,158,158,160,160,159,158,159,
3430 255,159,159,159,153,153,153,153,153,153,153,153,256,252,160,250,153,153,
3431 153,256,256,159,159,159,153,146,146,146,146,146,145,153,153,153,69,68,
3432 143,142,141,
3433 258,152,185,257,258,258,
3434 152,186,259,
3435 69,69,67,187,70,70,70,260,260,69,68,
3436 514,514,2,1,3,4,5,188,5,3,5,639,
3437 514,2,1,3,4,5,189,5,3,5,643,
3438 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3439 514,514,514,514,514,2,1,3,4,5,190,5,3,5,642,
3440 261,191,262,
3441 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3442 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3443 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,
3444 5,192,5,3,5,577,
3445 16,95,96,97,98,99,100,18,93,94,43,13,11,12,193,383,383,383,383,383,383,383,
3446 383,383,383,383,383,383,383,383,
3447 514,2,1,3,4,5,194,5,3,5,672,
3448 264,94,263,83,115,116,264,264,195,264,264,264,264,265,264,265,264,
3449 122,196,274,140,
3450 66,197,266,
3451 267,198,268,
3452 264,94,263,83,115,116,264,264,199,264,264,264,264,269,264,269,264,
3453 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3454 514,514,514,514,514,2,1,3,4,5,200,5,3,5,522,
3455 122,201,260,140,
3456 514,514,2,1,3,4,5,202,5,3,5,623,
3457 270,272,203,271,272,
3458 514,514,514,2,1,3,4,5,204,5,3,5,663,
3459 69,69,67,205,273,273,273,342,69,68,
3460 69,69,67,206,70,70,70,341,341,69,68,
3461 274,207,275,
3462 276,44,281,278,208,280,283,285,285,284,285,282,277,279,
3463 80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,82,80,
3464 83,210,
3465 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3466 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3467 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3468 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,
3469 5,211,5,3,5,683,
3470 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3471 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3472 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3473 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,
3474 5,212,5,3,5,682,
3475 286,211,212,42,41,41,41,
3476 143,69,124,126,133,139,118,119,120,121,125,128,154,137,155,132,129,131,134,
3477 135,136,130,127,152,148,147,122,138,69,123,67,214,144,70,70,151,150,159,
3478 70,159,159,149,140,159,287,160,158,158,160,160,159,158,159,156,159,159,
3479 159,153,153,153,153,153,153,153,153,160,157,153,153,153,159,159,159,153,
3480 146,146,146,146,146,145,153,153,153,69,68,143,142,141,
3481 63,163,215,289,288,
3482 290,290,290,290,290,63,290,290,290,290,290,290,290,290,290,290,64,290,290,
3483 290,290,290,290,290,290,290,290,290,290,290,290,290,290,216,290,290,288,
3484 514,514,514,2,1,3,4,5,217,5,3,5,547,
3485 292,148,147,218,292,291,74,292,
3486 292,148,147,219,292,291,73,292,
3487 143,69,124,126,133,139,118,119,120,121,125,128,154,137,155,132,129,131,134,
3488 135,136,130,127,152,148,147,122,138,69,123,67,220,144,70,70,151,150,159,
3489 70,159,159,149,140,159,293,160,158,158,160,160,159,158,159,156,159,159,
3490 159,153,153,153,153,153,153,153,153,160,157,153,153,153,159,159,159,153,
3491 294,146,146,146,146,146,145,153,153,153,69,68,143,142,141,
3492 295,148,147,221,231,231,231,58,
3493 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3494 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3495 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,
3496 5,222,5,3,5,561,
3497 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3498 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3499 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,
3500 5,223,5,3,5,559,
3501 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3502 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3503 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,
3504 5,224,5,3,5,557,
3505 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3506 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3507 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,
3508 5,225,5,3,5,555,
3509 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3510 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3511 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,
3512 5,226,5,3,5,551,
3513 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3514 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3515 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,
3516 5,227,5,3,5,549,
3517 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3518 514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,5,228,5,3,5,541,
3519 143,69,124,126,133,139,118,119,120,121,125,128,154,137,155,132,129,131,134,
3520 135,136,130,127,152,148,147,122,138,69,123,67,229,144,70,70,151,150,159,
3521 70,159,159,149,140,159,158,158,50,50,159,158,159,156,159,159,159,153,
3522 153,153,153,153,153,153,153,50,157,153,153,153,159,159,159,153,146,146,
3523 146,146,146,145,153,153,153,69,68,143,142,141,
3524 69,163,69,67,230,296,296,296,198,69,68,
3525 143,69,124,126,133,139,118,119,120,121,125,128,154,137,155,132,129,131,134,
3526 135,136,130,127,152,148,147,122,138,69,123,67,231,144,70,70,151,150,159,
3527 70,159,159,149,140,159,297,158,158,297,297,159,158,159,156,159,159,159,
3528 153,153,153,153,153,153,153,153,297,157,153,153,153,159,159,159,153,146,
3529 146,146,146,146,145,153,153,153,69,68,143,142,141,
3530 143,69,124,126,133,139,118,119,120,121,125,128,154,137,155,132,129,131,134,
3531 135,136,130,127,152,148,147,122,138,69,123,67,232,144,161,161,151,150,
3532 159,161,159,159,149,140,159,162,160,158,158,160,160,159,158,159,156,159,
3533 159,159,153,153,153,153,153,153,153,153,160,157,153,153,153,159,159,159,
3534 153,146,146,146,146,146,145,153,153,153,196,69,68,143,142,141,
3535 183,413,418,249,
3536 298,234,299,
3537 192,417,300,
3538 69,69,67,236,70,70,70,301,301,302,302,69,68,
3539 182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,
3540 182,182,303,183,182,182,182,182,237,303,303,249,
3541 122,238,149,140,373,
3542 192,409,238,
3543 514,2,1,3,4,5,240,5,3,5,532,
3544 244,11,152,241,304,246,246,242,14,246,245,401,
3545 66,242,236,305,
3546 69,11,152,69,67,243,70,70,70,307,307,304,306,306,242,14,307,306,69,68,
3547 514,2,1,3,4,5,244,5,3,5,680,
3548 152,245,308,
3549 309,310,311,398,315,314,313,312,
3550 192,374,238,
3551 192,369,238,
3552 143,69,124,126,133,139,118,119,120,121,125,128,154,137,155,251,132,129,131,
3553 134,135,136,130,127,152,148,147,122,89,138,69,123,67,249,144,254,70,70,
3554 151,150,159,70,159,159,149,140,159,253,160,158,158,160,160,159,158,159,
3555 255,159,159,159,153,153,153,153,153,153,153,153,256,252,160,157,153,153,
3556 153,256,256,159,159,159,153,146,146,146,146,146,145,153,153,153,69,68,
3557 143,142,141,
3558 316,125,128,137,250,134,135,136,317,
3559 514,2,1,3,4,5,251,5,3,5,564,
3560 152,252,318,
3561 326,327,328,329,298,320,323,267,274,148,147,89,253,324,231,231,231,330,325,
3562 322,321,319,319,325,321,330,330,330,330,330,
3563 143,69,124,126,133,139,118,119,120,121,125,128,154,137,155,251,132,129,131,
3564 134,135,136,130,127,152,148,147,122,89,138,69,123,67,254,144,254,70,70,
3565 151,150,159,70,159,159,149,140,159,253,160,158,158,160,160,159,158,159,
3566 255,159,159,159,153,153,153,153,153,153,153,153,139,252,160,157,153,153,
3567 153,139,159,159,159,153,146,146,146,146,146,145,153,153,153,69,68,143,
3568 142,141,
3569 143,69,124,126,133,139,118,119,120,121,125,128,154,137,155,251,132,129,131,
3570 134,135,136,130,127,152,148,147,122,89,138,69,123,67,255,144,254,70,70,
3571 151,150,159,70,159,159,149,140,159,332,160,158,158,160,160,159,158,159,
3572 255,159,159,159,153,153,153,153,153,153,153,153,331,252,160,157,153,153,
3573 153,331,331,159,159,159,153,146,146,146,146,146,145,153,153,153,69,68,
3574 143,142,141,
3575 333,334,205,335,335,335,
3576 69,69,67,257,70,70,70,307,307,307,69,68,
3577 336,258,337,
3578 69,276,278,69,67,259,280,339,70,70,70,338,338,341,277,279,341,341,340,69,68,
3579 112,260,342,
3580 514,514,514,514,514,2,1,3,4,5,261,5,3,5,627,
3581 211,212,262,343,343,343,
3582 514,514,2,1,3,4,5,263,5,3,5,645,
3583 69,69,67,264,70,70,70,286,286,69,68,
3584 66,265,344,
3585 122,266,149,140,275,
3586 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3587 514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,5,267,5,
3588 3,5,565,
3589 345,346,268,347,347,347,
3590 261,269,348,
3591 514,514,2,1,3,4,5,270,5,3,5,622,
3592 349,271,255,
3593 350,272,351,
3594 166,273,167,
3595 514,514,514,2,1,3,4,5,274,5,3,5,563,
3596 123,275,249,141,
3597 514,2,1,3,4,5,276,5,3,5,649,
3598 352,277,353,
3599 514,2,1,3,4,5,278,5,3,5,531,
3600 152,279,257,354,
3601 352,280,12,
3602 514,514,514,2,1,3,4,5,281,5,3,5,647,
3603 276,278,282,280,297,355,
3604 152,283,257,295,
3605 69,69,67,284,70,70,70,356,356,294,69,68,
3606 244,244,244,244,276,44,281,244,244,244,244,244,244,244,244,244,244,244,244,
3607 244,244,244,244,244,278,244,244,244,285,280,283,358,358,246,293,284,293,
3608 357,277,279,
3609 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3610 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3611 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3612 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,
3613 5,286,5,3,5,684,
3614 192,360,148,147,287,231,231,231,359,360,
3615 69,69,67,288,70,70,70,361,361,361,69,68,
3616 295,289,157,
3617 143,69,124,126,133,139,118,119,120,121,125,128,154,137,155,132,129,131,134,
3618 135,136,130,127,152,148,147,122,138,69,123,67,290,144,70,70,151,150,159,
3619 70,159,159,149,140,159,362,160,158,158,160,160,159,158,159,156,159,159,
3620 159,153,153,153,153,153,153,153,153,160,157,153,153,153,159,159,159,153,
3621 146,146,146,146,146,145,153,153,153,69,68,143,142,141,
3622 363,291,78,363,
3623 363,292,77,363,
3624 148,147,180,231,231,231,
3625 192,295,294,147,364,
3626 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3627 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3628 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3629 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3630 514,514,514,514,514,2,1,3,4,5,295,5,3,5,542,
3631 166,30,365,
3632 228,163,46,229,229,229,
3633 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3634 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,
3635 5,298,5,3,5,568,
3636 143,69,124,126,133,139,118,119,120,121,125,128,154,137,155,132,129,131,134,
3637 135,136,130,127,152,148,147,122,366,138,69,123,67,299,144,423,70,70,151,
3638 150,159,70,159,159,149,140,159,367,160,158,158,160,160,159,158,159,156,
3639 159,159,159,153,153,153,153,153,153,153,153,160,157,153,153,153,159,159,
3640 159,153,146,146,146,146,146,145,153,153,153,423,69,68,143,142,141,
3641 69,69,67,300,234,234,234,420,69,68,
3642 69,69,67,203,70,70,70,204,204,69,68,
3643 192,200,368,
3644 184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,
3645 184,371,369,184,184,184,184,303,371,371,370,
3646 11,152,304,304,306,306,242,14,306,
3647 182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,
3648 182,182,182,182,182,182,182,182,372,183,182,182,182,182,182,305,372,372,
3649 249,
3650 309,310,311,295,306,212,315,314,313,312,
3651 192,295,307,209,373,
3652 143,154,155,122,366,123,308,374,151,150,374,149,140,374,374,374,374,374,157,
3653 374,374,143,142,141,
3654 514,514,514,2,1,3,4,5,309,5,3,5,604,
3655 514,514,514,2,1,3,4,5,310,5,3,5,603,
3656 514,514,514,2,1,3,4,5,311,5,3,5,602,
3657 64,219,220,
3658 64,217,218,
3659 64,215,216,
3660 11,152,315,304,214,242,14,214,
3661 514,514,514,2,1,3,4,5,316,5,3,5,608,
3662 69,69,67,317,70,70,70,367,367,69,68,
3663 11,152,318,304,375,375,242,14,375,
3664 143,69,124,126,133,139,118,119,120,121,125,128,154,137,155,132,129,131,134,
3665 135,136,130,127,152,148,147,122,138,69,123,67,319,144,70,70,151,150,159,
3666 70,159,159,149,140,159,376,160,158,158,160,160,159,158,159,377,159,159,
3667 159,153,153,153,153,153,153,153,153,105,160,157,153,153,153,159,159,159,
3668 153,146,146,146,146,146,145,153,153,153,69,68,143,142,141,
3669 514,514,514,2,1,3,4,5,320,5,3,5,567,
3670 155,122,123,321,104,149,140,104,104,104,141,
3671 89,366,322,378,102,103,
3672 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3673 514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,5,323,5,3,5,566,
3674 320,323,267,324,108,110,112,
3675 143,69,124,126,133,139,118,119,120,121,125,128,154,137,155,132,129,131,134,
3676 135,136,130,127,152,148,147,122,138,69,123,67,325,144,70,70,151,150,159,
3677 70,159,159,149,140,159,379,160,158,158,160,160,159,158,159,156,159,159,
3678 159,153,153,153,153,153,153,153,153,160,157,153,153,153,159,159,159,153,
3679 146,146,146,146,146,145,153,153,153,69,68,143,142,141,
3680 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3681 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,5,
3682 326,5,3,5,572,
3683 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3684 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,5,
3685 327,5,3,5,571,
3686 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3687 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,5,
3688 328,5,3,5,570,
3689 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3690 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,5,
3691 329,5,3,5,569,
3692 143,69,124,126,133,139,118,119,120,121,125,128,154,137,155,64,380,381,132,
3693 129,131,134,135,136,130,127,152,148,147,122,138,69,123,67,330,144,70,70,
3694 151,150,159,70,159,159,149,140,159,384,160,158,158,160,160,159,158,159,
3695 383,159,159,159,153,153,153,153,153,153,153,153,100,382,382,382,382,160,
3696 157,153,153,153,159,159,159,153,146,146,146,146,146,145,153,153,153,69,
3697 68,143,142,141,
3698 333,334,295,331,138,335,335,335,
3699 326,327,328,329,298,320,323,267,274,295,148,147,89,332,324,231,231,231,58,
3700 330,325,322,321,319,319,325,321,330,330,330,330,330,
3701 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3702 514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,5,333,5,
3703 3,5,582,
3704 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3705 514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,5,334,5,
3706 3,5,562,
3707 143,69,124,126,133,139,118,119,120,121,125,128,154,137,155,251,132,129,131,
3708 134,135,136,130,127,152,148,147,122,89,138,69,123,67,335,144,254,70,70,
3709 151,150,159,70,159,159,149,140,159,253,160,158,158,160,160,159,158,159,
3710 255,159,159,159,153,153,153,153,153,153,153,153,141,252,160,157,153,153,
3711 153,141,159,159,159,153,146,146,146,146,146,145,153,153,153,69,68,143,
3712 142,141,
3713 514,514,2,1,3,4,5,336,5,3,5,668,
3714 11,152,337,304,385,385,242,14,385,
3715 392,387,393,394,395,396,125,128,137,388,389,390,391,386,138,338,398,398,398,
3716 400,400,400,400,400,357,357,357,357,357,357,357,357,399,399,397,
3717 152,339,257,355,
3718 69,93,350,89,69,67,354,378,403,70,70,70,402,402,404,358,401,358,69,68,
3719 192,295,341,346,405,
3720 69,69,67,342,70,70,70,406,406,69,68,
3721 286,211,212,284,41,41,41,
3722 69,407,69,67,344,70,70,70,408,408,408,276,276,69,68,
3723 514,2,1,3,4,5,345,5,3,5,633,
3724 514,2,1,3,4,5,346,5,3,5,632,
3725 409,347,271,
3726 69,407,69,67,348,70,70,70,408,408,408,264,264,69,68,
3727 514,2,1,3,4,5,349,5,3,5,621,
3728 514,514,514,514,514,514,514,514,2,1,3,4,5,350,5,3,5,610,
3729 69,11,152,69,67,351,258,258,258,304,410,410,242,14,410,258,258,69,68,
3730 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3731 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3732 2,1,3,4,5,352,5,3,5,530,
3733 69,69,67,313,70,70,70,314,314,69,68,
3734 93,354,312,401,
3735 352,355,411,
3736 392,387,393,394,395,396,125,128,137,388,389,390,391,386,138,356,398,398,398,
3737 400,400,400,400,400,412,412,412,412,412,412,412,412,399,399,397,
3738 81,276,94,83,278,115,116,357,117,117,280,297,117,117,355,117,117,
3739 44,245,243,60,
3740 413,414,415,416,417,359,161,162,163,164,165,
3741 295,360,159,
3742 295,361,158,
3743 295,148,147,362,231,231,231,154,
3744 70,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3745 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3746 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3747 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,5,
3748 363,5,3,5,544,
3749 143,69,124,126,133,139,118,119,120,121,125,128,154,137,155,132,129,131,134,
3750 135,136,130,127,152,148,147,122,138,69,123,67,364,144,70,70,151,150,159,
3751 70,159,159,149,140,159,418,160,158,158,160,160,159,158,159,156,159,159,
3752 159,153,153,153,153,153,153,153,153,160,157,153,153,153,159,159,159,153,
3753 146,146,146,146,146,145,153,153,153,69,68,143,142,141,
3754 163,365,199,
3755 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3756 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3757 514,514,514,514,514,514,514,514,514,514,2,1,3,4,5,366,5,3,5,526,
3758 148,147,421,231,231,231,
3759 69,69,67,368,70,70,70,301,301,202,69,68,
3760 514,2,1,3,4,5,369,5,3,5,600,
3761 419,370,420,
3762 186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,
3763 186,421,186,186,186,186,371,411,411,422,
3764 184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,
3765 184,184,184,184,184,184,184,423,369,184,184,184,184,184,372,423,423,370,
3766 69,69,67,373,70,70,70,208,208,69,68,
3767 192,295,374,399,424,
3768 309,310,311,295,375,106,315,314,313,312,
3769 148,147,132,231,231,231,
3770 143,69,11,124,126,133,139,118,119,120,121,125,128,154,137,155,132,129,131,
3771 134,135,136,130,127,152,148,147,122,138,69,123,67,377,144,70,70,151,150,
3772 159,70,159,159,149,140,159,427,160,158,158,160,160,159,158,159,426,159,
3773 159,159,153,153,153,153,153,153,153,153,425,160,157,153,153,153,159,159,
3774 159,153,146,146,146,146,146,145,153,153,153,425,242,14,425,69,68,143,
3775 142,141,
3776 366,378,9,
3777 334,148,147,379,231,231,231,428,
3778 514,2,1,3,4,5,380,5,3,5,574,
3779 514,2,1,3,4,5,381,5,3,5,573,
3780 152,382,429,
3781 143,69,11,124,126,133,139,118,119,120,121,125,128,154,137,155,132,129,131,
3782 134,135,136,130,127,152,148,147,122,138,69,123,67,383,144,70,70,151,150,
3783 159,70,159,159,149,140,159,221,160,158,158,160,160,159,158,159,426,159,
3784 159,159,153,153,153,153,153,153,153,153,430,160,157,153,153,153,159,159,
3785 159,153,146,146,146,146,146,145,153,153,153,430,242,14,430,69,68,143,
3786 142,141,
3787 148,147,118,231,231,231,
3788 349,349,349,349,349,349,349,349,349,349,349,349,349,270,349,349,349,349,349,
3789 349,349,309,310,311,349,349,349,349,385,315,314,313,312,431,351,
3790 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3791 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3792 2,1,3,4,5,386,5,3,5,517,
3793 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3794 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3795 2,1,3,4,5,387,5,3,5,661,
3796 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3797 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3798 2,1,3,4,5,388,5,3,5,521,
3799 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3800 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3801 2,1,3,4,5,389,5,3,5,520,
3802 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3803 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3804 2,1,3,4,5,390,5,3,5,519,
3805 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3806 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3807 2,1,3,4,5,391,5,3,5,518,
3808 514,2,1,3,4,5,392,5,3,5,662,
3809 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3810 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,
3811 3,4,5,393,5,3,5,660,
3812 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3813 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,
3814 3,4,5,394,5,3,5,659,
3815 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3816 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,
3817 3,4,5,395,5,3,5,658,
3818 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3819 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,
3820 3,4,5,396,5,3,5,657,
3821 387,397,337,
3822 336,336,336,336,336,336,336,336,336,336,336,336,336,336,336,336,336,336,336,
3823 336,336,336,336,336,336,336,336,336,331,336,336,336,336,336,336,336,336,
3824 398,
3825 152,399,432,
3826 152,330,433,
3827 69,69,67,401,70,70,70,434,434,69,68,
3828 93,402,363,401,
3829 278,360,280,361,
3830 435,404,436,
3831 69,276,278,69,67,405,280,339,70,70,70,338,338,353,277,279,353,340,69,68,
3832 152,406,437,
3833 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3834 514,514,514,514,514,2,1,3,4,5,407,5,3,5,671,
3835 192,377,373,
3836 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3837 514,514,514,514,514,2,1,3,4,5,409,5,3,5,634,
3838 350,439,309,310,311,221,315,314,313,312,441,223,225,440,438,
3839 69,69,67,411,298,298,298,69,68,
3840 442,306,306,306,306,442,306,306,306,306,306,306,306,306,306,306,306,306,306,
3841 306,306,306,306,306,442,306,306,306,306,306,442,306,442,412,442,
3842 514,2,1,3,4,5,413,5,3,5,593,
3843 514,2,1,3,4,5,414,5,3,5,592,
3844 514,2,1,3,4,5,415,5,3,5,591,
3845 514,2,1,3,4,5,416,5,3,5,590,
3846 514,2,1,3,4,5,417,5,3,5,589,
3847 148,147,181,231,231,231,
3848 514,514,514,514,2,1,3,4,5,419,5,3,5,599,
3849 69,69,67,420,70,70,70,443,443,443,69,68,
3850 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3851 514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,3,4,5,421,5,
3852 3,5,601,
3853 143,69,124,126,133,139,118,119,120,121,125,128,154,137,155,251,132,129,131,
3854 134,135,136,130,127,152,148,147,122,89,138,69,123,67,422,144,254,70,70,
3855 151,150,159,70,159,159,149,140,159,253,160,158,158,160,160,159,158,159,
3856 255,159,159,159,153,153,153,153,153,153,153,153,444,252,160,157,153,153,
3857 153,444,444,159,159,159,153,146,146,146,146,146,145,153,153,153,69,68,
3858 143,142,141,
3859 186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,
3860 186,186,186,186,186,186,186,421,186,186,186,186,186,423,188,188,422,
3861 143,154,155,122,366,123,424,403,151,150,403,149,140,403,403,403,403,403,157,
3862 403,143,142,141,
3863 309,310,311,295,425,127,315,314,313,312,
3864 143,69,11,124,126,133,139,118,119,120,121,125,128,154,137,155,132,129,131,
3865 134,135,136,130,127,152,148,147,122,138,69,123,67,426,144,70,70,151,150,
3866 159,70,159,159,149,140,159,221,160,158,158,160,160,159,158,159,426,159,
3867 159,159,153,153,153,153,153,153,153,153,306,160,157,153,153,153,159,159,
3868 159,153,146,146,146,146,146,145,153,153,153,306,242,14,306,69,68,143,
3869 142,141,
3870 192,295,148,147,427,231,231,231,58,445,446,446,
3871 143,69,124,126,133,139,118,119,120,121,125,128,154,137,155,132,129,131,134,
3872 135,136,130,127,152,148,147,122,138,69,123,67,428,144,70,70,151,150,159,
3873 70,159,159,149,140,159,447,160,158,158,160,160,159,158,159,156,159,159,
3874 159,153,153,153,153,153,153,153,153,160,157,153,153,153,159,159,159,153,
3875 146,146,146,146,146,145,153,153,153,69,68,143,142,141,
3876 11,152,429,304,448,448,242,14,448,
3877 309,310,311,295,430,119,315,314,313,312,
3878 449,431,450,
3879 363,432,451,363,
3880 363,433,452,363,
3881 316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,
3882 316,112,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,
3883 434,453,315,454,
3884 514,2,1,3,4,5,435,5,3,5,652,
3885 455,436,359,
3886 363,69,69,67,437,70,70,456,70,457,457,458,458,69,68,363,
3887 17,13,438,460,459,
3888 514,2,1,3,4,5,439,5,3,5,605,
3889 419,440,461,
3890 350,222,224,462,
3891 69,93,350,69,67,305,70,70,70,463,463,464,307,307,463,401,69,68,
3892 192,206,373,
3893 333,334,210,335,335,335,
3894 143,69,124,126,133,139,118,119,120,121,125,128,154,137,155,132,129,131,134,
3895 135,136,130,127,152,148,147,122,138,69,123,67,445,144,70,70,151,150,159,
3896 70,159,159,149,140,159,465,160,158,158,160,160,159,158,159,156,159,159,
3897 159,153,153,153,153,153,153,153,153,160,157,153,153,153,159,159,159,153,
3898 146,146,146,146,146,145,153,153,153,69,68,143,142,141,
3899 192,295,446,131,445,130,
3900 148,147,101,231,231,231,
3901 309,310,311,295,448,120,315,314,313,312,
3902 514,2,1,3,4,5,449,5,3,5,667,
3903 466,450,350,
3904 295,451,333,
3905 192,295,452,334,467,
3906 13,12,453,468,469,
3907 112,317,470,
3908 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3909 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,2,1,
3910 3,4,5,455,5,3,5,651,
3911 231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,
3912 231,231,471,472,231,231,231,231,231,231,456,230,230,230,
3913 231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,
3914 231,231,471,472,231,231,231,231,231,231,457,229,229,229,
3915 192,295,458,345,473,
3916 474,459,235,
3917 316,460,475,
3918 363,69,69,67,461,70,70,456,70,457,457,476,476,69,68,363,
3919 17,462,459,
3920 93,463,310,401,
3921 435,464,477,
3922 148,147,128,231,231,231,
3923 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3924 514,514,514,514,514,2,1,3,4,5,466,5,3,5,666,
3925 363,467,478,363,
3926 169,479,480,468,325,325,481,325,
3927 480,469,482,
3928 13,470,483,
3929 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3930 514,514,514,514,514,514,514,514,2,1,3,4,5,471,5,3,5,607,
3931 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3932 514,514,514,514,514,514,514,514,2,1,3,4,5,472,5,3,5,606,
3933 363,69,69,67,473,70,70,456,70,457,457,228,69,68,363,
3934 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3935 514,514,514,514,514,2,1,3,4,5,474,5,3,5,611,
3936 69,69,67,475,70,70,70,484,484,484,69,68,
3937 192,226,473,
3938 455,477,308,
3939 295,478,335,
3940 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3941 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3942 2,1,3,4,5,479,5,3,5,655,
3943 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3944 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,
3945 2,1,3,4,5,480,5,3,5,654,
3946 366,481,324,
3947 319,319,319,319,319,319,319,319,319,319,319,319,319,319,319,319,319,319,319,
3948 319,112,319,319,319,319,319,319,319,319,319,319,319,319,319,319,319,319,
3949 482,485,321,321,
3950 480,483,318,
3951 192,234,373,
3952 12,485,468,
3953
3954 };
3955
3956
3957 static const unsigned short far ag_sbt[] = {
3958 0, 35, 58, 82, 84, 107, 283, 348, 368, 389, 391, 393, 439, 455,
3959 472, 510, 523, 536, 550, 566, 569, 583, 596, 607, 610, 645, 670, 683,
3960 694, 705, 708, 720, 745, 756, 767, 778, 791, 802, 816, 825, 860, 871,
3961 884, 895, 908, 925, 933, 961, 995,1004,1007,1013,1047,1051,1060,1069,
3962 1097,1100,1109,1113,1116,1128,1186,1188,1230,1275,1368,1383,1406,1517,
3963 1546,1549,1564,1578,1584,1588,1599,1605,1616,1621,1625,1665,1678,1689,
3964 1702,1713,1724,1727,1739,1751,1799,1802,1808,1842,1857,1872,1884,1896,
3965 1908,1920,1932,1944,1947,1952,1955,1960,1971,2005,2039,2042,2045,2048,
3966 2051,2072,2078,2089,2102,2115,2124,2135,2146,2157,2168,2180,2205,2216,
3967 2288,2299,2363,2435,2499,2563,2627,2691,2702,2766,2830,2894,2966,3013,
3968 3024,3030,3107,3186,3266,3269,3273,3277,3318,3359,3363,3366,3369,3419,
3969 3422,3436,3499,3587,3594,3680,3710,3716,3719,3725,3770,3773,3796,3810,
3970 3819,3824,3838,3849,3854,3860,3864,3876,3884,3897,3900,3904,3910,3914,
3971 3922,3951,3994,4089,4095,4098,4109,4121,4132,4166,4169,4232,4262,4273,
3972 4290,4294,4297,4300,4317,4351,4355,4367,4372,4385,4395,4406,4409,4423,
3973 4445,4447,4528,4609,4616,4704,4709,4746,4759,4767,4775,4864,4872,4935,
3974 4998,5061,5124,5187,5250,5291,5377,5388,5475,5564,5568,5571,5574,5587,
3975 5618,5623,5626,5637,5649,5653,5673,5684,5687,5695,5698,5701,5796,5805,
3976 5816,5819,5849,5943,6038,6044,6056,6059,6080,6083,6098,6104,6116,6127,
3977 6130,6135,6178,6184,6187,6199,6202,6205,6208,6221,6225,6236,6239,6250,
3978 6254,6257,6270,6276,6280,6292,6332,6413,6423,6435,6438,6526,6530,6534,
3979 6540,6545,6633,6636,6642,6687,6778,6788,6799,6802,6832,6841,6879,6889,
3980 6894,6918,6931,6944,6957,6960,6963,6966,6974,6987,6998,7007,7096,7109,
3981 7120,7126,7167,7174,7262,7306,7350,7394,7438,7534,7542,7574,7617,7660,
3982 7754,7766,7775,7810,7814,7834,7839,7850,7857,7872,7883,7894,7897,7912,
3983 7923,7941,7960,8007,8018,8022,8025,8060,8077,8081,8092,8095,8098,8106,
3984 8186,8274,8277,8334,8340,8352,8363,8366,8395,8432,8443,8448,8458,8464,
3985 8558,8561,8569,8580,8591,8594,8688,8694,8729,8776,8823,8870,8917,8964,
3986 9011,9022,9068,9114,9160,9206,9209,9247,9250,9253,9264,9268,9272,9275,
3987 9295,9298,9332,9335,9369,9384,9393,9428,9439,9450,9461,9472,9483,9489,
3988 9503,9515,9558,9653,9689,9712,9722,9816,9828,9916,9925,9935,9938,9942,
3989 9946,9987,9998,10001,10017,10022,10033,10036,10040,10058,10061,10067,
3990 10155,10161,10167,10177,10188,10191,10194,10199,10204,10207,10253,10286,
3991 10319,10324,10327,10330,10346,10349,10353,10356,10362,10396,10400,10408,
3992 10411,10414,10451,10488,10503,10537,10549,10552,10555,10558,10605,10652,
3993 10655,10696,10699,10702,10705
3994 };
3995
3996
3997 static const unsigned short far ag_sbe[] = {
3998 30, 55, 79, 83, 104, 280, 308, 367, 388, 390, 392, 434, 450, 467,
3999 506, 518, 531, 545, 561, 567, 578, 591, 599, 608, 640, 665, 678, 686,
4000 700, 706, 715, 740, 748, 760, 773, 786, 794, 811, 820, 855, 866, 879,
4001 890, 903, 920, 928, 958, 976, 998,1005,1009,1028,1048,1054,1063,1094,
4002 1098,1103,1110,1114,1121,1151,1187,1225,1270,1307,1378,1403,1512,1541,
4003 1547,1553,1573,1579,1585,1591,1601,1611,1617,1622,1653,1673,1681,1697,
4004 1705,1719,1725,1734,1746,1794,1800,1804,1837,1852,1867,1879,1891,1903,
4005 1915,1927,1939,1945,1949,1953,1957,1963,2000,2034,2040,2043,2046,2049,
4006 2067,2074,2081,2097,2110,2118,2130,2141,2152,2163,2175,2201,2211,2283,
4007 2294,2358,2430,2494,2558,2622,2686,2697,2761,2825,2889,2961,3008,3019,
4008 3026,3102,3181,3261,3267,3270,3274,3313,3354,3360,3364,3367,3414,3420,
4009 3431,3494,3530,3590,3625,3694,3712,3717,3721,3765,3771,3794,3805,3813,
4010 3820,3833,3841,3850,3856,3861,3871,3878,3887,3898,3901,3905,3911,3916,
4011 3947,3989,4027,4091,4096,4101,4116,4127,4161,4167,4227,4246,4268,4281,
4012 4291,4295,4298,4308,4346,4352,4362,4369,4380,4388,4398,4407,4413,4443,
4013 4446,4523,4604,4612,4647,4706,4742,4754,4762,4770,4806,4867,4930,4993,
4014 5056,5119,5182,5245,5286,5322,5381,5419,5506,5565,5569,5572,5577,5614,
4015 5619,5624,5632,5640,5650,5658,5679,5685,5690,5696,5699,5734,5800,5811,
4016 5817,5831,5882,5976,6040,6047,6057,6064,6081,6093,6100,6111,6119,6128,
4017 6131,6173,6180,6185,6194,6200,6203,6206,6216,6222,6231,6237,6245,6251,
4018 6255,6265,6272,6277,6283,6320,6408,6417,6426,6436,6469,6527,6531,6536,
4019 6542,6628,6634,6638,6682,6719,6781,6791,6800,6828,6834,6875,6883,6891,
4020 6900,6926,6939,6952,6958,6961,6964,6968,6982,6990,7000,7038,7104,7112,
4021 7122,7162,7170,7205,7301,7345,7389,7433,7472,7537,7555,7612,7655,7693,
4022 7761,7768,7790,7811,7820,7836,7842,7853,7861,7878,7889,7895,7901,7918,
4023 7936,7946,8002,8010,8019,8023,8040,8067,8078,8086,8093,8096,8101,8181,
4024 8217,8275,8329,8336,8343,8358,8364,8391,8428,8435,8445,8452,8460,8496,
4025 8559,8564,8575,8586,8592,8626,8690,8722,8771,8818,8865,8912,8959,9006,
4026 9017,9063,9109,9155,9201,9207,9246,9248,9251,9256,9265,9269,9273,9280,
4027 9296,9327,9333,9364,9374,9387,9426,9434,9445,9456,9467,9478,9485,9498,
4028 9506,9553,9591,9685,9695,9716,9754,9820,9859,9918,9929,9936,9939,9943,
4029 9983,9993,9999,10005,10019,10028,10034,10037,10045,10059,10063,10098,
4030 10157,10163,10171,10183,10189,10192,10196,10201,10205,10248,10282,10315,
4031 10321,10325,10328,10334,10347,10350,10354,10358,10391,10397,10403,10409,
4032 10412,10446,10483,10492,10532,10540,10550,10553,10556,10600,10647,10653,
4033 10692,10697,10700,10703,10705
4034 };
4035
4036
4037 static const unsigned char far ag_fl[] = {
4038 2,1,1,1,1,1,1,2,2,2,1,1,2,2,1,1,2,0,1,3,0,2,2,1,2,0,1,3,1,1,3,1,1,1,2,
4039 3,1,2,1,1,1,2,2,1,2,1,3,1,1,1,3,1,1,1,1,2,2,1,3,1,1,1,1,1,1,1,1,1,1,1,
4040 2,2,2,3,3,0,1,2,2,1,2,0,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,5,3,3,3,
4041 3,4,1,2,1,2,1,2,1,1,1,1,1,1,3,4,1,1,1,1,1,1,3,2,1,2,4,1,1,2,2,2,1,3,2,
4042 1,3,1,1,1,1,1,4,1,1,1,1,0,1,5,2,2,4,4,5,0,2,2,2,2,2,1,1,1,1,1,1,1,1,1,
4043 1,1,1,1,1,1,3,0,1,0,1,0,1,5,0,1,1,1,1,3,1,3,1,3,5,2,1,3,1,2,2,3,1,3,3,
4044 2,1,3,1,3,1,2,1,2,1,2,1,2,2,3,2,3,1,3,2,2,0,1,1,4,3,0,1,2,1,1,2,1,2,0,
4045 1,5,2,2,5,0,1,2,1,0,2,1,1,6,1,4,2,1,1,6,1,1,2,1,1,1,6,1,0,2,5,6,2,1,1,
4046 2,1,1,1,3,3,2,1,0,1,1,1,1,2,2,2,1,2,4,1,1,1,1,1,3,3,0,2,3,1,2,1,3,2,3,
4047 3,0,1,4,0,1,4,1,1,2,3,1,1,1,1,1,1,1,4,4,6,1,2,1,1,1,2,2,0,1,9,6,0,1,0,
4048 3,7,1,3,1,2,1,2,2,3,1,2,1,2,3,4,3,4,2,4,4,3,1,3,4,4,1,1,0,1,2,1,1,3,1,
4049 1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,5,1,3,1,1,1,1,2,4,4,7,3,4,3,4,4,2,2,1,
4050 3,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
4051 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
4052 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,0,1,2,2,2,2,2,2,2,2,2,
4053 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
4054 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
4055 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
4056 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
4057 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
4058 };
4059
4060 static const unsigned short far ag_ptt[] = {
4061 0, 3, 3, 8, 8, 8, 8, 11, 14, 17, 20, 20, 23, 26, 27, 36, 36, 37,
4062 37, 27, 40, 40, 27, 43, 43, 44, 44, 27, 46, 46, 47, 49, 49,365,365,366,
4063 53, 53, 54, 54, 57, 57, 60, 62, 62, 63, 63, 65, 65, 64, 64, 69, 69, 68,
4064 68, 68, 68, 73, 73, 73, 73, 73, 75, 75, 80, 79, 79, 79, 79,375,375,376,
4065 376, 81, 81, 85, 85, 84, 84, 88, 88, 89, 89,377, 87, 87, 74, 74, 74, 74,
4066 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,106,106,106,106,106,106,106,114,
4067 114,109,109,112,112,107,107,107,107,107,108,108,108,126,126,126,113,113,
4068 113,115,132,133,133,115,115, 72, 72, 72, 72,138,138,138,139,139,140,140,
4069 76, 76, 76, 76,147,147,147,147,152,152,142,142,143,143,153,144,156,156,
4070 156,156,156,156,145,145,145,145,145,145,145,145,145,145,145,145,145,145,
4071 146,146,169,169,171,171,173,173,165,175,175,175,177,177,166,176,176,178,
4072 178,178,167,179,179,180,180,168,170,184,184,185,172,187,187,117,117,188,
4073 188,188,188,188,188,192,192,192,192,192,193,197,197,198,198,199,199,199,
4074 195,194,209,209,207,208,208,208,216,216,217,217,212,212,212,212,225,225,
4075 212,212,230,230,231,231,212,212,212,212,212,212,212,246,246,212,212,251,
4076 251,212,212,255,255,212,212,212,212,212,264,264,264,267,267,212,240,240,
4077 268,268,268,268,215,215,271,271,271,271,271,278,278,278,278,278,211,273,
4078 280,280,281,281,281,285,274,286,286,284,288,288,288,291,291,288,294,294,
4079 294,289,279,279,279,279,279,300,300,279,279,279,279,279,279,279,279,222,
4080 222,305,305,226,226,307,307,311,311,226,306,306,312,312,312,313,313,314,
4081 314,314,314,314,232,232,232,315,236,236,236,236,317,317,237,237,242,242,
4082 321,321,239,239,322,322,323,323,323,323,323,323,323,323,323,323,323,323,
4083 323,323,333,333,247,247,332,332,334,334,334,334,253,253,253,258,259,259,
4084 259,259,259,336,337,338,338,340,340,339, 35, 35, 35, 35, 35, 35, 35, 35,
4085 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 42, 42, 42, 42, 42, 42, 42,
4086 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 50, 50, 51, 51, 51,
4087 51, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
4088 55, 55, 58, 58, 59, 59, 59, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
4089 90, 90, 90, 90, 90, 90, 90, 90,345,345,346,346, 1, 2, 4, 5, 6, 7,
4090 10, 9, 13, 12, 16, 15, 18, 19, 22, 21, 25, 24, 28, 29, 48, 61, 66, 67,
4091 70, 71, 78, 77, 30, 31, 32, 83, 92, 93, 94, 95, 96, 97, 98, 99,100,101,
4092 102,103,104,105,110,111,116,118,119,120,121,122,123,124,125,127,128,129,
4093 130,131,135,134,136,137,141,148,149,150,151,154,155,157,158,159,160,161,
4094 162,163,164,174,181,183,182,186,189,190,191,196,200,201,204,203,202,206,
4095 205,214,213,218,219,221,220,224,223,229,228,227,234,233,235,241,238,244,
4096 245,243,249,250,252,248,254,256,257,261,262,263,265,266,260,269,270,272,
4097 275,276,277,283,282,287,290,292,293,295,296,297,298,299,301,302,304,303,
4098 310,309,308,316,318,319,320,324,325,326,327,328,329,330,331,335,343,344,
4099 82
4100 };
4101
4102
4103 static void ag_ra(void)
4104 {
4105 }
4106
4107 #define TOKEN_NAMES sql_token_names
4108 const char *const sql_token_names[516] = {
4109 "grammar",
4110 "\"CHAR\"",
4111 "\"CHARACTER\"",
4112 "",
4113 "\"DEC\"",
4114 "\"DECIMAL\"",
4115 "\"NUM\"",
4116 "\"NUMERIC\"",
4117 "",
4118 "\"DECLARE\"",
4119 "\"SECTION\"",
4120 "",
4121 "\"DELETE\"",
4122 "\"FROM\"",
4123 "",
4124 "\"NOT\"",
4125 "\"NULL\"",
4126 "",
4127 "\"PACKAGE\"",
4128 "\"PROGRAM\"",
4129 "",
4130 "\"PRIMARY\"",
4131 "\"KEY\"",
4132 "",
4133 "\"USING\"",
4134 "\"DESCRIPTOR\"",
4135 "",
4136 "white space",
4137 "ordinary identifier",
4138 "delimited identifier",
4139 "integer",
4140 "decimal constant",
4141 "character string constant",
4142 "blank",
4143 "\"//\"",
4144 "",
4145 "",
4146 "",
4147 "'\\n'",
4148 "\"--\"",
4149 "",
4150 "\"/*\"",
4151 "",
4152 "",
4153 "",
4154 "\"*/\"",
4155 "identifier",
4156 "qualified identifier",
4157 "'.'",
4158 "any identifier",
4159 "letter",
4160 "",
4161 "'\\\"'",
4162 "delimited identifier text",
4163 "delimited identifier char",
4164 "",
4165 "\"\\\"\\\"\"",
4166 "host identifier",
4167 "",
4168 "",
4169 "descriptor name",
4170 "':'",
4171 "host variable",
4172 "expression",
4173 "term",
4174 "addop",
4175 "'+'",
4176 "'-'",
4177 "factor",
4178 "multop",
4179 "'*'",
4180 "'/'",
4181 "special register",
4182 "simple factor",
4183 "duration",
4184 "sign",
4185 "function",
4186 "'('",
4187 "')'",
4188 "constant",
4189 "column name",
4190 "floating point constant",
4191 "digit",
4192 "\"E\"",
4193 "signed integer",
4194 "",
4195 "'\\''",
4196 "character string char",
4197 "",
4198 "",
4199 "",
4200 "\"\\'\\'\"",
4201 "\"YEAR\"",
4202 "\"YEARS\"",
4203 "\"MONTH\"",
4204 "\"MONTHS\"",
4205 "\"DAY\"",
4206 "\"DAYS\"",
4207 "\"HOUR\"",
4208 "\"HOURS\"",
4209 "\"MINUTE\"",
4210 "\"MINUTES\"",
4211 "\"SECOND\"",
4212 "\"SECONDS\"",
4213 "\"MICROSECOND\"",
4214 "\"MICROSECONDS\"",
4215 "predicate",
4216 "comparison operator",
4217 "comparand",
4218 "between operator",
4219 "\"AND\"",
4220 "\"IS\"",
4221 "similarity operator",
4222 "like operand",
4223 "existence operator",
4224 "set designation",
4225 "\"EXISTS\"",
4226 "fullselect",
4227 "\"IN\"",
4228 "\"BETWEEN\"",
4229 "\"LIKE\"",
4230 "'='",
4231 "\"<>\"",
4232 "'>'",
4233 "\"<=\"",
4234 "\">=\"",
4235 "quantifier",
4236 "\"SOME\"",
4237 "\"ANY\"",
4238 "\"ALL\"",
4239 "\"USER\"",
4240 "','",
4241 "",
4242 "",
4243 "\"CURRENT\"",
4244 "\"DATE\"",
4245 "\"TIME\"",
4246 "\"TIMESTAMP\"",
4247 "simple search condition",
4248 "search condition",
4249 "logical op",
4250 "\"OR\"",
4251 "aggregate function",
4252 "count function",
4253 "char function",
4254 "function name",
4255 "args",
4256 "aggregate function name",
4257 "\"AVG\"",
4258 "\"MAX\"",
4259 "\"MIN\"",
4260 "\"SUM\"",
4261 "",
4262 "distinct column name",
4263 "\"COUNT\"",
4264 "\"DISTINCT\"",
4265 "date type",
4266 "\"ISO\"",
4267 "\"USA\"",
4268 "\"EUR\"",
4269 "\"JIS\"",
4270 "\"LOCAL\"",
4271 "\"LENGTH\"",
4272 "\"SUBSTR\"",
4273 "\"TRANSLATE\"",
4274 "subselect",
4275 "select clause",
4276 "from clause",
4277 "where clause",
4278 "",
4279 "group by clause",
4280 "",
4281 "having clause",
4282 "",
4283 "\"SELECT\"",
4284 "",
4285 "select list",
4286 "",
4287 "select item",
4288 "from list",
4289 "from item",
4290 "\"WHERE\"",
4291 "\"GROUP\"",
4292 "\"BY\"",
4293 "identifier list",
4294 "paren identifier list",
4295 "\"HAVING\"",
4296 "simple select",
4297 "set operator",
4298 "\"UNION\"",
4299 "\"EXCEPT\"",
4300 "\"INTERSECT\"",
4301 "select statement",
4302 "order by clause",
4303 "fetch clause",
4304 "update clause",
4305 "\"ORDER\"",
4306 "sort list",
4307 "sort item",
4308 "sort direction",
4309 "\"ASC\"",
4310 "\"DESC\"",
4311 "\"FOR\"",
4312 "\"UPDATE\"",
4313 "\"OF\"",
4314 "\"FETCH\"",
4315 "\"ONLY\"",
4316 "grammar",
4317 "statements",
4318 "",
4319 "eof",
4320 "drop hack",
4321 "statement",
4322 "\"ALTER\"",
4323 "\"TABLE\"",
4324 "alter table item list",
4325 "",
4326 "",
4327 "\"BEGIN\"",
4328 "\"CLOSE\"",
4329 "\"COMMENT\"",
4330 "\"ON\"",
4331 "comment object",
4332 "\"COMMIT\"",
4333 "\"WORK\"",
4334 "",
4335 "create statement",
4336 "\"CURSOR\"",
4337 "\"WITH\"",
4338 "\"HOLD\"",
4339 "",
4340 "",
4341 "delete statement",
4342 "\"DESCRIBE\"",
4343 "\"INTO\"",
4344 "\"END\"",
4345 "execute statement",
4346 "fetch statement",
4347 "\"GRANT\"",
4348 "privileges",
4349 "privileged object",
4350 "\"TO\"",
4351 "grantee",
4352 "\"INCLUDE\"",
4353 "\"SQLCA\"",
4354 "\"SQLDA\"",
4355 "",
4356 "insert statement",
4357 "\"LOCK\"",
4358 "\"SHARE\"",
4359 "\"EXCLUSIVE\"",
4360 "",
4361 "\"MODE\"",
4362 "open statement",
4363 "\"PREPARE\"",
4364 "",
4365 "\"REVOKE\"",
4366 "\"ROLLBACK\"",
4367 "select into statement",
4368 "update statement",
4369 "\"WHENEVER\"",
4370 "\"FOUND\"",
4371 "\"SQLERROR\"",
4372 "\"SQLWARNING\"",
4373 "",
4374 "\"CONTINUE\"",
4375 "\"GO\"",
4376 "",
4377 "privileged object type",
4378 "\"DATABASE\"",
4379 "\"INDEX\"",
4380 "alter table item",
4381 "\"ADD\"",
4382 "alter column definition",
4383 "referential constraint",
4384 "\"DROP\"",
4385 "\"FOREIGN\"",
4386 "\"VIEW\"",
4387 "",
4388 "data type",
4389 "alter column attribute list",
4390 "alter column attribute",
4391 "\"BIT\"",
4392 "\"DATA\"",
4393 "references",
4394 "alter column identifier",
4395 "referential constraint head",
4396 "\"REFERENCES\"",
4397 "rules",
4398 "delete rule",
4399 "\"RESTRICT\"",
4400 "",
4401 "\"CASCADE\"",
4402 "\"SET\"",
4403 "",
4404 "\"INT\"",
4405 "\"INTEGER\"",
4406 "\"SMALLINT\"",
4407 "\"FLOAT\"",
4408 "\"VARCHAR\"",
4409 "",
4410 "\"LONG\"",
4411 "\"COLUMN\"",
4412 "\"CREATE\"",
4413 "\"UNIQUE\"",
4414 "",
4415 "create table list",
4416 "",
4417 "\"AS\"",
4418 "\"CHECK\"",
4419 "\"OPTION\"",
4420 "",
4421 "create table item",
4422 "create column definition",
4423 "create column attribute",
4424 "where current clause",
4425 "\"EXECUTE\"",
4426 "host variable list",
4427 "\"IMMEDIATELY\"",
4428 "\"PUBLIC\"",
4429 "\"PRIVILEGES\"",
4430 "",
4431 "privilege list",
4432 "privilege",
4433 "\"BINDADD\"",
4434 "\"CONNECT\"",
4435 "\"CREATETAB\"",
4436 "\"DBADM\"",
4437 "\"BIND\"",
4438 "\"CONTROL\"",
4439 "\"INSERT\"",
4440 "\"VALUES\"",
4441 "value list",
4442 "",
4443 "value",
4444 "\"OPEN\"",
4445 "set clause",
4446 "conditioned set clause",
4447 "assignment list",
4448 "assignment",
4449 "",
4450 "",
4451 "",
4452 "",
4453 "",
4454 "",
4455 "",
4456 "\"CHAR\"",
4457 "\"CHARACTER\"",
4458 "\"DEC\"",
4459 "\"DECIMAL\"",
4460 "\"NUM\"",
4461 "\"NUMERIC\"",
4462 "\"SECTION\"",
4463 "\"DECLARE\"",
4464 "\"FROM\"",
4465 "\"DELETE\"",
4466 "\"NULL\"",
4467 "\"NOT\"",
4468 "\"PACKAGE\"",
4469 "\"PROGRAM\"",
4470 "\"KEY\"",
4471 "\"PRIMARY\"",
4472 "\"DESCRIPTOR\"",
4473 "\"USING\"",
4474 "ordinary identifier",
4475 "delimited identifier",
4476 "'.'",
4477 "':'",
4478 "'+'",
4479 "'-'",
4480 "'*'",
4481 "'/'",
4482 "')'",
4483 "'('",
4484 "integer",
4485 "decimal constant",
4486 "character string constant",
4487 "\"E\"",
4488 "\"YEAR\"",
4489 "\"YEARS\"",
4490 "\"MONTH\"",
4491 "\"MONTHS\"",
4492 "\"DAY\"",
4493 "\"DAYS\"",
4494 "\"HOUR\"",
4495 "\"HOURS\"",
4496 "\"MINUTE\"",
4497 "\"MINUTES\"",
4498 "\"SECOND\"",
4499 "\"SECONDS\"",
4500 "\"MICROSECOND\"",
4501 "\"MICROSECONDS\"",
4502 "\"AND\"",
4503 "\"IS\"",
4504 "\"EXISTS\"",
4505 "\"IN\"",
4506 "\"BETWEEN\"",
4507 "\"LIKE\"",
4508 "'='",
4509 "\"<>\"",
4510 "'>'",
4511 "\"<=\"",
4512 "\">=\"",
4513 "\"SOME\"",
4514 "\"ANY\"",
4515 "\"ALL\"",
4516 "\"USER\"",
4517 "','",
4518 "\"DATE\"",
4519 "\"CURRENT\"",
4520 "\"TIME\"",
4521 "\"TIMESTAMP\"",
4522 "\"OR\"",
4523 "\"AVG\"",
4524 "\"MAX\"",
4525 "\"MIN\"",
4526 "\"SUM\"",
4527 "\"COUNT\"",
4528 "\"DISTINCT\"",
4529 "\"ISO\"",
4530 "\"USA\"",
4531 "\"EUR\"",
4532 "\"JIS\"",
4533 "\"LOCAL\"",
4534 "\"LENGTH\"",
4535 "\"SUBSTR\"",
4536 "\"TRANSLATE\"",
4537 "\"SELECT\"",
4538 "\"WHERE\"",
4539 "\"BY\"",
4540 "\"GROUP\"",
4541 "\"HAVING\"",
4542 "\"UNION\"",
4543 "\"EXCEPT\"",
4544 "\"INTERSECT\"",
4545 "\"ORDER\"",
4546 "\"ASC\"",
4547 "\"DESC\"",
4548 "\"OF\"",
4549 "\"UPDATE\"",
4550 "\"FOR\"",
4551 "\"ONLY\"",
4552 "\"FETCH\"",
4553 "\"TABLE\"",
4554 "\"ALTER\"",
4555 "\"BEGIN\"",
4556 "\"CLOSE\"",
4557 "\"ON\"",
4558 "\"COMMENT\"",
4559 "\"WORK\"",
4560 "\"COMMIT\"",
4561 "\"HOLD\"",
4562 "\"WITH\"",
4563 "\"CURSOR\"",
4564 "\"INTO\"",
4565 "\"DESCRIBE\"",
4566 "\"END\"",
4567 "\"TO\"",
4568 "\"GRANT\"",
4569 "\"SQLCA\"",
4570 "\"SQLDA\"",
4571 "\"INCLUDE\"",
4572 "\"SHARE\"",
4573 "\"EXCLUSIVE\"",
4574 "\"MODE\"",
4575 "\"LOCK\"",
4576 "\"PREPARE\"",
4577 "\"REVOKE\"",
4578 "\"ROLLBACK\"",
4579 "\"FOUND\"",
4580 "\"SQLERROR\"",
4581 "\"SQLWARNING\"",
4582 "\"CONTINUE\"",
4583 "\"GO\"",
4584 "\"WHENEVER\"",
4585 "\"DATABASE\"",
4586 "\"INDEX\"",
4587 "\"ADD\"",
4588 "\"DROP\"",
4589 "\"FOREIGN\"",
4590 "\"VIEW\"",
4591 "\"DATA\"",
4592 "\"BIT\"",
4593 "\"REFERENCES\"",
4594 "\"RESTRICT\"",
4595 "\"CASCADE\"",
4596 "\"SET\"",
4597 "\"INT\"",
4598 "\"INTEGER\"",
4599 "\"SMALLINT\"",
4600 "\"FLOAT\"",
4601 "\"VARCHAR\"",
4602 "\"LONG\"",
4603 "\"COLUMN\"",
4604 "\"UNIQUE\"",
4605 "\"CREATE\"",
4606 "\"OPTION\"",
4607 "\"CHECK\"",
4608 "\"AS\"",
4609 "\"EXECUTE\"",
4610 "\"IMMEDIATELY\"",
4611 "\"PUBLIC\"",
4612 "\"PRIVILEGES\"",
4613 "\"BINDADD\"",
4614 "\"CONNECT\"",
4615 "\"CREATETAB\"",
4616 "\"DBADM\"",
4617 "\"BIND\"",
4618 "\"CONTROL\"",
4619 "\"INSERT\"",
4620 "\"VALUES\"",
4621 "\"OPEN\"",
4622 "",
4623 "",
4624 "digit",
4625
4626 };
4627
4628 #ifndef MISSING_FORMAT
4629 #define MISSING_FORMAT "Missing %s"
4630 #endif
4631 #ifndef UNEXPECTED_FORMAT
4632 #define UNEXPECTED_FORMAT "Unexpected %s"
4633 #endif
4634 #ifndef UNNAMED_TOKEN
4635 #define UNNAMED_TOKEN "input"
4636 #endif
4637
4638
4639 static void ag_diagnose(void) {
4640 int ag_snd = (PCB).sn;
4641 int ag_k = ag_sbt[ag_snd];
4642
4643 if (*TOKEN_NAMES[ag_tstt[ag_k]] && ag_astt[ag_k + 1] == ag_action_8) {
4644 sprintf((PCB).ag_msg, MISSING_FORMAT, TOKEN_NAMES[ag_tstt[ag_k]]);
4645 }
4646 else if (ag_astt[ag_sbe[(PCB).sn]] == ag_action_8
4647 && (ag_k = (int) ag_sbe[(PCB).sn] + 1) == (int) ag_sbt[(PCB).sn+1] - 1
4648 && *TOKEN_NAMES[ag_tstt[ag_k]]) {
4649 sprintf((PCB).ag_msg, MISSING_FORMAT, TOKEN_NAMES[ag_tstt[ag_k]]);
4650 }
4651 else if ((PCB).token_number && *TOKEN_NAMES[(PCB).token_number]) {
4652 sprintf((PCB).ag_msg, UNEXPECTED_FORMAT, TOKEN_NAMES[(PCB).token_number]);
4653 }
4654 else if (isprint((*(PCB).lab)) && (*(PCB).lab) != '\\') {
4655 char buf[20];
4656 sprintf(buf, "\'%c\'", (char) (*(PCB).lab));
4657 sprintf((PCB).ag_msg, UNEXPECTED_FORMAT, buf);
4658 }
4659 else sprintf((PCB).ag_msg, UNEXPECTED_FORMAT, UNNAMED_TOKEN);
4660 (PCB).error_message = (PCB).ag_msg;
4661
4662
4663 }
4664 static int ag_action_1_r_proc(void);
4665 static int ag_action_2_r_proc(void);
4666 static int ag_action_3_r_proc(void);
4667 static int ag_action_4_r_proc(void);
4668 static int ag_action_1_s_proc(void);
4669 static int ag_action_3_s_proc(void);
4670 static int ag_action_1_proc(void);
4671 static int ag_action_2_proc(void);
4672 static int ag_action_3_proc(void);
4673 static int ag_action_4_proc(void);
4674 static int ag_action_5_proc(void);
4675 static int ag_action_6_proc(void);
4676 static int ag_action_7_proc(void);
4677 static int ag_action_8_proc(void);
4678 static int ag_action_9_proc(void);
4679 static int ag_action_10_proc(void);
4680 static int ag_action_11_proc(void);
4681 static int ag_action_8_proc(void);
4682
4683
4684 static int (*const ag_r_procs_scan[])(void) = {
4685 ag_action_1_r_proc,
4686 ag_action_2_r_proc,
4687 ag_action_3_r_proc,
4688 ag_action_4_r_proc
4689 };
4690
4691 static int (*const ag_s_procs_scan[])(void) = {
4692 ag_action_1_s_proc,
4693 ag_action_2_r_proc,
4694 ag_action_3_s_proc,
4695 ag_action_4_r_proc
4696 };
4697
4698 static int (*const ag_gt_procs_scan[])(void) = {
4699 ag_action_1_proc,
4700 ag_action_2_proc,
4701 ag_action_3_proc,
4702 ag_action_4_proc,
4703 ag_action_5_proc,
4704 ag_action_6_proc,
4705 ag_action_7_proc,
4706 ag_action_8_proc,
4707 ag_action_9_proc,
4708 ag_action_10_proc,
4709 ag_action_11_proc,
4710 ag_action_8_proc
4711 };
4712
4713
4714 static int ag_action_10_proc(void) {
4715 int ag_t = (PCB).token_number;
4716 (PCB).btsx = 0, (PCB).drt = -1;
4717 do {
4718 ag_track();
4719 if ((PCB).rx < (PCB).fx) {
4720 (PCB).input_code = (PCB).lab[(PCB).rx++];
4721 (PCB).token_number = (sql_token_type) AG_TCV((PCB).input_code);}
4722 else {
4723 GET_INPUT;
4724 (PCB).lab[(PCB).fx++] = (PCB).input_code;
4725 (PCB).token_number = (sql_token_type) AG_TCV((PCB).input_code);
4726 (PCB).rx++;
4727 }
4728 if (ag_key_index[(PCB).sn]) {
4729 unsigned ag_k = ag_key_index[(PCB).sn];
4730 int ag_ch = CONVERT_CASE((PCB).input_code);
4731 if (ag_ch < 255) {
4732 while (ag_key_ch[ag_k] < ag_ch) ag_k++;
4733 if (ag_key_ch[ag_k] == ag_ch) ag_get_key_word(ag_k);
4734 }
4735 }
4736 } while ((PCB).token_number == (sql_token_type) ag_t);
4737 (PCB).rx = 0;
4738 return 1;
4739 }
4740
4741 static int ag_action_11_proc(void) {
4742 int ag_t = (PCB).token_number;
4743
4744 (PCB).btsx = 0, (PCB).drt = -1;
4745 do {
4746 (PCB).vs[(PCB).ssx] = *(PCB).lab;
4747 (PCB).ssx--;
4748 ag_track();
4749 ag_ra();
4750 if ((PCB).exit_flag != AG_RUNNING_CODE) return 0;
4751 (PCB).ssx++;
4752 if ((PCB).rx < (PCB).fx) {
4753 (PCB).input_code = (PCB).lab[(PCB).rx++];
4754 (PCB).token_number = (sql_token_type) AG_TCV((PCB).input_code);}
4755 else {
4756 GET_INPUT;
4757 (PCB).lab[(PCB).fx++] = (PCB).input_code;
4758 (PCB).token_number = (sql_token_type) AG_TCV((PCB).input_code);
4759 (PCB).rx++;
4760 }
4761 if (ag_key_index[(PCB).sn]) {
4762 unsigned ag_k = ag_key_index[(PCB).sn];
4763 int ag_ch = CONVERT_CASE((PCB).input_code);
4764 if (ag_ch < 255) {
4765 while (ag_key_ch[ag_k] < ag_ch) ag_k++;
4766 if (ag_key_ch[ag_k] == ag_ch) ag_get_key_word(ag_k);
4767 }
4768 }
4769 }
4770 while ((PCB).token_number == (sql_token_type) ag_t);
4771 (PCB).rx = 0;
4772 return 1;
4773 }
4774
4775 static int ag_action_3_r_proc(void) {
4776 int ag_sd = ag_fl[(PCB).ag_ap] - 1;
4777 if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd];
4778 (PCB).btsx = 0, (PCB).drt = -1;
4779 (PCB).reduction_token = (sql_token_type) ag_ptt[(PCB).ag_ap];
4780 ag_ra();
4781 return (PCB).exit_flag == AG_RUNNING_CODE;
4782 }
4783
4784 static int ag_action_3_s_proc(void) {
4785 int ag_sd = ag_fl[(PCB).ag_ap] - 1;
4786 if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd];
4787 (PCB).btsx = 0, (PCB).drt = -1;
4788 (PCB).reduction_token = (sql_token_type) ag_ptt[(PCB).ag_ap];
4789 ag_ra();
4790 return (PCB).exit_flag == AG_RUNNING_CODE;
4791 }
4792
4793 static int ag_action_4_r_proc(void) {
4794 int ag_sd = ag_fl[(PCB).ag_ap] - 1;
4795 if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd];
4796 (PCB).reduction_token = (sql_token_type) ag_ptt[(PCB).ag_ap];
4797 return 1;
4798 }
4799
4800 static int ag_action_2_proc(void) {
4801 (PCB).btsx = 0, (PCB).drt = -1;
4802 if ((PCB).ssx >= 128) {
4803 (PCB).exit_flag = AG_STACK_ERROR_CODE;
4804 PARSER_STACK_OVERFLOW;
4805 }
4806 (PCB).vs[(PCB).ssx] = *(PCB).lab;
4807 (PCB).ss[(PCB).ssx] = (PCB).sn;
4808 (PCB).ssx++;
4809 (PCB).sn = (PCB).ag_ap;
4810 ag_track();
4811 return 0;
4812 }
4813
4814 static int ag_action_9_proc(void) {
4815 if ((PCB).drt == -1) {
4816 (PCB).drt=(PCB).token_number;
4817 (PCB).dssx=(PCB).ssx;
4818 (PCB).dsn=(PCB).sn;
4819 }
4820 ag_prot();
4821 (PCB).vs[(PCB).ssx] = ag_null_value;
4822 (PCB).ss[(PCB).ssx] = (PCB).sn;
4823 (PCB).ssx++;
4824 (PCB).sn = (PCB).ag_ap;
4825 (PCB).rx = 0;
4826 return (PCB).exit_flag == AG_RUNNING_CODE;
4827 }
4828
4829 static int ag_action_2_r_proc(void) {
4830 (PCB).ssx++;
4831 (PCB).sn = (PCB).ag_ap;
4832 return 0;
4833 }
4834
4835 static int ag_action_7_proc(void) {
4836 --(PCB).ssx;
4837 (PCB).rx = 0;
4838 (PCB).exit_flag = AG_SUCCESS_CODE;
4839 return 0;
4840 }
4841
4842 static int ag_action_1_proc(void) {
4843 ag_track();
4844 (PCB).exit_flag = AG_SUCCESS_CODE;
4845 return 0;
4846 }
4847
4848 static int ag_action_1_r_proc(void) {
4849 (PCB).exit_flag = AG_SUCCESS_CODE;
4850 return 0;
4851 }
4852
4853 static int ag_action_1_s_proc(void) {
4854 (PCB).exit_flag = AG_SUCCESS_CODE;
4855 return 0;
4856 }
4857
4858 static int ag_action_4_proc(void) {
4859 int ag_sd = ag_fl[(PCB).ag_ap] - 1;
4860 (PCB).reduction_token = (sql_token_type) ag_ptt[(PCB).ag_ap];
4861 (PCB).btsx = 0, (PCB).drt = -1;
4862 (PCB).vs[(PCB).ssx] = *(PCB).lab;
4863 if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd];
4864 else (PCB).ss[(PCB).ssx] = (PCB).sn;
4865 ag_track();
4866 while ((PCB).exit_flag == AG_RUNNING_CODE) {
4867 unsigned ag_t1 = ag_sbe[(PCB).sn] + 1;
4868 unsigned ag_t2 = ag_sbt[(PCB).sn+1] - 1;
4869 do {
4870 unsigned ag_tx = (ag_t1 + ag_t2)/2;
4871 if (ag_tstt[ag_tx] < (unsigned short)(PCB).reduction_token) ag_t1 = ag_tx + 1;
4872 else ag_t2 = ag_tx;
4873 } while (ag_t1 < ag_t2);
4874 (PCB).ag_ap = ag_pstt[ag_t1];
4875 if ((ag_s_procs_scan[ag_astt[ag_t1]])() == 0) break;
4876 }
4877 return 0;
4878 }
4879
4880 static int ag_action_3_proc(void) {
4881 int ag_sd = ag_fl[(PCB).ag_ap] - 1;
4882 (PCB).btsx = 0, (PCB).drt = -1;
4883 (PCB).vs[(PCB).ssx] = *(PCB).lab;
4884 if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd];
4885 else (PCB).ss[(PCB).ssx] = (PCB).sn;
4886 ag_track();
4887 (PCB).reduction_token = (sql_token_type) ag_ptt[(PCB).ag_ap];
4888 ag_ra();
4889 while ((PCB).exit_flag == AG_RUNNING_CODE) {
4890 unsigned ag_t1 = ag_sbe[(PCB).sn] + 1;
4891 unsigned ag_t2 = ag_sbt[(PCB).sn+1] - 1;
4892 do {
4893 unsigned ag_tx = (ag_t1 + ag_t2)/2;
4894 if (ag_tstt[ag_tx] < (unsigned short)(PCB).reduction_token) ag_t1 = ag_tx + 1;
4895 else ag_t2 = ag_tx;
4896 } while (ag_t1 < ag_t2);
4897 (PCB).ag_ap = ag_pstt[ag_t1];
4898 if ((ag_s_procs_scan[ag_astt[ag_t1]])() == 0) break;
4899 }
4900 return 0;
4901 }
4902
4903 static int ag_action_8_proc(void) {
4904 ag_undo();
4905 (PCB).rx = 0;
4906 (PCB).exit_flag = AG_SYNTAX_ERROR_CODE;
4907 ag_diagnose();
4908 SYNTAX_ERROR;
4909 {(PCB).rx = 1; ag_track();}
4910 return (PCB).exit_flag == AG_RUNNING_CODE;
4911 }
4912
4913 static int ag_action_5_proc(void) {
4914 int ag_sd = ag_fl[(PCB).ag_ap];
4915 (PCB).btsx = 0, (PCB).drt = -1;
4916 if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd];
4917 else {
4918 (PCB).ss[(PCB).ssx] = (PCB).sn;
4919 }
4920 (PCB).rx = 0;
4921 (PCB).reduction_token = (sql_token_type) ag_ptt[(PCB).ag_ap];
4922 ag_ra();
4923 while ((PCB).exit_flag == AG_RUNNING_CODE) {
4924 unsigned ag_t1 = ag_sbe[(PCB).sn] + 1;
4925 unsigned ag_t2 = ag_sbt[(PCB).sn+1] - 1;
4926 do {
4927 unsigned ag_tx = (ag_t1 + ag_t2)/2;
4928 if (ag_tstt[ag_tx] < (unsigned short)(PCB).reduction_token) ag_t1 = ag_tx + 1;
4929 else ag_t2 = ag_tx;
4930 } while (ag_t1 < ag_t2);
4931 (PCB).ag_ap = ag_pstt[ag_t1];
4932 if ((ag_r_procs_scan[ag_astt[ag_t1]])() == 0) break;
4933 }
4934 return (PCB).exit_flag == AG_RUNNING_CODE;
4935 }
4936
4937 static int ag_action_6_proc(void) {
4938 int ag_sd = ag_fl[(PCB).ag_ap];
4939 (PCB).reduction_token = (sql_token_type) ag_ptt[(PCB).ag_ap];
4940 if ((PCB).drt == -1) {
4941 (PCB).drt=(PCB).token_number;
4942 (PCB).dssx=(PCB).ssx;
4943 (PCB).dsn=(PCB).sn;
4944 }
4945 if (ag_sd) {
4946 (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd];
4947 }
4948 else {
4949 ag_prot();
4950 (PCB).vs[(PCB).ssx] = ag_null_value;
4951 (PCB).ss[(PCB).ssx] = (PCB).sn;
4952 }
4953 (PCB).rx = 0;
4954 while ((PCB).exit_flag == AG_RUNNING_CODE) {
4955 unsigned ag_t1 = ag_sbe[(PCB).sn] + 1;
4956 unsigned ag_t2 = ag_sbt[(PCB).sn+1] - 1;
4957 do {
4958 unsigned ag_tx = (ag_t1 + ag_t2)/2;
4959 if (ag_tstt[ag_tx] < (unsigned short)(PCB).reduction_token) ag_t1 = ag_tx + 1;
4960 else ag_t2 = ag_tx;
4961 } while (ag_t1 < ag_t2);
4962 (PCB).ag_ap = ag_pstt[ag_t1];
4963 if ((ag_r_procs_scan[ag_astt[ag_t1]])() == 0) break;
4964 }
4965 return (PCB).exit_flag == AG_RUNNING_CODE;
4966 }
4967
4968
4969 void init_sql(void) {
4970 (PCB).rx = (PCB).fx = 0;
4971 (PCB).ss[0] = (PCB).sn = (PCB).ssx = 0;
4972 (PCB).exit_flag = AG_RUNNING_CODE;
4973 (PCB).line = FIRST_LINE;
4974 (PCB).column = FIRST_COLUMN;
4975 (PCB).btsx = 0, (PCB).drt = -1;
4976 }
4977
4978 void sql(void) {
4979 init_sql();
4980 (PCB).exit_flag = AG_RUNNING_CODE;
4981 while ((PCB).exit_flag == AG_RUNNING_CODE) {
4982 unsigned ag_t1 = ag_sbt[(PCB).sn];
4983 if (ag_tstt[ag_t1]) {
4984 unsigned ag_t2 = ag_sbe[(PCB).sn] - 1;
4985 if ((PCB).rx < (PCB).fx) {
4986 (PCB).input_code = (PCB).lab[(PCB).rx++];
4987 (PCB).token_number = (sql_token_type) AG_TCV((PCB).input_code);}
4988 else {
4989 GET_INPUT;
4990 (PCB).lab[(PCB).fx++] = (PCB).input_code;
4991 (PCB).token_number = (sql_token_type) AG_TCV((PCB).input_code);
4992 (PCB).rx++;
4993 }
4994 if (ag_key_index[(PCB).sn]) {
4995 unsigned ag_k = ag_key_index[(PCB).sn];
4996 int ag_ch = CONVERT_CASE((PCB).input_code);
4997 if (ag_ch < 255) {
4998 while (ag_key_ch[ag_k] < ag_ch) ag_k++;
4999 if (ag_key_ch[ag_k] == ag_ch) ag_get_key_word(ag_k);
5000 }
5001 }
5002 do {
5003 unsigned ag_tx = (ag_t1 + ag_t2)/2;
5004 if (ag_tstt[ag_tx] > (unsigned short)(PCB).token_number)
5005 ag_t1 = ag_tx + 1;
5006 else ag_t2 = ag_tx;
5007 } while (ag_t1 < ag_t2);
5008 if (ag_tstt[ag_t1] != (unsigned short)(PCB).token_number)
5009 ag_t1 = ag_sbe[(PCB).sn];
5010 }
5011 (PCB).ag_ap = ag_pstt[ag_t1];
5012 (ag_gt_procs_scan[ag_astt[ag_t1]])();
5013 }
5014 }
5015
5016
5017
5018 int main(void) {
5019 sql();
5020 return 0;
5021 }