1/* Opie (s/key) support for FTP.
2   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
3   2007, 2008, 2009 Free Software Foundation, Inc.
4
5This file is part of GNU Wget.
6
7GNU Wget is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3 of the License, or
10(at your option) any later version.
11
12GNU Wget is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with Wget.  If not, see <http://www.gnu.org/licenses/>.
19
20Additional permission under GNU GPL version 3 section 7
21
22If you modify this program, or any covered work, by linking or
23combining it with the OpenSSL project's OpenSSL library (or a
24modified version of that library), containing parts covered by the
25terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
26grants you additional permission to convey the resulting work.
27Corresponding Source for a non-source form of such a combination
28shall include the source code for the parts of OpenSSL used as well
29as that of the covered work.  */
30
31#include "wget.h"
32
33#include <stdio.h>
34#include <stdlib.h>
35#include <string.h>
36
37#include "gen-md5.h"
38#include "ftp.h"
39
40/* Dictionary for integer-word translations.  Available in appendix D
41   of rfc2289.  */
42 static char Wp[2048][4] = {
43  { 'A', '\0', '\0', '\0' },
44  { 'A', 'B', 'E', '\0' },
45  { 'A', 'C', 'E', '\0' },
46  { 'A', 'C', 'T', '\0' },
47  { 'A', 'D', '\0', '\0' },
48  { 'A', 'D', 'A', '\0' },
49  { 'A', 'D', 'D', '\0' },
50  { 'A', 'G', 'O', '\0' },
51  { 'A', 'I', 'D', '\0' },
52  { 'A', 'I', 'M', '\0' },
53  { 'A', 'I', 'R', '\0' },
54  { 'A', 'L', 'L', '\0' },
55  { 'A', 'L', 'P', '\0' },
56  { 'A', 'M', '\0', '\0' },
57  { 'A', 'M', 'Y', '\0' },
58  { 'A', 'N', '\0', '\0' },
59  { 'A', 'N', 'A', '\0' },
60  { 'A', 'N', 'D', '\0' },
61  { 'A', 'N', 'N', '\0' },
62  { 'A', 'N', 'T', '\0' },
63  { 'A', 'N', 'Y', '\0' },
64  { 'A', 'P', 'E', '\0' },
65  { 'A', 'P', 'S', '\0' },
66  { 'A', 'P', 'T', '\0' },
67  { 'A', 'R', 'C', '\0' },
68  { 'A', 'R', 'E', '\0' },
69  { 'A', 'R', 'K', '\0' },
70  { 'A', 'R', 'M', '\0' },
71  { 'A', 'R', 'T', '\0' },
72  { 'A', 'S', '\0', '\0' },
73  { 'A', 'S', 'H', '\0' },
74  { 'A', 'S', 'K', '\0' },
75  { 'A', 'T', '\0', '\0' },
76  { 'A', 'T', 'E', '\0' },
77  { 'A', 'U', 'G', '\0' },
78  { 'A', 'U', 'K', '\0' },
79  { 'A', 'V', 'E', '\0' },
80  { 'A', 'W', 'E', '\0' },
81  { 'A', 'W', 'K', '\0' },
82  { 'A', 'W', 'L', '\0' },
83  { 'A', 'W', 'N', '\0' },
84  { 'A', 'X', '\0', '\0' },
85  { 'A', 'Y', 'E', '\0' },
86  { 'B', 'A', 'D', '\0' },
87  { 'B', 'A', 'G', '\0' },
88  { 'B', 'A', 'H', '\0' },
89  { 'B', 'A', 'M', '\0' },
90  { 'B', 'A', 'N', '\0' },
91  { 'B', 'A', 'R', '\0' },
92  { 'B', 'A', 'T', '\0' },
93  { 'B', 'A', 'Y', '\0' },
94  { 'B', 'E', '\0', '\0' },
95  { 'B', 'E', 'D', '\0' },
96  { 'B', 'E', 'E', '\0' },
97  { 'B', 'E', 'G', '\0' },
98  { 'B', 'E', 'N', '\0' },
99  { 'B', 'E', 'T', '\0' },
100  { 'B', 'E', 'Y', '\0' },
101  { 'B', 'I', 'B', '\0' },
102  { 'B', 'I', 'D', '\0' },
103  { 'B', 'I', 'G', '\0' },
104  { 'B', 'I', 'N', '\0' },
105  { 'B', 'I', 'T', '\0' },
106  { 'B', 'O', 'B', '\0' },
107  { 'B', 'O', 'G', '\0' },
108  { 'B', 'O', 'N', '\0' },
109  { 'B', 'O', 'O', '\0' },
110  { 'B', 'O', 'P', '\0' },
111  { 'B', 'O', 'W', '\0' },
112  { 'B', 'O', 'Y', '\0' },
113  { 'B', 'U', 'B', '\0' },
114  { 'B', 'U', 'D', '\0' },
115  { 'B', 'U', 'G', '\0' },
116  { 'B', 'U', 'M', '\0' },
117  { 'B', 'U', 'N', '\0' },
118  { 'B', 'U', 'S', '\0' },
119  { 'B', 'U', 'T', '\0' },
120  { 'B', 'U', 'Y', '\0' },
121  { 'B', 'Y', '\0', '\0' },
122  { 'B', 'Y', 'E', '\0' },
123  { 'C', 'A', 'B', '\0' },
124  { 'C', 'A', 'L', '\0' },
125  { 'C', 'A', 'M', '\0' },
126  { 'C', 'A', 'N', '\0' },
127  { 'C', 'A', 'P', '\0' },
128  { 'C', 'A', 'R', '\0' },
129  { 'C', 'A', 'T', '\0' },
130  { 'C', 'A', 'W', '\0' },
131  { 'C', 'O', 'D', '\0' },
132  { 'C', 'O', 'G', '\0' },
133  { 'C', 'O', 'L', '\0' },
134  { 'C', 'O', 'N', '\0' },
135  { 'C', 'O', 'O', '\0' },
136  { 'C', 'O', 'P', '\0' },
137  { 'C', 'O', 'T', '\0' },
138  { 'C', 'O', 'W', '\0' },
139  { 'C', 'O', 'Y', '\0' },
140  { 'C', 'R', 'Y', '\0' },
141  { 'C', 'U', 'B', '\0' },
142  { 'C', 'U', 'E', '\0' },
143  { 'C', 'U', 'P', '\0' },
144  { 'C', 'U', 'R', '\0' },
145  { 'C', 'U', 'T', '\0' },
146  { 'D', 'A', 'B', '\0' },
147  { 'D', 'A', 'D', '\0' },
148  { 'D', 'A', 'M', '\0' },
149  { 'D', 'A', 'N', '\0' },
150  { 'D', 'A', 'R', '\0' },
151  { 'D', 'A', 'Y', '\0' },
152  { 'D', 'E', 'E', '\0' },
153  { 'D', 'E', 'L', '\0' },
154  { 'D', 'E', 'N', '\0' },
155  { 'D', 'E', 'S', '\0' },
156  { 'D', 'E', 'W', '\0' },
157  { 'D', 'I', 'D', '\0' },
158  { 'D', 'I', 'E', '\0' },
159  { 'D', 'I', 'G', '\0' },
160  { 'D', 'I', 'N', '\0' },
161  { 'D', 'I', 'P', '\0' },
162  { 'D', 'O', '\0', '\0' },
163  { 'D', 'O', 'E', '\0' },
164  { 'D', 'O', 'G', '\0' },
165  { 'D', 'O', 'N', '\0' },
166  { 'D', 'O', 'T', '\0' },
167  { 'D', 'O', 'W', '\0' },
168  { 'D', 'R', 'Y', '\0' },
169  { 'D', 'U', 'B', '\0' },
170  { 'D', 'U', 'D', '\0' },
171  { 'D', 'U', 'E', '\0' },
172  { 'D', 'U', 'G', '\0' },
173  { 'D', 'U', 'N', '\0' },
174  { 'E', 'A', 'R', '\0' },
175  { 'E', 'A', 'T', '\0' },
176  { 'E', 'D', '\0', '\0' },
177  { 'E', 'E', 'L', '\0' },
178  { 'E', 'G', 'G', '\0' },
179  { 'E', 'G', 'O', '\0' },
180  { 'E', 'L', 'I', '\0' },
181  { 'E', 'L', 'K', '\0' },
182  { 'E', 'L', 'M', '\0' },
183  { 'E', 'L', 'Y', '\0' },
184  { 'E', 'M', '\0', '\0' },
185  { 'E', 'N', 'D', '\0' },
186  { 'E', 'S', 'T', '\0' },
187  { 'E', 'T', 'C', '\0' },
188  { 'E', 'V', 'A', '\0' },
189  { 'E', 'V', 'E', '\0' },
190  { 'E', 'W', 'E', '\0' },
191  { 'E', 'Y', 'E', '\0' },
192  { 'F', 'A', 'D', '\0' },
193  { 'F', 'A', 'N', '\0' },
194  { 'F', 'A', 'R', '\0' },
195  { 'F', 'A', 'T', '\0' },
196  { 'F', 'A', 'Y', '\0' },
197  { 'F', 'E', 'D', '\0' },
198  { 'F', 'E', 'E', '\0' },
199  { 'F', 'E', 'W', '\0' },
200  { 'F', 'I', 'B', '\0' },
201  { 'F', 'I', 'G', '\0' },
202  { 'F', 'I', 'N', '\0' },
203  { 'F', 'I', 'R', '\0' },
204  { 'F', 'I', 'T', '\0' },
205  { 'F', 'L', 'O', '\0' },
206  { 'F', 'L', 'Y', '\0' },
207  { 'F', 'O', 'E', '\0' },
208  { 'F', 'O', 'G', '\0' },
209  { 'F', 'O', 'R', '\0' },
210  { 'F', 'R', 'Y', '\0' },
211  { 'F', 'U', 'M', '\0' },
212  { 'F', 'U', 'N', '\0' },
213  { 'F', 'U', 'R', '\0' },
214  { 'G', 'A', 'B', '\0' },
215  { 'G', 'A', 'D', '\0' },
216  { 'G', 'A', 'G', '\0' },
217  { 'G', 'A', 'L', '\0' },
218  { 'G', 'A', 'M', '\0' },
219  { 'G', 'A', 'P', '\0' },
220  { 'G', 'A', 'S', '\0' },
221  { 'G', 'A', 'Y', '\0' },
222  { 'G', 'E', 'E', '\0' },
223  { 'G', 'E', 'L', '\0' },
224  { 'G', 'E', 'M', '\0' },
225  { 'G', 'E', 'T', '\0' },
226  { 'G', 'I', 'G', '\0' },
227  { 'G', 'I', 'L', '\0' },
228  { 'G', 'I', 'N', '\0' },
229  { 'G', 'O', '\0', '\0' },
230  { 'G', 'O', 'T', '\0' },
231  { 'G', 'U', 'M', '\0' },
232  { 'G', 'U', 'N', '\0' },
233  { 'G', 'U', 'S', '\0' },
234  { 'G', 'U', 'T', '\0' },
235  { 'G', 'U', 'Y', '\0' },
236  { 'G', 'Y', 'M', '\0' },
237  { 'G', 'Y', 'P', '\0' },
238  { 'H', 'A', '\0', '\0' },
239  { 'H', 'A', 'D', '\0' },
240  { 'H', 'A', 'L', '\0' },
241  { 'H', 'A', 'M', '\0' },
242  { 'H', 'A', 'N', '\0' },
243  { 'H', 'A', 'P', '\0' },
244  { 'H', 'A', 'S', '\0' },
245  { 'H', 'A', 'T', '\0' },
246  { 'H', 'A', 'W', '\0' },
247  { 'H', 'A', 'Y', '\0' },
248  { 'H', 'E', '\0', '\0' },
249  { 'H', 'E', 'M', '\0' },
250  { 'H', 'E', 'N', '\0' },
251  { 'H', 'E', 'R', '\0' },
252  { 'H', 'E', 'W', '\0' },
253  { 'H', 'E', 'Y', '\0' },
254  { 'H', 'I', '\0', '\0' },
255  { 'H', 'I', 'D', '\0' },
256  { 'H', 'I', 'M', '\0' },
257  { 'H', 'I', 'P', '\0' },
258  { 'H', 'I', 'S', '\0' },
259  { 'H', 'I', 'T', '\0' },
260  { 'H', 'O', '\0', '\0' },
261  { 'H', 'O', 'B', '\0' },
262  { 'H', 'O', 'C', '\0' },
263  { 'H', 'O', 'E', '\0' },
264  { 'H', 'O', 'G', '\0' },
265  { 'H', 'O', 'P', '\0' },
266  { 'H', 'O', 'T', '\0' },
267  { 'H', 'O', 'W', '\0' },
268  { 'H', 'U', 'B', '\0' },
269  { 'H', 'U', 'E', '\0' },
270  { 'H', 'U', 'G', '\0' },
271  { 'H', 'U', 'H', '\0' },
272  { 'H', 'U', 'M', '\0' },
273  { 'H', 'U', 'T', '\0' },
274  { 'I', '\0', '\0', '\0' },
275  { 'I', 'C', 'Y', '\0' },
276  { 'I', 'D', 'A', '\0' },
277  { 'I', 'F', '\0', '\0' },
278  { 'I', 'K', 'E', '\0' },
279  { 'I', 'L', 'L', '\0' },
280  { 'I', 'N', 'K', '\0' },
281  { 'I', 'N', 'N', '\0' },
282  { 'I', 'O', '\0', '\0' },
283  { 'I', 'O', 'N', '\0' },
284  { 'I', 'Q', '\0', '\0' },
285  { 'I', 'R', 'A', '\0' },
286  { 'I', 'R', 'E', '\0' },
287  { 'I', 'R', 'K', '\0' },
288  { 'I', 'S', '\0', '\0' },
289  { 'I', 'T', '\0', '\0' },
290  { 'I', 'T', 'S', '\0' },
291  { 'I', 'V', 'Y', '\0' },
292  { 'J', 'A', 'B', '\0' },
293  { 'J', 'A', 'G', '\0' },
294  { 'J', 'A', 'M', '\0' },
295  { 'J', 'A', 'N', '\0' },
296  { 'J', 'A', 'R', '\0' },
297  { 'J', 'A', 'W', '\0' },
298  { 'J', 'A', 'Y', '\0' },
299  { 'J', 'E', 'T', '\0' },
300  { 'J', 'I', 'G', '\0' },
301  { 'J', 'I', 'M', '\0' },
302  { 'J', 'O', '\0', '\0' },
303  { 'J', 'O', 'B', '\0' },
304  { 'J', 'O', 'E', '\0' },
305  { 'J', 'O', 'G', '\0' },
306  { 'J', 'O', 'T', '\0' },
307  { 'J', 'O', 'Y', '\0' },
308  { 'J', 'U', 'G', '\0' },
309  { 'J', 'U', 'T', '\0' },
310  { 'K', 'A', 'Y', '\0' },
311  { 'K', 'E', 'G', '\0' },
312  { 'K', 'E', 'N', '\0' },
313  { 'K', 'E', 'Y', '\0' },
314  { 'K', 'I', 'D', '\0' },
315  { 'K', 'I', 'M', '\0' },
316  { 'K', 'I', 'N', '\0' },
317  { 'K', 'I', 'T', '\0' },
318  { 'L', 'A', '\0', '\0' },
319  { 'L', 'A', 'B', '\0' },
320  { 'L', 'A', 'C', '\0' },
321  { 'L', 'A', 'D', '\0' },
322  { 'L', 'A', 'G', '\0' },
323  { 'L', 'A', 'M', '\0' },
324  { 'L', 'A', 'P', '\0' },
325  { 'L', 'A', 'W', '\0' },
326  { 'L', 'A', 'Y', '\0' },
327  { 'L', 'E', 'A', '\0' },
328  { 'L', 'E', 'D', '\0' },
329  { 'L', 'E', 'E', '\0' },
330  { 'L', 'E', 'G', '\0' },
331  { 'L', 'E', 'N', '\0' },
332  { 'L', 'E', 'O', '\0' },
333  { 'L', 'E', 'T', '\0' },
334  { 'L', 'E', 'W', '\0' },
335  { 'L', 'I', 'D', '\0' },
336  { 'L', 'I', 'E', '\0' },
337  { 'L', 'I', 'N', '\0' },
338  { 'L', 'I', 'P', '\0' },
339  { 'L', 'I', 'T', '\0' },
340  { 'L', 'O', '\0', '\0' },
341  { 'L', 'O', 'B', '\0' },
342  { 'L', 'O', 'G', '\0' },
343  { 'L', 'O', 'P', '\0' },
344  { 'L', 'O', 'S', '\0' },
345  { 'L', 'O', 'T', '\0' },
346  { 'L', 'O', 'U', '\0' },
347  { 'L', 'O', 'W', '\0' },
348  { 'L', 'O', 'Y', '\0' },
349  { 'L', 'U', 'G', '\0' },
350  { 'L', 'Y', 'E', '\0' },
351  { 'M', 'A', '\0', '\0' },
352  { 'M', 'A', 'C', '\0' },
353  { 'M', 'A', 'D', '\0' },
354  { 'M', 'A', 'E', '\0' },
355  { 'M', 'A', 'N', '\0' },
356  { 'M', 'A', 'O', '\0' },
357  { 'M', 'A', 'P', '\0' },
358  { 'M', 'A', 'T', '\0' },
359  { 'M', 'A', 'W', '\0' },
360  { 'M', 'A', 'Y', '\0' },
361  { 'M', 'E', '\0', '\0' },
362  { 'M', 'E', 'G', '\0' },
363  { 'M', 'E', 'L', '\0' },
364  { 'M', 'E', 'N', '\0' },
365  { 'M', 'E', 'T', '\0' },
366  { 'M', 'E', 'W', '\0' },
367  { 'M', 'I', 'D', '\0' },
368  { 'M', 'I', 'N', '\0' },
369  { 'M', 'I', 'T', '\0' },
370  { 'M', 'O', 'B', '\0' },
371  { 'M', 'O', 'D', '\0' },
372  { 'M', 'O', 'E', '\0' },
373  { 'M', 'O', 'O', '\0' },
374  { 'M', 'O', 'P', '\0' },
375  { 'M', 'O', 'S', '\0' },
376  { 'M', 'O', 'T', '\0' },
377  { 'M', 'O', 'W', '\0' },
378  { 'M', 'U', 'D', '\0' },
379  { 'M', 'U', 'G', '\0' },
380  { 'M', 'U', 'M', '\0' },
381  { 'M', 'Y', '\0', '\0' },
382  { 'N', 'A', 'B', '\0' },
383  { 'N', 'A', 'G', '\0' },
384  { 'N', 'A', 'N', '\0' },
385  { 'N', 'A', 'P', '\0' },
386  { 'N', 'A', 'T', '\0' },
387  { 'N', 'A', 'Y', '\0' },
388  { 'N', 'E', '\0', '\0' },
389  { 'N', 'E', 'D', '\0' },
390  { 'N', 'E', 'E', '\0' },
391  { 'N', 'E', 'T', '\0' },
392  { 'N', 'E', 'W', '\0' },
393  { 'N', 'I', 'B', '\0' },
394  { 'N', 'I', 'L', '\0' },
395  { 'N', 'I', 'P', '\0' },
396  { 'N', 'I', 'T', '\0' },
397  { 'N', 'O', '\0', '\0' },
398  { 'N', 'O', 'B', '\0' },
399  { 'N', 'O', 'D', '\0' },
400  { 'N', 'O', 'N', '\0' },
401  { 'N', 'O', 'R', '\0' },
402  { 'N', 'O', 'T', '\0' },
403  { 'N', 'O', 'V', '\0' },
404  { 'N', 'O', 'W', '\0' },
405  { 'N', 'U', '\0', '\0' },
406  { 'N', 'U', 'N', '\0' },
407  { 'N', 'U', 'T', '\0' },
408  { 'O', '\0', '\0', '\0' },
409  { 'O', 'A', 'F', '\0' },
410  { 'O', 'A', 'K', '\0' },
411  { 'O', 'A', 'R', '\0' },
412  { 'O', 'A', 'T', '\0' },
413  { 'O', 'D', 'D', '\0' },
414  { 'O', 'D', 'E', '\0' },
415  { 'O', 'F', '\0', '\0' },
416  { 'O', 'F', 'F', '\0' },
417  { 'O', 'F', 'T', '\0' },
418  { 'O', 'H', '\0', '\0' },
419  { 'O', 'I', 'L', '\0' },
420  { 'O', 'K', '\0', '\0' },
421  { 'O', 'L', 'D', '\0' },
422  { 'O', 'N', '\0', '\0' },
423  { 'O', 'N', 'E', '\0' },
424  { 'O', 'R', '\0', '\0' },
425  { 'O', 'R', 'B', '\0' },
426  { 'O', 'R', 'E', '\0' },
427  { 'O', 'R', 'R', '\0' },
428  { 'O', 'S', '\0', '\0' },
429  { 'O', 'T', 'T', '\0' },
430  { 'O', 'U', 'R', '\0' },
431  { 'O', 'U', 'T', '\0' },
432  { 'O', 'V', 'A', '\0' },
433  { 'O', 'W', '\0', '\0' },
434  { 'O', 'W', 'E', '\0' },
435  { 'O', 'W', 'L', '\0' },
436  { 'O', 'W', 'N', '\0' },
437  { 'O', 'X', '\0', '\0' },
438  { 'P', 'A', '\0', '\0' },
439  { 'P', 'A', 'D', '\0' },
440  { 'P', 'A', 'L', '\0' },
441  { 'P', 'A', 'M', '\0' },
442  { 'P', 'A', 'N', '\0' },
443  { 'P', 'A', 'P', '\0' },
444  { 'P', 'A', 'R', '\0' },
445  { 'P', 'A', 'T', '\0' },
446  { 'P', 'A', 'W', '\0' },
447  { 'P', 'A', 'Y', '\0' },
448  { 'P', 'E', 'A', '\0' },
449  { 'P', 'E', 'G', '\0' },
450  { 'P', 'E', 'N', '\0' },
451  { 'P', 'E', 'P', '\0' },
452  { 'P', 'E', 'R', '\0' },
453  { 'P', 'E', 'T', '\0' },
454  { 'P', 'E', 'W', '\0' },
455  { 'P', 'H', 'I', '\0' },
456  { 'P', 'I', '\0', '\0' },
457  { 'P', 'I', 'E', '\0' },
458  { 'P', 'I', 'N', '\0' },
459  { 'P', 'I', 'T', '\0' },
460  { 'P', 'L', 'Y', '\0' },
461  { 'P', 'O', '\0', '\0' },
462  { 'P', 'O', 'D', '\0' },
463  { 'P', 'O', 'E', '\0' },
464  { 'P', 'O', 'P', '\0' },
465  { 'P', 'O', 'T', '\0' },
466  { 'P', 'O', 'W', '\0' },
467  { 'P', 'R', 'O', '\0' },
468  { 'P', 'R', 'Y', '\0' },
469  { 'P', 'U', 'B', '\0' },
470  { 'P', 'U', 'G', '\0' },
471  { 'P', 'U', 'N', '\0' },
472  { 'P', 'U', 'P', '\0' },
473  { 'P', 'U', 'T', '\0' },
474  { 'Q', 'U', 'O', '\0' },
475  { 'R', 'A', 'G', '\0' },
476  { 'R', 'A', 'M', '\0' },
477  { 'R', 'A', 'N', '\0' },
478  { 'R', 'A', 'P', '\0' },
479  { 'R', 'A', 'T', '\0' },
480  { 'R', 'A', 'W', '\0' },
481  { 'R', 'A', 'Y', '\0' },
482  { 'R', 'E', 'B', '\0' },
483  { 'R', 'E', 'D', '\0' },
484  { 'R', 'E', 'P', '\0' },
485  { 'R', 'E', 'T', '\0' },
486  { 'R', 'I', 'B', '\0' },
487  { 'R', 'I', 'D', '\0' },
488  { 'R', 'I', 'G', '\0' },
489  { 'R', 'I', 'M', '\0' },
490  { 'R', 'I', 'O', '\0' },
491  { 'R', 'I', 'P', '\0' },
492  { 'R', 'O', 'B', '\0' },
493  { 'R', 'O', 'D', '\0' },
494  { 'R', 'O', 'E', '\0' },
495  { 'R', 'O', 'N', '\0' },
496  { 'R', 'O', 'T', '\0' },
497  { 'R', 'O', 'W', '\0' },
498  { 'R', 'O', 'Y', '\0' },
499  { 'R', 'U', 'B', '\0' },
500  { 'R', 'U', 'E', '\0' },
501  { 'R', 'U', 'G', '\0' },
502  { 'R', 'U', 'M', '\0' },
503  { 'R', 'U', 'N', '\0' },
504  { 'R', 'Y', 'E', '\0' },
505  { 'S', 'A', 'C', '\0' },
506  { 'S', 'A', 'D', '\0' },
507  { 'S', 'A', 'G', '\0' },
508  { 'S', 'A', 'L', '\0' },
509  { 'S', 'A', 'M', '\0' },
510  { 'S', 'A', 'N', '\0' },
511  { 'S', 'A', 'P', '\0' },
512  { 'S', 'A', 'T', '\0' },
513  { 'S', 'A', 'W', '\0' },
514  { 'S', 'A', 'Y', '\0' },
515  { 'S', 'E', 'A', '\0' },
516  { 'S', 'E', 'C', '\0' },
517  { 'S', 'E', 'E', '\0' },
518  { 'S', 'E', 'N', '\0' },
519  { 'S', 'E', 'T', '\0' },
520  { 'S', 'E', 'W', '\0' },
521  { 'S', 'H', 'E', '\0' },
522  { 'S', 'H', 'Y', '\0' },
523  { 'S', 'I', 'N', '\0' },
524  { 'S', 'I', 'P', '\0' },
525  { 'S', 'I', 'R', '\0' },
526  { 'S', 'I', 'S', '\0' },
527  { 'S', 'I', 'T', '\0' },
528  { 'S', 'K', 'I', '\0' },
529  { 'S', 'K', 'Y', '\0' },
530  { 'S', 'L', 'Y', '\0' },
531  { 'S', 'O', '\0', '\0' },
532  { 'S', 'O', 'B', '\0' },
533  { 'S', 'O', 'D', '\0' },
534  { 'S', 'O', 'N', '\0' },
535  { 'S', 'O', 'P', '\0' },
536  { 'S', 'O', 'W', '\0' },
537  { 'S', 'O', 'Y', '\0' },
538  { 'S', 'P', 'A', '\0' },
539  { 'S', 'P', 'Y', '\0' },
540  { 'S', 'U', 'B', '\0' },
541  { 'S', 'U', 'D', '\0' },
542  { 'S', 'U', 'E', '\0' },
543  { 'S', 'U', 'M', '\0' },
544  { 'S', 'U', 'N', '\0' },
545  { 'S', 'U', 'P', '\0' },
546  { 'T', 'A', 'B', '\0' },
547  { 'T', 'A', 'D', '\0' },
548  { 'T', 'A', 'G', '\0' },
549  { 'T', 'A', 'N', '\0' },
550  { 'T', 'A', 'P', '\0' },
551  { 'T', 'A', 'R', '\0' },
552  { 'T', 'E', 'A', '\0' },
553  { 'T', 'E', 'D', '\0' },
554  { 'T', 'E', 'E', '\0' },
555  { 'T', 'E', 'N', '\0' },
556  { 'T', 'H', 'E', '\0' },
557  { 'T', 'H', 'Y', '\0' },
558  { 'T', 'I', 'C', '\0' },
559  { 'T', 'I', 'E', '\0' },
560  { 'T', 'I', 'M', '\0' },
561  { 'T', 'I', 'N', '\0' },
562  { 'T', 'I', 'P', '\0' },
563  { 'T', 'O', '\0', '\0' },
564  { 'T', 'O', 'E', '\0' },
565  { 'T', 'O', 'G', '\0' },
566  { 'T', 'O', 'M', '\0' },
567  { 'T', 'O', 'N', '\0' },
568  { 'T', 'O', 'O', '\0' },
569  { 'T', 'O', 'P', '\0' },
570  { 'T', 'O', 'W', '\0' },
571  { 'T', 'O', 'Y', '\0' },
572  { 'T', 'R', 'Y', '\0' },
573  { 'T', 'U', 'B', '\0' },
574  { 'T', 'U', 'G', '\0' },
575  { 'T', 'U', 'M', '\0' },
576  { 'T', 'U', 'N', '\0' },
577  { 'T', 'W', 'O', '\0' },
578  { 'U', 'N', '\0', '\0' },
579  { 'U', 'P', '\0', '\0' },
580  { 'U', 'S', '\0', '\0' },
581  { 'U', 'S', 'E', '\0' },
582  { 'V', 'A', 'N', '\0' },
583  { 'V', 'A', 'T', '\0' },
584  { 'V', 'E', 'T', '\0' },
585  { 'V', 'I', 'E', '\0' },
586  { 'W', 'A', 'D', '\0' },
587  { 'W', 'A', 'G', '\0' },
588  { 'W', 'A', 'R', '\0' },
589  { 'W', 'A', 'S', '\0' },
590  { 'W', 'A', 'Y', '\0' },
591  { 'W', 'E', '\0', '\0' },
592  { 'W', 'E', 'B', '\0' },
593  { 'W', 'E', 'D', '\0' },
594  { 'W', 'E', 'E', '\0' },
595  { 'W', 'E', 'T', '\0' },
596  { 'W', 'H', 'O', '\0' },
597  { 'W', 'H', 'Y', '\0' },
598  { 'W', 'I', 'N', '\0' },
599  { 'W', 'I', 'T', '\0' },
600  { 'W', 'O', 'K', '\0' },
601  { 'W', 'O', 'N', '\0' },
602  { 'W', 'O', 'O', '\0' },
603  { 'W', 'O', 'W', '\0' },
604  { 'W', 'R', 'Y', '\0' },
605  { 'W', 'U', '\0', '\0' },
606  { 'Y', 'A', 'M', '\0' },
607  { 'Y', 'A', 'P', '\0' },
608  { 'Y', 'A', 'W', '\0' },
609  { 'Y', 'E', '\0', '\0' },
610  { 'Y', 'E', 'A', '\0' },
611  { 'Y', 'E', 'S', '\0' },
612  { 'Y', 'E', 'T', '\0' },
613  { 'Y', 'O', 'U', '\0' },
614  { 'A', 'B', 'E', 'D' },
615  { 'A', 'B', 'E', 'L' },
616  { 'A', 'B', 'E', 'T' },
617  { 'A', 'B', 'L', 'E' },
618  { 'A', 'B', 'U', 'T' },
619  { 'A', 'C', 'H', 'E' },
620  { 'A', 'C', 'I', 'D' },
621  { 'A', 'C', 'M', 'E' },
622  { 'A', 'C', 'R', 'E' },
623  { 'A', 'C', 'T', 'A' },
624  { 'A', 'C', 'T', 'S' },
625  { 'A', 'D', 'A', 'M' },
626  { 'A', 'D', 'D', 'S' },
627  { 'A', 'D', 'E', 'N' },
628  { 'A', 'F', 'A', 'R' },
629  { 'A', 'F', 'R', 'O' },
630  { 'A', 'G', 'E', 'E' },
631  { 'A', 'H', 'E', 'M' },
632  { 'A', 'H', 'O', 'Y' },
633  { 'A', 'I', 'D', 'A' },
634  { 'A', 'I', 'D', 'E' },
635  { 'A', 'I', 'D', 'S' },
636  { 'A', 'I', 'R', 'Y' },
637  { 'A', 'J', 'A', 'R' },
638  { 'A', 'K', 'I', 'N' },
639  { 'A', 'L', 'A', 'N' },
640  { 'A', 'L', 'E', 'C' },
641  { 'A', 'L', 'G', 'A' },
642  { 'A', 'L', 'I', 'A' },
643  { 'A', 'L', 'L', 'Y' },
644  { 'A', 'L', 'M', 'A' },
645  { 'A', 'L', 'O', 'E' },
646  { 'A', 'L', 'S', 'O' },
647  { 'A', 'L', 'T', 'O' },
648  { 'A', 'L', 'U', 'M' },
649  { 'A', 'L', 'V', 'A' },
650  { 'A', 'M', 'E', 'N' },
651  { 'A', 'M', 'E', 'S' },
652  { 'A', 'M', 'I', 'D' },
653  { 'A', 'M', 'M', 'O' },
654  { 'A', 'M', 'O', 'K' },
655  { 'A', 'M', 'O', 'S' },
656  { 'A', 'M', 'R', 'A' },
657  { 'A', 'N', 'D', 'Y' },
658  { 'A', 'N', 'E', 'W' },
659  { 'A', 'N', 'N', 'A' },
660  { 'A', 'N', 'N', 'E' },
661  { 'A', 'N', 'T', 'E' },
662  { 'A', 'N', 'T', 'I' },
663  { 'A', 'Q', 'U', 'A' },
664  { 'A', 'R', 'A', 'B' },
665  { 'A', 'R', 'C', 'H' },
666  { 'A', 'R', 'E', 'A' },
667  { 'A', 'R', 'G', 'O' },
668  { 'A', 'R', 'I', 'D' },
669  { 'A', 'R', 'M', 'Y' },
670  { 'A', 'R', 'T', 'S' },
671  { 'A', 'R', 'T', 'Y' },
672  { 'A', 'S', 'I', 'A' },
673  { 'A', 'S', 'K', 'S' },
674  { 'A', 'T', 'O', 'M' },
675  { 'A', 'U', 'N', 'T' },
676  { 'A', 'U', 'R', 'A' },
677  { 'A', 'U', 'T', 'O' },
678  { 'A', 'V', 'E', 'R' },
679  { 'A', 'V', 'I', 'D' },
680  { 'A', 'V', 'I', 'S' },
681  { 'A', 'V', 'O', 'N' },
682  { 'A', 'V', 'O', 'W' },
683  { 'A', 'W', 'A', 'Y' },
684  { 'A', 'W', 'R', 'Y' },
685  { 'B', 'A', 'B', 'E' },
686  { 'B', 'A', 'B', 'Y' },
687  { 'B', 'A', 'C', 'H' },
688  { 'B', 'A', 'C', 'K' },
689  { 'B', 'A', 'D', 'E' },
690  { 'B', 'A', 'I', 'L' },
691  { 'B', 'A', 'I', 'T' },
692  { 'B', 'A', 'K', 'E' },
693  { 'B', 'A', 'L', 'D' },
694  { 'B', 'A', 'L', 'E' },
695  { 'B', 'A', 'L', 'I' },
696  { 'B', 'A', 'L', 'K' },
697  { 'B', 'A', 'L', 'L' },
698  { 'B', 'A', 'L', 'M' },
699  { 'B', 'A', 'N', 'D' },
700  { 'B', 'A', 'N', 'E' },
701  { 'B', 'A', 'N', 'G' },
702  { 'B', 'A', 'N', 'K' },
703  { 'B', 'A', 'R', 'B' },
704  { 'B', 'A', 'R', 'D' },
705  { 'B', 'A', 'R', 'E' },
706  { 'B', 'A', 'R', 'K' },
707  { 'B', 'A', 'R', 'N' },
708  { 'B', 'A', 'R', 'R' },
709  { 'B', 'A', 'S', 'E' },
710  { 'B', 'A', 'S', 'H' },
711  { 'B', 'A', 'S', 'K' },
712  { 'B', 'A', 'S', 'S' },
713  { 'B', 'A', 'T', 'E' },
714  { 'B', 'A', 'T', 'H' },
715  { 'B', 'A', 'W', 'D' },
716  { 'B', 'A', 'W', 'L' },
717  { 'B', 'E', 'A', 'D' },
718  { 'B', 'E', 'A', 'K' },
719  { 'B', 'E', 'A', 'M' },
720  { 'B', 'E', 'A', 'N' },
721  { 'B', 'E', 'A', 'R' },
722  { 'B', 'E', 'A', 'T' },
723  { 'B', 'E', 'A', 'U' },
724  { 'B', 'E', 'C', 'K' },
725  { 'B', 'E', 'E', 'F' },
726  { 'B', 'E', 'E', 'N' },
727  { 'B', 'E', 'E', 'R' },
728  { 'B', 'E', 'E', 'T' },
729  { 'B', 'E', 'L', 'A' },
730  { 'B', 'E', 'L', 'L' },
731  { 'B', 'E', 'L', 'T' },
732  { 'B', 'E', 'N', 'D' },
733  { 'B', 'E', 'N', 'T' },
734  { 'B', 'E', 'R', 'G' },
735  { 'B', 'E', 'R', 'N' },
736  { 'B', 'E', 'R', 'T' },
737  { 'B', 'E', 'S', 'S' },
738  { 'B', 'E', 'S', 'T' },
739  { 'B', 'E', 'T', 'A' },
740  { 'B', 'E', 'T', 'H' },
741  { 'B', 'H', 'O', 'Y' },
742  { 'B', 'I', 'A', 'S' },
743  { 'B', 'I', 'D', 'E' },
744  { 'B', 'I', 'E', 'N' },
745  { 'B', 'I', 'L', 'E' },
746  { 'B', 'I', 'L', 'K' },
747  { 'B', 'I', 'L', 'L' },
748  { 'B', 'I', 'N', 'D' },
749  { 'B', 'I', 'N', 'G' },
750  { 'B', 'I', 'R', 'D' },
751  { 'B', 'I', 'T', 'E' },
752  { 'B', 'I', 'T', 'S' },
753  { 'B', 'L', 'A', 'B' },
754  { 'B', 'L', 'A', 'T' },
755  { 'B', 'L', 'E', 'D' },
756  { 'B', 'L', 'E', 'W' },
757  { 'B', 'L', 'O', 'B' },
758  { 'B', 'L', 'O', 'C' },
759  { 'B', 'L', 'O', 'T' },
760  { 'B', 'L', 'O', 'W' },
761  { 'B', 'L', 'U', 'E' },
762  { 'B', 'L', 'U', 'M' },
763  { 'B', 'L', 'U', 'R' },
764  { 'B', 'O', 'A', 'R' },
765  { 'B', 'O', 'A', 'T' },
766  { 'B', 'O', 'C', 'A' },
767  { 'B', 'O', 'C', 'K' },
768  { 'B', 'O', 'D', 'E' },
769  { 'B', 'O', 'D', 'Y' },
770  { 'B', 'O', 'G', 'Y' },
771  { 'B', 'O', 'H', 'R' },
772  { 'B', 'O', 'I', 'L' },
773  { 'B', 'O', 'L', 'D' },
774  { 'B', 'O', 'L', 'O' },
775  { 'B', 'O', 'L', 'T' },
776  { 'B', 'O', 'M', 'B' },
777  { 'B', 'O', 'N', 'A' },
778  { 'B', 'O', 'N', 'D' },
779  { 'B', 'O', 'N', 'E' },
780  { 'B', 'O', 'N', 'G' },
781  { 'B', 'O', 'N', 'N' },
782  { 'B', 'O', 'N', 'Y' },
783  { 'B', 'O', 'O', 'K' },
784  { 'B', 'O', 'O', 'M' },
785  { 'B', 'O', 'O', 'N' },
786  { 'B', 'O', 'O', 'T' },
787  { 'B', 'O', 'R', 'E' },
788  { 'B', 'O', 'R', 'G' },
789  { 'B', 'O', 'R', 'N' },
790  { 'B', 'O', 'S', 'E' },
791  { 'B', 'O', 'S', 'S' },
792  { 'B', 'O', 'T', 'H' },
793  { 'B', 'O', 'U', 'T' },
794  { 'B', 'O', 'W', 'L' },
795  { 'B', 'O', 'Y', 'D' },
796  { 'B', 'R', 'A', 'D' },
797  { 'B', 'R', 'A', 'E' },
798  { 'B', 'R', 'A', 'G' },
799  { 'B', 'R', 'A', 'N' },
800  { 'B', 'R', 'A', 'Y' },
801  { 'B', 'R', 'E', 'D' },
802  { 'B', 'R', 'E', 'W' },
803  { 'B', 'R', 'I', 'G' },
804  { 'B', 'R', 'I', 'M' },
805  { 'B', 'R', 'O', 'W' },
806  { 'B', 'U', 'C', 'K' },
807  { 'B', 'U', 'D', 'D' },
808  { 'B', 'U', 'F', 'F' },
809  { 'B', 'U', 'L', 'B' },
810  { 'B', 'U', 'L', 'K' },
811  { 'B', 'U', 'L', 'L' },
812  { 'B', 'U', 'N', 'K' },
813  { 'B', 'U', 'N', 'T' },
814  { 'B', 'U', 'O', 'Y' },
815  { 'B', 'U', 'R', 'G' },
816  { 'B', 'U', 'R', 'L' },
817  { 'B', 'U', 'R', 'N' },
818  { 'B', 'U', 'R', 'R' },
819  { 'B', 'U', 'R', 'T' },
820  { 'B', 'U', 'R', 'Y' },
821  { 'B', 'U', 'S', 'H' },
822  { 'B', 'U', 'S', 'S' },
823  { 'B', 'U', 'S', 'T' },
824  { 'B', 'U', 'S', 'Y' },
825  { 'B', 'Y', 'T', 'E' },
826  { 'C', 'A', 'D', 'Y' },
827  { 'C', 'A', 'F', 'E' },
828  { 'C', 'A', 'G', 'E' },
829  { 'C', 'A', 'I', 'N' },
830  { 'C', 'A', 'K', 'E' },
831  { 'C', 'A', 'L', 'F' },
832  { 'C', 'A', 'L', 'L' },
833  { 'C', 'A', 'L', 'M' },
834  { 'C', 'A', 'M', 'E' },
835  { 'C', 'A', 'N', 'E' },
836  { 'C', 'A', 'N', 'T' },
837  { 'C', 'A', 'R', 'D' },
838  { 'C', 'A', 'R', 'E' },
839  { 'C', 'A', 'R', 'L' },
840  { 'C', 'A', 'R', 'R' },
841  { 'C', 'A', 'R', 'T' },
842  { 'C', 'A', 'S', 'E' },
843  { 'C', 'A', 'S', 'H' },
844  { 'C', 'A', 'S', 'K' },
845  { 'C', 'A', 'S', 'T' },
846  { 'C', 'A', 'V', 'E' },
847  { 'C', 'E', 'I', 'L' },
848  { 'C', 'E', 'L', 'L' },
849  { 'C', 'E', 'N', 'T' },
850  { 'C', 'E', 'R', 'N' },
851  { 'C', 'H', 'A', 'D' },
852  { 'C', 'H', 'A', 'R' },
853  { 'C', 'H', 'A', 'T' },
854  { 'C', 'H', 'A', 'W' },
855  { 'C', 'H', 'E', 'F' },
856  { 'C', 'H', 'E', 'N' },
857  { 'C', 'H', 'E', 'W' },
858  { 'C', 'H', 'I', 'C' },
859  { 'C', 'H', 'I', 'N' },
860  { 'C', 'H', 'O', 'U' },
861  { 'C', 'H', 'O', 'W' },
862  { 'C', 'H', 'U', 'B' },
863  { 'C', 'H', 'U', 'G' },
864  { 'C', 'H', 'U', 'M' },
865  { 'C', 'I', 'T', 'E' },
866  { 'C', 'I', 'T', 'Y' },
867  { 'C', 'L', 'A', 'D' },
868  { 'C', 'L', 'A', 'M' },
869  { 'C', 'L', 'A', 'N' },
870  { 'C', 'L', 'A', 'W' },
871  { 'C', 'L', 'A', 'Y' },
872  { 'C', 'L', 'O', 'D' },
873  { 'C', 'L', 'O', 'G' },
874  { 'C', 'L', 'O', 'T' },
875  { 'C', 'L', 'U', 'B' },
876  { 'C', 'L', 'U', 'E' },
877  { 'C', 'O', 'A', 'L' },
878  { 'C', 'O', 'A', 'T' },
879  { 'C', 'O', 'C', 'A' },
880  { 'C', 'O', 'C', 'K' },
881  { 'C', 'O', 'C', 'O' },
882  { 'C', 'O', 'D', 'A' },
883  { 'C', 'O', 'D', 'E' },
884  { 'C', 'O', 'D', 'Y' },
885  { 'C', 'O', 'E', 'D' },
886  { 'C', 'O', 'I', 'L' },
887  { 'C', 'O', 'I', 'N' },
888  { 'C', 'O', 'K', 'E' },
889  { 'C', 'O', 'L', 'A' },
890  { 'C', 'O', 'L', 'D' },
891  { 'C', 'O', 'L', 'T' },
892  { 'C', 'O', 'M', 'A' },
893  { 'C', 'O', 'M', 'B' },
894  { 'C', 'O', 'M', 'E' },
895  { 'C', 'O', 'O', 'K' },
896  { 'C', 'O', 'O', 'L' },
897  { 'C', 'O', 'O', 'N' },
898  { 'C', 'O', 'O', 'T' },
899  { 'C', 'O', 'R', 'D' },
900  { 'C', 'O', 'R', 'E' },
901  { 'C', 'O', 'R', 'K' },
902  { 'C', 'O', 'R', 'N' },
903  { 'C', 'O', 'S', 'T' },
904  { 'C', 'O', 'V', 'E' },
905  { 'C', 'O', 'W', 'L' },
906  { 'C', 'R', 'A', 'B' },
907  { 'C', 'R', 'A', 'G' },
908  { 'C', 'R', 'A', 'M' },
909  { 'C', 'R', 'A', 'Y' },
910  { 'C', 'R', 'E', 'W' },
911  { 'C', 'R', 'I', 'B' },
912  { 'C', 'R', 'O', 'W' },
913  { 'C', 'R', 'U', 'D' },
914  { 'C', 'U', 'B', 'A' },
915  { 'C', 'U', 'B', 'E' },
916  { 'C', 'U', 'F', 'F' },
917  { 'C', 'U', 'L', 'L' },
918  { 'C', 'U', 'L', 'T' },
919  { 'C', 'U', 'N', 'Y' },
920  { 'C', 'U', 'R', 'B' },
921  { 'C', 'U', 'R', 'D' },
922  { 'C', 'U', 'R', 'E' },
923  { 'C', 'U', 'R', 'L' },
924  { 'C', 'U', 'R', 'T' },
925  { 'C', 'U', 'T', 'S' },
926  { 'D', 'A', 'D', 'E' },
927  { 'D', 'A', 'L', 'E' },
928  { 'D', 'A', 'M', 'E' },
929  { 'D', 'A', 'N', 'A' },
930  { 'D', 'A', 'N', 'E' },
931  { 'D', 'A', 'N', 'G' },
932  { 'D', 'A', 'N', 'K' },
933  { 'D', 'A', 'R', 'E' },
934  { 'D', 'A', 'R', 'K' },
935  { 'D', 'A', 'R', 'N' },
936  { 'D', 'A', 'R', 'T' },
937  { 'D', 'A', 'S', 'H' },
938  { 'D', 'A', 'T', 'A' },
939  { 'D', 'A', 'T', 'E' },
940  { 'D', 'A', 'V', 'E' },
941  { 'D', 'A', 'V', 'Y' },
942  { 'D', 'A', 'W', 'N' },
943  { 'D', 'A', 'Y', 'S' },
944  { 'D', 'E', 'A', 'D' },
945  { 'D', 'E', 'A', 'F' },
946  { 'D', 'E', 'A', 'L' },
947  { 'D', 'E', 'A', 'N' },
948  { 'D', 'E', 'A', 'R' },
949  { 'D', 'E', 'B', 'T' },
950  { 'D', 'E', 'C', 'K' },
951  { 'D', 'E', 'E', 'D' },
952  { 'D', 'E', 'E', 'M' },
953  { 'D', 'E', 'E', 'R' },
954  { 'D', 'E', 'F', 'T' },
955  { 'D', 'E', 'F', 'Y' },
956  { 'D', 'E', 'L', 'L' },
957  { 'D', 'E', 'N', 'T' },
958  { 'D', 'E', 'N', 'Y' },
959  { 'D', 'E', 'S', 'K' },
960  { 'D', 'I', 'A', 'L' },
961  { 'D', 'I', 'C', 'E' },
962  { 'D', 'I', 'E', 'D' },
963  { 'D', 'I', 'E', 'T' },
964  { 'D', 'I', 'M', 'E' },
965  { 'D', 'I', 'N', 'E' },
966  { 'D', 'I', 'N', 'G' },
967  { 'D', 'I', 'N', 'T' },
968  { 'D', 'I', 'R', 'E' },
969  { 'D', 'I', 'R', 'T' },
970  { 'D', 'I', 'S', 'C' },
971  { 'D', 'I', 'S', 'H' },
972  { 'D', 'I', 'S', 'K' },
973  { 'D', 'I', 'V', 'E' },
974  { 'D', 'O', 'C', 'K' },
975  { 'D', 'O', 'E', 'S' },
976  { 'D', 'O', 'L', 'E' },
977  { 'D', 'O', 'L', 'L' },
978  { 'D', 'O', 'L', 'T' },
979  { 'D', 'O', 'M', 'E' },
980  { 'D', 'O', 'N', 'E' },
981  { 'D', 'O', 'O', 'M' },
982  { 'D', 'O', 'O', 'R' },
983  { 'D', 'O', 'R', 'A' },
984  { 'D', 'O', 'S', 'E' },
985  { 'D', 'O', 'T', 'E' },
986  { 'D', 'O', 'U', 'G' },
987  { 'D', 'O', 'U', 'R' },
988  { 'D', 'O', 'V', 'E' },
989  { 'D', 'O', 'W', 'N' },
990  { 'D', 'R', 'A', 'B' },
991  { 'D', 'R', 'A', 'G' },
992  { 'D', 'R', 'A', 'M' },
993  { 'D', 'R', 'A', 'W' },
994  { 'D', 'R', 'E', 'W' },
995  { 'D', 'R', 'U', 'B' },
996  { 'D', 'R', 'U', 'G' },
997  { 'D', 'R', 'U', 'M' },
998  { 'D', 'U', 'A', 'L' },
999  { 'D', 'U', 'C', 'K' },
1000  { 'D', 'U', 'C', 'T' },
1001  { 'D', 'U', 'E', 'L' },
1002  { 'D', 'U', 'E', 'T' },
1003  { 'D', 'U', 'K', 'E' },
1004  { 'D', 'U', 'L', 'L' },
1005  { 'D', 'U', 'M', 'B' },
1006  { 'D', 'U', 'N', 'E' },
1007  { 'D', 'U', 'N', 'K' },
1008  { 'D', 'U', 'S', 'K' },
1009  { 'D', 'U', 'S', 'T' },
1010  { 'D', 'U', 'T', 'Y' },
1011  { 'E', 'A', 'C', 'H' },
1012  { 'E', 'A', 'R', 'L' },
1013  { 'E', 'A', 'R', 'N' },
1014  { 'E', 'A', 'S', 'E' },
1015  { 'E', 'A', 'S', 'T' },
1016  { 'E', 'A', 'S', 'Y' },
1017  { 'E', 'B', 'E', 'N' },
1018  { 'E', 'C', 'H', 'O' },
1019  { 'E', 'D', 'D', 'Y' },
1020  { 'E', 'D', 'E', 'N' },
1021  { 'E', 'D', 'G', 'E' },
1022  { 'E', 'D', 'G', 'Y' },
1023  { 'E', 'D', 'I', 'T' },
1024  { 'E', 'D', 'N', 'A' },
1025  { 'E', 'G', 'A', 'N' },
1026  { 'E', 'L', 'A', 'N' },
1027  { 'E', 'L', 'B', 'A' },
1028  { 'E', 'L', 'L', 'A' },
1029  { 'E', 'L', 'S', 'E' },
1030  { 'E', 'M', 'I', 'L' },
1031  { 'E', 'M', 'I', 'T' },
1032  { 'E', 'M', 'M', 'A' },
1033  { 'E', 'N', 'D', 'S' },
1034  { 'E', 'R', 'I', 'C' },
1035  { 'E', 'R', 'O', 'S' },
1036  { 'E', 'V', 'E', 'N' },
1037  { 'E', 'V', 'E', 'R' },
1038  { 'E', 'V', 'I', 'L' },
1039  { 'E', 'Y', 'E', 'D' },
1040  { 'F', 'A', 'C', 'E' },
1041  { 'F', 'A', 'C', 'T' },
1042  { 'F', 'A', 'D', 'E' },
1043  { 'F', 'A', 'I', 'L' },
1044  { 'F', 'A', 'I', 'N' },
1045  { 'F', 'A', 'I', 'R' },
1046  { 'F', 'A', 'K', 'E' },
1047  { 'F', 'A', 'L', 'L' },
1048  { 'F', 'A', 'M', 'E' },
1049  { 'F', 'A', 'N', 'G' },
1050  { 'F', 'A', 'R', 'M' },
1051  { 'F', 'A', 'S', 'T' },
1052  { 'F', 'A', 'T', 'E' },
1053  { 'F', 'A', 'W', 'N' },
1054  { 'F', 'E', 'A', 'R' },
1055  { 'F', 'E', 'A', 'T' },
1056  { 'F', 'E', 'E', 'D' },
1057  { 'F', 'E', 'E', 'L' },
1058  { 'F', 'E', 'E', 'T' },
1059  { 'F', 'E', 'L', 'L' },
1060  { 'F', 'E', 'L', 'T' },
1061  { 'F', 'E', 'N', 'D' },
1062  { 'F', 'E', 'R', 'N' },
1063  { 'F', 'E', 'S', 'T' },
1064  { 'F', 'E', 'U', 'D' },
1065  { 'F', 'I', 'E', 'F' },
1066  { 'F', 'I', 'G', 'S' },
1067  { 'F', 'I', 'L', 'E' },
1068  { 'F', 'I', 'L', 'L' },
1069  { 'F', 'I', 'L', 'M' },
1070  { 'F', 'I', 'N', 'D' },
1071  { 'F', 'I', 'N', 'E' },
1072  { 'F', 'I', 'N', 'K' },
1073  { 'F', 'I', 'R', 'E' },
1074  { 'F', 'I', 'R', 'M' },
1075  { 'F', 'I', 'S', 'H' },
1076  { 'F', 'I', 'S', 'K' },
1077  { 'F', 'I', 'S', 'T' },
1078  { 'F', 'I', 'T', 'S' },
1079  { 'F', 'I', 'V', 'E' },
1080  { 'F', 'L', 'A', 'G' },
1081  { 'F', 'L', 'A', 'K' },
1082  { 'F', 'L', 'A', 'M' },
1083  { 'F', 'L', 'A', 'T' },
1084  { 'F', 'L', 'A', 'W' },
1085  { 'F', 'L', 'E', 'A' },
1086  { 'F', 'L', 'E', 'D' },
1087  { 'F', 'L', 'E', 'W' },
1088  { 'F', 'L', 'I', 'T' },
1089  { 'F', 'L', 'O', 'C' },
1090  { 'F', 'L', 'O', 'G' },
1091  { 'F', 'L', 'O', 'W' },
1092  { 'F', 'L', 'U', 'B' },
1093  { 'F', 'L', 'U', 'E' },
1094  { 'F', 'O', 'A', 'L' },
1095  { 'F', 'O', 'A', 'M' },
1096  { 'F', 'O', 'G', 'Y' },
1097  { 'F', 'O', 'I', 'L' },
1098  { 'F', 'O', 'L', 'D' },
1099  { 'F', 'O', 'L', 'K' },
1100  { 'F', 'O', 'N', 'D' },
1101  { 'F', 'O', 'N', 'T' },
1102  { 'F', 'O', 'O', 'D' },
1103  { 'F', 'O', 'O', 'L' },
1104  { 'F', 'O', 'O', 'T' },
1105  { 'F', 'O', 'R', 'D' },
1106  { 'F', 'O', 'R', 'E' },
1107  { 'F', 'O', 'R', 'K' },
1108  { 'F', 'O', 'R', 'M' },
1109  { 'F', 'O', 'R', 'T' },
1110  { 'F', 'O', 'S', 'S' },
1111  { 'F', 'O', 'U', 'L' },
1112  { 'F', 'O', 'U', 'R' },
1113  { 'F', 'O', 'W', 'L' },
1114  { 'F', 'R', 'A', 'U' },
1115  { 'F', 'R', 'A', 'Y' },
1116  { 'F', 'R', 'E', 'D' },
1117  { 'F', 'R', 'E', 'E' },
1118  { 'F', 'R', 'E', 'T' },
1119  { 'F', 'R', 'E', 'Y' },
1120  { 'F', 'R', 'O', 'G' },
1121  { 'F', 'R', 'O', 'M' },
1122  { 'F', 'U', 'E', 'L' },
1123  { 'F', 'U', 'L', 'L' },
1124  { 'F', 'U', 'M', 'E' },
1125  { 'F', 'U', 'N', 'D' },
1126  { 'F', 'U', 'N', 'K' },
1127  { 'F', 'U', 'R', 'Y' },
1128  { 'F', 'U', 'S', 'E' },
1129  { 'F', 'U', 'S', 'S' },
1130  { 'G', 'A', 'F', 'F' },
1131  { 'G', 'A', 'G', 'E' },
1132  { 'G', 'A', 'I', 'L' },
1133  { 'G', 'A', 'I', 'N' },
1134  { 'G', 'A', 'I', 'T' },
1135  { 'G', 'A', 'L', 'A' },
1136  { 'G', 'A', 'L', 'E' },
1137  { 'G', 'A', 'L', 'L' },
1138  { 'G', 'A', 'L', 'T' },
1139  { 'G', 'A', 'M', 'E' },
1140  { 'G', 'A', 'N', 'G' },
1141  { 'G', 'A', 'R', 'B' },
1142  { 'G', 'A', 'R', 'Y' },
1143  { 'G', 'A', 'S', 'H' },
1144  { 'G', 'A', 'T', 'E' },
1145  { 'G', 'A', 'U', 'L' },
1146  { 'G', 'A', 'U', 'R' },
1147  { 'G', 'A', 'V', 'E' },
1148  { 'G', 'A', 'W', 'K' },
1149  { 'G', 'E', 'A', 'R' },
1150  { 'G', 'E', 'L', 'D' },
1151  { 'G', 'E', 'N', 'E' },
1152  { 'G', 'E', 'N', 'T' },
1153  { 'G', 'E', 'R', 'M' },
1154  { 'G', 'E', 'T', 'S' },
1155  { 'G', 'I', 'B', 'E' },
1156  { 'G', 'I', 'F', 'T' },
1157  { 'G', 'I', 'L', 'D' },
1158  { 'G', 'I', 'L', 'L' },
1159  { 'G', 'I', 'L', 'T' },
1160  { 'G', 'I', 'N', 'A' },
1161  { 'G', 'I', 'R', 'D' },
1162  { 'G', 'I', 'R', 'L' },
1163  { 'G', 'I', 'S', 'T' },
1164  { 'G', 'I', 'V', 'E' },
1165  { 'G', 'L', 'A', 'D' },
1166  { 'G', 'L', 'E', 'E' },
1167  { 'G', 'L', 'E', 'N' },
1168  { 'G', 'L', 'I', 'B' },
1169  { 'G', 'L', 'O', 'B' },
1170  { 'G', 'L', 'O', 'M' },
1171  { 'G', 'L', 'O', 'W' },
1172  { 'G', 'L', 'U', 'E' },
1173  { 'G', 'L', 'U', 'M' },
1174  { 'G', 'L', 'U', 'T' },
1175  { 'G', 'O', 'A', 'D' },
1176  { 'G', 'O', 'A', 'L' },
1177  { 'G', 'O', 'A', 'T' },
1178  { 'G', 'O', 'E', 'R' },
1179  { 'G', 'O', 'E', 'S' },
1180  { 'G', 'O', 'L', 'D' },
1181  { 'G', 'O', 'L', 'F' },
1182  { 'G', 'O', 'N', 'E' },
1183  { 'G', 'O', 'N', 'G' },
1184  { 'G', 'O', 'O', 'D' },
1185  { 'G', 'O', 'O', 'F' },
1186  { 'G', 'O', 'R', 'E' },
1187  { 'G', 'O', 'R', 'Y' },
1188  { 'G', 'O', 'S', 'H' },
1189  { 'G', 'O', 'U', 'T' },
1190  { 'G', 'O', 'W', 'N' },
1191  { 'G', 'R', 'A', 'B' },
1192  { 'G', 'R', 'A', 'D' },
1193  { 'G', 'R', 'A', 'Y' },
1194  { 'G', 'R', 'E', 'G' },
1195  { 'G', 'R', 'E', 'W' },
1196  { 'G', 'R', 'E', 'Y' },
1197  { 'G', 'R', 'I', 'D' },
1198  { 'G', 'R', 'I', 'M' },
1199  { 'G', 'R', 'I', 'N' },
1200  { 'G', 'R', 'I', 'T' },
1201  { 'G', 'R', 'O', 'W' },
1202  { 'G', 'R', 'U', 'B' },
1203  { 'G', 'U', 'L', 'F' },
1204  { 'G', 'U', 'L', 'L' },
1205  { 'G', 'U', 'N', 'K' },
1206  { 'G', 'U', 'R', 'U' },
1207  { 'G', 'U', 'S', 'H' },
1208  { 'G', 'U', 'S', 'T' },
1209  { 'G', 'W', 'E', 'N' },
1210  { 'G', 'W', 'Y', 'N' },
1211  { 'H', 'A', 'A', 'G' },
1212  { 'H', 'A', 'A', 'S' },
1213  { 'H', 'A', 'C', 'K' },
1214  { 'H', 'A', 'I', 'L' },
1215  { 'H', 'A', 'I', 'R' },
1216  { 'H', 'A', 'L', 'E' },
1217  { 'H', 'A', 'L', 'F' },
1218  { 'H', 'A', 'L', 'L' },
1219  { 'H', 'A', 'L', 'O' },
1220  { 'H', 'A', 'L', 'T' },
1221  { 'H', 'A', 'N', 'D' },
1222  { 'H', 'A', 'N', 'G' },
1223  { 'H', 'A', 'N', 'K' },
1224  { 'H', 'A', 'N', 'S' },
1225  { 'H', 'A', 'R', 'D' },
1226  { 'H', 'A', 'R', 'K' },
1227  { 'H', 'A', 'R', 'M' },
1228  { 'H', 'A', 'R', 'T' },
1229  { 'H', 'A', 'S', 'H' },
1230  { 'H', 'A', 'S', 'T' },
1231  { 'H', 'A', 'T', 'E' },
1232  { 'H', 'A', 'T', 'H' },
1233  { 'H', 'A', 'U', 'L' },
1234  { 'H', 'A', 'V', 'E' },
1235  { 'H', 'A', 'W', 'K' },
1236  { 'H', 'A', 'Y', 'S' },
1237  { 'H', 'E', 'A', 'D' },
1238  { 'H', 'E', 'A', 'L' },
1239  { 'H', 'E', 'A', 'R' },
1240  { 'H', 'E', 'A', 'T' },
1241  { 'H', 'E', 'B', 'E' },
1242  { 'H', 'E', 'C', 'K' },
1243  { 'H', 'E', 'E', 'D' },
1244  { 'H', 'E', 'E', 'L' },
1245  { 'H', 'E', 'F', 'T' },
1246  { 'H', 'E', 'L', 'D' },
1247  { 'H', 'E', 'L', 'L' },
1248  { 'H', 'E', 'L', 'M' },
1249  { 'H', 'E', 'R', 'B' },
1250  { 'H', 'E', 'R', 'D' },
1251  { 'H', 'E', 'R', 'E' },
1252  { 'H', 'E', 'R', 'O' },
1253  { 'H', 'E', 'R', 'S' },
1254  { 'H', 'E', 'S', 'S' },
1255  { 'H', 'E', 'W', 'N' },
1256  { 'H', 'I', 'C', 'K' },
1257  { 'H', 'I', 'D', 'E' },
1258  { 'H', 'I', 'G', 'H' },
1259  { 'H', 'I', 'K', 'E' },
1260  { 'H', 'I', 'L', 'L' },
1261  { 'H', 'I', 'L', 'T' },
1262  { 'H', 'I', 'N', 'D' },
1263  { 'H', 'I', 'N', 'T' },
1264  { 'H', 'I', 'R', 'E' },
1265  { 'H', 'I', 'S', 'S' },
1266  { 'H', 'I', 'V', 'E' },
1267  { 'H', 'O', 'B', 'O' },
1268  { 'H', 'O', 'C', 'K' },
1269  { 'H', 'O', 'F', 'F' },
1270  { 'H', 'O', 'L', 'D' },
1271  { 'H', 'O', 'L', 'E' },
1272  { 'H', 'O', 'L', 'M' },
1273  { 'H', 'O', 'L', 'T' },
1274  { 'H', 'O', 'M', 'E' },
1275  { 'H', 'O', 'N', 'E' },
1276  { 'H', 'O', 'N', 'K' },
1277  { 'H', 'O', 'O', 'D' },
1278  { 'H', 'O', 'O', 'F' },
1279  { 'H', 'O', 'O', 'K' },
1280  { 'H', 'O', 'O', 'T' },
1281  { 'H', 'O', 'R', 'N' },
1282  { 'H', 'O', 'S', 'E' },
1283  { 'H', 'O', 'S', 'T' },
1284  { 'H', 'O', 'U', 'R' },
1285  { 'H', 'O', 'V', 'E' },
1286  { 'H', 'O', 'W', 'E' },
1287  { 'H', 'O', 'W', 'L' },
1288  { 'H', 'O', 'Y', 'T' },
1289  { 'H', 'U', 'C', 'K' },
1290  { 'H', 'U', 'E', 'D' },
1291  { 'H', 'U', 'F', 'F' },
1292  { 'H', 'U', 'G', 'E' },
1293  { 'H', 'U', 'G', 'H' },
1294  { 'H', 'U', 'G', 'O' },
1295  { 'H', 'U', 'L', 'K' },
1296  { 'H', 'U', 'L', 'L' },
1297  { 'H', 'U', 'N', 'K' },
1298  { 'H', 'U', 'N', 'T' },
1299  { 'H', 'U', 'R', 'D' },
1300  { 'H', 'U', 'R', 'L' },
1301  { 'H', 'U', 'R', 'T' },
1302  { 'H', 'U', 'S', 'H' },
1303  { 'H', 'Y', 'D', 'E' },
1304  { 'H', 'Y', 'M', 'N' },
1305  { 'I', 'B', 'I', 'S' },
1306  { 'I', 'C', 'O', 'N' },
1307  { 'I', 'D', 'E', 'A' },
1308  { 'I', 'D', 'L', 'E' },
1309  { 'I', 'F', 'F', 'Y' },
1310  { 'I', 'N', 'C', 'A' },
1311  { 'I', 'N', 'C', 'H' },
1312  { 'I', 'N', 'T', 'O' },
1313  { 'I', 'O', 'N', 'S' },
1314  { 'I', 'O', 'T', 'A' },
1315  { 'I', 'O', 'W', 'A' },
1316  { 'I', 'R', 'I', 'S' },
1317  { 'I', 'R', 'M', 'A' },
1318  { 'I', 'R', 'O', 'N' },
1319  { 'I', 'S', 'L', 'E' },
1320  { 'I', 'T', 'C', 'H' },
1321  { 'I', 'T', 'E', 'M' },
1322  { 'I', 'V', 'A', 'N' },
1323  { 'J', 'A', 'C', 'K' },
1324  { 'J', 'A', 'D', 'E' },
1325  { 'J', 'A', 'I', 'L' },
1326  { 'J', 'A', 'K', 'E' },
1327  { 'J', 'A', 'N', 'E' },
1328  { 'J', 'A', 'V', 'A' },
1329  { 'J', 'E', 'A', 'N' },
1330  { 'J', 'E', 'F', 'F' },
1331  { 'J', 'E', 'R', 'K' },
1332  { 'J', 'E', 'S', 'S' },
1333  { 'J', 'E', 'S', 'T' },
1334  { 'J', 'I', 'B', 'E' },
1335  { 'J', 'I', 'L', 'L' },
1336  { 'J', 'I', 'L', 'T' },
1337  { 'J', 'I', 'V', 'E' },
1338  { 'J', 'O', 'A', 'N' },
1339  { 'J', 'O', 'B', 'S' },
1340  { 'J', 'O', 'C', 'K' },
1341  { 'J', 'O', 'E', 'L' },
1342  { 'J', 'O', 'E', 'Y' },
1343  { 'J', 'O', 'H', 'N' },
1344  { 'J', 'O', 'I', 'N' },
1345  { 'J', 'O', 'K', 'E' },
1346  { 'J', 'O', 'L', 'T' },
1347  { 'J', 'O', 'V', 'E' },
1348  { 'J', 'U', 'D', 'D' },
1349  { 'J', 'U', 'D', 'E' },
1350  { 'J', 'U', 'D', 'O' },
1351  { 'J', 'U', 'D', 'Y' },
1352  { 'J', 'U', 'J', 'U' },
1353  { 'J', 'U', 'K', 'E' },
1354  { 'J', 'U', 'L', 'Y' },
1355  { 'J', 'U', 'N', 'E' },
1356  { 'J', 'U', 'N', 'K' },
1357  { 'J', 'U', 'N', 'O' },
1358  { 'J', 'U', 'R', 'Y' },
1359  { 'J', 'U', 'S', 'T' },
1360  { 'J', 'U', 'T', 'E' },
1361  { 'K', 'A', 'H', 'N' },
1362  { 'K', 'A', 'L', 'E' },
1363  { 'K', 'A', 'N', 'E' },
1364  { 'K', 'A', 'N', 'T' },
1365  { 'K', 'A', 'R', 'L' },
1366  { 'K', 'A', 'T', 'E' },
1367  { 'K', 'E', 'E', 'L' },
1368  { 'K', 'E', 'E', 'N' },
1369  { 'K', 'E', 'N', 'O' },
1370  { 'K', 'E', 'N', 'T' },
1371  { 'K', 'E', 'R', 'N' },
1372  { 'K', 'E', 'R', 'R' },
1373  { 'K', 'E', 'Y', 'S' },
1374  { 'K', 'I', 'C', 'K' },
1375  { 'K', 'I', 'L', 'L' },
1376  { 'K', 'I', 'N', 'D' },
1377  { 'K', 'I', 'N', 'G' },
1378  { 'K', 'I', 'R', 'K' },
1379  { 'K', 'I', 'S', 'S' },
1380  { 'K', 'I', 'T', 'E' },
1381  { 'K', 'L', 'A', 'N' },
1382  { 'K', 'N', 'E', 'E' },
1383  { 'K', 'N', 'E', 'W' },
1384  { 'K', 'N', 'I', 'T' },
1385  { 'K', 'N', 'O', 'B' },
1386  { 'K', 'N', 'O', 'T' },
1387  { 'K', 'N', 'O', 'W' },
1388  { 'K', 'O', 'C', 'H' },
1389  { 'K', 'O', 'N', 'G' },
1390  { 'K', 'U', 'D', 'O' },
1391  { 'K', 'U', 'R', 'D' },
1392  { 'K', 'U', 'R', 'T' },
1393  { 'K', 'Y', 'L', 'E' },
1394  { 'L', 'A', 'C', 'E' },
1395  { 'L', 'A', 'C', 'K' },
1396  { 'L', 'A', 'C', 'Y' },
1397  { 'L', 'A', 'D', 'Y' },
1398  { 'L', 'A', 'I', 'D' },
1399  { 'L', 'A', 'I', 'N' },
1400  { 'L', 'A', 'I', 'R' },
1401  { 'L', 'A', 'K', 'E' },
1402  { 'L', 'A', 'M', 'B' },
1403  { 'L', 'A', 'M', 'E' },
1404  { 'L', 'A', 'N', 'D' },
1405  { 'L', 'A', 'N', 'E' },
1406  { 'L', 'A', 'N', 'G' },
1407  { 'L', 'A', 'R', 'D' },
1408  { 'L', 'A', 'R', 'K' },
1409  { 'L', 'A', 'S', 'S' },
1410  { 'L', 'A', 'S', 'T' },
1411  { 'L', 'A', 'T', 'E' },
1412  { 'L', 'A', 'U', 'D' },
1413  { 'L', 'A', 'V', 'A' },
1414  { 'L', 'A', 'W', 'N' },
1415  { 'L', 'A', 'W', 'S' },
1416  { 'L', 'A', 'Y', 'S' },
1417  { 'L', 'E', 'A', 'D' },
1418  { 'L', 'E', 'A', 'F' },
1419  { 'L', 'E', 'A', 'K' },
1420  { 'L', 'E', 'A', 'N' },
1421  { 'L', 'E', 'A', 'R' },
1422  { 'L', 'E', 'E', 'K' },
1423  { 'L', 'E', 'E', 'R' },
1424  { 'L', 'E', 'F', 'T' },
1425  { 'L', 'E', 'N', 'D' },
1426  { 'L', 'E', 'N', 'S' },
1427  { 'L', 'E', 'N', 'T' },
1428  { 'L', 'E', 'O', 'N' },
1429  { 'L', 'E', 'S', 'K' },
1430  { 'L', 'E', 'S', 'S' },
1431  { 'L', 'E', 'S', 'T' },
1432  { 'L', 'E', 'T', 'S' },
1433  { 'L', 'I', 'A', 'R' },
1434  { 'L', 'I', 'C', 'E' },
1435  { 'L', 'I', 'C', 'K' },
1436  { 'L', 'I', 'E', 'D' },
1437  { 'L', 'I', 'E', 'N' },
1438  { 'L', 'I', 'E', 'S' },
1439  { 'L', 'I', 'E', 'U' },
1440  { 'L', 'I', 'F', 'E' },
1441  { 'L', 'I', 'F', 'T' },
1442  { 'L', 'I', 'K', 'E' },
1443  { 'L', 'I', 'L', 'A' },
1444  { 'L', 'I', 'L', 'T' },
1445  { 'L', 'I', 'L', 'Y' },
1446  { 'L', 'I', 'M', 'A' },
1447  { 'L', 'I', 'M', 'B' },
1448  { 'L', 'I', 'M', 'E' },
1449  { 'L', 'I', 'N', 'D' },
1450  { 'L', 'I', 'N', 'E' },
1451  { 'L', 'I', 'N', 'K' },
1452  { 'L', 'I', 'N', 'T' },
1453  { 'L', 'I', 'O', 'N' },
1454  { 'L', 'I', 'S', 'A' },
1455  { 'L', 'I', 'S', 'T' },
1456  { 'L', 'I', 'V', 'E' },
1457  { 'L', 'O', 'A', 'D' },
1458  { 'L', 'O', 'A', 'F' },
1459  { 'L', 'O', 'A', 'M' },
1460  { 'L', 'O', 'A', 'N' },
1461  { 'L', 'O', 'C', 'K' },
1462  { 'L', 'O', 'F', 'T' },
1463  { 'L', 'O', 'G', 'E' },
1464  { 'L', 'O', 'I', 'S' },
1465  { 'L', 'O', 'L', 'A' },
1466  { 'L', 'O', 'N', 'E' },
1467  { 'L', 'O', 'N', 'G' },
1468  { 'L', 'O', 'O', 'K' },
1469  { 'L', 'O', 'O', 'N' },
1470  { 'L', 'O', 'O', 'T' },
1471  { 'L', 'O', 'R', 'D' },
1472  { 'L', 'O', 'R', 'E' },
1473  { 'L', 'O', 'S', 'E' },
1474  { 'L', 'O', 'S', 'S' },
1475  { 'L', 'O', 'S', 'T' },
1476  { 'L', 'O', 'U', 'D' },
1477  { 'L', 'O', 'V', 'E' },
1478  { 'L', 'O', 'W', 'E' },
1479  { 'L', 'U', 'C', 'K' },
1480  { 'L', 'U', 'C', 'Y' },
1481  { 'L', 'U', 'G', 'E' },
1482  { 'L', 'U', 'K', 'E' },
1483  { 'L', 'U', 'L', 'U' },
1484  { 'L', 'U', 'N', 'D' },
1485  { 'L', 'U', 'N', 'G' },
1486  { 'L', 'U', 'R', 'A' },
1487  { 'L', 'U', 'R', 'E' },
1488  { 'L', 'U', 'R', 'K' },
1489  { 'L', 'U', 'S', 'H' },
1490  { 'L', 'U', 'S', 'T' },
1491  { 'L', 'Y', 'L', 'E' },
1492  { 'L', 'Y', 'N', 'N' },
1493  { 'L', 'Y', 'O', 'N' },
1494  { 'L', 'Y', 'R', 'A' },
1495  { 'M', 'A', 'C', 'E' },
1496  { 'M', 'A', 'D', 'E' },
1497  { 'M', 'A', 'G', 'I' },
1498  { 'M', 'A', 'I', 'D' },
1499  { 'M', 'A', 'I', 'L' },
1500  { 'M', 'A', 'I', 'N' },
1501  { 'M', 'A', 'K', 'E' },
1502  { 'M', 'A', 'L', 'E' },
1503  { 'M', 'A', 'L', 'I' },
1504  { 'M', 'A', 'L', 'L' },
1505  { 'M', 'A', 'L', 'T' },
1506  { 'M', 'A', 'N', 'A' },
1507  { 'M', 'A', 'N', 'N' },
1508  { 'M', 'A', 'N', 'Y' },
1509  { 'M', 'A', 'R', 'C' },
1510  { 'M', 'A', 'R', 'E' },
1511  { 'M', 'A', 'R', 'K' },
1512  { 'M', 'A', 'R', 'S' },
1513  { 'M', 'A', 'R', 'T' },
1514  { 'M', 'A', 'R', 'Y' },
1515  { 'M', 'A', 'S', 'H' },
1516  { 'M', 'A', 'S', 'K' },
1517  { 'M', 'A', 'S', 'S' },
1518  { 'M', 'A', 'S', 'T' },
1519  { 'M', 'A', 'T', 'E' },
1520  { 'M', 'A', 'T', 'H' },
1521  { 'M', 'A', 'U', 'L' },
1522  { 'M', 'A', 'Y', 'O' },
1523  { 'M', 'E', 'A', 'D' },
1524  { 'M', 'E', 'A', 'L' },
1525  { 'M', 'E', 'A', 'N' },
1526  { 'M', 'E', 'A', 'T' },
1527  { 'M', 'E', 'E', 'K' },
1528  { 'M', 'E', 'E', 'T' },
1529  { 'M', 'E', 'L', 'D' },
1530  { 'M', 'E', 'L', 'T' },
1531  { 'M', 'E', 'M', 'O' },
1532  { 'M', 'E', 'N', 'D' },
1533  { 'M', 'E', 'N', 'U' },
1534  { 'M', 'E', 'R', 'T' },
1535  { 'M', 'E', 'S', 'H' },
1536  { 'M', 'E', 'S', 'S' },
1537  { 'M', 'I', 'C', 'E' },
1538  { 'M', 'I', 'K', 'E' },
1539  { 'M', 'I', 'L', 'D' },
1540  { 'M', 'I', 'L', 'E' },
1541  { 'M', 'I', 'L', 'K' },
1542  { 'M', 'I', 'L', 'L' },
1543  { 'M', 'I', 'L', 'T' },
1544  { 'M', 'I', 'M', 'I' },
1545  { 'M', 'I', 'N', 'D' },
1546  { 'M', 'I', 'N', 'E' },
1547  { 'M', 'I', 'N', 'I' },
1548  { 'M', 'I', 'N', 'K' },
1549  { 'M', 'I', 'N', 'T' },
1550  { 'M', 'I', 'R', 'E' },
1551  { 'M', 'I', 'S', 'S' },
1552  { 'M', 'I', 'S', 'T' },
1553  { 'M', 'I', 'T', 'E' },
1554  { 'M', 'I', 'T', 'T' },
1555  { 'M', 'O', 'A', 'N' },
1556  { 'M', 'O', 'A', 'T' },
1557  { 'M', 'O', 'C', 'K' },
1558  { 'M', 'O', 'D', 'E' },
1559  { 'M', 'O', 'L', 'D' },
1560  { 'M', 'O', 'L', 'E' },
1561  { 'M', 'O', 'L', 'L' },
1562  { 'M', 'O', 'L', 'T' },
1563  { 'M', 'O', 'N', 'A' },
1564  { 'M', 'O', 'N', 'K' },
1565  { 'M', 'O', 'N', 'T' },
1566  { 'M', 'O', 'O', 'D' },
1567  { 'M', 'O', 'O', 'N' },
1568  { 'M', 'O', 'O', 'R' },
1569  { 'M', 'O', 'O', 'T' },
1570  { 'M', 'O', 'R', 'E' },
1571  { 'M', 'O', 'R', 'N' },
1572  { 'M', 'O', 'R', 'T' },
1573  { 'M', 'O', 'S', 'S' },
1574  { 'M', 'O', 'S', 'T' },
1575  { 'M', 'O', 'T', 'H' },
1576  { 'M', 'O', 'V', 'E' },
1577  { 'M', 'U', 'C', 'H' },
1578  { 'M', 'U', 'C', 'K' },
1579  { 'M', 'U', 'D', 'D' },
1580  { 'M', 'U', 'F', 'F' },
1581  { 'M', 'U', 'L', 'E' },
1582  { 'M', 'U', 'L', 'L' },
1583  { 'M', 'U', 'R', 'K' },
1584  { 'M', 'U', 'S', 'H' },
1585  { 'M', 'U', 'S', 'T' },
1586  { 'M', 'U', 'T', 'E' },
1587  { 'M', 'U', 'T', 'T' },
1588  { 'M', 'Y', 'R', 'A' },
1589  { 'M', 'Y', 'T', 'H' },
1590  { 'N', 'A', 'G', 'Y' },
1591  { 'N', 'A', 'I', 'L' },
1592  { 'N', 'A', 'I', 'R' },
1593  { 'N', 'A', 'M', 'E' },
1594  { 'N', 'A', 'R', 'Y' },
1595  { 'N', 'A', 'S', 'H' },
1596  { 'N', 'A', 'V', 'E' },
1597  { 'N', 'A', 'V', 'Y' },
1598  { 'N', 'E', 'A', 'L' },
1599  { 'N', 'E', 'A', 'R' },
1600  { 'N', 'E', 'A', 'T' },
1601  { 'N', 'E', 'C', 'K' },
1602  { 'N', 'E', 'E', 'D' },
1603  { 'N', 'E', 'I', 'L' },
1604  { 'N', 'E', 'L', 'L' },
1605  { 'N', 'E', 'O', 'N' },
1606  { 'N', 'E', 'R', 'O' },
1607  { 'N', 'E', 'S', 'S' },
1608  { 'N', 'E', 'S', 'T' },
1609  { 'N', 'E', 'W', 'S' },
1610  { 'N', 'E', 'W', 'T' },
1611  { 'N', 'I', 'B', 'S' },
1612  { 'N', 'I', 'C', 'E' },
1613  { 'N', 'I', 'C', 'K' },
1614  { 'N', 'I', 'L', 'E' },
1615  { 'N', 'I', 'N', 'A' },
1616  { 'N', 'I', 'N', 'E' },
1617  { 'N', 'O', 'A', 'H' },
1618  { 'N', 'O', 'D', 'E' },
1619  { 'N', 'O', 'E', 'L' },
1620  { 'N', 'O', 'L', 'L' },
1621  { 'N', 'O', 'N', 'E' },
1622  { 'N', 'O', 'O', 'K' },
1623  { 'N', 'O', 'O', 'N' },
1624  { 'N', 'O', 'R', 'M' },
1625  { 'N', 'O', 'S', 'E' },
1626  { 'N', 'O', 'T', 'E' },
1627  { 'N', 'O', 'U', 'N' },
1628  { 'N', 'O', 'V', 'A' },
1629  { 'N', 'U', 'D', 'E' },
1630  { 'N', 'U', 'L', 'L' },
1631  { 'N', 'U', 'M', 'B' },
1632  { 'O', 'A', 'T', 'H' },
1633  { 'O', 'B', 'E', 'Y' },
1634  { 'O', 'B', 'O', 'E' },
1635  { 'O', 'D', 'I', 'N' },
1636  { 'O', 'H', 'I', 'O' },
1637  { 'O', 'I', 'L', 'Y' },
1638  { 'O', 'I', 'N', 'T' },
1639  { 'O', 'K', 'A', 'Y' },
1640  { 'O', 'L', 'A', 'F' },
1641  { 'O', 'L', 'D', 'Y' },
1642  { 'O', 'L', 'G', 'A' },
1643  { 'O', 'L', 'I', 'N' },
1644  { 'O', 'M', 'A', 'N' },
1645  { 'O', 'M', 'E', 'N' },
1646  { 'O', 'M', 'I', 'T' },
1647  { 'O', 'N', 'C', 'E' },
1648  { 'O', 'N', 'E', 'S' },
1649  { 'O', 'N', 'L', 'Y' },
1650  { 'O', 'N', 'T', 'O' },
1651  { 'O', 'N', 'U', 'S' },
1652  { 'O', 'R', 'A', 'L' },
1653  { 'O', 'R', 'G', 'Y' },
1654  { 'O', 'S', 'L', 'O' },
1655  { 'O', 'T', 'I', 'S' },
1656  { 'O', 'T', 'T', 'O' },
1657  { 'O', 'U', 'C', 'H' },
1658  { 'O', 'U', 'S', 'T' },
1659  { 'O', 'U', 'T', 'S' },
1660  { 'O', 'V', 'A', 'L' },
1661  { 'O', 'V', 'E', 'N' },
1662  { 'O', 'V', 'E', 'R' },
1663  { 'O', 'W', 'L', 'Y' },
1664  { 'O', 'W', 'N', 'S' },
1665  { 'Q', 'U', 'A', 'D' },
1666  { 'Q', 'U', 'I', 'T' },
1667  { 'Q', 'U', 'O', 'D' },
1668  { 'R', 'A', 'C', 'E' },
1669  { 'R', 'A', 'C', 'K' },
1670  { 'R', 'A', 'C', 'Y' },
1671  { 'R', 'A', 'F', 'T' },
1672  { 'R', 'A', 'G', 'E' },
1673  { 'R', 'A', 'I', 'D' },
1674  { 'R', 'A', 'I', 'L' },
1675  { 'R', 'A', 'I', 'N' },
1676  { 'R', 'A', 'K', 'E' },
1677  { 'R', 'A', 'N', 'K' },
1678  { 'R', 'A', 'N', 'T' },
1679  { 'R', 'A', 'R', 'E' },
1680  { 'R', 'A', 'S', 'H' },
1681  { 'R', 'A', 'T', 'E' },
1682  { 'R', 'A', 'V', 'E' },
1683  { 'R', 'A', 'Y', 'S' },
1684  { 'R', 'E', 'A', 'D' },
1685  { 'R', 'E', 'A', 'L' },
1686  { 'R', 'E', 'A', 'M' },
1687  { 'R', 'E', 'A', 'R' },
1688  { 'R', 'E', 'C', 'K' },
1689  { 'R', 'E', 'E', 'D' },
1690  { 'R', 'E', 'E', 'F' },
1691  { 'R', 'E', 'E', 'K' },
1692  { 'R', 'E', 'E', 'L' },
1693  { 'R', 'E', 'I', 'D' },
1694  { 'R', 'E', 'I', 'N' },
1695  { 'R', 'E', 'N', 'A' },
1696  { 'R', 'E', 'N', 'D' },
1697  { 'R', 'E', 'N', 'T' },
1698  { 'R', 'E', 'S', 'T' },
1699  { 'R', 'I', 'C', 'E' },
1700  { 'R', 'I', 'C', 'H' },
1701  { 'R', 'I', 'C', 'K' },
1702  { 'R', 'I', 'D', 'E' },
1703  { 'R', 'I', 'F', 'T' },
1704  { 'R', 'I', 'L', 'L' },
1705  { 'R', 'I', 'M', 'E' },
1706  { 'R', 'I', 'N', 'G' },
1707  { 'R', 'I', 'N', 'K' },
1708  { 'R', 'I', 'S', 'E' },
1709  { 'R', 'I', 'S', 'K' },
1710  { 'R', 'I', 'T', 'E' },
1711  { 'R', 'O', 'A', 'D' },
1712  { 'R', 'O', 'A', 'M' },
1713  { 'R', 'O', 'A', 'R' },
1714  { 'R', 'O', 'B', 'E' },
1715  { 'R', 'O', 'C', 'K' },
1716  { 'R', 'O', 'D', 'E' },
1717  { 'R', 'O', 'I', 'L' },
1718  { 'R', 'O', 'L', 'L' },
1719  { 'R', 'O', 'M', 'E' },
1720  { 'R', 'O', 'O', 'D' },
1721  { 'R', 'O', 'O', 'F' },
1722  { 'R', 'O', 'O', 'K' },
1723  { 'R', 'O', 'O', 'M' },
1724  { 'R', 'O', 'O', 'T' },
1725  { 'R', 'O', 'S', 'A' },
1726  { 'R', 'O', 'S', 'E' },
1727  { 'R', 'O', 'S', 'S' },
1728  { 'R', 'O', 'S', 'Y' },
1729  { 'R', 'O', 'T', 'H' },
1730  { 'R', 'O', 'U', 'T' },
1731  { 'R', 'O', 'V', 'E' },
1732  { 'R', 'O', 'W', 'E' },
1733  { 'R', 'O', 'W', 'S' },
1734  { 'R', 'U', 'B', 'E' },
1735  { 'R', 'U', 'B', 'Y' },
1736  { 'R', 'U', 'D', 'E' },
1737  { 'R', 'U', 'D', 'Y' },
1738  { 'R', 'U', 'I', 'N' },
1739  { 'R', 'U', 'L', 'E' },
1740  { 'R', 'U', 'N', 'G' },
1741  { 'R', 'U', 'N', 'S' },
1742  { 'R', 'U', 'N', 'T' },
1743  { 'R', 'U', 'S', 'E' },
1744  { 'R', 'U', 'S', 'H' },
1745  { 'R', 'U', 'S', 'K' },
1746  { 'R', 'U', 'S', 'S' },
1747  { 'R', 'U', 'S', 'T' },
1748  { 'R', 'U', 'T', 'H' },
1749  { 'S', 'A', 'C', 'K' },
1750  { 'S', 'A', 'F', 'E' },
1751  { 'S', 'A', 'G', 'E' },
1752  { 'S', 'A', 'I', 'D' },
1753  { 'S', 'A', 'I', 'L' },
1754  { 'S', 'A', 'L', 'E' },
1755  { 'S', 'A', 'L', 'K' },
1756  { 'S', 'A', 'L', 'T' },
1757  { 'S', 'A', 'M', 'E' },
1758  { 'S', 'A', 'N', 'D' },
1759  { 'S', 'A', 'N', 'E' },
1760  { 'S', 'A', 'N', 'G' },
1761  { 'S', 'A', 'N', 'K' },
1762  { 'S', 'A', 'R', 'A' },
1763  { 'S', 'A', 'U', 'L' },
1764  { 'S', 'A', 'V', 'E' },
1765  { 'S', 'A', 'Y', 'S' },
1766  { 'S', 'C', 'A', 'N' },
1767  { 'S', 'C', 'A', 'R' },
1768  { 'S', 'C', 'A', 'T' },
1769  { 'S', 'C', 'O', 'T' },
1770  { 'S', 'E', 'A', 'L' },
1771  { 'S', 'E', 'A', 'M' },
1772  { 'S', 'E', 'A', 'R' },
1773  { 'S', 'E', 'A', 'T' },
1774  { 'S', 'E', 'E', 'D' },
1775  { 'S', 'E', 'E', 'K' },
1776  { 'S', 'E', 'E', 'M' },
1777  { 'S', 'E', 'E', 'N' },
1778  { 'S', 'E', 'E', 'S' },
1779  { 'S', 'E', 'L', 'F' },
1780  { 'S', 'E', 'L', 'L' },
1781  { 'S', 'E', 'N', 'D' },
1782  { 'S', 'E', 'N', 'T' },
1783  { 'S', 'E', 'T', 'S' },
1784  { 'S', 'E', 'W', 'N' },
1785  { 'S', 'H', 'A', 'G' },
1786  { 'S', 'H', 'A', 'M' },
1787  { 'S', 'H', 'A', 'W' },
1788  { 'S', 'H', 'A', 'Y' },
1789  { 'S', 'H', 'E', 'D' },
1790  { 'S', 'H', 'I', 'M' },
1791  { 'S', 'H', 'I', 'N' },
1792  { 'S', 'H', 'O', 'D' },
1793  { 'S', 'H', 'O', 'E' },
1794  { 'S', 'H', 'O', 'T' },
1795  { 'S', 'H', 'O', 'W' },
1796  { 'S', 'H', 'U', 'N' },
1797  { 'S', 'H', 'U', 'T' },
1798  { 'S', 'I', 'C', 'K' },
1799  { 'S', 'I', 'D', 'E' },
1800  { 'S', 'I', 'F', 'T' },
1801  { 'S', 'I', 'G', 'H' },
1802  { 'S', 'I', 'G', 'N' },
1803  { 'S', 'I', 'L', 'K' },
1804  { 'S', 'I', 'L', 'L' },
1805  { 'S', 'I', 'L', 'O' },
1806  { 'S', 'I', 'L', 'T' },
1807  { 'S', 'I', 'N', 'E' },
1808  { 'S', 'I', 'N', 'G' },
1809  { 'S', 'I', 'N', 'K' },
1810  { 'S', 'I', 'R', 'E' },
1811  { 'S', 'I', 'T', 'E' },
1812  { 'S', 'I', 'T', 'S' },
1813  { 'S', 'I', 'T', 'U' },
1814  { 'S', 'K', 'A', 'T' },
1815  { 'S', 'K', 'E', 'W' },
1816  { 'S', 'K', 'I', 'D' },
1817  { 'S', 'K', 'I', 'M' },
1818  { 'S', 'K', 'I', 'N' },
1819  { 'S', 'K', 'I', 'T' },
1820  { 'S', 'L', 'A', 'B' },
1821  { 'S', 'L', 'A', 'M' },
1822  { 'S', 'L', 'A', 'T' },
1823  { 'S', 'L', 'A', 'Y' },
1824  { 'S', 'L', 'E', 'D' },
1825  { 'S', 'L', 'E', 'W' },
1826  { 'S', 'L', 'I', 'D' },
1827  { 'S', 'L', 'I', 'M' },
1828  { 'S', 'L', 'I', 'T' },
1829  { 'S', 'L', 'O', 'B' },
1830  { 'S', 'L', 'O', 'G' },
1831  { 'S', 'L', 'O', 'T' },
1832  { 'S', 'L', 'O', 'W' },
1833  { 'S', 'L', 'U', 'G' },
1834  { 'S', 'L', 'U', 'M' },
1835  { 'S', 'L', 'U', 'R' },
1836  { 'S', 'M', 'O', 'G' },
1837  { 'S', 'M', 'U', 'G' },
1838  { 'S', 'N', 'A', 'G' },
1839  { 'S', 'N', 'O', 'B' },
1840  { 'S', 'N', 'O', 'W' },
1841  { 'S', 'N', 'U', 'B' },
1842  { 'S', 'N', 'U', 'G' },
1843  { 'S', 'O', 'A', 'K' },
1844  { 'S', 'O', 'A', 'R' },
1845  { 'S', 'O', 'C', 'K' },
1846  { 'S', 'O', 'D', 'A' },
1847  { 'S', 'O', 'F', 'A' },
1848  { 'S', 'O', 'F', 'T' },
1849  { 'S', 'O', 'I', 'L' },
1850  { 'S', 'O', 'L', 'D' },
1851  { 'S', 'O', 'M', 'E' },
1852  { 'S', 'O', 'N', 'G' },
1853  { 'S', 'O', 'O', 'N' },
1854  { 'S', 'O', 'O', 'T' },
1855  { 'S', 'O', 'R', 'E' },
1856  { 'S', 'O', 'R', 'T' },
1857  { 'S', 'O', 'U', 'L' },
1858  { 'S', 'O', 'U', 'R' },
1859  { 'S', 'O', 'W', 'N' },
1860  { 'S', 'T', 'A', 'B' },
1861  { 'S', 'T', 'A', 'G' },
1862  { 'S', 'T', 'A', 'N' },
1863  { 'S', 'T', 'A', 'R' },
1864  { 'S', 'T', 'A', 'Y' },
1865  { 'S', 'T', 'E', 'M' },
1866  { 'S', 'T', 'E', 'W' },
1867  { 'S', 'T', 'I', 'R' },
1868  { 'S', 'T', 'O', 'W' },
1869  { 'S', 'T', 'U', 'B' },
1870  { 'S', 'T', 'U', 'N' },
1871  { 'S', 'U', 'C', 'H' },
1872  { 'S', 'U', 'D', 'S' },
1873  { 'S', 'U', 'I', 'T' },
1874  { 'S', 'U', 'L', 'K' },
1875  { 'S', 'U', 'M', 'S' },
1876  { 'S', 'U', 'N', 'G' },
1877  { 'S', 'U', 'N', 'K' },
1878  { 'S', 'U', 'R', 'E' },
1879  { 'S', 'U', 'R', 'F' },
1880  { 'S', 'W', 'A', 'B' },
1881  { 'S', 'W', 'A', 'G' },
1882  { 'S', 'W', 'A', 'M' },
1883  { 'S', 'W', 'A', 'N' },
1884  { 'S', 'W', 'A', 'T' },
1885  { 'S', 'W', 'A', 'Y' },
1886  { 'S', 'W', 'I', 'M' },
1887  { 'S', 'W', 'U', 'M' },
1888  { 'T', 'A', 'C', 'K' },
1889  { 'T', 'A', 'C', 'T' },
1890  { 'T', 'A', 'I', 'L' },
1891  { 'T', 'A', 'K', 'E' },
1892  { 'T', 'A', 'L', 'E' },
1893  { 'T', 'A', 'L', 'K' },
1894  { 'T', 'A', 'L', 'L' },
1895  { 'T', 'A', 'N', 'K' },
1896  { 'T', 'A', 'S', 'K' },
1897  { 'T', 'A', 'T', 'E' },
1898  { 'T', 'A', 'U', 'T' },
1899  { 'T', 'E', 'A', 'L' },
1900  { 'T', 'E', 'A', 'M' },
1901  { 'T', 'E', 'A', 'R' },
1902  { 'T', 'E', 'C', 'H' },
1903  { 'T', 'E', 'E', 'M' },
1904  { 'T', 'E', 'E', 'N' },
1905  { 'T', 'E', 'E', 'T' },
1906  { 'T', 'E', 'L', 'L' },
1907  { 'T', 'E', 'N', 'D' },
1908  { 'T', 'E', 'N', 'T' },
1909  { 'T', 'E', 'R', 'M' },
1910  { 'T', 'E', 'R', 'N' },
1911  { 'T', 'E', 'S', 'S' },
1912  { 'T', 'E', 'S', 'T' },
1913  { 'T', 'H', 'A', 'N' },
1914  { 'T', 'H', 'A', 'T' },
1915  { 'T', 'H', 'E', 'E' },
1916  { 'T', 'H', 'E', 'M' },
1917  { 'T', 'H', 'E', 'N' },
1918  { 'T', 'H', 'E', 'Y' },
1919  { 'T', 'H', 'I', 'N' },
1920  { 'T', 'H', 'I', 'S' },
1921  { 'T', 'H', 'U', 'D' },
1922  { 'T', 'H', 'U', 'G' },
1923  { 'T', 'I', 'C', 'K' },
1924  { 'T', 'I', 'D', 'E' },
1925  { 'T', 'I', 'D', 'Y' },
1926  { 'T', 'I', 'E', 'D' },
1927  { 'T', 'I', 'E', 'R' },
1928  { 'T', 'I', 'L', 'E' },
1929  { 'T', 'I', 'L', 'L' },
1930  { 'T', 'I', 'L', 'T' },
1931  { 'T', 'I', 'M', 'E' },
1932  { 'T', 'I', 'N', 'A' },
1933  { 'T', 'I', 'N', 'E' },
1934  { 'T', 'I', 'N', 'T' },
1935  { 'T', 'I', 'N', 'Y' },
1936  { 'T', 'I', 'R', 'E' },
1937  { 'T', 'O', 'A', 'D' },
1938  { 'T', 'O', 'G', 'O' },
1939  { 'T', 'O', 'I', 'L' },
1940  { 'T', 'O', 'L', 'D' },
1941  { 'T', 'O', 'L', 'L' },
1942  { 'T', 'O', 'N', 'E' },
1943  { 'T', 'O', 'N', 'G' },
1944  { 'T', 'O', 'N', 'Y' },
1945  { 'T', 'O', 'O', 'K' },
1946  { 'T', 'O', 'O', 'L' },
1947  { 'T', 'O', 'O', 'T' },
1948  { 'T', 'O', 'R', 'E' },
1949  { 'T', 'O', 'R', 'N' },
1950  { 'T', 'O', 'T', 'E' },
1951  { 'T', 'O', 'U', 'R' },
1952  { 'T', 'O', 'U', 'T' },
1953  { 'T', 'O', 'W', 'N' },
1954  { 'T', 'R', 'A', 'G' },
1955  { 'T', 'R', 'A', 'M' },
1956  { 'T', 'R', 'A', 'Y' },
1957  { 'T', 'R', 'E', 'E' },
1958  { 'T', 'R', 'E', 'K' },
1959  { 'T', 'R', 'I', 'G' },
1960  { 'T', 'R', 'I', 'M' },
1961  { 'T', 'R', 'I', 'O' },
1962  { 'T', 'R', 'O', 'D' },
1963  { 'T', 'R', 'O', 'T' },
1964  { 'T', 'R', 'O', 'Y' },
1965  { 'T', 'R', 'U', 'E' },
1966  { 'T', 'U', 'B', 'A' },
1967  { 'T', 'U', 'B', 'E' },
1968  { 'T', 'U', 'C', 'K' },
1969  { 'T', 'U', 'F', 'T' },
1970  { 'T', 'U', 'N', 'A' },
1971  { 'T', 'U', 'N', 'E' },
1972  { 'T', 'U', 'N', 'G' },
1973  { 'T', 'U', 'R', 'F' },
1974  { 'T', 'U', 'R', 'N' },
1975  { 'T', 'U', 'S', 'K' },
1976  { 'T', 'W', 'I', 'G' },
1977  { 'T', 'W', 'I', 'N' },
1978  { 'T', 'W', 'I', 'T' },
1979  { 'U', 'L', 'A', 'N' },
1980  { 'U', 'N', 'I', 'T' },
1981  { 'U', 'R', 'G', 'E' },
1982  { 'U', 'S', 'E', 'D' },
1983  { 'U', 'S', 'E', 'R' },
1984  { 'U', 'S', 'E', 'S' },
1985  { 'U', 'T', 'A', 'H' },
1986  { 'V', 'A', 'I', 'L' },
1987  { 'V', 'A', 'I', 'N' },
1988  { 'V', 'A', 'L', 'E' },
1989  { 'V', 'A', 'R', 'Y' },
1990  { 'V', 'A', 'S', 'E' },
1991  { 'V', 'A', 'S', 'T' },
1992  { 'V', 'E', 'A', 'L' },
1993  { 'V', 'E', 'D', 'A' },
1994  { 'V', 'E', 'I', 'L' },
1995  { 'V', 'E', 'I', 'N' },
1996  { 'V', 'E', 'N', 'D' },
1997  { 'V', 'E', 'N', 'T' },
1998  { 'V', 'E', 'R', 'B' },
1999  { 'V', 'E', 'R', 'Y' },
2000  { 'V', 'E', 'T', 'O' },
2001  { 'V', 'I', 'C', 'E' },
2002  { 'V', 'I', 'E', 'W' },
2003  { 'V', 'I', 'N', 'E' },
2004  { 'V', 'I', 'S', 'E' },
2005  { 'V', 'O', 'I', 'D' },
2006  { 'V', 'O', 'L', 'T' },
2007  { 'V', 'O', 'T', 'E' },
2008  { 'W', 'A', 'C', 'K' },
2009  { 'W', 'A', 'D', 'E' },
2010  { 'W', 'A', 'G', 'E' },
2011  { 'W', 'A', 'I', 'L' },
2012  { 'W', 'A', 'I', 'T' },
2013  { 'W', 'A', 'K', 'E' },
2014  { 'W', 'A', 'L', 'E' },
2015  { 'W', 'A', 'L', 'K' },
2016  { 'W', 'A', 'L', 'L' },
2017  { 'W', 'A', 'L', 'T' },
2018  { 'W', 'A', 'N', 'D' },
2019  { 'W', 'A', 'N', 'E' },
2020  { 'W', 'A', 'N', 'G' },
2021  { 'W', 'A', 'N', 'T' },
2022  { 'W', 'A', 'R', 'D' },
2023  { 'W', 'A', 'R', 'M' },
2024  { 'W', 'A', 'R', 'N' },
2025  { 'W', 'A', 'R', 'T' },
2026  { 'W', 'A', 'S', 'H' },
2027  { 'W', 'A', 'S', 'T' },
2028  { 'W', 'A', 'T', 'S' },
2029  { 'W', 'A', 'T', 'T' },
2030  { 'W', 'A', 'V', 'E' },
2031  { 'W', 'A', 'V', 'Y' },
2032  { 'W', 'A', 'Y', 'S' },
2033  { 'W', 'E', 'A', 'K' },
2034  { 'W', 'E', 'A', 'L' },
2035  { 'W', 'E', 'A', 'N' },
2036  { 'W', 'E', 'A', 'R' },
2037  { 'W', 'E', 'E', 'D' },
2038  { 'W', 'E', 'E', 'K' },
2039  { 'W', 'E', 'I', 'R' },
2040  { 'W', 'E', 'L', 'D' },
2041  { 'W', 'E', 'L', 'L' },
2042  { 'W', 'E', 'L', 'T' },
2043  { 'W', 'E', 'N', 'T' },
2044  { 'W', 'E', 'R', 'E' },
2045  { 'W', 'E', 'R', 'T' },
2046  { 'W', 'E', 'S', 'T' },
2047  { 'W', 'H', 'A', 'M' },
2048  { 'W', 'H', 'A', 'T' },
2049  { 'W', 'H', 'E', 'E' },
2050  { 'W', 'H', 'E', 'N' },
2051  { 'W', 'H', 'E', 'T' },
2052  { 'W', 'H', 'O', 'A' },
2053  { 'W', 'H', 'O', 'M' },
2054  { 'W', 'I', 'C', 'K' },
2055  { 'W', 'I', 'F', 'E' },
2056  { 'W', 'I', 'L', 'D' },
2057  { 'W', 'I', 'L', 'L' },
2058  { 'W', 'I', 'N', 'D' },
2059  { 'W', 'I', 'N', 'E' },
2060  { 'W', 'I', 'N', 'G' },
2061  { 'W', 'I', 'N', 'K' },
2062  { 'W', 'I', 'N', 'O' },
2063  { 'W', 'I', 'R', 'E' },
2064  { 'W', 'I', 'S', 'E' },
2065  { 'W', 'I', 'S', 'H' },
2066  { 'W', 'I', 'T', 'H' },
2067  { 'W', 'O', 'L', 'F' },
2068  { 'W', 'O', 'N', 'T' },
2069  { 'W', 'O', 'O', 'D' },
2070  { 'W', 'O', 'O', 'L' },
2071  { 'W', 'O', 'R', 'D' },
2072  { 'W', 'O', 'R', 'E' },
2073  { 'W', 'O', 'R', 'K' },
2074  { 'W', 'O', 'R', 'M' },
2075  { 'W', 'O', 'R', 'N' },
2076  { 'W', 'O', 'V', 'E' },
2077  { 'W', 'R', 'I', 'T' },
2078  { 'W', 'Y', 'N', 'N' },
2079  { 'Y', 'A', 'L', 'E' },
2080  { 'Y', 'A', 'N', 'G' },
2081  { 'Y', 'A', 'N', 'K' },
2082  { 'Y', 'A', 'R', 'D' },
2083  { 'Y', 'A', 'R', 'N' },
2084  { 'Y', 'A', 'W', 'L' },
2085  { 'Y', 'A', 'W', 'N' },
2086  { 'Y', 'E', 'A', 'H' },
2087  { 'Y', 'E', 'A', 'R' },
2088  { 'Y', 'E', 'L', 'L' },
2089  { 'Y', 'O', 'G', 'A' },
2090  { 'Y', 'O', 'K', 'E' }
2091};
2092
2093/* Extract LENGTH bits from the char array S starting with bit number
2094   START.  It always reads three consecutive octects, which means it
2095   can read past end of data when START is at the edge of the region. */
2096
2097static uint32_t
2098extract (const unsigned char *s, int start, int length)
2099{
2100  unsigned char cl = s[start / 8];
2101  unsigned char cc = s[start / 8 + 1];
2102  unsigned char cr = s[start / 8 + 2];
2103  uint32_t x;
2104  x   = (uint32_t)(cl << 8 | cc) << 8 | cr;
2105  x >>= 24 - (length + (start % 8));
2106  x  &= (0xffff >> (16 - length));
2107  return x;
2108}
2109
2110/* Length of a string known to be at least 1 and at most 4 chars
2111   long.  */
2112
2113#define STRLEN_1_4(s) (!(s)[1] ? 1 : !(s)[2] ? 2 : !(s)[3] ? 3 : 4)
2114
2115/* Encode 8 bytes in C as a string of English words and store them to
2116   STORE.  Returns STORE.  */
2117
2118static char *
2119btoe (char *store, const unsigned char *c)
2120{
2121  unsigned char cp[10];         /* add in room for the parity 2 bits +
2122                                   extract() slop.  */
2123  int p, i;
2124  char *store_beg = store;
2125
2126  *store = '\0';
2127
2128  /* Workaround for extract() reads beyond end of data */
2129  xzero (cp);
2130  memcpy (cp, c, 8);
2131
2132  /* Compute parity and append it to CP.  */
2133  for (p = 0, i = 0; i < 64; i += 2)
2134    p += extract (cp, i, 2);
2135  cp[8] = (char)p << 6;
2136
2137  /* The 64 bits of input and the two parity bits comprise 66 bits of
2138     data that are now in CP.  We convert that information, 11 bits at
2139     a time, to English words indexed from Wp.  Since there are 2048
2140     (2^11) words in Wp, every 11-bit combination corresponds to a
2141     distinct word.  */
2142  memcpy (store, &Wp[extract (cp,  0, 11)][0], 4);
2143  store += STRLEN_1_4 (store);
2144  *store++ = ' ';
2145  memcpy (store, &Wp[extract (cp, 11, 11)][0], 4);
2146  store += STRLEN_1_4 (store);
2147  *store++ = ' ';
2148  memcpy (store, &Wp[extract (cp, 22, 11)][0], 4);
2149  store += STRLEN_1_4 (store);
2150  *store++ = ' ';
2151  memcpy (store, &Wp[extract (cp, 33, 11)][0], 4);
2152  store += STRLEN_1_4 (store);
2153  *store++ = ' ';
2154  memcpy (store, &Wp[extract (cp, 44, 11)][0], 4);
2155  store += STRLEN_1_4 (store);
2156  *store++ = ' ';
2157  memcpy (store, &Wp[extract (cp, 55, 11)][0], 4);
2158  store[4] = '\0';              /* make sure the string is terminated */
2159
2160  DEBUGP (("wrote %s to STORE\n", quote (store_beg)));
2161  return store_beg;
2162}
2163
2164/* Calculate the SKEY response, based on the sequence, seed
2165   (challenge), and the secret password.  The calculated response is
2166   used instead of the real password when logging in to SKEY-enabled
2167   servers.
2168
2169   The result is calculated like this:
2170
2171   + Concatenate SEED and PASS and calculate the 16-byte MD5 checksum.
2172
2173   + Shorten the checksum to eight bytes by folding the second eight
2174     bytes onto the first eight using XOR.  The resulting eight-byte
2175     sequence is the key.
2176
2177   + MD5-process the key, fold the checksum to eight bytes and store
2178     it back to the key.  Repeat this crunching SEQUENCE times.
2179     (Sequence is a number that gets decremented every time the user
2180     logs in to the server.  Therefore an eavesdropper would have to
2181     invert the hash function in order to guess the next one-time
2182     password.)
2183
2184   + Convert the resulting 64-bit key to 6 English words separated by
2185     spaces (see btoe for details) and return the resulting ASCII
2186     string.
2187
2188   All this is described in section 6 of rfc2289 in more detail.  */
2189
2190const char *
2191skey_response (int sequence, const char *seed, const char *pass)
2192{
2193  unsigned char key[8];
2194
2195  /* Room to hold 6 four-letter words (heh), 5 space separators, and
2196     the terminating \0.  24+5+1 == 30  */
2197  static char english[30];
2198
2199  ALLOCA_MD5_CONTEXT (md5_ctx);
2200  uint32_t checksum[4];
2201
2202  gen_md5_init (md5_ctx);
2203  gen_md5_update ((const unsigned char *)seed, strlen(seed), md5_ctx);
2204  gen_md5_update ((const unsigned char *)pass, strlen(pass), md5_ctx);
2205  gen_md5_finish (md5_ctx, (unsigned char *)checksum);
2206  checksum[0] ^= checksum[2];
2207  checksum[1] ^= checksum[3];
2208  memcpy (key, checksum, 8);
2209
2210  while (sequence-- > 0)
2211    {
2212      gen_md5_init (md5_ctx);
2213      gen_md5_update ((unsigned char *) key, 8, md5_ctx);
2214      gen_md5_finish (md5_ctx, (unsigned char *) checksum);
2215      checksum[0] ^= checksum[2];
2216      checksum[1] ^= checksum[3];
2217      memcpy (key, checksum, 8);
2218    }
2219  return btoe (english, key);
2220}
2221