/* C++ code produced by gperf version 3.1 */
/* Command-line: gperf -o -C -E -k '1,2,7,11,$' -D -N find -L C++ --output-file std-name-hint.h std-name-hint.gperf  */

#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
/* The character set is not based on ISO-646.  */
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
#endif

#line 4 "std-name-hint.gperf"

/* This file is auto-generated by gen-cxxapi-file.py.  */
/* Copyright (C) 2022-2023 Free Software Foundation, Inc.

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 3, or (at your option) any later
version.

GCC is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3.  If not see
<http://www.gnu.org/licenses/>.  */
#line 24 "std-name-hint.gperf"
struct std_name_hint
{
  /* A name within "std::".  */
  const char *name;

  /* The header name defining it within the C++ Standard Library
     (with '<' and '>').  */
  const char* header;

  /* The dialect of C++ in which this was added.  */
  enum cxx_dialect min_dialect;
};
/* maximum key range = 1387, duplicates = 6 */

class std_name_hint_lookup
{
private:
  static inline unsigned int hash (const char *str, size_t len);
public:
  static const struct std_name_hint *find (const char *str, size_t len);
};

inline unsigned int
std_name_hint_lookup::hash (const char *str, size_t len)
{
  static const unsigned short asso_values[] =
    {
      1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
      1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
      1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
      1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
      1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,   10,
        25,    5,   20, 1412,    0, 1412,    5,    0,   15, 1412,
      1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
      1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
      1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
      1412, 1412, 1412, 1412, 1412,  260, 1412,  430,   15,  323,
       305,    5,   55,  198,  475,  125,  240,  105,  225,   50,
         5,  155,  105,  440,   85,    5,    0,   10,   15,  124,
       470,  463,   65, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
      1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
      1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
      1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
      1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
      1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
      1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
      1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
      1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
      1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
      1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
      1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
      1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
      1412, 1412, 1412, 1412, 1412, 1412, 1412
    };
  unsigned int hval = len;

  switch (hval)
    {
      default:
        hval += asso_values[static_cast<unsigned char>(str[10])];
      /*FALLTHROUGH*/
      case 10:
      case 9:
      case 8:
      case 7:
        hval += asso_values[static_cast<unsigned char>(str[6])];
      /*FALLTHROUGH*/
      case 6:
      case 5:
      case 4:
      case 3:
      case 2:
        hval += asso_values[static_cast<unsigned char>(str[1]+1)];
      /*FALLTHROUGH*/
      case 1:
        hval += asso_values[static_cast<unsigned char>(str[0])];
        break;
    }
  return hval + asso_values[static_cast<unsigned char>(str[len - 1])];
}

const struct std_name_hint *
std_name_hint_lookup::find (const char *str, size_t len)
{
  enum
    {
      TOTAL_KEYWORDS = 378,
      MIN_WORD_LENGTH = 2,
      MAX_WORD_LENGTH = 39,
      MIN_HASH_VALUE = 25,
      MAX_HASH_VALUE = 1411
    };

  static const struct std_name_hint wordlist[] =
    {
#line 401 "std-name-hint.gperf"
      {"tuple", "<tuple>", cxx11},
#line 276 "std-name-hint.gperf"
      {"nullopt", "<optional>", cxx17},
#line 405 "std-name-hint.gperf"
      {"tuple_size", "<tuple>", cxx11},
#line 469 "std-name-hint.gperf"
      {"variant", "<variant>", cxx17},
#line 403 "std-name-hint.gperf"
      {"tuple_element", "<tuple>", cxx11},
#line 404 "std-name-hint.gperf"
      {"tuple_element_t", "<tuple>", cxx14},
#line 426 "std-name-hint.gperf"
      {"bad_cast", "<typeinfo>", cxx98},
#line 471 "std-name-hint.gperf"
      {"variant_alternative_t", "<variant>", cxx17},
#line 470 "std-name-hint.gperf"
      {"variant_alternative", "<variant>", cxx17},
#line 267 "std-name-hint.gperf"
      {"numbers::ln2_v", "<numbers>", cxx20},
#line 266 "std-name-hint.gperf"
      {"numbers::ln10_v", "<numbers>", cxx20},
#line 263 "std-name-hint.gperf"
      {"numbers::inv_pi_v", "<numbers>", cxx20},
#line 300 "std-name-hint.gperf"
      {"set", "<set>", cxx98},
#line 183 "std-name-hint.gperf"
      {"next", "<iterator>", cxx11},
#line 264 "std-name-hint.gperf"
      {"numbers::inv_sqrt3_v", "<numbers>", cxx20},
#line 265 "std-name-hint.gperf"
      {"numbers::inv_sqrtpi_v", "<numbers>", cxx20},
#line 361 "std-name-hint.gperf"
      {"stof", "<string>", cxx11},
#line 129 "std-name-hint.gperf"
      {"setbase", "<iomanip>", cxx98},
#line 299 "std-name-hint.gperf"
      {"multiset", "<set>", cxx98},
#line 174 "std-name-hint.gperf"
      {"begin", "<iterator>", cxx11},
#line 119 "std-name-hint.gperf"
      {"future", "<future>", cxx11},
#line 70 "std-name-hint.gperf"
      {"byte", "<cstddef>", cxx17},
#line 399 "std-name-hint.gperf"
      {"make_tuple", "<tuple>", cxx11},
#line 216 "std-name-hint.gperf"
      {"make_unique", "<memory>", cxx14},
#line 330 "std-name-hint.gperf"
      {"stringbuf", "<sstream>", cxx98},
#line 355 "std-name-hint.gperf"
      {"streambuf", "<streambuf>", cxx98},
#line 456 "std-name-hint.gperf"
      {"make_integer_sequence", "<utility>", cxx14},
#line 217 "std-name-hint.gperf"
      {"make_unique_for_overwrite", "<memory>", cxx20},
#line 313 "std-name-hint.gperf"
      {"basic_spanstream", "<spanstream>", cxx23},
#line 326 "std-name-hint.gperf"
      {"basic_stringstream", "<sstream>", cxx98},
#line 325 "std-name-hint.gperf"
      {"basic_stringbuf", "<sstream>", cxx98},
#line 473 "std-name-hint.gperf"
      {"variant_size", "<variant>", cxx17},
#line 338 "std-name-hint.gperf"
      {"stacktrace", "<stacktrace>", cxx23},
#line 110 "std-name-hint.gperf"
      {"mem_fn", "<functional>", cxx11},
#line 312 "std-name-hint.gperf"
      {"basic_spanbuf", "<spanstream>", cxx23},
#line 283 "std-name-hint.gperf"
      {"flush_emit", "<ostream>", cxx20},
#line 111 "std-name-hint.gperf"
      {"not_fn", "<functional>", cxx17},
#line 474 "std-name-hint.gperf"
      {"variant_size_v", "<variant>", cxx17},
#line 336 "std-name-hint.gperf"
      {"stack", "<stack>", cxx98},
#line 422 "std-name-hint.gperf"
      {"void_t", "<type_traits>", cxx17},
#line 121 "std-name-hint.gperf"
      {"promise", "<future>", cxx11},
#line 186 "std-name-hint.gperf"
      {"prev", "<iterator>", cxx11},
#line 170 "std-name-hint.gperf"
      {"ws", "<istream>", cxx98},
#line 173 "std-name-hint.gperf"
      {"back_inserter", "<iterator>", cxx98},
#line 131 "std-name-hint.gperf"
      {"setiosflags", "<iomanip>", cxx98},
#line 466 "std-name-hint.gperf"
      {"bad_variant_access", "<variant>", cxx17},
#line 288 "std-name-hint.gperf"
      {"priority_queue", "<queue>", cxx98},
#line 144 "std-name-hint.gperf"
      {"noshowbase", "<ios>", cxx98},
#line 362 "std-name-hint.gperf"
      {"stoi", "<string>", cxx11},
#line 155 "std-name-hint.gperf"
      {"showpos", "<ios>", cxx98},
#line 153 "std-name-hint.gperf"
      {"showbase", "<ios>", cxx98},
#line 235 "std-name-hint.gperf"
      {"pmr::new_delete_resource", "<memory_resource>", cxx17},
#line 232 "std-name-hint.gperf"
      {"pmr::get_default_resource", "<memory_resource>", cxx17},
#line 238 "std-name-hint.gperf"
      {"pmr::set_default_resource", "<memory_resource>", cxx17},
#line 97 "std-name-hint.gperf"
      {"basic_fstream", "<fstream>", cxx98},
#line 477 "std-name-hint.gperf"
      {"vector", "<vector>", cxx98},
#line 100 "std-name-hint.gperf"
      {"fstream", "<fstream>", cxx98},
#line 458 "std-name-hint.gperf"
      {"move", "<utility>", cxx11},
#line 96 "std-name-hint.gperf"
      {"basic_filebuf", "<fstream>", cxx98},
#line 281 "std-name-hint.gperf"
      {"ends", "<ostream>", cxx98},
#line 398 "std-name-hint.gperf"
      {"make_from_tuple", "<tuple>", cxx17},
#line 191 "std-name-hint.gperf"
      {"map", "<map>", cxx98},
#line 271 "std-name-hint.gperf"
      {"numbers::pi_v", "<numbers>", cxx20},
#line 376 "std-name-hint.gperf"
      {"basic_string_view", "<string_view>", cxx17},
#line 126 "std-name-hint.gperf"
      {"put_time", "<iomanip>", cxx11},
#line 352 "std-name-hint.gperf"
      {"stop_token", "<stop_token>", cxx20},
#line 133 "std-name-hint.gperf"
      {"setw", "<iomanip>", cxx98},
#line 148 "std-name-hint.gperf"
      {"nounitbuf", "<ios>", cxx98},
#line 351 "std-name-hint.gperf"
      {"stop_source", "<stop_token>", cxx20},
#line 213 "std-name-hint.gperf"
      {"make_obj_using_allocator", "<memory>", cxx20},
#line 321 "std-name-hint.gperf"
      {"wspanbuf", "<spanstream>", cxx23},
#line 231 "std-name-hint.gperf"
      {"pmr", "<memory_resource>", cxx17},
#line 472 "std-name-hint.gperf"
      {"variant_npos", "<variant>", cxx17},
#line 223 "std-name-hint.gperf"
      {"to_address", "<memory>", cxx20},
#line 460 "std-name-hint.gperf"
      {"pair", "<utility>", cxx98},
#line 269 "std-name-hint.gperf"
      {"numbers::log2e_v", "<numbers>", cxx20},
#line 268 "std-name-hint.gperf"
      {"numbers::log10e_v", "<numbers>", cxx20},
#line 149 "std-name-hint.gperf"
      {"nouppercase", "<ios>", cxx98},
#line 368 "std-name-hint.gperf"
      {"string", "<string>", cxx98},
#line 373 "std-name-hint.gperf"
      {"u8string", "<string>", cxx20},
#line 145 "std-name-hint.gperf"
      {"noshowpoint", "<ios>", cxx98},
#line 310 "std-name-hint.gperf"
      {"basic_ispanstream", "<spanstream>", cxx23},
#line 416 "std-name-hint.gperf"
      {"negation", "<type_traits>", cxx17},
#line 146 "std-name-hint.gperf"
      {"noshowpos", "<ios>", cxx98},
#line 459 "std-name-hint.gperf"
      {"move_if_noexcept", "<utility>", cxx11},
#line 169 "std-name-hint.gperf"
      {"istream", "<istream>", cxx98},
#line 314 "std-name-hint.gperf"
      {"ispanstream", "<spanstream>", cxx23},
#line 315 "std-name-hint.gperf"
      {"ispanstream", "<spanstream>", cxx23},
#line 106 "std-name-hint.gperf"
      {"function", "<functional>", cxx11},
#line 356 "std-name-hint.gperf"
      {"wstreambuf", "<streambuf>", cxx98},
#line 417 "std-name-hint.gperf"
      {"negation_v", "<type_traits>", cxx17},
#line 156 "std-name-hint.gperf"
      {"skipws", "<ios>", cxx98},
#line 259 "std-name-hint.gperf"
      {"nothrow_t", "<new>", cxx98},
#line 363 "std-name-hint.gperf"
      {"stol", "<string>", cxx11},
#line 365 "std-name-hint.gperf"
      {"stoll", "<string>", cxx11},
#line 366 "std-name-hint.gperf"
      {"stoul", "<string>", cxx11},
#line 367 "std-name-hint.gperf"
      {"stoull", "<string>", cxx11},
#line 147 "std-name-hint.gperf"
      {"noskipws", "<ios>", cxx98},
#line 400 "std-name-hint.gperf"
      {"tie", "<tuple>", cxx11},
#line 220 "std-name-hint.gperf"
      {"reinterpret_pointer_cast", "<memory>", cxx17},
#line 358 "std-name-hint.gperf"
      {"basic_string", "<string>", cxx98},
#line 187 "std-name-hint.gperf"
      {"reverse_iterator", "<iterator>", cxx98},
#line 182 "std-name-hint.gperf"
      {"move_iterator", "<iterator>", cxx11},
#line 262 "std-name-hint.gperf"
      {"numbers::egamma_v", "<numbers>", cxx20},
#line 311 "std-name-hint.gperf"
      {"basic_ospanstream", "<spanstream>", cxx23},
#line 475 "std-name-hint.gperf"
      {"visit", "<variant>", cxx17},
#line 56 "std-name-hint.gperf"
      {"bitset", "<bitset>", cxx11},
#line 285 "std-name-hint.gperf"
      {"ostream", "<ostream>", cxx98},
#line 154 "std-name-hint.gperf"
      {"showpoint", "<ios>", cxx98},
#line 316 "std-name-hint.gperf"
      {"ospanstream", "<spanstream>", cxx23},
#line 433 "std-name-hint.gperf"
      {"unordered_set", "<unordered_set>", cxx11},
#line 78 "std-name-hint.gperf"
      {"uint_least64_t", "<cstdint>", cxx11},
#line 229 "std-name-hint.gperf"
      {"weak_ptr", "<memory>", cxx11},
#line 79 "std-name-hint.gperf"
      {"uint_least8_t", "<cstdint>", cxx11},
#line 77 "std-name-hint.gperf"
      {"uint_least32_t", "<cstdint>", cxx11},
#line 76 "std-name-hint.gperf"
      {"uint_least16_t", "<cstdint>", cxx11},
#line 179 "std-name-hint.gperf"
      {"istream_iterator", "<iterator>", cxx98},
#line 157 "std-name-hint.gperf"
      {"unitbuf", "<ios>", cxx98},
#line 142 "std-name-hint.gperf"
      {"left", "<ios>", cxx98},
#line 346 "std-name-hint.gperf"
      {"range_error", "<stdexcept>", cxx98},
#line 347 "std-name-hint.gperf"
      {"runtime_error", "<stdexcept>", cxx98},
#line 108 "std-name-hint.gperf"
      {"invoke", "<functional>", cxx17},
#line 222 "std-name-hint.gperf"
      {"static_pointer_cast", "<memory>", cxx11},
#line 98 "std-name-hint.gperf"
      {"basic_ifstream", "<fstream>", cxx98},
#line 406 "std-name-hint.gperf"
      {"tuple_size_v", "<tuple>", cxx17},
#line 452 "std-name-hint.gperf"
      {"index_sequence", "<utility>", cxx14},
#line 184 "std-name-hint.gperf"
      {"ostream_iterator", "<iterator>", cxx98},
#line 261 "std-name-hint.gperf"
      {"numbers::e_v", "<numbers>", cxx20},
#line 124 "std-name-hint.gperf"
      {"get_time", "<iomanip>", cxx11},
#line 432 "std-name-hint.gperf"
      {"unordered_multiset", "<unordered_set>", cxx11},
#line 360 "std-name-hint.gperf"
      {"stod", "<string>", cxx11},
#line 364 "std-name-hint.gperf"
      {"stold", "<string>", cxx11},
#line 151 "std-name-hint.gperf"
      {"right", "<ios>", cxx98},
#line 99 "std-name-hint.gperf"
      {"basic_ofstream", "<fstream>", cxx98},
#line 379 "std-name-hint.gperf"
      {"errc", "<system_error>", cxx11},
#line 81 "std-name-hint.gperf"
      {"uintptr_t", "<cstdint>", cxx11},
#line 439 "std-name-hint.gperf"
      {"cmp_less", "<utility>", cxx20},
#line 402 "std-name-hint.gperf"
      {"tuple_cat", "<tuple>", cxx11},
#line 381 "std-name-hint.gperf"
      {"error_code", "<system_error>", cxx11},
#line 323 "std-name-hint.gperf"
      {"basic_istringstream", "<sstream>", cxx98},
#line 105 "std-name-hint.gperf"
      {"bind_front", "<functional>", cxx20},
#line 455 "std-name-hint.gperf"
      {"make_index_sequence", "<utility>", cxx14},
#line 242 "std-name-hint.gperf"
      {"call_once", "<mutex>", cxx11},
#line 372 "std-name-hint.gperf"
      {"u32string", "<string>", cxx11},
#line 258 "std-name-hint.gperf"
      {"nothrow", "<new>", cxx98},
#line 371 "std-name-hint.gperf"
      {"u16string", "<string>", cxx11},
#line 177 "std-name-hint.gperf"
      {"front_inserter", "<iterator>", cxx98},
#line 83 "std-name-hint.gperf"
      {"deque", "<deque>", cxx98},
#line 112 "std-name-hint.gperf"
      {"reference_wrapper", "<functional>", cxx11},
#line 178 "std-name-hint.gperf"
      {"inserter", "<iterator>", cxx98},
#line 324 "std-name-hint.gperf"
      {"basic_ostringstream", "<sstream>", cxx98},
#line 333 "std-name-hint.gperf"
      {"wostringstream", "<sstream>", cxx98},
#line 334 "std-name-hint.gperf"
      {"wstringbuf", "<sstream>", cxx98},
#line 280 "std-name-hint.gperf"
      {"endl", "<ostream>", cxx98},
#line 327 "std-name-hint.gperf"
      {"istringstream", "<sstream>", cxx98},
#line 328 "std-name-hint.gperf"
      {"istringstream", "<sstream>", cxx98},
#line 453 "std-name-hint.gperf"
      {"index_sequence_for", "<utility>", cxx14},
#line 181 "std-name-hint.gperf"
      {"iterator_traits", "<iterator>", cxx98},
#line 370 "std-name-hint.gperf"
      {"to_wstring", "<string>", cxx17},
#line 275 "std-name-hint.gperf"
      {"make_optional", "<optional>", cxx17},
#line 257 "std-name-hint.gperf"
      {"launder", "<new>", cxx17},
#line 429 "std-name-hint.gperf"
      {"unordered_map", "<unordered_map>", cxx11},
#line 419 "std-name-hint.gperf"
      {"remove_cvref_t", "<type_traits>", cxx20},
#line 329 "std-name-hint.gperf"
      {"ostringstream", "<sstream>", cxx98},
#line 430 "std-name-hint.gperf"
      {"unordered_multimap", "<unordered_map>", cxx11},
#line 388 "std-name-hint.gperf"
      {"make_error_code", "<system_error>", cxx11},
#line 413 "std-name-hint.gperf"
      {"enable_if_t", "<type_traits>", cxx14},
#line 163 "std-name-hint.gperf"
      {"cout", "<iostream>", cxx98},
#line 167 "std-name-hint.gperf"
      {"wcout", "<iostream>", cxx98},
#line 389 "std-name-hint.gperf"
      {"make_error_condition", "<system_error>", cxx11},
#line 394 "std-name-hint.gperf"
      {"thread", "<thread>", cxx11},
#line 369 "std-name-hint.gperf"
      {"to_string", "<string>", cxx17},
#line 165 "std-name-hint.gperf"
      {"wcin", "<iostream>", cxx98},
#line 243 "std-name-hint.gperf"
      {"lock", "<mutex>", cxx11},
#line 251 "std-name-hint.gperf"
      {"try_lock", "<mutex>", cxx11},
#line 237 "std-name-hint.gperf"
      {"pmr::pool_options", "<memory_resource>", cxx17},
#line 435 "std-name-hint.gperf"
      {"as_const", "<utility>", cxx17},
#line 463 "std-name-hint.gperf"
      {"to_underlying", "<utility>", cxx23},
#line 116 "std-name-hint.gperf"
      {"unwrap_reference_t", "<functional>", cxx20},
#line 427 "std-name-hint.gperf"
      {"bad_typeid", "<typeinfo>", cxx98},
#line 115 "std-name-hint.gperf"
      {"unwrap_reference", "<functional>", cxx20},
#line 172 "std-name-hint.gperf"
      {"advance", "<iterator>", cxx98},
#line 308 "std-name-hint.gperf"
      {"span", "<span>", cxx20},
#line 234 "std-name-hint.gperf"
      {"pmr::monotonic_buffer_resource", "<memory_resource>", cxx17},
#line 297 "std-name-hint.gperf"
      {"counting_semaphore", "<semaphore>", cxx20},
#line 150 "std-name-hint.gperf"
      {"oct", "<ios>", cxx98},
#line 289 "std-name-hint.gperf"
      {"queue", "<queue>", cxx98},
#line 160 "std-name-hint.gperf"
      {"cerr", "<iostream>", cxx98},
#line 176 "std-name-hint.gperf"
      {"end", "<iterator>", cxx11},
#line 189 "std-name-hint.gperf"
      {"list", "<list>", cxx98},
#line 385 "std-name-hint.gperf"
      {"is_error_code_enum_v", "<system_error>", cxx17},
#line 418 "std-name-hint.gperf"
      {"remove_cvref", "<type_traits>", cxx20},
#line 387 "std-name-hint.gperf"
      {"is_error_condition_enum_v", "<system_error>", cxx17},
#line 240 "std-name-hint.gperf"
      {"pmr::unsynchronized_pool_resource", "<memory_resource>", cxx17},
#line 382 "std-name-hint.gperf"
      {"error_condition", "<system_error>", cxx11},
#line 224 "std-name-hint.gperf"
      {"uninitialized_construct_using_allocator", "<memory>", cxx20},
#line 94 "std-name-hint.gperf"
      {"forward_list", "<forward_list>", cxx11},
#line 412 "std-name-hint.gperf"
      {"enable_if", "<type_traits>", cxx11},
#line 221 "std-name-hint.gperf"
      {"shared_ptr", "<memory>", cxx11},
#line 195 "std-name-hint.gperf"
      {"align", "<memory>", cxx11},
#line 451 "std-name-hint.gperf"
      {"in_range", "<utility>", cxx20},
#line 60 "std-name-hint.gperf"
      {"strong_ordering", "<compare>", cxx20},
#line 348 "std-name-hint.gperf"
      {"underflow_error", "<stdexcept>", cxx98},
#line 272 "std-name-hint.gperf"
      {"numbers::sqrt2_v", "<numbers>", cxx20},
#line 273 "std-name-hint.gperf"
      {"numbers::sqrt3_v", "<numbers>", cxx20},
#line 89 "std-name-hint.gperf"
      {"terminate", "<exception>", cxx98},
#line 201 "std-name-hint.gperf"
      {"allocator_traits", "<memory>", cxx11},
#line 384 "std-name-hint.gperf"
      {"is_error_code_enum", "<system_error>", cxx11},
#line 194 "std-name-hint.gperf"
      {"addressof", "<memory>", cxx11},
#line 386 "std-name-hint.gperf"
      {"is_error_condition_enum", "<system_error>", cxx11},
#line 421 "std-name-hint.gperf"
      {"type_identity_t", "<type_traits>", cxx20},
#line 331 "std-name-hint.gperf"
      {"stringstream", "<sstream>", cxx98},
#line 279 "std-name-hint.gperf"
      {"emit_on_flush", "<ostream>", cxx20},
#line 437 "std-name-hint.gperf"
      {"cmp_greater", "<utility>", cxx20},
#line 343 "std-name-hint.gperf"
      {"logic_error", "<stdexcept>", cxx98},
#line 130 "std-name-hint.gperf"
      {"setfill", "<iomanip>", cxx98},
#line 332 "std-name-hint.gperf"
      {"wistringstream", "<sstream>", cxx98},
#line 164 "std-name-hint.gperf"
      {"wcerr", "<iostream>", cxx98},
#line 225 "std-name-hint.gperf"
      {"unique_ptr", "<memory>", cxx11},
#line 374 "std-name-hint.gperf"
      {"wstring", "<string>", cxx98},
#line 270 "std-name-hint.gperf"
      {"numbers::phi_v", "<numbers>", cxx20},
#line 236 "std-name-hint.gperf"
      {"pmr::polymorphic_allocator", "<memory_resource>", cxx17},
#line 211 "std-name-hint.gperf"
      {"enable_shared_from_this", "<memory>", cxx11},
#line 377 "std-name-hint.gperf"
      {"string_view", "<string_view>", cxx17},
#line 354 "std-name-hint.gperf"
      {"basic_streambuf", "<streambuf>", cxx98},
#line 180 "std-name-hint.gperf"
      {"istreambuf_iterator", "<iterator>", cxx98},
#line 245 "std-name-hint.gperf"
      {"mutex", "<mutex>", cxx11},
#line 45 "std-name-hint.gperf"
      {"make_any", "<any>", cxx17},
#line 424 "std-name-hint.gperf"
      {"type_index", "<typeindex>", cxx11},
#line 204 "std-name-hint.gperf"
      {"const_pointer_cast", "<memory>", cxx11},
#line 359 "std-name-hint.gperf"
      {"char_traits", "<string>", cxx98},
#line 132 "std-name-hint.gperf"
      {"setprecision", "<iomanip>", cxx98},
#line 203 "std-name-hint.gperf"
      {"bad_weak_ptr", "<memory>", cxx11},
#line 317 "std-name-hint.gperf"
      {"spanbuf", "<spanstream>", cxx23},
#line 414 "std-name-hint.gperf"
      {"invoke_result", "<type_traits>", cxx17},
#line 104 "std-name-hint.gperf"
      {"bind", "<functional>", cxx11},
#line 415 "std-name-hint.gperf"
      {"invoke_result_t", "<type_traits>", cxx17},
#line 185 "std-name-hint.gperf"
      {"ostreambuf_iterator", "<iterator>", cxx98},
#line 161 "std-name-hint.gperf"
      {"cin", "<iostream>", cxx98},
#line 436 "std-name-hint.gperf"
      {"cmp_equal", "<utility>", cxx20},
#line 198 "std-name-hint.gperf"
      {"allocator", "<memory>", cxx98},
#line 162 "std-name-hint.gperf"
      {"clog", "<iostream>", cxx98},
#line 441 "std-name-hint.gperf"
      {"cmp_not_equal", "<utility>", cxx20},
#line 291 "std-name-hint.gperf"
      {"ranges::enable_borrowed_range", "<ranges>", cxx20},
#line 282 "std-name-hint.gperf"
      {"flush", "<ostream>", cxx98},
#line 254 "std-name-hint.gperf"
      {"bad_alloc", "<new>", cxx98},
#line 457 "std-name-hint.gperf"
      {"make_pair", "<utility>", cxx98},
#line 318 "std-name-hint.gperf"
      {"spanstream", "<spanstream>", cxx23},
#line 67 "std-name-hint.gperf"
      {"condition_variable", "<condition_variable>", cxx11},
#line 125 "std-name-hint.gperf"
      {"put_money", "<iomanip>", cxx11},
#line 44 "std-name-hint.gperf"
      {"any_cast", "<any>", cxx17},
#line 468 "std-name-hint.gperf"
      {"monostate", "<variant>", cxx17},
#line 62 "std-name-hint.gperf"
      {"weak_ordering", "<compare>", cxx20},
#line 233 "std-name-hint.gperf"
      {"pmr::memory_resource", "<memory_resource>", cxx17},
#line 206 "std-name-hint.gperf"
      {"default_delete", "<memory>", cxx11},
#line 138 "std-name-hint.gperf"
      {"fixed", "<ios>", cxx98},
#line 86 "std-name-hint.gperf"
      {"exception", "<exception>", cxx98},
#line 192 "std-name-hint.gperf"
      {"multimap", "<map>", cxx98},
#line 302 "std-name-hint.gperf"
      {"shared_lock", "<shared_mutex>", cxx14},
#line 448 "std-name-hint.gperf"
      {"in_place_t", "<utility>", cxx17},
#line 445 "std-name-hint.gperf"
      {"in_place", "<utility>", cxx17},
#line 345 "std-name-hint.gperf"
      {"overflow_error", "<stdexcept>", cxx98},
#line 256 "std-name-hint.gperf"
      {"hardware_destructive_interference_size", "<new>", cxx17},
#line 447 "std-name-hint.gperf"
      {"in_place_index_t", "<utility>", cxx17},
#line 166 "std-name-hint.gperf"
      {"wclog", "<iostream>", cxx98},
#line 109 "std-name-hint.gperf"
      {"invoke_r", "<functional>", cxx23},
#line 88 "std-name-hint.gperf"
      {"make_exception_ptr", "<exception>", cxx11},
#line 344 "std-name-hint.gperf"
      {"out_of_range", "<stdexcept>", cxx98},
#line 252 "std-name-hint.gperf"
      {"unique_lock", "<mutex>", cxx11},
#line 244 "std-name-hint.gperf"
      {"lock_guard", "<mutex>", cxx11},
#line 212 "std-name-hint.gperf"
      {"get_deleter", "<memory>", cxx11},
#line 438 "std-name-hint.gperf"
      {"cmp_greater_equal", "<utility>", cxx20},
#line 464 "std-name-hint.gperf"
      {"unreachable", "<utility>", cxx23},
#line 135 "std-name-hint.gperf"
      {"boolalpha", "<ios>", cxx98},
#line 120 "std-name-hint.gperf"
      {"packaged_task", "<future>", cxx11},
#line 443 "std-name-hint.gperf"
      {"exchange", "<utility>", cxx14},
#line 85 "std-name-hint.gperf"
      {"current_exception", "<exception>", cxx11},
#line 136 "std-name-hint.gperf"
      {"dec", "<ios>", cxx98},
#line 292 "std-name-hint.gperf"
      {"ranges::enable_view", "<ranges>", cxx20},
#line 72 "std-name-hint.gperf"
      {"uint_fast16_t", "<cstdint>", cxx11},
#line 239 "std-name-hint.gperf"
      {"pmr::synchronized_pool_resource", "<memory_resource>", cxx17},
#line 228 "std-name-hint.gperf"
      {"uses_allocator_v", "<memory>", cxx17},
#line 227 "std-name-hint.gperf"
      {"uses_allocator_construction_args", "<memory>", cxx20},
#line 114 "std-name-hint.gperf"
      {"unwrap_ref_decay_t", "<functional>", cxx20},
#line 74 "std-name-hint.gperf"
      {"uint_fast64_t", "<cstdint>", cxx11},
#line 53 "std-name-hint.gperf"
      {"atomic_uintmax_t", "<atomic>", cxx20},
#line 286 "std-name-hint.gperf"
      {"wostream", "<ostream>", cxx98},
#line 73 "std-name-hint.gperf"
      {"uint_fast32_t", "<cstdint>", cxx11},
#line 320 "std-name-hint.gperf"
      {"wospanstream", "<spanstream>", cxx23},
#line 80 "std-name-hint.gperf"
      {"uintmax_t", "<cstdint>", cxx11},
#line 123 "std-name-hint.gperf"
      {"get_money", "<iomanip>", cxx11},
#line 52 "std-name-hint.gperf"
      {"atomic_signed_lock_free", "<atomic>", cxx11},
#line 246 "std-name-hint.gperf"
      {"once_flag", "<mutex>", cxx11},
#line 128 "std-name-hint.gperf"
      {"resetiosflags", "<iomanip>", cxx98},
#line 219 "std-name-hint.gperf"
      {"pointer_traits", "<memory>", cxx11},
#line 397 "std-name-hint.gperf"
      {"forward_as_tuple", "<tuple>", cxx11},
#line 248 "std-name-hint.gperf"
      {"recursive_timed_mutex", "<mutex>", cxx11},
#line 118 "std-name-hint.gperf"
      {"async", "<future>", cxx11},
#line 226 "std-name-hint.gperf"
      {"uses_allocator", "<memory>", cxx11},
#line 51 "std-name-hint.gperf"
      {"atomic_ref", "<atomic>", cxx20},
#line 127 "std-name-hint.gperf"
      {"quoted", "<iomanip>", cxx14},
#line 152 "std-name-hint.gperf"
      {"scientific", "<ios>", cxx98},
#line 50 "std-name-hint.gperf"
      {"atomic", "<atomic>", cxx11},
#line 408 "std-name-hint.gperf"
      {"conjunction", "<type_traits>", cxx17},
#line 255 "std-name-hint.gperf"
      {"hardware_constructive_interference_size", "<new>", cxx17},
#line 444 "std-name-hint.gperf"
      {"forward", "<utility>", cxx11},
#line 409 "std-name-hint.gperf"
      {"conjunction_v", "<type_traits>", cxx17},
#line 92 "std-name-hint.gperf"
      {"expected", "<expected>", cxx23},
#line 249 "std-name-hint.gperf"
      {"scoped_lock", "<mutex>", cxx17},
#line 342 "std-name-hint.gperf"
      {"length_error", "<stdexcept>", cxx98},
#line 87 "std-name-hint.gperf"
      {"exception_ptr", "<exception>", cxx11},
#line 341 "std-name-hint.gperf"
      {"invalid_argument", "<stdexcept>", cxx98},
#line 247 "std-name-hint.gperf"
      {"recursive_mutex", "<mutex>", cxx11},
#line 137 "std-name-hint.gperf"
      {"defaultfloat", "<ios>", cxx11},
#line 101 "std-name-hint.gperf"
      {"ifstream", "<fstream>", cxx98},
#line 461 "std-name-hint.gperf"
      {"piecewise_construct", "<utility>", cxx11},
#line 390 "std-name-hint.gperf"
      {"system_category", "<system_error>", cxx11},
#line 462 "std-name-hint.gperf"
      {"piecewise_construct_t", "<utility>", cxx11},
#line 442 "std-name-hint.gperf"
      {"declval", "<utility>", cxx11},
#line 306 "std-name-hint.gperf"
      {"source_location", "<source_location>", cxx20},
#line 454 "std-name-hint.gperf"
      {"integer_sequence", "<utility>", cxx14},
#line 208 "std-name-hint.gperf"
      {"destroy_at", "<memory>", cxx20},
#line 294 "std-name-hint.gperf"
      {"scoped_allocator_adaptor", "<scoped_allocator>", cxx11},
#line 209 "std-name-hint.gperf"
      {"destroy_n", "<memory>", cxx20},
#line 210 "std-name-hint.gperf"
      {"dynamic_pointer_cast", "<memory>", cxx11},
#line 102 "std-name-hint.gperf"
      {"ofstream", "<fstream>", cxx98},
#line 54 "std-name-hint.gperf"
      {"atomic_unsigned_lock_free", "<atomic>", cxx11},
#line 319 "std-name-hint.gperf"
      {"wispanstream", "<spanstream>", cxx23},
#line 58 "std-name-hint.gperf"
      {"partial_ordering", "<compare>", cxx20},
#line 218 "std-name-hint.gperf"
      {"owner_less", "<memory>", cxx11},
#line 392 "std-name-hint.gperf"
      {"jthread", "<thread>", cxx20},
#line 215 "std-name-hint.gperf"
      {"make_shared_for_overwrite", "<memory>", cxx20},
#line 303 "std-name-hint.gperf"
      {"shared_mutex", "<shared_mutex>", cxx17},
#line 205 "std-name-hint.gperf"
      {"construct_at", "<memory>", cxx20},
#line 175 "std-name-hint.gperf"
      {"distance", "<iterator>", cxx98},
#line 304 "std-name-hint.gperf"
      {"shared_timed_mutex", "<shared_mutex>", cxx14},
#line 410 "std-name-hint.gperf"
      {"disjunction", "<type_traits>", cxx17},
#line 158 "std-name-hint.gperf"
      {"uppercase", "<ios>", cxx98},
#line 411 "std-name-hint.gperf"
      {"disjunction_v", "<type_traits>", cxx17},
#line 47 "std-name-hint.gperf"
      {"array", "<array>", cxx11},
#line 284 "std-name-hint.gperf"
      {"noemit_on_flush", "<ostream>", cxx20},
#line 65 "std-name-hint.gperf"
      {"complex_literals", "<complex>", cxx14},
#line 340 "std-name-hint.gperf"
      {"domain_error", "<stdexcept>", cxx98},
#line 200 "std-name-hint.gperf"
      {"allocator_arg_t", "<memory>", cxx11},
#line 141 "std-name-hint.gperf"
      {"internal", "<ios>", cxx98},
#line 75 "std-name-hint.gperf"
      {"uint_fast8_t", "<cstdint>", cxx11},
#line 296 "std-name-hint.gperf"
      {"binary_semaphore", "<semaphore>", cxx20},
#line 140 "std-name-hint.gperf"
      {"hexfloat", "<ios>", cxx11},
#line 107 "std-name-hint.gperf"
      {"hash", "<functional>", cxx11},
#line 420 "std-name-hint.gperf"
      {"type_identity", "<type_traits>", cxx20},
#line 197 "std-name-hint.gperf"
      {"allocate_shared_for_overwrite", "<memory>", cxx20},
#line 350 "std-name-hint.gperf"
      {"stop_callback", "<stop_token>", cxx20},
#line 139 "std-name-hint.gperf"
      {"hex", "<ios>", cxx98},
#line 48 "std-name-hint.gperf"
      {"to_array", "<array>", cxx20},
#line 380 "std-name-hint.gperf"
      {"error_category", "<system_error>", cxx11},
#line 440 "std-name-hint.gperf"
      {"cmp_less_equal", "<utility>", cxx20},
#line 43 "std-name-hint.gperf"
      {"any", "<any>", cxx17},
#line 68 "std-name-hint.gperf"
      {"condition_variable_any", "<condition_variable>", cxx11},
#line 383 "std-name-hint.gperf"
      {"generic_category", "<system_error>", cxx11},
#line 450 "std-name-hint.gperf"
      {"in_place_type_t", "<utility>", cxx17},
#line 449 "std-name-hint.gperf"
      {"in_place_type", "<utility>", cxx17},
#line 446 "std-name-hint.gperf"
      {"in_place_index", "<utility>", cxx17},
#line 467 "std-name-hint.gperf"
      {"holds_alternative", "<variant>", cxx17},
#line 199 "std-name-hint.gperf"
      {"allocator_arg", "<memory>", cxx11},
#line 90 "std-name-hint.gperf"
      {"uncaught_exceptions", "<exception>", cxx17},
#line 214 "std-name-hint.gperf"
      {"make_shared", "<memory>", cxx11},
#line 113 "std-name-hint.gperf"
      {"unwrap_ref_decay", "<functional>", cxx20},
#line 59 "std-name-hint.gperf"
      {"strong_equality", "<compare>", cxx20},
#line 202 "std-name-hint.gperf"
      {"assume_aligned", "<memory>", cxx20},
#line 61 "std-name-hint.gperf"
      {"weak_equality", "<compare>", cxx20},
#line 393 "std-name-hint.gperf"
      {"this_thread", "<thread>", cxx11},
#line 250 "std-name-hint.gperf"
      {"timed_mutex", "<mutex>", cxx11},
#line 277 "std-name-hint.gperf"
      {"optional", "<optional>", cxx17},
#line 196 "std-name-hint.gperf"
      {"allocate_shared", "<memory>", cxx11},
#line 207 "std-name-hint.gperf"
      {"destroy", "<memory>", cxx20},
#line 396 "std-name-hint.gperf"
      {"apply", "<tuple>", cxx17},
#line 64 "std-name-hint.gperf"
      {"complex", "<complex>", cxx98},
#line 143 "std-name-hint.gperf"
      {"noboolalpha", "<ios>", cxx98}
    };

  static const short lookup[] =
    {
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,    0,   -1,    1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,    2,   -1,    3,    4,   -1,
         5,   -1,   -1,    6,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,    7,   -1,   -1,    8,   -1,
        -1,   -1,   -1,    9,   10,   -1,   11,   12,
        13,   14,   15,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   16,   -1,   -1,   17,   18,   -1,
        19,   20,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   21,   22,   23,   -1,   -1, -474, -354,
        -2,   -1,   -1,   -1,   -1,   26,   -1,   -1,
        -1,   27,   28,   -1,   29,   -1,   30,   -1,
        31,   -1,   -1,   32,   33,   -1,   34,   -1,
        35,   36,   -1,   -1,   37,   38,   39,   40,
        -1,   41,   -1,   42,   -1,   43,   -1,   -1,
        44,   -1,   45,   46,   47,   -1,   -1,   -1,
        48,   -1,   -1,   49,   50,   51, -530, -326,
        -2,   54,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   55,   56,   -1,   57,   -1,   -1,   -1,
        58,   59,   60,   -1,   -1,   61,   -1,   -1,
        -1,   -1,   62,   -1,   -1,   63,   -1,   64,
        -1,   65,   -1,   -1,   66,   67,   -1,   68,
        -1,   -1,   69,   -1,   -1,   70,   71,   -1,
        -1,   -1,   72,   -1,   -1,   73,   -1,   -1,
        -1,   74,   -1,   75,   76,   -1,   -1,   -1,
        77,   -1,   -1,   78,   -1,   79,   -1,   -1,
        -1,   -1,   80,   81,   82,   83,   -1,   84,
        85,   -1,   -1,   -1, -649,   -1,   88,   89,
        90,   91,   -1,   92,   93, -637,   96,   97,
        98,   99,  100,  101,   -1,  102,   -1,  103,
        -1,  104, -284,   -2,  105,  106,  107,   -1,
       108,   -1,  109,   -1,  110,  111, -292,   -2,
       112,  113,  114,   -1,   -1,   -1,   -1,  115,
        -1,  116,  117,   -1,  118,   -1,  119,   -1,
       120,   -1,   -1,  121,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,  122,   -1,   -1,   -1,   -1,
       123,   -1,   -1,  124,   -1,  125,   -1,  126,
       127,   -1,   -1,   -1,  128,   -1,  129,   -1,
        -1,   -1,   -1,   -1,  130,  131,   -1,   -1,
        -1,   -1,  132,   -1,   -1,   -1,  133,   -1,
        -1,  134,   -1,   -1,   -1,   -1,   -1,   -1,
       135,   -1,  136,  137,  138,  139,  140,   -1,
        -1,   -1,  141,   -1,   -1,  142,   -1,   -1,
        -1,   -1,  143,   -1,   -1,  144,   -1,  145,
        -1,  146,  147,  148,   -1,   -1,   -1,   -1,
        -1,   -1,  149,  150,   -1,   -1,   -1,  151,
        -1,   -1,   -1,  152,   -1,  153,   -1, -775,
        -1,  156,   -1,  157, -224,   -2,  158,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,  159,   -1,   -1,
        -1,  160,  161,  162,   -1,  163,   -1,  164,
        -1,   -1,   -1,   -1,   -1,   -1,  165,  166,
       167,   -1,  168,  169,  170,  171,  172,  173,
        -1,  174,  175,  176,   -1,   -1,  177,   -1,
       178,   -1,  179,  180,  181,   -1,  182,  183,
        -1,   -1,   -1,   -1,   -1,  184,   -1,  185,
        -1,  186,   -1,  187,  188,  189,  190,   -1,
       191,   -1,   -1,  192,  193,   -1,  194,  195,
        -1,   -1,  196,   -1,  197,  198,   -1,   -1,
        -1,   -1,  199,  200,   -1,  201,   -1,  202,
      -876, -175,   -2,  205,   -1,  206,   -1,  207,
       208,   -1,   -1,   -1,  209,   -1,  210,   -1,
       211,  212,  213,   -1,  214,  215,  216,  217,
       218,   -1,   -1,   -1,   -1,   -1,   -1,  219,
        -1,  220,   -1,  221,   -1,  222,  223,  224,
        -1,   -1,   -1,  225,  226,  227,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,  228,  229,
        -1,   -1,  230,  231,   -1,  232,   -1,   -1,
        -1,   -1,  233,  234,  235,  236,   -1,   -1,
        -1,  237,   -1,  238,  239,   -1,  240,  241,
       242,   -1,   -1,  243,   -1,   -1,   -1,   -1,
        -1,  244,   -1,  245,   -1,  246,  247,  248,
        -1,   -1,   -1,   -1,   -1,  249,  250,  251,
       252,   -1,   -1,  253,  254,  255,   -1,  256,
       257,   -1,   -1,  258,   -1,  259,   -1,   -1,
       260,   -1,  261,   -1,   -1,   -1,   -1,  262,
       263,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
       264,  265,   -1,   -1,   -1,   -1,  266,   -1,
        -1,   -1,   -1,   -1,   -1,  267,  268,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,  269,
        -1,   -1,   -1,  270,  271,  272,   -1,   -1,
       273,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,  274,   -1,   -1,   -1,   -1,   -1,  275,
        -1,   -1,   -1,  276,   -1,   -1,  277,   -1,
       278,   -1,   -1,   -1,   -1,  279,  280,   -1,
       281,   -1,   -1,   -1,   -1,   -1,  282,  283,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,  284,   -1,   -1,  285,  286,  287,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,  288,   -1,
        -1,  289,  290,   -1,   -1,  291,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,  292,  293,
       294,   -1,  295,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,  296,   -1,  297,   -1,
        -1,   -1,   -1,   -1,  298,  299,  300,   -1,
       301,  302,   -1,   -1,  303,   -1,  304,   -1,
        -1,  305,   -1,   -1,   -1,   -1,   -1,   -1,
       306,   -1,  307,   -1,   -1,   -1,   -1,  308,
       309,   -1,   -1,   -1,  310,   -1,   -1,  311,
       312,   -1,  313,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,  314,  315,  316,  317,   -1,
        -1,  318,   -1,   -1,  319,   -1,   -1,   -1,
        -1,   -1,  320,   -1,   -1,   -1,   -1,   -1,
        -1,  321,  322,   -1,   -1,  323,  324,   -1,
        -1,  325,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,  326,
        -1,   -1,   -1,   -1,   -1,  327,   -1,   -1,
       328,  329,   -1,  330,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,  331,   -1,  332,   -1,   -1,
       333,  334,   -1,  335,   -1,   -1,   -1,   -1,
        -1,  336,   -1,   -1,   -1,   -1,  337,   -1,
        -1,   -1,   -1,   -1,   -1,  338,   -1,  339,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,  340,   -1,   -1,   -1,  341,
        -1,   -1,  342,   -1,   -1,  343,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,  344,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
       345,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,  346,   -1,
       347,  348,   -1,  349,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,  350,   -1,   -1,
        -1,  351,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,  352,   -1,   -1,  353,   -1,
       354,   -1,   -1,   -1,  355,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,  356,   -1,  357,   -1,  358,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,  359,   -1,   -1,  360,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,  361,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,  362,   -1,   -1,
        -1,  363,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,  364,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,  365,   -1,   -1,  366,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,  367,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,  368,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,  369,  370,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,  371,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,  372,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,  373,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,  374,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,  375,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,  376,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,  377
    };

  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
    {
      unsigned int key = hash (str, len);

      if (key <= MAX_HASH_VALUE)
        {
          int index = lookup[key];

          if (index >= 0)
            {
              const char *s = wordlist[index].name;

              if (*str == *s && !strcmp (str + 1, s + 1))
                return &wordlist[index];
            }
          else if (index < -TOTAL_KEYWORDS)
            {
              int offset = - 1 - TOTAL_KEYWORDS - index;
              const struct std_name_hint *wordptr = &wordlist[TOTAL_KEYWORDS + lookup[offset]];
              const struct std_name_hint *wordendptr = wordptr + -lookup[offset + 1];

              while (wordptr < wordendptr)
                {
                  const char *s = wordptr->name;

                  if (*str == *s && !strcmp (str + 1, s + 1))
                    return wordptr;
                  wordptr++;
                }
            }
        }
    }
  return 0;
}
