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