]> sjero.net Git - wget/blob - src/ftp-opie.c
mass change: update copyright years.
[wget] / src / ftp-opie.c
1 /* Opie (s/key) support for FTP.
2    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
3    2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
4
5 This file is part of GNU Wget.
6
7 GNU Wget is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
11
12 GNU Wget is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with Wget.  If not, see <http://www.gnu.org/licenses/>.
19
20 Additional permission under GNU GPL version 3 section 7
21
22 If you modify this program, or any covered work, by linking or
23 combining it with the OpenSSL project's OpenSSL library (or a
24 modified version of that library), containing parts covered by the
25 terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
26 grants you additional permission to convey the resulting work.
27 Corresponding Source for a non-source form of such a combination
28 shall include the source code for the parts of OpenSSL used as well
29 as 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 "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
2097 static uint32_t
2098 extract (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
2118 static char *
2119 btoe (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
2190 const char *
2191 skey_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   struct md5_ctx ctx;
2200   uint32_t checksum[4];
2201
2202   md5_init_ctx (&ctx);
2203   md5_process_bytes ((const unsigned char *) seed, strlen (seed), &ctx);
2204   md5_process_bytes ((const unsigned char *) pass, strlen (pass), &ctx);
2205   md5_finish_ctx (&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       md5_init_ctx (&ctx);
2213       md5_process_bytes ((unsigned char *) key, 8, &ctx);
2214       md5_finish_ctx (&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 }