source: trunk/src/generated/lolfx-parser.cpp @ 2779

Last change on this file since 2779 was 2779, checked in by sam, 6 years ago

base: disable exceptions in Bison-generated parsers.

  • Property svn:keywords set to Id
File size: 236.7 KB
Line 
1/* A Bison parser, made by GNU Bison 2.7.12-4996.  */
2
3/* Skeleton implementation for Bison LALR(1) parsers in C++
4   
5      Copyright (C) 2002-2013 Free Software Foundation, Inc.
6   
7   This program is free software: you can redistribute it and/or modify
8   it under the terms of the GNU General Public License as published by
9   the Free Software Foundation, either version 3 of the License, or
10   (at your option) any later version.
11   
12   This program is distributed in the hope that it will be useful,
13   but WITHOUT ANY WARRANTY; without even the implied warranty of
14   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15   GNU General Public License for more details.
16   
17   You should have received a copy of the GNU General Public License
18   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19
20/* As a special exception, you may create a larger work that contains
21   part or all of the Bison parser skeleton and distribute that work
22   under terms of your choice, so long as that work isn't itself a
23   parser generator using the skeleton or a modified version thereof
24   as a parser skeleton.  Alternatively, if you modify or redistribute
25   the parser skeleton itself, you may (at your option) remove this
26   special exception, which will cause the skeleton and the resulting
27   Bison output files to be licensed under the GNU General Public
28   License without this special exception.
29   
30   This special exception was added by the Free Software Foundation in
31   version 2.2 of Bison.  */
32
33// Take the name prefix into account.
34#define yylex   lollex
35
36/* First part of user declarations.  */
37/* Line 283 of lalr1.cc  */
38#line 1 "gpu/lolfx-parser.y"
39
40//
41// Lol Engine
42//
43// Copyright: (c) 2010-2013 Sam Hocevar <sam@hocevar.net>
44//   This program is free software; you can redistribute it and/or
45//   modify it under the terms of the Do What The Fuck You Want To
46//   Public License, Version 2, as published by Sam Hocevar. See
47//   http://www.wtfpl.net/ for more details.
48//
49
50#if defined HAVE_CONFIG_H
51#   include "config.h"
52#endif
53
54#include "core.h"
55
56#include <string>
57
58/* HACK: workaround for Bison who insists on using exceptions */
59#define try if (true)
60#define catch(...) if (false)
61#define throw (void)0
62
63/* Line 283 of lalr1.cc  */
64#line 65 "generated/lolfx-parser.cpp"
65
66
67#include "lolfx-parser.h"
68
69/* User implementation prologue.  */
70/* Line 289 of lalr1.cc  */
71#line 245 "gpu/lolfx-parser.y"
72
73#include "gpu/lolfx-compiler.h"
74
75#undef yylex
76#define yylex mc.m_lexer->lex
77
78/* Line 289 of lalr1.cc  */
79#line 80 "generated/lolfx-parser.cpp"
80
81
82# ifndef YY_NULL
83#  if defined __cplusplus && 201103L <= __cplusplus
84#   define YY_NULL nullptr
85#  else
86#   define YY_NULL 0
87#  endif
88# endif
89
90#ifndef YY_
91# if defined YYENABLE_NLS && YYENABLE_NLS
92#  if ENABLE_NLS
93#   include <libintl.h> /* FIXME: INFRINGES ON USER NAME SPACE */
94#   define YY_(msgid) dgettext ("bison-runtime", msgid)
95#  endif
96# endif
97# ifndef YY_
98#  define YY_(msgid) msgid
99# endif
100#endif
101
102#define YYRHSLOC(Rhs, K) ((Rhs)[K])
103/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
104   If N is 0, then set CURRENT to the empty location which ends
105   the previous symbol: RHS[0] (always defined).  */
106
107# ifndef YYLLOC_DEFAULT
108#  define YYLLOC_DEFAULT(Current, Rhs, N)                               \
109    do                                                                  \
110      if (N)                                                            \
111        {                                                               \
112          (Current).begin  = YYRHSLOC (Rhs, 1).begin;                   \
113          (Current).end    = YYRHSLOC (Rhs, N).end;                     \
114        }                                                               \
115      else                                                              \
116        {                                                               \
117          (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end;      \
118        }                                                               \
119    while (/*CONSTCOND*/ false)
120# endif
121
122
123/* Suppress unused-variable warnings by "using" E.  */
124#define YYUSE(e) ((void) (e))
125
126/* Enable debugging if requested.  */
127#if YYDEBUG
128
129/* A pseudo ostream that takes yydebug_ into account.  */
130# define YYCDEBUG if (yydebug_) (*yycdebug_)
131
132# define YY_SYMBOL_PRINT(Title, Type, Value, Location)  \
133do {                                                    \
134  if (yydebug_)                                         \
135    {                                                   \
136      *yycdebug_ << Title << ' ';                       \
137      yy_symbol_print_ ((Type), (Value), (Location));   \
138      *yycdebug_ << std::endl;                          \
139    }                                                   \
140} while (false)
141
142# define YY_REDUCE_PRINT(Rule)          \
143do {                                    \
144  if (yydebug_)                         \
145    yy_reduce_print_ (Rule);            \
146} while (false)
147
148# define YY_STACK_PRINT()               \
149do {                                    \
150  if (yydebug_)                         \
151    yystack_print_ ();                  \
152} while (false)
153
154#else /* !YYDEBUG */
155
156# define YYCDEBUG if (false) std::cerr
157# define YY_SYMBOL_PRINT(Title, Type, Value, Location) YYUSE(Type)
158# define YY_REDUCE_PRINT(Rule)        static_cast<void>(0)
159# define YY_STACK_PRINT()             static_cast<void>(0)
160
161#endif /* !YYDEBUG */
162
163#define yyerrok         (yyerrstatus_ = 0)
164#define yyclearin       (yychar = yyempty_)
165
166#define YYACCEPT        goto yyacceptlab
167#define YYABORT         goto yyabortlab
168#define YYERROR         goto yyerrorlab
169#define YYRECOVERING()  (!!yyerrstatus_)
170
171
172namespace lol {
173/* Line 357 of lalr1.cc  */
174#line 175 "generated/lolfx-parser.cpp"
175
176  /* Return YYSTR after stripping away unnecessary quotes and
177     backslashes, so that it's suitable for yyerror.  The heuristic is
178     that double-quoting is unnecessary unless the string contains an
179     apostrophe, a comma, or backslash (other than backslash-backslash).
180     YYSTR is taken from yytname.  */
181  std::string
182  LolFxParser::yytnamerr_ (const char *yystr)
183  {
184    if (*yystr == '"')
185      {
186        std::string yyr = "";
187        char const *yyp = yystr;
188
189        for (;;)
190          switch (*++yyp)
191            {
192            case '\'':
193            case ',':
194              goto do_not_strip_quotes;
195
196            case '\\':
197              if (*++yyp != '\\')
198                goto do_not_strip_quotes;
199              /* Fall through.  */
200            default:
201              yyr += *yyp;
202              break;
203
204            case '"':
205              return yyr;
206            }
207      do_not_strip_quotes: ;
208      }
209
210    return yystr;
211  }
212
213
214  /// Build a parser object.
215  LolFxParser::LolFxParser (class LolFxCompiler& mc_yyarg)
216    :
217#if YYDEBUG
218      yydebug_ (false),
219      yycdebug_ (&std::cerr),
220#endif
221      mc (mc_yyarg)
222  {
223  }
224
225  LolFxParser::~LolFxParser ()
226  {
227  }
228
229#if YYDEBUG
230  /*--------------------------------.
231  | Print this symbol on YYOUTPUT.  |
232  `--------------------------------*/
233
234  inline void
235  LolFxParser::yy_symbol_value_print_ (int yytype,
236                           const semantic_type* yyvaluep, const location_type* yylocationp)
237  {
238    YYUSE (yylocationp);
239    YYUSE (yyvaluep);
240    std::ostream& yyo = debug_stream ();
241    std::ostream& yyoutput = yyo;
242    YYUSE (yyoutput);
243    YYUSE (yytype);
244  }
245
246
247  void
248  LolFxParser::yy_symbol_print_ (int yytype,
249                           const semantic_type* yyvaluep, const location_type* yylocationp)
250  {
251    *yycdebug_ << (yytype < yyntokens_ ? "token" : "nterm")
252               << ' ' << yytname_[yytype] << " ("
253               << *yylocationp << ": ";
254    yy_symbol_value_print_ (yytype, yyvaluep, yylocationp);
255    *yycdebug_ << ')';
256  }
257#endif
258
259  void
260  LolFxParser::yydestruct_ (const char* yymsg,
261                           int yytype, semantic_type* yyvaluep, location_type* yylocationp)
262  {
263    YYUSE (yylocationp);
264    YYUSE (yymsg);
265    YYUSE (yyvaluep);
266
267    if (yymsg)
268      YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
269
270    YYUSE (yytype);
271  }
272
273  void
274  LolFxParser::yypop_ (unsigned int n)
275  {
276    yystate_stack_.pop (n);
277    yysemantic_stack_.pop (n);
278    yylocation_stack_.pop (n);
279  }
280
281#if YYDEBUG
282  std::ostream&
283  LolFxParser::debug_stream () const
284  {
285    return *yycdebug_;
286  }
287
288  void
289  LolFxParser::set_debug_stream (std::ostream& o)
290  {
291    yycdebug_ = &o;
292  }
293
294
295  LolFxParser::debug_level_type
296  LolFxParser::debug_level () const
297  {
298    return yydebug_;
299  }
300
301  void
302  LolFxParser::set_debug_level (debug_level_type l)
303  {
304    yydebug_ = l;
305  }
306#endif
307
308  inline bool
309  LolFxParser::yy_pact_value_is_default_ (int yyvalue)
310  {
311    return yyvalue == yypact_ninf_;
312  }
313
314  inline bool
315  LolFxParser::yy_table_value_is_error_ (int yyvalue)
316  {
317    return yyvalue == yytable_ninf_;
318  }
319
320  int
321  LolFxParser::parse ()
322  {
323    /// Lookahead and lookahead in internal form.
324    int yychar = yyempty_;
325    int yytoken = 0;
326
327    // State.
328    int yyn;
329    int yylen = 0;
330    int yystate = 0;
331
332    // Error handling.
333    int yynerrs_ = 0;
334    int yyerrstatus_ = 0;
335
336    /// Semantic value of the lookahead.
337    static semantic_type yyval_default;
338    semantic_type yylval = yyval_default;
339    /// Location of the lookahead.
340    location_type yylloc;
341    /// The locations where the error started and ended.
342    location_type yyerror_range[3];
343
344    /// $$.
345    semantic_type yyval;
346    /// @$.
347    location_type yyloc;
348
349    int yyresult;
350
351    // FIXME: This shoud be completely indented.  It is not yet to
352    // avoid gratuitous conflicts when merging into the master branch.
353    try
354      {
355    YYCDEBUG << "Starting parse" << std::endl;
356
357
358    /* Initialize the stacks.  The initial state will be pushed in
359       yynewstate, since the latter expects the semantical and the
360       location values to have been already stored, initialize these
361       stacks with a primary value.  */
362    yystate_stack_.clear ();
363    yysemantic_stack_.clear ();
364    yylocation_stack_.clear ();
365    yysemantic_stack_.push (yylval);
366    yylocation_stack_.push (yylloc);
367
368    /* New state.  */
369  yynewstate:
370    yystate_stack_.push (yystate);
371    YYCDEBUG << "Entering state " << yystate << std::endl;
372
373    /* Accept?  */
374    if (yystate == yyfinal_)
375      goto yyacceptlab;
376
377    goto yybackup;
378
379    /* Backup.  */
380  yybackup:
381
382    /* Try to take a decision without lookahead.  */
383    yyn = yypact_[yystate];
384    if (yy_pact_value_is_default_ (yyn))
385      goto yydefault;
386
387    /* Read a lookahead token.  */
388    if (yychar == yyempty_)
389      {
390        YYCDEBUG << "Reading a token: ";
391        yychar = yylex (&yylval, &yylloc);
392      }
393
394    /* Convert token to internal form.  */
395    if (yychar <= yyeof_)
396      {
397        yychar = yytoken = yyeof_;
398        YYCDEBUG << "Now at end of input." << std::endl;
399      }
400    else
401      {
402        yytoken = yytranslate_ (yychar);
403        YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
404      }
405
406    /* If the proper action on seeing token YYTOKEN is to reduce or to
407       detect an error, take that action.  */
408    yyn += yytoken;
409    if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yytoken)
410      goto yydefault;
411
412    /* Reduce or error.  */
413    yyn = yytable_[yyn];
414    if (yyn <= 0)
415      {
416        if (yy_table_value_is_error_ (yyn))
417          goto yyerrlab;
418        yyn = -yyn;
419        goto yyreduce;
420      }
421
422    /* Shift the lookahead token.  */
423    YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
424
425    /* Discard the token being shifted.  */
426    yychar = yyempty_;
427
428    yysemantic_stack_.push (yylval);
429    yylocation_stack_.push (yylloc);
430
431    /* Count tokens shifted since error; after three, turn off error
432       status.  */
433    if (yyerrstatus_)
434      --yyerrstatus_;
435
436    yystate = yyn;
437    goto yynewstate;
438
439  /*-----------------------------------------------------------.
440  | yydefault -- do the default action for the current state.  |
441  `-----------------------------------------------------------*/
442  yydefault:
443    yyn = yydefact_[yystate];
444    if (yyn == 0)
445      goto yyerrlab;
446    goto yyreduce;
447
448  /*-----------------------------.
449  | yyreduce -- Do a reduction.  |
450  `-----------------------------*/
451  yyreduce:
452    yylen = yyr2_[yyn];
453    /* If YYLEN is nonzero, implement the default value of the action:
454       `$$ = $1'.  Otherwise, use the top of the stack.
455
456       Otherwise, the following line sets YYVAL to garbage.
457       This behavior is undocumented and Bison
458       users should not rely upon it.  */
459    if (yylen)
460      yyval = yysemantic_stack_[yylen - 1];
461    else
462      yyval = yysemantic_stack_[0];
463
464    // Compute the default @$.
465    {
466      slice<location_type, location_stack_type> slice (yylocation_stack_, yylen);
467      YYLLOC_DEFAULT (yyloc, slice, yylen);
468    }
469
470    // Perform the reduction.
471    YY_REDUCE_PRINT (yyn);
472    switch (yyn)
473      {
474          case 202:
475/* Line 664 of lalr1.cc  */
476#line 732 "gpu/lolfx-parser.y"
477    { std::cout << "New tech " << std::endl; }
478    break;
479
480  case 203:
481/* Line 664 of lalr1.cc  */
482#line 740 "gpu/lolfx-parser.y"
483    { std::cout << "New name " << (yysemantic_stack_[(1) - (1)].sval) << std::endl; }
484    break;
485
486  case 204:
487/* Line 664 of lalr1.cc  */
488#line 741 "gpu/lolfx-parser.y"
489    { std::cout << "New name " << (yysemantic_stack_[(1) - (1)].sval) << std::endl; }
490    break;
491
492  case 207:
493/* Line 664 of lalr1.cc  */
494#line 754 "gpu/lolfx-parser.y"
495    { std::cout << "New pass " << std::endl; }
496    break;
497
498  case 226:
499/* Line 664 of lalr1.cc  */
500#line 790 "gpu/lolfx-parser.y"
501    { std::cout << "new shader" << std::endl; }
502    break;
503
504
505/* Line 664 of lalr1.cc  */
506#line 507 "generated/lolfx-parser.cpp"
507      default:
508        break;
509      }
510
511    /* User semantic actions sometimes alter yychar, and that requires
512       that yytoken be updated with the new translation.  We take the
513       approach of translating immediately before every use of yytoken.
514       One alternative is translating here after every semantic action,
515       but that translation would be missed if the semantic action
516       invokes YYABORT, YYACCEPT, or YYERROR immediately after altering
517       yychar.  In the case of YYABORT or YYACCEPT, an incorrect
518       destructor might then be invoked immediately.  In the case of
519       YYERROR, subsequent parser actions might lead to an incorrect
520       destructor call or verbose syntax error message before the
521       lookahead is translated.  */
522    YY_SYMBOL_PRINT ("-> $$ =", yyr1_[yyn], &yyval, &yyloc);
523
524    yypop_ (yylen);
525    yylen = 0;
526    YY_STACK_PRINT ();
527
528    yysemantic_stack_.push (yyval);
529    yylocation_stack_.push (yyloc);
530
531    /* Shift the result of the reduction.  */
532    yyn = yyr1_[yyn];
533    yystate = yypgoto_[yyn - yyntokens_] + yystate_stack_[0];
534    if (0 <= yystate && yystate <= yylast_
535        && yycheck_[yystate] == yystate_stack_[0])
536      yystate = yytable_[yystate];
537    else
538      yystate = yydefgoto_[yyn - yyntokens_];
539    goto yynewstate;
540
541  /*------------------------------------.
542  | yyerrlab -- here on detecting error |
543  `------------------------------------*/
544  yyerrlab:
545    /* Make sure we have latest lookahead translation.  See comments at
546       user semantic actions for why this is necessary.  */
547    yytoken = yytranslate_ (yychar);
548
549    /* If not already recovering from an error, report this error.  */
550    if (!yyerrstatus_)
551      {
552        ++yynerrs_;
553        if (yychar == yyempty_)
554          yytoken = yyempty_;
555        error (yylloc, yysyntax_error_ (yystate, yytoken));
556      }
557
558    yyerror_range[1] = yylloc;
559    if (yyerrstatus_ == 3)
560      {
561        /* If just tried and failed to reuse lookahead token after an
562           error, discard it.  */
563        if (yychar <= yyeof_)
564          {
565            /* Return failure if at end of input.  */
566            if (yychar == yyeof_)
567              YYABORT;
568          }
569        else
570          {
571            yydestruct_ ("Error: discarding", yytoken, &yylval, &yylloc);
572            yychar = yyempty_;
573          }
574      }
575
576    /* Else will try to reuse lookahead token after shifting the error
577       token.  */
578    goto yyerrlab1;
579
580
581  /*---------------------------------------------------.
582  | yyerrorlab -- error raised explicitly by YYERROR.  |
583  `---------------------------------------------------*/
584  yyerrorlab:
585
586    /* Pacify compilers like GCC when the user code never invokes
587       YYERROR and the label yyerrorlab therefore never appears in user
588       code.  */
589    if (false)
590      goto yyerrorlab;
591
592    yyerror_range[1] = yylocation_stack_[yylen - 1];
593    /* Do not reclaim the symbols of the rule which action triggered
594       this YYERROR.  */
595    yypop_ (yylen);
596    yylen = 0;
597    yystate = yystate_stack_[0];
598    goto yyerrlab1;
599
600  /*-------------------------------------------------------------.
601  | yyerrlab1 -- common code for both syntax error and YYERROR.  |
602  `-------------------------------------------------------------*/
603  yyerrlab1:
604    yyerrstatus_ = 3;   /* Each real token shifted decrements this.  */
605
606    for (;;)
607      {
608        yyn = yypact_[yystate];
609        if (!yy_pact_value_is_default_ (yyn))
610        {
611          yyn += yyterror_;
612          if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] == yyterror_)
613            {
614              yyn = yytable_[yyn];
615              if (0 < yyn)
616                break;
617            }
618        }
619
620        /* Pop the current state because it cannot handle the error token.  */
621        if (yystate_stack_.height () == 1)
622          YYABORT;
623
624        yyerror_range[1] = yylocation_stack_[0];
625        yydestruct_ ("Error: popping",
626                     yystos_[yystate],
627                     &yysemantic_stack_[0], &yylocation_stack_[0]);
628        yypop_ ();
629        yystate = yystate_stack_[0];
630        YY_STACK_PRINT ();
631      }
632
633    yyerror_range[2] = yylloc;
634    // Using YYLLOC is tempting, but would change the location of
635    // the lookahead.  YYLOC is available though.
636    YYLLOC_DEFAULT (yyloc, yyerror_range, 2);
637    yysemantic_stack_.push (yylval);
638    yylocation_stack_.push (yyloc);
639
640    /* Shift the error token.  */
641    YY_SYMBOL_PRINT ("Shifting", yystos_[yyn],
642                     &yysemantic_stack_[0], &yylocation_stack_[0]);
643
644    yystate = yyn;
645    goto yynewstate;
646
647    /* Accept.  */
648  yyacceptlab:
649    yyresult = 0;
650    goto yyreturn;
651
652    /* Abort.  */
653  yyabortlab:
654    yyresult = 1;
655    goto yyreturn;
656
657  yyreturn:
658    if (yychar != yyempty_)
659      {
660        /* Make sure we have latest lookahead translation.  See comments
661           at user semantic actions for why this is necessary.  */
662        yytoken = yytranslate_ (yychar);
663        yydestruct_ ("Cleanup: discarding lookahead", yytoken, &yylval,
664                     &yylloc);
665      }
666
667    /* Do not reclaim the symbols of the rule which action triggered
668       this YYABORT or YYACCEPT.  */
669    yypop_ (yylen);
670    while (1 < yystate_stack_.height ())
671      {
672        yydestruct_ ("Cleanup: popping",
673                     yystos_[yystate_stack_[0]],
674                     &yysemantic_stack_[0],
675                     &yylocation_stack_[0]);
676        yypop_ ();
677      }
678
679    return yyresult;
680    }
681    catch (...)
682      {
683        YYCDEBUG << "Exception caught: cleaning lookahead and stack"
684                 << std::endl;
685        // Do not try to display the values of the reclaimed symbols,
686        // as their printer might throw an exception.
687        if (yychar != yyempty_)
688          {
689            /* Make sure we have latest lookahead translation.  See
690               comments at user semantic actions for why this is
691               necessary.  */
692            yytoken = yytranslate_ (yychar);
693            yydestruct_ (YY_NULL, yytoken, &yylval, &yylloc);
694          }
695
696        while (1 < yystate_stack_.height ())
697          {
698            yydestruct_ (YY_NULL,
699                         yystos_[yystate_stack_[0]],
700                         &yysemantic_stack_[0],
701                         &yylocation_stack_[0]);
702            yypop_ ();
703          }
704        throw;
705      }
706  }
707
708  // Generate an error message.
709  std::string
710  LolFxParser::yysyntax_error_ (int yystate, int yytoken)
711  {
712    std::string yyres;
713    // Number of reported tokens (one for the "unexpected", one per
714    // "expected").
715    size_t yycount = 0;
716    // Its maximum.
717    enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
718    // Arguments of yyformat.
719    char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
720
721    /* There are many possibilities here to consider:
722       - If this state is a consistent state with a default action, then
723         the only way this function was invoked is if the default action
724         is an error action.  In that case, don't check for expected
725         tokens because there are none.
726       - The only way there can be no lookahead present (in yytoken) is
727         if this state is a consistent state with a default action.
728         Thus, detecting the absence of a lookahead is sufficient to
729         determine that there is no unexpected or expected token to
730         report.  In that case, just report a simple "syntax error".
731       - Don't assume there isn't a lookahead just because this state is
732         a consistent state with a default action.  There might have
733         been a previous inconsistent state, consistent state with a
734         non-default action, or user semantic action that manipulated
735         yychar.
736       - Of course, the expected token list depends on states to have
737         correct lookahead information, and it depends on the parser not
738         to perform extra reductions after fetching a lookahead from the
739         scanner and before detecting a syntax error.  Thus, state
740         merging (from LALR or IELR) and default reductions corrupt the
741         expected token list.  However, the list is correct for
742         canonical LR with one exception: it will still contain any
743         token that will not be accepted due to an error action in a
744         later state.
745    */
746    if (yytoken != yyempty_)
747      {
748        yyarg[yycount++] = yytname_[yytoken];
749        int yyn = yypact_[yystate];
750        if (!yy_pact_value_is_default_ (yyn))
751          {
752            /* Start YYX at -YYN if negative to avoid negative indexes in
753               YYCHECK.  In other words, skip the first -YYN actions for
754               this state because they are default actions.  */
755            int yyxbegin = yyn < 0 ? -yyn : 0;
756            /* Stay within bounds of both yycheck and yytname.  */
757            int yychecklim = yylast_ - yyn + 1;
758            int yyxend = yychecklim < yyntokens_ ? yychecklim : yyntokens_;
759            for (int yyx = yyxbegin; yyx < yyxend; ++yyx)
760              if (yycheck_[yyx + yyn] == yyx && yyx != yyterror_
761                  && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
762                {
763                  if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
764                    {
765                      yycount = 1;
766                      break;
767                    }
768                  else
769                    yyarg[yycount++] = yytname_[yyx];
770                }
771          }
772      }
773
774    char const* yyformat = YY_NULL;
775    switch (yycount)
776      {
777#define YYCASE_(N, S)                         \
778        case N:                               \
779          yyformat = S;                       \
780        break
781        YYCASE_(0, YY_("syntax error"));
782        YYCASE_(1, YY_("syntax error, unexpected %s"));
783        YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
784        YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
785        YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
786        YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
787#undef YYCASE_
788      }
789
790    // Argument number.
791    size_t yyi = 0;
792    for (char const* yyp = yyformat; *yyp; ++yyp)
793      if (yyp[0] == '%' && yyp[1] == 's' && yyi < yycount)
794        {
795          yyres += yytnamerr_ (yyarg[yyi++]);
796          ++yyp;
797        }
798      else
799        yyres += *yyp;
800    return yyres;
801  }
802
803
804  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
805     STATE-NUM.  */
806  const short int LolFxParser::yypact_ninf_ = -559;
807  const short int
808  LolFxParser::yypact_[] =
809  {
810      -211,   121,   121,    20,  -559,  -211,  -559,  -559,  9558,  -559,
811    -559,  -413,  -559,  -397,  -385,  -559,  -559,  -559,   -65,     5,
812    -559,  -559,  -389,   121,  -559,  -559,  -559,   168,  -559,  -559,
813    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
814    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
815    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
816    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
817    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
818    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
819    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
820    -559,  -559,  -559,  -559,  -559,  -559,     7,  -559,  -559,  -559,
821    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,    -2,  -559,
822    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
823    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
824    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
825    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
826    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
827    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
828    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
829    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
830    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
831    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
832    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
833    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
834    -559,  -559,  -559,  -559,  -559,  -402,  -384,  -375,    -9,  -370,
835    -559,   121,    68,   216,   216,  7763,  -559,  -559,  -559,  -367,
836    -559, 10396,  -559,  9558,  -559,  -559,   -99,  -559,   121,  -559,
837    -559,  -559,  -559,   121,  -559, 10396,  -559,  -559,  9917,  -329,
838     621,  -559,  -559,  -559,    36,  -559,  -559,  -559,  -559,  -559,
839    -559,  -559,  -559,  -363, 10037,  -559,    28,  -559,   121,  -340,
840     216,  -559,  -559,  -559,  -559,  -323,  -559,  4199,  -559,  -559,
841     121,  -317,   -99,  -559,  -310,  -292,  -559,  -301,  -559, 10037,
842     121,  8183,  -559,  9917,  -559,  -559,  -559,  -559,  -302,  -300,
843    -293,  6893,  -289,  -299,  -276,  2417,  -273,  -251,  4648,  -230,
844    -223,  6893,  6893,  1070,  -559,  -559,  6893,  -559,  -559,  -559,
845    -559,  -559,  -559,  -559,  -379,  -559,  -559,  -559,  -258,  -288,
846    7328,  -219,  -134,  6893,  -233,  -282,  -245,  -388,  -239,  -227,
847    -224,  -220,  -175,  -173,  -399,  -559,  -559,  -364,  -559,  -180,
848    -193,  -559,  -559,  -559,  -559,  1519,  -559,  -559,  -559,  -559,
849    -559,  -559,  -559,   121,  -559,  -559,   121, 10037,  -260,  6893,
850    5097,  -559,  -559,  9917,  -559,  -559,  -559,  -178,  -559,  -169,
851    -559,  -559,   267,  -559,   121,  -559,   121,  -162,  -362,  -559,
852    -559,  -559,  8602,  -559,  -421,  -559,  -559,  -559,   155,  3315,
853    6893,  -559,  -356,  6893,  3764,  -559,  -559,  -559,  1968,  -256,
854    -559,  -559,  6893,  9438,  -559,  -559,  6893,  -159,  -559,  -559,
855    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
856    -559,  6893,  -559,  6893,  6893,  6893,  6893,  6893,  6893,  6893,
857    6893,  6893,  6893,  6893,  6893,  6893,  6893,  6893,  6893,  6893,
858    6893,  6893,  6893,  -559,  6893,  -559,  -559,  -559,  -154,  -559,
859    -559,  6893,  5546,  -559,  -559,  -152,  -143,  9021,  -559,    -5,
860    -559,  -559,  -353,  5995,  -559,   121,  -559,  -559,  -144,  -559,
861    -559,  3764,  -214,  -559,  -204,  -145,   121, 10037,  -138,  -559,
862    -559,  -140,  -145,  -302,  -559,  -559,  -559,  -559,  -559,  -559,
863    -559,  -233,  -233,  -282,  -282,  -245,  -245,  -245,  -245,  -388,
864    -388,  -239,  -227,  -224,  -220,  -175,  -173,  -416,  -559,  6893,
865    -559,  -132,  -133,  6893,  -129,    -6,  -197,  -127,  -122,  -121,
866    -120,  -119,  -117,  -559,  -114,    -5,  -559,  -559,  -113,  -559,
867    6893,  -559,  -118,  -115,  2417,  -109,  -108,  2866,  -559,  6893,
868    -107,  6893,  -104,  -559,  6893,  -559,  -354,    40,   330,   331,
869     334,   335,   336,   341,   339,  -559,  -559,  -559,  -188,  6893,
870    2866,   230,  -559,  2417,  6893,  -559,  -559,  -559,  -559,  -559,
871    -559,  6893,  -559,  -559,  6444,   -92,   -91,   -90,   -89,   -88,
872     -87,   -86,   -85,   -83,   -82,   -84,   -80,   -79,  -145,  -559,
873    2417,  2417,   -77,  -559,  -559,   -76,   -78,  -559,  -559,  -559,
874    -559,  -559,   -75,  -559,  -559,  -559,  -559,   -74,  -559,  -559,
875    -559,  -559,  -559,   -72,   102,    22,  -559,   -71,   -70,   -69,
876     -68,  -559,  -559,  -559,  -559
877  };
878
879  /* YYDEFACT[S] -- default reduction number in state S.  Performed when
880     YYTABLE doesn't specify something else to do.  Zero means the
881     default is an error.  */
882  const unsigned short int
883  LolFxParser::yydefact_[] =
884  {
885         0,     0,     0,     0,   197,   198,   200,   201,     0,   204,
886     203,     0,   229,     0,   228,     1,   199,   410,     0,     0,
887     363,   362,     0,   361,   411,   412,   413,     0,   389,   390,
888       2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
889      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
890      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
891      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
892      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
893      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
894      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
895      72,    73,    74,    75,    76,   403,     0,   379,   400,   399,
896     380,   401,   364,   381,   405,   406,   407,   408,     0,   402,
897     388,   398,    77,    78,    79,    80,    81,    82,    83,    84,
898      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
899      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
900     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
901     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
902     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
903     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
904     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
905     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
906     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
907     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
908     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
909     195,   196,   404,   397,   473,     0,     0,   323,   337,     0,
910     344,   351,   378,   375,   372,     0,   371,   359,   391,   393,
911     396,     0,   409,   225,   470,   472,     0,   226,     0,   384,
912     385,   386,   387,     0,   358,     0,   382,   383,     0,     0,
913       0,   313,   474,   321,   337,   341,   342,   370,   338,   340,
914     339,   336,   324,   330,     0,   335,   337,   314,     0,   352,
915       0,   376,   374,   373,   320,     0,   360,     0,   392,   471,
916       0,     0,   205,   227,   368,     0,   366,     0,   361,     0,
917       0,     0,   416,     0,   235,   232,   233,   234,   204,   203,
918       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
919       0,     0,     0,     0,   440,   444,     0,   261,   262,   263,
920     264,   230,   231,   237,   257,   239,   244,   245,     0,     0,
921     250,     0,   265,     0,   269,   272,   275,   280,   283,   285,
922     287,   289,   291,   293,   295,   297,   310,     0,   426,     0,
923     359,   429,   442,   428,   427,     0,   430,   431,   432,   433,
924     434,   435,   325,     0,   332,   334,   343,     0,   345,     0,
925       0,   326,   377,     0,   394,   265,   312,     0,   254,     0,
926     202,   206,     0,   365,     0,   315,     0,   422,     0,   420,
927     415,   417,     0,   466,     0,   465,   455,   469,     0,     0,
928       0,   467,     0,     0,     0,   258,   259,   436,     0,     0,
929     241,   242,     0,     0,   248,   247,     0,   398,   251,   253,
930     300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
931     299,     0,   260,     0,     0,     0,     0,     0,     0,     0,
932       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
933       0,     0,     0,   445,     0,   441,   443,   329,   327,   331,
934     333,     0,     0,   425,   357,   353,     0,     0,   395,     0,
935     369,   367,     0,     0,   418,     0,   414,   454,     0,   460,
936     459,   462,     0,   468,     0,   449,     0,     0,     0,   437,
937     236,     0,   243,   240,   255,   246,   252,   298,   266,   267,
938     268,   270,   271,   273,   274,   278,   279,   276,   277,   281,
939     282,   284,   286,   288,   290,   292,   294,     0,   311,     0,
940     350,   346,     0,     0,   354,     0,     0,     0,     0,     0,
941       0,     0,     0,   210,     0,   208,   419,   423,     0,   421,
942       0,   461,     0,     0,     0,     0,     0,     0,   238,     0,
943       0,     0,   347,   355,     0,   316,     0,     0,     0,     0,
944       0,     0,     0,     0,     0,   207,   209,   424,     0,   463,
945       0,   448,   446,   452,     0,   439,   456,   438,   296,   328,
946     348,     0,   356,   317,     0,     0,     0,     0,     0,     0,
947       0,     0,     0,     0,     0,     0,     0,     0,   464,   458,
948       0,   453,     0,   450,   349,     0,     0,   213,   212,   211,
949     214,   215,     0,   220,   221,   222,   223,     0,   224,   457,
950     447,   451,   318,     0,     0,     0,   319,     0,     0,     0,
951       0,   217,   216,   218,   219
952  };
953
954  /* YYPGOTO[NTERM-NUM].  */
955  const short int
956  LolFxParser::yypgoto_[] =
957  {
958      -559,  -559,  -559,  -559,   348,  -559,  -559,     6,    51,  -559,
959    -192,  -559,  -559,  -559,   106,  -559,  -559,  -559,  -559,  -559,
960    -559,  -559,   -67,  -559,  -559,  -559,  -559,  -268,  -559,  -199,
961    -184,  -336,  -212,  -101,   -98,  -100,   -97,   -96,   -95,  -559,
962    -274,  -328,  -559,  -322,  -378,     3,    10,  -559,  -559,  -559,
963     -17,    97,  -559,    87,  -559,   -12,  -559,  -559,  -419,  -559,
964     135,  -559,  -559,   -26,  -559,  -257,  -200,    -8,  -206,  -559,
965    -559,   363,  -559,  -306,  -280,   -25,  -112,  -454,   -37,  -325,
966    -558,  -559,  -203,   149,  -339,   -33,  -559,  -559,  -111,  -559,
967    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,   138,  -559
968  };
969
970  /* YYDEFGOTO[NTERM-NUM].  */
971  const short int
972  LolFxParser::yydefgoto_[] =
973  {
974        -1,   242,   243,     3,     4,     5,     6,   351,   311,   312,
975     564,   565,     7,     8,    13,    14,   352,   353,   354,   521,
976     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
977     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
978     375,   376,   461,   377,   407,   378,   379,   246,   247,   248,
979     394,   292,   293,   294,   295,   395,   249,   250,   251,   252,
980     253,   254,   315,   316,   296,   255,   256,   408,   258,   259,
981     260,   261,   262,   321,   322,   418,   419,   494,   381,   382,
982     383,   384,   606,   607,   385,   386,   387,   602,   518,   388,
983     632,   389,   390,   511,   572,   573,   391,   263,   264,   265
984  };
985
986  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
987     positive, shift that token.  If negative, reduce the rule which
988     number is the opposite.  If YYTABLE_NINF_, syntax error.  */
989  const short int LolFxParser::yytable_ninf_ = -323;
990  const short int
991  LolFxParser::yytable_[] =
992  {
993       257,     9,    10,   556,   438,     9,    10,    11,    12,   424,
994     428,   244,   285,   286,     1,   516,   432,   422,   245,   605,
995      15,   319,   496,   481,   439,   266,   484,   470,   471,   274,
996     659,   484,   448,   406,   440,   441,   280,   550,   281,   405,
997     507,   421,   605,   615,   616,   579,   267,   269,   617,   285,
998     286,   270,   301,   302,   303,   308,   273,   285,   286,   268,
999     486,   482,   283,   442,   319,   443,   319,   472,   473,   317,
1000     297,   493,   284,   435,   436,   307,   483,   298,   504,    18,
1001      19,    20,    21,   484,   513,   505,   613,   566,   614,    28,
1002      29,   484,   516,   287,   505,   462,   310,   497,   393,   583,
1003     402,   399,   400,   288,   289,   401,   657,   290,   512,   323,
1004     658,   514,   515,   486,   552,   403,   291,   271,   526,   276,
1005     522,   272,   410,   277,   279,   568,   406,   610,     9,    10,
1006     612,   412,   405,   527,   535,   536,   537,   538,   287,   415,
1007     288,   289,   421,  -256,   290,  -255,   319,   423,   288,   289,
1008     633,   425,   290,   291,   413,   414,   548,   634,   445,   446,
1009     547,   291,   426,   493,   427,   319,   466,   467,   557,   106,
1010     107,   580,   429,   558,   468,   469,   559,   517,   474,   475,
1011     110,   491,   492,   112,   113,    24,    25,    26,   444,   515,
1012     520,   484,   560,   120,   430,   528,   529,   530,   405,   405,
1013     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
1014     405,   405,   405,   405,   660,   433,   618,   421,   406,   463,
1015     464,   465,   434,   561,   405,   493,   449,    18,    19,   406,
1016     476,     2,   574,   484,   477,   405,   636,    28,    29,   478,
1017     319,   562,   575,   484,   587,   588,   479,   306,   598,   601,
1018     480,   608,  -254,   493,   517,   257,   493,   299,   627,   484,
1019     281,   305,   539,   540,   631,   498,   244,   531,   532,   499,
1020     320,   500,   380,   245,    12,   406,   493,   628,   619,   314,
1021     503,   405,   508,   493,   533,   534,   396,  -249,   549,   553,
1022     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
1023     554,   570,   484,   578,   398,   650,   486,   460,   577,   581,
1024     582,   416,   584,   320,   589,   320,   409,   106,   107,   590,
1025     591,   592,   599,   593,   594,   595,   417,   380,   110,   603,
1026     597,   600,   113,   604,   620,   380,   609,   611,   630,   621,
1027     406,   120,   622,   623,   624,   625,   405,   626,   637,   638,
1028     639,   640,   641,    16,   643,   644,   642,   645,   646,   647,
1029     648,   649,   651,   411,   652,   653,   654,   655,   656,   661,
1030     662,   663,   664,   596,   313,   541,   525,   380,   543,   542,
1031     489,   392,   544,   397,   545,   490,   546,   300,   501,   396,
1032     275,   502,   509,   569,   282,   320,   510,   629,     0,   487,
1033     571,   309,   488,     0,     0,     0,     0,     0,     0,     0,
1034       0,     0,     0,     0,   320,     0,     0,     0,     0,     0,
1035     314,   380,   417,     0,     0,     0,   380,     0,     0,     0,
1036     380,     0,     0,     0,   585,   563,   278,  -322,     0,     0,
1037       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1038       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1039       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1040       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1041       0,     0,     0,     0,     0,     0,     0,     0,     0,   320,
1042       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1043       0,     0,     0,   380,     0,     0,     0,     0,     0,   306,
1044       0,   417,     0,     0,     0,     0,     0,     0,     0,     0,
1045       0,     0,   576,     0,     0,     0,     0,     0,     0,     0,
1046       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1047       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1048       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1049       0,   586,     0,     0,     0,     0,   380,     0,     0,   380,
1050       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1051       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1052       0,     0,   380,     0,     0,   380,     0,     0,     0,     0,
1053       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1054       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1055       0,     0,   380,   380,   324,   325,   326,   327,   328,   329,
1056      17,     0,    18,    19,    20,    21,    22,    23,    24,    25,
1057      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
1058      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
1059      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
1060      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
1061      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1062      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1063      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1064      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1065     330,   331,   106,   107,   332,   333,   334,   335,   108,     0,
1066     109,   336,   337,   110,     0,   111,   112,   113,   338,   114,
1067     115,   116,   117,   118,   339,   119,   120,   121,   340,     0,
1068       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1069       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1070       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1071       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1072       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1073       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1074       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1075       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1076       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1077       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1078       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1079       0,     0,     0,     0,     0,     0,     0,     0,     0,   122,
1080     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1081     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1082     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1083     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1084     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1085     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1086     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1087     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1088     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1089     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1090     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
1091     233,   234,   235,   236,   237,   238,   239,   240,   241,     0,
1092       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1093       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1094       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1095       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1096       0,     0,     0,     0,   341,   342,     0,     0,     0,     0,
1097       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1098       0,     0,     0,     0,     0,     0,     0,     0,     0,   343,
1099     344,   345,     0,     0,     0,     0,   346,     0,     0,   347,
1100     348,   349,   350,   324,   325,   326,   327,   328,   329,    17,
1101       0,    18,    19,    20,    21,    22,    23,    24,    25,    26,
1102      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
1103      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
1104      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
1105      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1106      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1107      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1108      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
1109      97,    98,    99,   100,   101,   102,   103,   104,   105,   330,
1110     331,   106,   107,   332,   333,   334,   335,   108,     0,   109,
1111     336,   337,   110,     0,   111,   112,   113,   338,   114,   115,
1112     116,   117,   118,   339,   119,   120,   121,   340,     0,     0,
1113       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1114       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1115       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1116       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1117       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1118       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1119       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1120       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1121       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1122       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1123       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1124       0,     0,     0,     0,     0,     0,     0,     0,   122,   123,
1125     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
1126     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
1127     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1128     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
1129     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1130     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1131     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1132     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1133     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1134     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1135     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
1136     234,   235,   236,   237,   238,   239,   240,   241,     0,     0,
1137       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1138       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1139       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1140       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1141       0,     0,     0,   341,   342,     0,     0,     0,     0,     0,
1142       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1143       0,     0,     0,     0,     0,     0,     0,     0,   343,   437,
1144     345,     0,     0,     0,     0,   346,     0,     0,   347,   348,
1145     349,   350,   324,   325,   326,   327,   328,   329,    17,     0,
1146      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1147      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
1148      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
1149      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
1150      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
1151      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1152      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1153      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1154      98,    99,   100,   101,   102,   103,   104,   105,   330,   331,
1155     106,   107,   332,   333,   334,   335,   108,     0,   109,   336,
1156     337,   110,     0,   111,   112,   113,   338,   114,   115,   116,
1157     117,   118,   339,   119,   120,   121,   340,     0,     0,     0,
1158       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1159       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1160       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1161       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1162       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1163       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1164       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1165       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1166       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1167       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1168       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1169       0,     0,     0,     0,     0,     0,     0,   122,   123,   124,
1170     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1171     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1172     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1173     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1174     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1175     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1176     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1177     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1178     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1179     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1180     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1181     235,   236,   237,   238,   239,   240,   241,     0,     0,     0,
1182       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1183       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1184       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1185       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1186       0,     0,   341,   342,     0,     0,     0,     0,     0,     0,
1187       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1188       0,     0,     0,     0,     0,     0,     0,   343,   485,   345,
1189       0,     0,     0,     0,   346,     0,     0,   347,   348,   349,
1190     350,   324,   325,   326,   327,   328,   329,    17,     0,    18,
1191      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1192      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
1193      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
1194      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
1195      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1196      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1197      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1198      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
1199      99,   100,   101,   102,   103,   104,   105,   330,   331,   106,
1200     107,   332,   333,   334,   335,   108,     0,   109,   336,   337,
1201     110,     0,   111,   112,   113,   338,   114,   115,   116,   117,
1202     118,   339,   119,   120,   121,   340,     0,     0,     0,     0,
1203       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1204       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1205       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1206       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1207       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1208       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1209       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1210       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1211       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1212       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1213       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1214       0,     0,     0,     0,     0,     0,   122,   123,   124,   125,
1215     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1216     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1217     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1218     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1219     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1220     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1221     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1222     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1223     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1224     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1225     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1226     236,   237,   238,   239,   240,   241,     0,     0,     0,     0,
1227       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1228       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1229       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1230       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1231       0,   341,   342,     0,     0,     0,     0,     0,     0,     0,
1232       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1233       0,     0,     0,     0,     0,     0,   343,   519,   345,     0,
1234       0,     0,     0,   346,     0,     0,   347,   348,   349,   350,
1235     324,   325,   326,   327,   328,   329,    17,     0,    18,    19,
1236      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1237      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
1238      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1239      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1240      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1241      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1242      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1243      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1244     100,   101,   102,   103,   104,   105,   330,   331,   106,   107,
1245     332,   333,   334,   335,   108,     0,   109,   336,   337,   110,
1246       0,   111,   112,   113,   338,   114,   115,   116,   117,   118,
1247     339,   119,   120,   121,   340,     0,     0,     0,     0,     0,
1248       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1249       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1250       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1251       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1252       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1253       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1254       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1255       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1256       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1257       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1258       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1259       0,     0,     0,     0,     0,   122,   123,   124,   125,   126,
1260     127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
1261     137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
1262     147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
1263     157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
1264     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1265     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1266     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1267     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1268     207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
1269     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
1270     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
1271     237,   238,   239,   240,   241,     0,     0,     0,     0,     0,
1272       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1273       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1274       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1275       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1276     341,   342,     0,     0,     0,     0,     0,     0,     0,     0,
1277       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1278       0,     0,     0,     0,     0,   343,     0,   345,     0,     0,
1279       0,     0,   346,     0,     0,   347,   348,   349,   350,   324,
1280     325,   326,   327,   328,   329,    17,     0,    18,    19,    20,
1281      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1282      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
1283      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
1284      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
1285      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1286      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1287      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1288      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1289     101,   102,   103,   104,   105,   330,   331,   106,   107,   332,
1290     333,   334,   335,   108,     0,   109,   336,   337,   110,     0,
1291     111,   112,   113,   338,   114,   115,   116,   117,   118,   339,
1292     119,   120,   121,   340,     0,     0,     0,     0,     0,     0,
1293       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1294       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1295       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1296       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1297       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1298       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1299       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1300       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1301       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1302       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1303       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1304       0,     0,     0,     0,   122,   123,   124,   125,   126,   127,
1305     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1306     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1307     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1308     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1309     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1310     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1311     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1312     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1313     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1314     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
1315     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1316     238,   239,   240,   241,     0,     0,     0,     0,     0,     0,
1317       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1318       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1319       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1320       0,     0,     0,     0,     0,     0,     0,     0,     0,   341,
1321     342,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1322       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1323       0,     0,     0,     0,   280,     0,   345,     0,     0,     0,
1324       0,   346,     0,     0,   347,   348,   349,   350,   324,   325,
1325     326,   327,   328,   329,    17,     0,    18,    19,    20,    21,
1326      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1327      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
1328      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1329      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1330      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1331      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1332      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1333      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1334     102,   103,   104,   105,     0,     0,   106,   107,     0,     0,
1335       0,     0,   108,     0,   109,     0,     0,   110,     0,   111,
1336     112,   113,     0,   114,   115,   116,   117,   118,     0,   119,
1337     120,   121,     0,     0,     0,     0,     0,     0,     0,     0,
1338       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1339       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1340       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1341       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1342       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1343       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1344       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1345       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1346       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1347       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1348       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1349       0,     0,     0,   122,   123,   124,   125,   126,   127,   128,
1350     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
1351     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
1352     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
1353     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
1354     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1355     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1356     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1357     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1358     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
1359     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
1360     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1361     239,   240,   241,     0,     0,     0,     0,     0,     0,     0,
1362       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1363       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1364       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1365       0,     0,     0,     0,     0,     0,     0,     0,   341,   342,
1366       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1367       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1368       0,     0,     0,     0,     0,   345,     0,     0,     0,     0,
1369     346,     0,     0,   347,   348,   349,   350,   324,   325,   326,
1370     327,   328,   329,    17,     0,    18,    19,    20,    21,    22,
1371     318,    24,    25,    26,     0,    28,    29,    30,    31,    32,
1372      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
1373      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
1374      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1375      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1376      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1377      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1378      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1379     103,   104,   105,     0,     0,   106,   107,     0,     0,     0,
1380       0,   108,     0,   109,     0,     0,   110,     0,   111,   112,
1381     113,     0,   114,   115,   116,   117,   118,     0,   119,   120,
1382     121,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1383       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1384       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1385       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1386       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1387       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1388       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1389       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1390       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1391       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1392       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1393       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1394       0,     0,   122,   123,   124,   125,   126,   127,   128,   129,
1395     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1396     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1397     150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1398     160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1399     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1400     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1401     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1402     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1403     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1404     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1405     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1406     240,   241,     0,     0,     0,     0,     0,     0,     0,     0,
1407       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1408       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1409       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1410       0,     0,     0,     0,     0,     0,     0,   341,   342,     0,
1411       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1412       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1413       0,     0,   324,   325,   326,   327,   328,   329,    17,   346,
1414       0,     0,   347,   348,   349,   350,    24,    25,    26,     0,
1415       0,     0,    30,    31,    32,    33,    34,    35,    36,    37,
1416      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
1417      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
1418      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
1419      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1420      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1421      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1422      98,    99,   100,   101,   102,   103,   104,   105,     0,     0,
1423       0,     0,     0,     0,     0,     0,   108,     0,   109,     0,
1424       0,     0,     0,   111,     0,     0,     0,   114,   115,   116,
1425     117,   118,     0,   119,     0,   121,     0,     0,     0,     0,
1426       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1427       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1428       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1429       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1430       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1431       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1432       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1433       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1434       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1435       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1436       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1437       0,     0,     0,     0,     0,     0,     0,   122,   123,   124,
1438     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1439     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1440     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1441     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1442     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1443     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1444     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1445     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1446     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1447     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1448     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1449     235,   236,   237,   238,   239,   240,   241,     0,     0,     0,
1450       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1451       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1452       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1453       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1454       0,     0,   341,   342,     0,     0,     0,     0,     0,     0,
1455       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1456       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1457       0,     0,   404,     0,   346,     0,     0,   347,   348,   349,
1458     350,   324,   325,   326,   327,   328,   329,    17,     0,     0,
1459       0,     0,     0,     0,     0,    24,    25,    26,     0,     0,
1460       0,    30,    31,    32,    33,    34,    35,    36,    37,    38,
1461      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
1462      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
1463      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1464      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1465      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1466      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
1467      99,   100,   101,   102,   103,   104,   105,     0,     0,     0,
1468       0,     0,     0,     0,     0,   108,     0,   109,     0,     0,
1469       0,     0,   111,     0,     0,     0,   114,   115,   116,   117,
1470     118,     0,   119,     0,   121,     0,     0,     0,     0,     0,
1471       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1472       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1473       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1474       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1475       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1476       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1477       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1478       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1479       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1480       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1481       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1482       0,     0,     0,     0,     0,     0,   122,   123,   124,   125,
1483     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1484     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1485     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1486     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1487     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1488     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1489     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1490     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1491     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1492     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1493     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1494     236,   237,   238,   239,   240,   241,     0,     0,     0,     0,
1495       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1496       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1497       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1498       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1499       0,   341,   342,     0,     0,     0,     0,     0,     0,     0,
1500       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1501       0,     0,     0,     0,     0,     0,     0,     0,   431,     0,
1502       0,     0,     0,   346,     0,     0,   347,   348,   349,   350,
1503     324,   325,   326,   327,   328,   329,    17,     0,     0,     0,
1504       0,     0,     0,     0,    24,    25,    26,     0,     0,     0,
1505      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
1506      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1507      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1508      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1509      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1510      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1511      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1512     100,   101,   102,   103,   104,   105,     0,     0,     0,     0,
1513       0,     0,     0,     0,   108,     0,   109,     0,     0,     0,
1514       0,   111,     0,     0,     0,   114,   115,   116,   117,   118,
1515       0,   119,     0,   121,     0,     0,     0,     0,     0,     0,
1516       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1517       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1518       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1519       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1520       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1521       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1522       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1523       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1524       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1525       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1526       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1527       0,     0,     0,     0,     0,   122,   123,   124,   125,   126,
1528     127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
1529     137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
1530     147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
1531     157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
1532     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1533     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1534     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1535     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1536     207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
1537     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
1538     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
1539     237,   238,   239,   240,   241,     0,     0,     0,     0,     0,
1540       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1541       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1542       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1543       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1544     341,   342,     0,     0,     0,     0,     0,     0,     0,     0,
1545       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1546       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1547     495,     0,   346,     0,     0,   347,   348,   349,   350,   324,
1548     325,   326,   327,   328,   329,    17,     0,     0,     0,     0,
1549       0,     0,     0,    24,    25,    26,     0,     0,     0,    30,
1550      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
1551      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
1552      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
1553      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1554      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1555      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1556      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1557     101,   102,   103,   104,   105,     0,     0,     0,     0,     0,
1558       0,     0,     0,   108,     0,   109,     0,     0,     0,     0,
1559     111,     0,     0,     0,   114,   115,   116,   117,   118,     0,
1560     119,     0,   121,     0,     0,     0,     0,     0,     0,     0,
1561       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1562       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1563       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1564       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1565       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1566       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1567       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1568       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1569       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1570       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1571       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1572       0,     0,     0,     0,   122,   123,   124,   125,   126,   127,
1573     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1574     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1575     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1576     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1577     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1578     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1579     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1580     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1581     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1582     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
1583     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1584     238,   239,   240,   241,     0,     0,     0,     0,     0,     0,
1585       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1586       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1587       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1588       0,     0,     0,     0,     0,     0,     0,     0,     0,   341,
1589     342,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1590       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1591       0,     0,     0,     0,     0,     0,     0,     0,     0,   551,
1592       0,   346,     0,     0,   347,   348,   349,   350,   324,   325,
1593     326,   327,   328,   329,    17,     0,     0,     0,     0,     0,
1594       0,     0,    24,    25,    26,     0,     0,     0,    30,    31,
1595      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
1596      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1597      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1598      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1599      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1600      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1601      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1602     102,   103,   104,   105,     0,     0,     0,     0,     0,     0,
1603       0,     0,   108,     0,   109,     0,     0,     0,     0,   111,
1604       0,     0,     0,   114,   115,   116,   117,   118,     0,   119,
1605       0,   121,     0,     0,     0,     0,     0,     0,     0,     0,
1606       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1607       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1608       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1609       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1610       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1611       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1612       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1613       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1614       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1615       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1616       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1617       0,     0,     0,   122,   123,   124,   125,   126,   127,   128,
1618     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
1619     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
1620     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
1621     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
1622     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1623     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1624     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1625     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1626     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
1627     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
1628     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1629     239,   240,   241,     0,     0,     0,     0,     0,     0,     0,
1630       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1631       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1632       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1633       0,     0,     0,     0,     0,     0,     0,     0,   341,   342,
1634       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1635       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1636       0,     0,     0,     0,     0,     0,     0,     0,   567,     0,
1637     346,     0,     0,   347,   348,   349,   350,   324,   325,   326,
1638     327,   328,   329,    17,     0,     0,     0,     0,     0,     0,
1639       0,    24,    25,    26,     0,     0,     0,    30,    31,    32,
1640      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
1641      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
1642      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1643      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1644      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1645      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1646      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1647     103,   104,   105,     0,     0,     0,     0,     0,     0,     0,
1648       0,   108,     0,   109,     0,     0,     0,     0,   111,     0,
1649       0,     0,   114,   115,   116,   117,   118,     0,   119,     0,
1650     121,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1651       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1652       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1653       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1654       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1655       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1656       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1657       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1658       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1659       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1660       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1661       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1662       0,     0,   122,   123,   124,   125,   126,   127,   128,   129,
1663     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1664     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1665     150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1666     160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1667     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1668     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1669     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1670     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1671     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1672     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1673     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1674     240,   241,     0,     0,     0,     0,     0,     0,     0,     0,
1675       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1676       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1677       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1678       0,     0,     0,     0,     0,     0,     0,   341,   342,     0,
1679       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1680       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1681       0,     0,     0,     0,     0,     0,     0,   635,     0,   346,
1682       0,     0,   347,   348,   349,   350,   324,   325,   326,   327,
1683     328,   329,    17,     0,     0,     0,     0,     0,     0,     0,
1684      24,    25,    26,     0,     0,     0,    30,    31,    32,    33,
1685      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1686      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1687      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1688      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1689      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1690      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1691      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1692     104,   105,     0,     0,     0,     0,     0,     0,     0,     0,
1693     108,     0,   109,     0,     0,     0,     0,   111,     0,     0,
1694       0,   114,   115,   116,   117,   118,     0,   119,     0,   121,
1695       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1696       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1697       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1698       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1699       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1700       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1701       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1702       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1703       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1704       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1705       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1706       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1707       0,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1708     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1709     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1710     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1711     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1712     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1713     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1714     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1715     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1716     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1717     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
1718     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1719     241,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1720       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1721       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1722       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1723       0,     0,     0,     0,     0,     0,   341,   342,     0,     0,
1724       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1725       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1726       0,   324,   325,   326,   327,   328,   329,    17,   346,     0,
1727       0,   347,   348,   349,   350,    24,    25,    26,     0,     0,
1728       0,    30,    31,    32,    33,    34,    35,    36,    37,    38,
1729      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
1730      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
1731      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1732      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1733      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1734      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
1735      99,   100,   101,   102,   103,   104,   105,     0,     0,     0,
1736       0,     0,     0,     0,     0,   108,     0,   109,     0,     0,
1737       0,     0,   111,     0,     0,     0,   114,   115,   116,   117,
1738     118,     0,   119,     0,   447,     0,     0,     0,     0,     0,
1739       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1740       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1741       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1742       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1743       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1744       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1745       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1746       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1747       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1748       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1749       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1750       0,     0,     0,     0,     0,     0,   122,   123,   124,   125,
1751     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1752     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1753     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1754     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1755     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1756     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1757     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1758     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1759     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1760     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1761     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1762     236,   237,   238,   239,   240,   241,     0,     0,     0,     0,
1763       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1764       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1765       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1766       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1767       0,   341,   342,     0,     0,     0,     0,     0,     0,     0,
1768       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1769       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1770       9,    10,    17,   346,     0,     0,   347,   348,   349,   350,
1771      24,    25,    26,     0,     0,     0,    30,    31,    32,    33,
1772      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1773      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1774      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1775      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1776      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1777      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1778      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1779     104,   105,     0,     0,     0,     0,     0,     0,     0,     0,
1780     108,     0,   109,     0,     0,     0,     0,   111,     0,     0,
1781       0,   114,   115,   116,   117,   118,     0,   119,     0,   121,
1782       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1783       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1784       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1785       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1786       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1787       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1788       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1789       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1790       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1791       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1792       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1793       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1794       0,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1795     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1796     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1797     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1798     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1799     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1800     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1801     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1802     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1803     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1804     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
1805     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1806     241,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1807       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1808       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1809       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1810       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1811       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1812       0,     0,    17,     0,    18,    19,    20,    21,    22,   318,
1813      24,    25,    26,   304,    28,    29,    30,    31,    32,    33,
1814      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1815      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1816      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1817      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1818      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1819      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1820      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1821     104,   105,     0,     0,   106,   107,     0,     0,     0,     0,
1822     108,     0,   109,     0,     0,   110,     0,   111,   112,   113,
1823       0,   114,   115,   116,   117,   118,     0,   119,   120,   121,
1824       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1825       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1826       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1827       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1828       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1829       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1830       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1831       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1832       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1833       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1834       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1835       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1836       0,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1837     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1838     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1839     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1840     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1841     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1842     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1843     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1844     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1845     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1846     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
1847     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1848     241,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1849       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1850       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1851       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1852       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1853       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1854       0,    17,     0,    18,    19,    20,    21,    22,   318,    24,
1855      25,    26,   420,    28,    29,    30,    31,    32,    33,    34,
1856      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
1857      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1858      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1859      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1860      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1861      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1862      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1863     105,     0,     0,   106,   107,     0,     0,     0,     0,   108,
1864       0,   109,     0,     0,   110,     0,   111,   112,   113,     0,
1865     114,   115,   116,   117,   118,     0,   119,   120,   121,     0,
1866       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1867       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1868       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1869       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1870       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1871       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1872       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1873       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1874       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1875       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1876       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1877       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1878     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1879     132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1880     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1881     152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1882     162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1883     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1884     182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1885     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1886     202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1887     212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1888     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
1889     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1890       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1891       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1892       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1893       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1894       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1895       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1896      17,     0,    18,    19,    20,    21,    22,   318,    24,    25,
1897      26,   506,    28,    29,    30,    31,    32,    33,    34,    35,
1898      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
1899      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
1900      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
1901      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1902      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1903      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1904      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1905       0,     0,   106,   107,     0,     0,     0,     0,   108,     0,
1906     109,     0,     0,   110,     0,   111,   112,   113,     0,   114,
1907     115,   116,   117,   118,     0,   119,   120,   121,     0,     0,
1908       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1909       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1910       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1911       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1912       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1913       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1914       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1915       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1916       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1917       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1918       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1919       0,     0,     0,     0,     0,     0,     0,     0,     0,   122,
1920     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1921     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1922     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1923     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1924     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1925     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1926     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1927     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1928     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1929     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1930     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
1931     233,   234,   235,   236,   237,   238,   239,   240,   241,     0,
1932       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1933       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1934       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1935       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1936       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1937       0,     0,     0,     0,     0,   523,   524,    17,     0,     0,
1938       0,     0,     0,     0,     0,    24,    25,    26,     0,     0,
1939     555,    30,    31,    32,    33,    34,    35,    36,    37,    38,
1940      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
1941      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
1942      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1943      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1944      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1945      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
1946      99,   100,   101,   102,   103,   104,   105,     0,     0,     0,
1947       0,     0,     0,     0,     0,   108,     0,   109,     0,     0,
1948       0,     0,   111,     0,     0,     0,   114,   115,   116,   117,
1949     118,     0,   119,     0,   121,     0,     0,    17,     0,    18,
1950      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1951      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
1952      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
1953      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
1954      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1955      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1956      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1957      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
1958      99,   100,   101,   102,   103,   104,   105,     0,     0,   106,
1959     107,     0,     0,     0,     0,   108,     0,   109,     0,     0,
1960     110,     0,   111,   112,   113,     0,   114,   115,   116,   117,
1961     118,     0,   119,   120,   121,     0,   122,   123,   124,   125,
1962     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1963     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1964     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1965     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1966     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1967     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1968     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1969     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1970     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1971     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1972     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1973     236,   237,   238,   239,   240,   241,   122,   123,   124,   125,
1974     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1975     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1976     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1977     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1978     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1979     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1980     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1981     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1982     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1983     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1984     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1985     236,   237,   238,   239,   240,   241,    17,     0,    18,    19,
1986      20,    21,    22,   318,    24,    25,    26,     0,    28,    29,
1987      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
1988      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1989      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1990      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1991      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1992      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1993      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1994     100,   101,   102,   103,   104,   105,     0,     0,   106,   107,
1995       0,     0,     0,     0,   108,     0,   109,     0,     0,   110,
1996       0,   111,   112,   113,     0,   114,   115,   116,   117,   118,
1997       0,   119,   120,   121,     0,     0,    17,     0,     0,     0,
1998       0,     0,     0,     0,    24,    25,    26,     0,     0,     0,
1999      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
2000      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
2001      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
2002      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
2003      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
2004      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
2005      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
2006     100,   101,   102,   103,   104,   105,     0,     0,     0,     0,
2007       0,     0,     0,     0,   108,     0,   109,     0,     0,     0,
2008       0,   111,     0,     0,     0,   114,   115,   116,   117,   118,
2009       0,   119,     0,   121,     0,   122,   123,   124,   125,   126,
2010     127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2011     137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2012     147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2013     157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2014     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2015     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
2016     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
2017     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2018     207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2019     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
2020     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
2021     237,   238,   239,   240,   241,   122,   123,   124,   125,   126,
2022     127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2023     137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2024     147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2025     157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2026     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2027     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
2028     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
2029     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2030     207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2031     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
2032     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
2033     237,   238,   239,   240,   241,    17,     0,     0,     0,     0,
2034       0,     0,     0,     0,     0,     0,     0,     0,     0,    30,
2035      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
2036      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
2037      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
2038      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
2039      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
2040      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
2041      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
2042     101,   102,   103,   104,   105,     0,     0,     0,     0,     0,
2043       0,     0,     0,   108,     0,   109,     0,     0,     0,     0,
2044     111,     0,     0,     0,   114,   115,   116,   117,   118,     0,
2045     119,     0,   121,     0,     0,     0,     0,     0,     0,     0,
2046       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2047       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2048       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2049       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2050       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2051       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2052       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2053       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2054       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2055       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2056       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2057       0,     0,     0,     0,   122,   123,   124,   125,   126,   127,
2058     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
2059     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
2060     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
2061     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
2062     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
2063     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
2064     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
2065     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
2066     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
2067     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
2068     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
2069     238,   239,   240,   241
2070  };
2071
2072  /* YYCHECK.  */
2073  const short int
2074  LolFxParser::yycheck_[] =
2075  {
2076         8,     7,     8,     8,   343,     7,     8,     1,     2,   331,
2077     335,     8,    21,    22,   225,   434,   338,   323,     8,   577,
2078       0,   278,   400,   422,   346,   438,   447,   415,   416,    23,
2079       8,   447,   360,   307,   413,   414,   438,   491,   440,   307,
2080     461,   321,   600,     3,     4,   461,   443,   112,     8,    21,
2081      22,   116,   252,   253,   254,   261,   445,    21,    22,   444,
2082     385,   460,   446,   442,   321,   444,   323,   455,   456,   275,
2083     440,   399,   447,   341,   342,   442,   440,   447,   440,    11,
2084      12,    13,    14,   447,   440,   447,   440,   440,   442,    21,
2085      22,   447,   511,   102,   447,   363,   195,   403,   461,   553,
2086     300,   441,   442,   112,   113,   445,     4,   116,   430,   438,
2087       8,   433,   434,   438,   492,   438,   125,   112,   446,   112,
2088     442,   116,   439,   116,   118,   503,   400,   581,     7,     8,
2089     584,   441,   400,   461,   470,   471,   472,   473,   102,   440,
2090     112,   113,   422,   445,   116,   445,   403,   440,   112,   113,
2091     604,   440,   116,   125,   446,   447,   484,   611,   446,   447,
2092     482,   125,   461,   491,   440,   422,   448,   449,   173,   101,
2093     102,   549,   445,   178,   419,   420,   181,   434,   417,   418,
2094     112,   441,   442,   115,   116,    17,    18,    19,   446,   511,
2095     446,   447,   197,   125,   445,   463,   464,   465,   466,   467,
2096     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
2097     478,   479,   480,   481,   192,   445,   176,   497,   492,   452,
2098     453,   454,   445,   228,   492,   553,   445,    11,    12,   503,
2099     457,   442,   446,   447,   458,   503,   614,    21,    22,   459,
2100     497,   246,   446,   447,   441,   442,   421,   255,   570,   574,
2101     423,   579,   445,   581,   511,   263,   584,   251,   446,   447,
2102     440,   255,   474,   475,   603,   443,   263,   466,   467,   438,
2103     278,     4,   280,   263,   268,   549,   604,   599,   238,   273,
2104     442,   549,   127,   611,   468,   469,   294,   446,   442,   441,
2105     424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
2106     443,   445,   447,   443,   298,   630,   631,   441,   446,   441,
2107     443,   319,   441,   321,   441,   323,   310,   101,   102,   441,
2108     441,   441,   440,   442,   441,   439,   320,   335,   112,   438,
2109     443,   446,   116,   441,     4,   343,   443,   441,   108,     8,
2110     614,   125,     8,     8,     8,     4,   614,     8,   440,   440,
2111     440,   440,   440,     5,   440,   440,   443,   440,   440,   443,
2112     440,   440,   439,   312,   440,   443,   441,   441,   440,   440,
2113     440,   440,   440,   565,   268,   476,   443,   385,   478,   477,
2114     397,   284,   479,   296,   480,   397,   481,   252,   414,   397,
2115      27,   416,   429,   505,   245,   403,   429,   600,    -1,   393,
2116     511,   263,   396,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2117      -1,    -1,    -1,    -1,   422,    -1,    -1,    -1,    -1,    -1,
2118     414,   429,   416,    -1,    -1,    -1,   434,    -1,    -1,    -1,
2119     438,    -1,    -1,    -1,   440,   440,   438,   446,    -1,    -1,
2120      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2121      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2122      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2123      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2124      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   497,
2125      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2126      -1,    -1,    -1,   511,    -1,    -1,    -1,    -1,    -1,   517,
2127      -1,   505,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2128      -1,    -1,   516,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2129      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2130      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2131      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2132      -1,   555,    -1,    -1,    -1,    -1,   574,    -1,    -1,   577,
2133      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2134      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2135      -1,    -1,   600,    -1,    -1,   603,    -1,    -1,    -1,    -1,
2136      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2137      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2138      -1,    -1,   630,   631,     3,     4,     5,     6,     7,     8,
2139       9,    -1,    11,    12,    13,    14,    15,    16,    17,    18,
2140      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
2141      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
2142      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
2143      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
2144      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
2145      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
2146      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
2147      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
2148      99,   100,   101,   102,   103,   104,   105,   106,   107,    -1,
2149     109,   110,   111,   112,    -1,   114,   115,   116,   117,   118,
2150     119,   120,   121,   122,   123,   124,   125,   126,   127,    -1,
2151      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2152      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2153      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2154      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2155      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2156      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2157      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2158      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2159      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2160      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2161      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2162      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   248,
2163     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
2164     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
2165     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
2166     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
2167     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
2168     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
2169     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
2170     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
2171     329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
2172     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
2173     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
2174     359,   360,   361,   362,   363,   364,   365,   366,   367,    -1,
2175      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2176      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2177      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2178      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2179      -1,    -1,    -1,    -1,   413,   414,    -1,    -1,    -1,    -1,
2180      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2181      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   438,
2182     439,   440,    -1,    -1,    -1,    -1,   445,    -1,    -1,   448,
2183     449,   450,   451,     3,     4,     5,     6,     7,     8,     9,
2184      -1,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2185      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
2186      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
2187      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
2188      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
2189      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
2190      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
2191      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
2192      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
2193     100,   101,   102,   103,   104,   105,   106,   107,    -1,   109,
2194     110,   111,   112,    -1,   114,   115,   116,   117,   118,   119,
2195     120,   121,   122,   123,   124,   125,   126,   127,    -1,    -1,
2196      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2197      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2198      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2199      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2200      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2201      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2202      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2203      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2204      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2205      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2206      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2207      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   248,   249,
2208     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
2209     260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
2210     270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
2211     280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
2212     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
2213     300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
2214     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
2215     320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
2216     330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
2217     340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
2218     350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
2219     360,   361,   362,   363,   364,   365,   366,   367,    -1,    -1,
2220      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2221      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2222      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2223      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2224      -1,    -1,    -1,   413,   414,    -1,    -1,    -1,    -1,    -1,
2225      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2226      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   438,   439,
2227     440,    -1,    -1,    -1,    -1,   445,    -1,    -1,   448,   449,
2228     450,   451,     3,     4,     5,     6,     7,     8,     9,    -1,
2229      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
2230      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
2231      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
2232      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
2233      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
2234      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
2235      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
2236      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
2237      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
2238     101,   102,   103,   104,   105,   106,   107,    -1,   109,   110,
2239     111,   112,    -1,   114,   115,   116,   117,   118,   119,   120,
2240     121,   122,   123,   124,   125,   126,   127,    -1,    -1,    -1,
2241      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2242      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2243      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2244      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2245      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2246      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2247      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2248      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2249      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2250      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2251      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2252      -1,    -1,    -1,    -1,    -1,    -1,    -1,   248,   249,   250,
2253     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
2254     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
2255     271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
2256     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
2257     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
2258     301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
2259     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
2260     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
2261     331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
2262     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
2263     351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
2264     361,   362,   363,   364,   365,   366,   367,    -1,    -1,    -1,
2265      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2266      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2267      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2268      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2269      -1,    -1,   413,   414,    -1,    -1,    -1,    -1,    -1,    -1,
2270      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2271      -1,    -1,    -1,    -1,    -1,    -1,    -1,   438,   439,   440,
2272      -1,    -1,    -1,    -1,   445,    -1,    -1,   448,   449,   450,
2273     451,     3,     4,     5,     6,     7,     8,     9,    -1,    11,
2274      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2275      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2276      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
2277      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2278      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
2279      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2280      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
2281      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2282      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
2283     102,   103,   104,   105,   106,   107,    -1,   109,   110,   111,
2284     112,    -1,   114,   115,   116,   117,   118,   119,   120,   121,
2285     122,   123,   124,   125,   126,   127,    -1,    -1,    -1,    -1,
2286      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2287      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2288      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2289      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2290      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2291      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2292      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2293      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2294      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2295      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2296      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2297      -1,    -1,    -1,    -1,    -1,    -1,   248,   249,   250,   251,
2298     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
2299     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
2300     272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
2301     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
2302     292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
2303     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
2304     312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
2305     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
2306     332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
2307     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
2308     352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
2309     362,   363,   364,   365,   366,   367,    -1,    -1,    -1,    -1,
2310      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2311      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2312      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2313      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2314      -1,   413,   414,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2315      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2316      -1,    -1,    -1,    -1,    -1,    -1,   438,   439,   440,    -1,
2317      -1,    -1,    -1,   445,    -1,    -1,   448,   449,   450,   451,
2318       3,     4,     5,     6,     7,     8,     9,    -1,    11,    12,
2319      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
2320      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
2321      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
2322      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
2323      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
2324      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
2325      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
2326      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
2327      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
2328     103,   104,   105,   106,   107,    -1,   109,   110,   111,   112,
2329      -1,   114,   115,   116,   117,   118,   119,   120,   121,   122,
2330     123,   124,   125,   126,   127,    -1,    -1,    -1,    -1,    -1,
2331      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2332      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2333      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2334      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2335      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2336      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2337      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2338      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2339      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2340      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2341      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2342      -1,    -1,    -1,    -1,    -1,   248,   249,   250,   251,   252,
2343     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
2344     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
2345     273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
2346     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
2347     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
2348     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
2349     313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
2350     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
2351     333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
2352     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
2353     353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
2354     363,   364,   365,   366,   367,    -1,    -1,    -1,    -1,    -1,
2355      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2356      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2357      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2358      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2359     413,   414,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2360      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2361      -1,    -1,    -1,    -1,    -1,   438,    -1,   440,    -1,    -1,
2362      -1,    -1,   445,    -1,    -1,   448,   449,   450,   451,     3,
2363       4,     5,     6,     7,     8,     9,    -1,    11,    12,    13,
2364      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
2365      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
2366      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
2367      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
2368      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
2369      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
2370      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
2371      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
2372      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
2373     104,   105,   106,   107,    -1,   109,   110,   111,   112,    -1,
2374     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
2375     124,   125,   126,   127,    -1,    -1,    -1,    -1,    -1,    -1,
2376      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2377      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2378      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2379      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2380      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2381      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2382      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2383      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2384      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2385      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2386      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2387      -1,    -1,    -1,    -1,   248,   249,   250,   251,   252,   253,
2388     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
2389     264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
2390     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
2391     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
2392     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
2393     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
2394     314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
2395     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
2396     334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
2397     344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
2398     354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
2399     364,   365,   366,   367,    -1,    -1,    -1,    -1,    -1,    -1,
2400      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2401      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2402      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2403      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   413,
2404     414,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2405      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2406      -1,    -1,    -1,    -1,   438,    -1,   440,    -1,    -1,    -1,
2407      -1,   445,    -1,    -1,   448,   449,   450,   451,     3,     4,
2408       5,     6,     7,     8,     9,    -1,    11,    12,    13,    14,
2409      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
2410      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
2411      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
2412      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
2413      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
2414      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
2415      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
2416      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
2417      95,    96,    97,    98,    -1,    -1,   101,   102,    -1,    -1,
2418      -1,    -1,   107,    -1,   109,    -1,    -1,   112,    -1,   114,
2419     115,   116,    -1,   118,   119,   120,   121,   122,    -1,   124,
2420     125,   126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2421      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2422      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2423      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2424      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2425      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2426      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2427      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2428      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2429      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2430      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2431      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2432      -1,    -1,    -1,   248,   249,   250,   251,   252,   253,   254,
2433     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
2434     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
2435     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
2436     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
2437     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
2438     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
2439     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
2440     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
2441     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
2442     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
2443     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
2444     365,   366,   367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2445      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2446      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2447      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2448      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   413,   414,
2449      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2450      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2451      -1,    -1,    -1,    -1,    -1,   440,    -1,    -1,    -1,    -1,
2452     445,    -1,    -1,   448,   449,   450,   451,     3,     4,     5,
2453       6,     7,     8,     9,    -1,    11,    12,    13,    14,    15,
2454      16,    17,    18,    19,    -1,    21,    22,    23,    24,    25,
2455      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
2456      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
2457      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
2458      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
2459      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
2460      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
2461      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
2462      96,    97,    98,    -1,    -1,   101,   102,    -1,    -1,    -1,
2463      -1,   107,    -1,   109,    -1,    -1,   112,    -1,   114,   115,
2464     116,    -1,   118,   119,   120,   121,   122,    -1,   124,   125,
2465     126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2466      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2467      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2468      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2469      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2470      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2471      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2472      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2473      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2474      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2475      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2476      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2477      -1,    -1,   248,   249,   250,   251,   252,   253,   254,   255,
2478     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
2479     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
2480     276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
2481     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
2482     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
2483     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
2484     316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
2485     326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
2486     336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
2487     346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
2488     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
2489     366,   367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2490      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2491      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2492      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2493      -1,    -1,    -1,    -1,    -1,    -1,    -1,   413,   414,    -1,
2494      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2495      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2496      -1,    -1,     3,     4,     5,     6,     7,     8,     9,   445,
2497      -1,    -1,   448,   449,   450,   451,    17,    18,    19,    -1,
2498      -1,    -1,    23,    24,    25,    26,    27,    28,    29,    30,
2499      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
2500      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
2501      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
2502      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
2503      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
2504      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
2505      91,    92,    93,    94,    95,    96,    97,    98,    -1,    -1,
2506      -1,    -1,    -1,    -1,    -1,    -1,   107,    -1,   109,    -1,
2507      -1,    -1,    -1,   114,    -1,    -1,    -1,   118,   119,   120,
2508     121,   122,    -1,   124,    -1,   126,    -1,    -1,    -1,    -1,
2509      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2510      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2511      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2512      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2513      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2514      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2515      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2516      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2517      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2518      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2519      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2520      -1,    -1,    -1,    -1,    -1,    -1,    -1,   248,   249,   250,
2521     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
2522     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
2523     271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
2524     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
2525     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
2526     301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
2527     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
2528     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
2529     331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
2530     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
2531     351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
2532     361,   362,   363,   364,   365,   366,   367,    -1,    -1,    -1,
2533      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2534      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2535      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2536      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2537      -1,    -1,   413,   414,    -1,    -1,    -1,    -1,    -1,    -1,
2538      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2539      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2540      -1,    -1,   443,    -1,   445,    -1,    -1,   448,   449,   450,
2541     451,     3,     4,     5,     6,     7,     8,     9,    -1,    -1,
2542      -1,    -1,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,
2543      -1,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2544      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
2545      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2546      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
2547      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2548      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
2549      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2550      92,    93,    94,    95,    96,    97,    98,    -1,    -1,    -1,
2551      -1,    -1,    -1,    -1,    -1,   107,    -1,   109,    -1,    -1,
2552      -1,    -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,
2553     122,    -1,   124,    -1,   126,    -1,    -1,    -1,    -1,    -1,
2554      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2555      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2556      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2557      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2558      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2559      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2560      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2561      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2562      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2563      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2564      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2565      -1,    -1,    -1,    -1,    -1,    -1,   248,   249,   250,   251,
2566     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
2567     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
2568     272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
2569     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
2570     292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
2571     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
2572     312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
2573     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
2574     332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
2575     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
2576     352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
2577     362,   363,   364,   365,   366,   367,    -1,    -1,    -1,    -1,
2578      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2579      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2580      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2581      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2582      -1,   413,   414,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2583      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2584      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   440,    -1,
2585      -1,    -1,    -1,   445,    -1,    -1,   448,   449,   450,   451,
2586       3,     4,     5,     6,     7,     8,     9,    -1,    -1,    -1,
2587      -1,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
2588      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
2589      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
2590      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
2591      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
2592      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
2593      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
2594      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
2595      93,    94,    95,    96,    97,    98,    -1,    -1,    -1,    -1,
2596      -1,    -1,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
2597      -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,   122,
2598      -1,   124,    -1,   126,    -1,    -1,    -1,    -1,    -1,    -1,
2599      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2600      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2601      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2602      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2603      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2604      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2605      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2606      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2607      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2608      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2609      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2610      -1,    -1,    -1,    -1,    -1,   248,   249,   250,   251,   252,
2611     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
2612     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
2613     273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
2614     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
2615     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
2616     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
2617     313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
2618     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
2619     333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
2620     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
2621     353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
2622     363,   364,   365,   366,   367,    -1,    -1,    -1,    -1,    -1,
2623      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2624      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2625      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2626      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2627     413,   414,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2628      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2629      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2630     443,    -1,   445,    -1,    -1,   448,   449,   450,   451,     3,
2631       4,     5,     6,     7,     8,     9,    -1,    -1,    -1,    -1,
2632      -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,    23,
2633      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
2634      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
2635      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
2636      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
2637      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
2638      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
2639      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
2640      94,    95,    96,    97,    98,    -1,    -1,    -1,    -1,    -1,
2641      -1,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,    -1,
2642     114,    -1,    -1,    -1,   118,   119,   120,   121,   122,    -1,
2643     124,    -1,   126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2644      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2645      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2646      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2647      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2648      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2649      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2650      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2651      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2652      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2653      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2654      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2655      -1,    -1,    -1,    -1,   248,   249,   250,   251,   252,   253,
2656     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
2657     264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
2658     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
2659     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
2660     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
2661     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
2662     314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
2663     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
2664     334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
2665     344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
2666     354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
2667     364,   365,   366,   367,    -1,    -1,    -1,    -1,    -1,    -1,
2668      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2669      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2670      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2671      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   413,
2672     414,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2673      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2674      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   443,
2675      -1,   445,    -1,    -1,   448,   449,   450,   451,     3,     4,
2676       5,     6,     7,     8,     9,    -1,    -1,    -1,    -1,    -1,
2677      -1,    -1,    17,    18,    19,    -1,    -1,    -1,    23,    24,
2678      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
2679      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
2680      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
2681      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
2682      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
2683      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
2684      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
2685      95,    96,    97,    98,    -1,    -1,    -1,    -1,    -1,    -1,
2686      -1,    -1,   107,    -1,   109,    -1,    -1,    -1,    -1,   114,
2687      -1,    -1,    -1,   118,   119,   120,   121,   122,    -1,   124,
2688      -1,   126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2689      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2690      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2691      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2692      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2693      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2694      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2695      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2696      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2697      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2698      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2699      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2700      -1,    -1,    -1,   248,   249,   250,   251,   252,   253,   254,
2701     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
2702     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
2703     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
2704     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
2705     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
2706     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
2707     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
2708     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
2709     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
2710     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
2711     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
2712     365,   366,   367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2713      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2714      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2715      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2716      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   413,   414,
2717      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2718      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2719      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   443,    -1,
2720     445,    -1,    -1,   448,   449,   450,   451,     3,     4,     5,
2721       6,     7,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
2722      -1,    17,    18,    19,    -1,    -1,    -1,    23,    24,    25,
2723      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
2724      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
2725      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
2726      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
2727      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
2728      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
2729      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
2730      96,    97,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2731      -1,   107,    -1,   109,    -1,    -1,    -1,    -1,   114,    -1,
2732      -1,    -1,   118,   119,   120,   121,   122,    -1,   124,    -1,
2733     126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2734      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2735      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2736      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2737      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2738      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2739      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2740      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2741      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2742      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2743      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2744      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2745      -1,    -1,   248,   249,   250,   251,   252,   253,   254,   255,
2746     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
2747     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
2748     276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
2749     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
2750     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
2751     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
2752     316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
2753     326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
2754     336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
2755     346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
2756     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
2757     366,   367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2758      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2759      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2760      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2761      -1,    -1,    -1,    -1,    -1,    -1,    -1,   413,   414,    -1,
2762      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2763      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2764      -1,    -1,    -1,    -1,    -1,    -1,    -1,   443,    -1,   445,
2765      -1,    -1,   448,   449,   450,   451,     3,     4,     5,     6,
2766       7,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2767      17,    18,    19,    -1,    -1,    -1,    23,    24,    25,    26,
2768      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
2769      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
2770      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
2771      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
2772      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
2773      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
2774      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
2775      97,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2776     107,    -1,   109,    -1,    -1,    -1,    -1,   114,    -1,    -1,
2777      -1,   118,   119,   120,   121,   122,    -1,   124,    -1,   126,
2778      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2779      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2780      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2781      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2782      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2783      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2784      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2785      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2786      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2787      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2788      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2789      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2790      -1,   248,   249,   250,   251,   252,   253,   254,   255,   256,
2791     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
2792     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
2793     277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
2794     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
2795     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
2796     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
2797     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
2798     327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
2799     337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
2800     347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
2801     357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
2802     367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2803      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2804      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2805      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2806      -1,    -1,    -1,    -1,    -1,    -1,   413,   414,    -1,    -1,
2807      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2808      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2809      -1,     3,     4,     5,     6,     7,     8,     9,   445,    -1,
2810      -1,   448,   449,   450,   451,    17,    18,    19,    -1,    -1,
2811      -1,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2812      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
2813      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2814      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
2815      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2816      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
2817      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2818      92,    93,    94,    95,    96,    97,    98,    -1,    -1,    -1,
2819      -1,    -1,    -1,    -1,    -1,   107,    -1,   109,    -1,    -1,
2820      -1,    -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,
2821     122,    -1,   124,    -1,   126,    -1,    -1,    -1,    -1,    -1,
2822      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2823      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2824      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2825      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2826      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2827      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2828      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2829      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2830      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2831      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2832      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2833      -1,    -1,    -1,    -1,    -1,    -1,   248,   249,   250,   251,
2834     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
2835     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
2836     272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
2837     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
2838     292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
2839     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
2840     312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
2841     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
2842     332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
2843     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
2844     352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
2845     362,   363,   364,   365,   366,   367,    -1,    -1,    -1,    -1,
2846      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2847      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2848      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2849      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2850      -1,   413,   414,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2851      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2852      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2853       7,     8,     9,   445,    -1,    -1,   448,   449,   450,   451,
2854      17,    18,    19,    -1,    -1,    -1,    23,    24,    25,    26,
2855      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
2856      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
2857      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
2858      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
2859      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
2860      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
2861      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
2862      97,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2863     107,    -1,   109,    -1,    -1,    -1,    -1,   114,    -1,    -1,
2864      -1,   118,   119,   120,   121,   122,    -1,   124,    -1,   126,
2865      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2866      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2867      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2868      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2869      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2870      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2871      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2872      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2873      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2874      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2875      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2876      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2877      -1,   248,   249,   250,   251,   252,   253,   254,   255,   256,
2878     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
2879     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
2880     277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
2881     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
2882     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
2883     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
2884     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
2885     327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
2886     337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
2887     347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
2888     357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
2889     367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2890      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2891      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2892      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2893      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2894      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2895      -1,    -1,     9,    -1,    11,    12,    13,    14,    15,    16,
2896      17,    18,    19,   440,    21,    22,    23,    24,    25,    26,
2897      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
2898      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
2899      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
2900      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
2901      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
2902      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
2903      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
2904      97,    98,    -1,    -1,   101,   102,    -1,    -1,    -1,    -1,
2905     107,    -1,   109,    -1,    -1,   112,    -1,   114,   115,   116,
2906      -1,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
2907      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2908      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2909      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2910      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2911      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2912      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2913      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2914      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2915      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2916      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2917      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2918      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2919      -1,   248,   249,   250,   251,   252,   253,   254,   255,   256,
2920     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
2921     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
2922     277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
2923     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
2924     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
2925     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
2926     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
2927     327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
2928     337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
2929     347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
2930     357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
2931     367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2932      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2933      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2934      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2935      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2936      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2937      -1,     9,    -1,    11,    12,    13,    14,    15,    16,    17,
2938      18,    19,   439,    21,    22,    23,    24,    25,    26,    27,
2939      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
2940      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
2941      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
2942      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
2943      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
2944      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
2945      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
2946      98,    -1,    -1,   101,   102,    -1,    -1,    -1,    -1,   107,
2947      -1,   109,    -1,    -1,   112,    -1,   114,   115,   116,    -1,
2948     118,   119,   120,   121,   122,    -1,   124,   125,   126,    -1,
2949      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2950      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2951      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2952      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2953      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2954      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2955      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2956      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2957      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2958      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2959      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2960      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2961     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
2962     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
2963     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
2964     278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
2965     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
2966     298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
2967     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
2968     318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
2969     328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
2970     338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
2971     348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
2972     358,   359,   360,   361,   362,   363,   364,   365,   366,   367,
2973      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2974      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2975      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2976      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2977      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2978      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2979       9,    -1,    11,    12,    13,    14,    15,    16,    17,    18,
2980      19,   439,    21,    22,    23,    24,    25,    26,    27,    28,
2981      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
2982      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
2983      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
2984      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
2985      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
2986      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
2987      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
2988      -1,    -1,   101,   102,    -1,    -1,    -1,    -1,   107,    -1,
2989     109,    -1,    -1,   112,    -1,   114,   115,   116,    -1,   118,
2990     119,   120,   121,   122,    -1,   124,   125,   126,    -1,    -1,
2991      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2992      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2993      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2994      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2995      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2996      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2997      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2998      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2999      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3000      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3001      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3002      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   248,
3003     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
3004     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
3005     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
3006     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
3007     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
3008     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
3009     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
3010     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
3011     329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
3012     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
3013     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
3014     359,   360,   361,   362,   363,   364,   365,   366,   367,    -1,
3015      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3016      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3017      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3018      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3019      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3020      -1,    -1,    -1,    -1,    -1,     7,     8,     9,    -1,    -1,
3021      -1,    -1,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,
3022     439,    23,    24,    25,    26,    27,    28,    29,    30,    31,
3023      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3024      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3025      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
3026      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
3027      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
3028      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
3029      92,    93,    94,    95,    96,    97,    98,    -1,    -1,    -1,
3030      -1,    -1,    -1,    -1,    -1,   107,    -1,   109,    -1,    -1,
3031      -1,    -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,
3032     122,    -1,   124,    -1,   126,    -1,    -1,     9,    -1,    11,
3033      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
3034      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
3035      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3036      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3037      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
3038      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
3039      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
3040      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
3041      92,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
3042     102,    -1,    -1,    -1,    -1,   107,    -1,   109,    -1,    -1,
3043     112,    -1,   114,   115,   116,    -1,   118,   119,   120,   121,
3044     122,    -1,   124,   125,   126,    -1,   248,   249,   250,   251,
3045     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
3046     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
3047     272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
3048     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
3049     292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
3050     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
3051     312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
3052     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
3053     332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
3054     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
3055     352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
3056     362,   363,   364,   365,   366,   367,   248,   249,   250,   251,
3057     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
3058     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
3059     272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
3060     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
3061     292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
3062     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
3063     312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
3064     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
3065     332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
3066     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
3067     352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
3068     362,   363,   364,   365,   366,   367,     9,    -1,    11,    12,
3069      13,    14,    15,    16,    17,    18,    19,    -1,    21,    22,
3070      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
3071      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
3072      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
3073      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
3074      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
3075      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
3076      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
3077      93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
3078      -1,    -1,    -1,    -1,   107,    -1,   109,    -1,    -1,   112,
3079      -1,   114,   115,   116,    -1,   118,   119,   120,   121,   122,
3080      -1,   124,   125,   126,    -1,    -1,     9,    -1,    -1,    -1,
3081      -1,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
3082      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
3083      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
3084      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
3085      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
3086      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
3087      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
3088      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
3089      93,    94,    95,    96,    97,    98,    -1,    -1,    -1,    -1,
3090      -1,    -1,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
3091      -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,   122,
3092      -1,   124,    -1,   126,    -1,   248,   249,   250,   251,   252,
3093     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
3094     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
3095     273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
3096     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
3097     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
3098     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
3099     313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
3100     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
3101     333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
3102     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
3103     353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
3104     363,   364,   365,   366,   367,   248,   249,   250,   251,   252,
3105     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
3106     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
3107     273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
3108     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
3109     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
3110     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
3111     313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
3112     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
3113     333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
3114     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
3115     353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
3116     363,   364,   365,   366,   367,     9,    -1,    -1,    -1,    -1,
3117      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    23,
3118      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
3119      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
3120      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
3121      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
3122      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
3123      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
3124      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
3125      94,    95,    96,    97,    98,    -1,    -1,    -1,    -1,    -1,
3126      -1,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,    -1,
3127     114,    -1,    -1,    -1,   118,   119,   120,   121,   122,    -1,
3128     124,    -1,   126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3129      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3130      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3131      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3132      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3133      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3134      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3135      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3136      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3137      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3138      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3139      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3140      -1,    -1,    -1,    -1,   248,   249,   250,   251,   252,   253,
3141     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
3142     264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
3143     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
3144     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
3145     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
3146     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
3147     314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
3148     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
3149     334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
3150     344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
3151     354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
3152     364,   365,   366,   367
3153  };
3154
3155  /* STOS_[STATE-NUM] -- The (internal number of the) accessing
3156     symbol of state STATE-NUM.  */
3157  const unsigned short int
3158  LolFxParser::yystos_[] =
3159  {
3160         0,   225,   442,   465,   466,   467,   468,   474,   475,     7,
3161       8,   469,   469,   476,   477,     0,   466,     9,    11,    12,
3162      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
3163      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
3164      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
3165      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
3166      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
3167      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
3168      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
3169      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
3170      93,    94,    95,    96,    97,    98,   101,   102,   107,   109,
3171     112,   114,   115,   116,   118,   119,   120,   121,   122,   124,
3172     125,   126,   248,   249,   250,   251,   252,   253,   254,   255,
3173     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
3174     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
3175     276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
3176     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
3177     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
3178     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
3179     316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
3180     326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
3181     336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
3182     346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
3183     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
3184     366,   367,   463,   464,   507,   508,   509,   510,   511,   518,
3185     519,   520,   521,   522,   523,   527,   528,   529,   530,   531,
3186     532,   533,   534,   559,   560,   561,   438,   443,   444,   112,
3187     116,   112,   116,   445,   469,   533,   112,   116,   438,   469,
3188     438,   440,   545,   446,   447,    21,    22,   102,   112,   113,
3189     116,   125,   513,   514,   515,   516,   526,   440,   447,   469,
3190     522,   528,   528,   528,   440,   469,   529,   442,   530,   560,
3191     195,   470,   471,   476,   469,   524,   525,   530,    16,   527,
3192     529,   535,   536,   438,     3,     4,     5,     6,     7,     8,
3193      99,   100,   103,   104,   105,   106,   110,   111,   117,   123,
3194     127,   413,   414,   438,   439,   440,   445,   448,   449,   450,
3195     451,   469,   478,   479,   480,   482,   483,   484,   485,   486,
3196     487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
3197     497,   498,   499,   500,   501,   502,   503,   505,   507,   508,
3198     529,   540,   541,   542,   543,   546,   547,   548,   551,   553,
3199     554,   558,   513,   461,   512,   517,   529,   515,   469,   441,
3200     442,   445,   528,   438,   443,   489,   502,   506,   529,   469,
3201     439,   470,   441,   446,   447,   440,   529,   469,   537,   538,
3202     439,   536,   535,   440,   505,   440,   461,   440,   541,   445,
3203     445,   440,   505,   445,   445,   489,   489,   439,   546,   505,
3204     413,   414,   442,   444,   446,   446,   447,   126,   503,   445,
3205     424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
3206     441,   504,   489,   452,   453,   454,   448,   449,   419,   420,
3207     415,   416,   455,   456,   417,   418,   457,   458,   459,   421,
3208     423,   422,   460,   440,   447,   439,   541,   469,   469,   512,
3209     517,   441,   442,   503,   539,   443,   506,   535,   443,   438,
3210       4,   525,   537,   442,   440,   447,   439,   461,   127,   540,
3211     547,   555,   505,   440,   505,   505,   520,   527,   550,   439,
3212     446,   481,   505,     7,     8,   484,   503,   503,   489,   489,
3213     489,   491,   491,   492,   492,   493,   493,   493,   493,   494,
3214     494,   495,   496,   497,   498,   499,   500,   505,   503,   442,
3215     539,   443,   506,   441,   443,   439,     8,   173,   178,   181,
3216     197,   228,   246,   440,   472,   473,   440,   443,   506,   538,
3217     445,   550,   556,   557,   446,   446,   469,   446,   443,   461,
3218     506,   441,   443,   539,   441,   440,   469,   441,   442,   441,
3219     441,   441,   441,   442,   441,   439,   472,   443,   505,   440,
3220     446,   541,   549,   438,   441,   542,   544,   545,   503,   443,
3221     539,   441,   539,   440,   442,     3,     4,     8,   176,   238,
3222       4,     8,     8,     8,     8,     4,     8,   446,   505,   544,
3223     108,   546,   552,   539,   539,   443,   506,   440,   440,   440,
3224     440,   440,   443,   440,   440,   440,   440,   443,   440,   440,
3225     541,   439,   440,   443,   441,   441,   440,     4,     8,     8,
3226     192,   440,   440,   440,   440
3227  };
3228
3229#if YYDEBUG
3230  /* TOKEN_NUMBER_[YYLEX-NUM] -- Internal symbol number corresponding
3231     to YYLEX-NUM.  */
3232  const unsigned short int
3233  LolFxParser::yytoken_number_[] =
3234  {
3235         0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
3236     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
3237     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
3238     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
3239     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
3240     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
3241     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
3242     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
3243     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
3244     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
3245     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
3246     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
3247     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
3248     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
3249     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
3250     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
3251     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
3252     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
3253     435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
3254     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
3255     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
3256     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
3257     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
3258     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
3259     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
3260     505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
3261     515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
3262     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
3263     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
3264     545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
3265     555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
3266     565,   566,   567,   568,   569,   570,   571,   572,   573,   574,
3267     575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
3268     585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
3269     595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
3270     605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
3271     615,   616,   617,   618,   619,   620,   621,   622,   623,   624,
3272     625,   626,   627,   628,   629,   630,   631,   632,   633,   634,
3273     635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
3274     645,   646,   647,   648,   649,   650,   651,   652,   653,   654,
3275     655,   656,   657,   658,   659,   660,   661,   662,   663,   664,
3276     665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
3277     675,   676,   677,   678,   679,   680,   681,   682,   683,   684,
3278     685,   686,   687,   688,   689,   690,   691,   692,   123,   125,
3279      59,    61,    91,    93,    46,    40,    41,    44,    43,    45,
3280      33,   126,    42,    47,    37,    60,    62,    38,    94,   124,
3281      63,    58
3282  };
3283#endif
3284
3285  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
3286  const unsigned short int
3287  LolFxParser::yyr1_[] =
3288  {
3289         0,   462,   463,   463,   463,   463,   463,   463,   463,   463,
3290     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
3291     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
3292     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
3293     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
3294     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
3295     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
3296     463,   463,   463,   463,   463,   463,   463,   464,   464,   464,
3297     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
3298     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
3299     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
3300     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
3301     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
3302     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
3303     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
3304     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
3305     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
3306     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
3307     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
3308     464,   464,   464,   464,   464,   464,   464,   465,   466,   466,
3309     467,   467,   468,   469,   469,   470,   470,   471,   472,   472,
3310     473,   473,   473,   473,   473,   473,   473,   473,   473,   473,
3311     473,   473,   473,   473,   473,   474,   475,   476,   476,   477,
3312     478,   479,   479,   479,   479,   479,   479,   480,   480,   480,
3313     480,   480,   480,   481,   482,   483,   483,   484,   484,   485,
3314     485,   486,   486,   487,   488,   488,   488,   489,   489,   489,
3315     489,   490,   490,   490,   490,   491,   491,   491,   491,   492,
3316     492,   492,   493,   493,   493,   494,   494,   494,   494,   494,
3317     495,   495,   495,   496,   496,   497,   497,   498,   498,   499,
3318     499,   500,   500,   501,   501,   502,   502,   503,   503,   504,
3319     504,   504,   504,   504,   504,   504,   504,   504,   504,   504,
3320     505,   505,   506,   507,   507,   507,   507,   507,   507,   507,
3321     507,   508,   509,   509,   510,   510,   511,   512,   512,   513,
3322     513,   514,   514,   514,   514,   515,   515,   516,   516,   516,
3323     516,   516,   516,   517,   518,   518,   518,   518,   518,   518,
3324     518,   519,   519,   519,   519,   519,   519,   519,   519,   520,
3325     520,   521,   522,   522,   522,   523,   524,   524,   525,   525,
3326     526,   527,   527,   527,   527,   527,   527,   527,   527,   528,
3327     528,   528,   528,   528,   528,   528,   528,   528,   528,   528,
3328     528,   529,   529,   530,   530,   530,   531,   531,   532,   532,
3329     532,   532,   532,   532,   532,   532,   532,   532,   532,   532,
3330     532,   533,   533,   533,   534,   534,   535,   535,   536,   536,
3331     537,   537,   538,   538,   538,   539,   540,   541,   541,   542,
3332     542,   542,   542,   542,   542,   542,   543,   543,   544,   544,
3333     545,   545,   546,   546,   547,   547,   548,   549,   549,   550,
3334     550,   551,   552,   552,   553,   553,   554,   554,   554,   555,
3335     555,   556,   556,   557,   557,   558,   558,   558,   558,   558,
3336     559,   559,   560,   560,   561
3337  };
3338
3339  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
3340  const unsigned char
3341  LolFxParser::yyr2_[] =
3342  {
3343         0,     2,     1,     1,     1,     1,     1,     1,     1,     1,
3344       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3345       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3346       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3347       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3348       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3349       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3350       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3351       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3352       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3353       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3354       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3355       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3356       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3357       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3358       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3359       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3360       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3361       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3362       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
3363       1,     1,     5,     1,     1,     1,     2,     5,     1,     2,
3364       1,     4,     4,     4,     4,     4,     7,     7,     7,     7,
3365       4,     4,     4,     4,     4,     2,     3,     3,     1,     1,
3366       1,     1,     1,     1,     1,     1,     3,     1,     4,     1,
3367       3,     2,     2,     1,     1,     1,     3,     2,     2,     2,
3368       1,     2,     3,     2,     1,     1,     1,     1,     2,     2,
3369       2,     1,     1,     1,     1,     1,     3,     3,     3,     1,
3370       3,     3,     1,     3,     3,     1,     3,     3,     3,     3,
3371       1,     3,     3,     1,     3,     1,     3,     1,     3,     1,
3372       3,     1,     3,     1,     3,     1,     5,     1,     3,     1,
3373       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3374       1,     3,     1,     2,     2,     4,     6,     7,     9,    10,
3375       2,     2,     1,     1,     2,     3,     3,     2,     5,     3,
3376       1,     3,     2,     3,     2,     1,     1,     0,     1,     1,
3377       1,     1,     1,     1,     1,     3,     5,     6,     7,     8,
3378       5,     1,     2,     4,     5,     6,     7,     4,     2,     1,
3379       2,     1,     1,     1,     1,     4,     1,     3,     1,     3,
3380       1,     1,     1,     2,     2,     1,     2,     3,     1,     1,
3381       1,     1,     2,     2,     2,     2,     2,     2,     1,     1,
3382       1,     1,     2,     1,     3,     4,     1,     1,     1,     1,
3383       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3384       1,     1,     1,     1,     5,     4,     1,     2,     3,     4,
3385       1,     3,     1,     3,     4,     1,     1,     1,     1,     1,
3386       1,     1,     1,     1,     1,     1,     2,     3,     1,     1,
3387       2,     3,     1,     2,     1,     2,     5,     3,     1,     1,
3388       4,     7,     0,     1,     3,     2,     5,     7,     6,     1,
3389       1,     1,     0,     2,     3,     2,     2,     2,     3,     2,
3390       1,     2,     1,     1,     2
3391  };
3392
3393
3394  /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
3395     First, the terminals, then, starting at \a yyntokens_, nonterminals.  */
3396  const char*
3397  const LolFxParser::yytname_[] =
3398  {
3399    "T_END", "error", "$undefined", "BOOLCONSTANT", "INTCONSTANT",
3400  "UINTCONSTANT", "FLOATCONSTANT", "FIELDSELECTION", "IDENTIFIER",
3401  "TYPENAME", "GT_SUBROUTINE", "GT_PATCH", "GT_SAMPLE", "GT_FLAT",
3402  "GT_SMOOTH", "GT_LAYOUT", "GT_INVARIANT", "GT_HIGHP", "GT_MEDIUMP",
3403  "GT_LOWP", "GT_PRECISION", "GT_ATTRIBUTE", "GT_VARYING", "GT_VEC2",
3404  "GT_VEC3", "GT_VEC4", "GT_BVEC2", "GT_BVEC3", "GT_BVEC4", "GT_DVEC2",
3405  "GT_DVEC3", "GT_DVEC4", "GT_IVEC2", "GT_IVEC3", "GT_IVEC4", "GT_UVEC2",
3406  "GT_UVEC3", "GT_UVEC4", "GT_MAT2", "GT_MAT2X2", "GT_MAT2X3", "GT_MAT2X4",
3407  "GT_MAT3", "GT_MAT3X2", "GT_MAT3X3", "GT_MAT3X4", "GT_MAT4", "GT_MAT4X2",
3408  "GT_MAT4X3", "GT_MAT4X4", "GT_DMAT2", "GT_DMAT2X2", "GT_DMAT2X3",
3409  "GT_DMAT2X4", "GT_DMAT3", "GT_DMAT3X2", "GT_DMAT3X3", "GT_DMAT3X4",
3410  "GT_DMAT4", "GT_DMAT4X2", "GT_DMAT4X3", "GT_DMAT4X4",
3411  "GT_SAMPLER1DSHADOW", "GT_SAMPLER1DARRAY", "GT_SAMPLER1DARRAYSHADOW",
3412  "GT_SAMPLER2DSHADOW", "GT_SAMPLER2DARRAY", "GT_SAMPLER2DARRAYSHADOW",
3413  "GT_SAMPLER2DRECT", "GT_SAMPLER2DRECTSHADOW", "GT_SAMPLER2DMS",
3414  "GT_SAMPLER2DMSARRAY", "GT_SAMPLERCUBESHADOW", "GT_SAMPLERCUBEARRAY",
3415  "GT_SAMPLERCUBEARRAYSHADOW", "GT_SAMPLERBUFFER", "GT_ISAMPLER1D",
3416  "GT_ISAMPLER1DARRAY", "GT_ISAMPLER2D", "GT_ISAMPLER2DARRAY",
3417  "GT_ISAMPLER2DRECT", "GT_ISAMPLER2DMS", "GT_ISAMPLER2DMSARRAY",
3418  "GT_ISAMPLER3D", "GT_ISAMPLERCUBE", "GT_ISAMPLERCUBEARRAY",
3419  "GT_ISAMPLERBUFFER", "GT_USAMPLER1D", "GT_USAMPLER1DARRAY",
3420  "GT_USAMPLER2D", "GT_USAMPLER2DARRAY", "GT_USAMPLER2DRECT",
3421  "GT_USAMPLER2DMS", "GT_USAMPLER2DMSARRAY", "GT_USAMPLER3D",
3422  "GT_USAMPLERCUBE", "GT_USAMPLERCUBEARRAY", "GT_USAMPLERBUFFER",
3423  "GHT_BOOL", "GHT_BREAK", "GHT_CASE", "GHT_CENTROID", "GHT_CONST",
3424  "GHT_CONTINUE", "GHT_DEFAULT", "GHT_DISCARD", "GHT_DO", "GHT_DOUBLE",
3425  "GHT_ELSE", "GHT_FLOAT", "GHT_FOR", "GHT_IF", "GHT_IN", "GHT_INOUT",
3426  "GHT_INT", "GHT_NOPERSPECTIVE", "GHT_OUT", "GHT_RETURN", "GHT_SAMPLER1D",
3427  "GHT_SAMPLER2D", "GHT_SAMPLER3D", "GHT_SAMPLERCUBE", "GHT_STRUCT",
3428  "GHT_SWITCH", "GHT_UINT", "GHT_UNIFORM", "GHT_VOID", "GHT_WHILE",
3429  "HGT_BOOL", "HGT_BREAK", "HGT_CASE", "HGT_CENTROID", "HGT_CONST",
3430  "HGT_CONTINUE", "HGT_DEFAULT", "HGT_DISCARD", "HGT_DO", "HGT_DOUBLE",
3431  "HGT_ELSE", "HGT_FLOAT", "HGT_FOR", "HGT_IF", "HGT_IN", "HGT_INOUT",
3432  "HGT_INT", "HGT_NOPERSPECTIVE", "HGT_OUT", "HGT_RETURN", "HGT_SAMPLER1D",
3433  "HGT_SAMPLER2D", "HGT_SAMPLER3D", "HGT_SAMPLERCUBE", "HGT_STRUCT",
3434  "HGT_SWITCH", "HGT_UINT", "HGT_UNIFORM", "HGT_VOID", "HGT_WHILE",
3435  "HT_APPENDSTRUCTUREDBUFFER", "HT_ASM", "HT_ASM_FRAGMENT",
3436  "HT_BLENDSTATE", "HT_BUFFER", "HT_BYTEADDRESSBUFFER", "HT_CBUFFER",
3437  "HT_COLUMN_MAJOR", "HT_COMPILE", "HT_COMPILE_FRAGMENT",
3438  "HT_COMPILESHADER", "HT_COMPUTESHADER", "HT_CONSUMESTRUCTUREDBUFFER",
3439  "HT_DEPTHSTENCILSTATE", "HT_DEPTHSTENCILVIEW", "HT_DOMAINSHADER",
3440  "HT_DWORD", "HT_EXTERN", "HT_FALSE", "HT_FXGROUP", "HT_GEOMETRYSHADER",
3441  "HT_GROUPSHARED", "HT_HALF", "HT_HULLSHADER", "HT_INLINE",
3442  "HT_INPUTPATCH", "HT_INTERFACE", "HT_LINE", "HT_LINEADJ", "HT_LINEAR",
3443  "HT_LINESTREAM", "HT_MATRIX", "HT_NAMESPACE", "HT_NOINTERPOLATION",
3444  "HT_NULL", "HT_OUTPUTPATCH", "HT_PACKOFFSET", "HT_PASS",
3445  "HT_PIXELFRAGMENT", "HT_PIXELSHADER", "HT_POINT", "HT_POINTSTREAM",
3446  "HT_PRECISE", "HT_RASTERIZERSTATE", "HT_RENDERTARGETVIEW", "HT_REGISTER",
3447  "HT_ROW_MAJOR", "HT_RWBUFFER", "HT_RWBYTEADDRESSBUFFER",
3448  "HT_RWSTRUCTUREDBUFFER", "HT_RWTEXTURE1D", "HT_RWTEXTURE1DARRAY",
3449  "HT_RWTEXTURE2D", "HT_RWTEXTURE2DARRAY", "HT_RWTEXTURE3D", "HT_SAMPLER",
3450  "HT_SAMPLER_STATE", "HT_SAMPLERSTATE", "HT_SAMPLERCOMPARISONSTATE",
3451  "HT_SHARED", "HT_SNORM", "HT_STATEBLOCK", "HT_STATEBLOCK_STATE",
3452  "HT_STATIC", "HT_STRING", "HT_STRUCTUREDBUFFER", "HT_TBUFFER",
3453  "HT_TECHNIQUE", "HT_TECHNIQUE10", "HT_TECHNIQUE11XZ", "HT_TEXTURE",
3454  "HT_TEXTURE1D", "HT_TEXTURE1DARRAY", "HT_TEXTURE2D", "HT_TEXTURE2DARRAY",
3455  "HT_TEXTURE2DMS", "HT_TEXTURE2DMSARRAY", "HT_TEXTURE3D",
3456  "HT_TEXTURECUBE", "HT_TEXTURECUBEARRAY", "HT_TRUE", "HT_TYPEDEF",
3457  "HT_TRIANGLE", "HT_TRIANGLEADJ", "HT_TRIANGLESTREAM", "HT_UNORM",
3458  "HT_VECTOR", "HT_VERTEXFRAGMENT", "HT_VERTEXSHADER", "HT_VOLATILE",
3459  "HT_BOOL1", "HT_BOOL1x1", "HT_BOOL2x1", "HT_BOOL3x1", "HT_BOOL4x1",
3460  "HT_BOOL2", "HT_BOOL1x2", "HT_BOOL2x2", "HT_BOOL3x2", "HT_BOOL4x2",
3461  "HT_BOOL3", "HT_BOOL1x3", "HT_BOOL2x3", "HT_BOOL3x3", "HT_BOOL4x3",
3462  "HT_BOOL4", "HT_BOOL1x4", "HT_BOOL2x4", "HT_BOOL3x4", "HT_BOOL4x4",
3463  "HT_FLOAT1", "HT_FLOAT1x1", "HT_FLOAT2x1", "HT_FLOAT3x1", "HT_FLOAT4x1",
3464  "HT_FLOAT2", "HT_FLOAT1x2", "HT_FLOAT2x2", "HT_FLOAT3x2", "HT_FLOAT4x2",
3465  "HT_FLOAT3", "HT_FLOAT1x3", "HT_FLOAT2x3", "HT_FLOAT3x3", "HT_FLOAT4x3",
3466  "HT_FLOAT4", "HT_FLOAT1x4", "HT_FLOAT2x4", "HT_FLOAT3x4", "HT_FLOAT4x4",
3467  "HT_DOUBLE1", "HT_DOUBLE1x1", "HT_DOUBLE2x1", "HT_DOUBLE3x1",
3468  "HT_DOUBLE4x1", "HT_DOUBLE2", "HT_DOUBLE1x2", "HT_DOUBLE2x2",
3469  "HT_DOUBLE3x2", "HT_DOUBLE4x2", "HT_DOUBLE3", "HT_DOUBLE1x3",
3470  "HT_DOUBLE2x3", "HT_DOUBLE3x3", "HT_DOUBLE4x3", "HT_DOUBLE4",
3471  "HT_DOUBLE1x4", "HT_DOUBLE2x4", "HT_DOUBLE3x4", "HT_DOUBLE4x4",
3472  "HT_DWORD1", "HT_DWORD1x1", "HT_DWORD2x1", "HT_DWORD3x1", "HT_DWORD4x1",
3473  "HT_DWORD2", "HT_DWORD1x2", "HT_DWORD2x2", "HT_DWORD3x2", "HT_DWORD4x2",
3474  "HT_DWORD3", "HT_DWORD1x3", "HT_DWORD2x3", "HT_DWORD3x3", "HT_DWORD4x3",
3475  "HT_DWORD4", "HT_DWORD1x4", "HT_DWORD2x4", "HT_DWORD3x4", "HT_DWORD4x4",
3476  "HT_INT1", "HT_INT1x1", "HT_INT2x1", "HT_INT3x1", "HT_INT4x1", "HT_INT2",
3477  "HT_INT1x2", "HT_INT2x2", "HT_INT3x2", "HT_INT4x2", "HT_INT3",
3478  "HT_INT1x3", "HT_INT2x3", "HT_INT3x3", "HT_INT4x3", "HT_INT4",
3479  "HT_INT1x4", "HT_INT2x4", "HT_INT3x4", "HT_INT4x4", "HT_UINT1",
3480  "HT_UINT1x1", "HT_UINT2x1", "HT_UINT3x1", "HT_UINT4x1", "HT_UINT2",
3481  "HT_UINT1x2", "HT_UINT2x2", "HT_UINT3x2", "HT_UINT4x2", "HT_UINT3",
3482  "HT_UINT1x3", "HT_UINT2x3", "HT_UINT3x3", "HT_UINT4x3", "HT_UINT4",
3483  "HT_UINT1x4", "HT_UINT2x4", "HT_UINT3x4", "HT_UINT4x4",
3484  "PREPROCESSOR_DEFINE", "PREPROCESSOR_ELIF", "PREPROCESSOR_ELSE",
3485  "PREPROCESSOR_ENDIF", "PREPROCESSOR_ERROR", "PREPROCESSOR_IF",
3486  "PREPROCESSOR_IFDEF", "PREPROCESSOR_IFNDEF", "PREPROCESSOR_INCLUDE",
3487  "PREPROCESSOR_LINE", "PREPROCESSOR_PRAGMA", "PREPROCESSOR_UNDEF",
3488  "PREPROCESSOR_REGION", "HT_AUTO", "HT_CATCH", "HT_CHAR", "HT_CLASS",
3489  "HT_CONST_CAST", "HT_DELETE", "HT_DYNAMIC_CAST", "HT_ENUM",
3490  "HT_EXPLICIT", "HT_FRIEND", "HT_GOTO", "HT_LONG", "HT_MUTABLE", "HT_NEW",
3491  "HT_OPERATOR", "HT_PRIVATE", "HT_PROTECTED", "HT_PUBLIC",
3492  "HT_REINTERPRET_CAST", "HT_SHORT", "HT_SIGNED", "HT_SIZEOF",
3493  "HT_STATIC_CAST", "HT_TEMPLATE", "HT_THIS", "HT_THROW", "HT_TRY",
3494  "HT_TYPENAME", "HT_UNION", "HT_UNSIGNED", "HT_USING", "HT_VIRTUAL",
3495  "T_INC", "T_DEC", "T_LE", "T_GE", "T_EQ", "T_NE", "T_LEFT", "T_RIGHT",
3496  "T_AND", "T_OR", "T_XOR", "T_MULEQ", "T_DIVEQ", "T_MODEQ", "T_ADDEQ",
3497  "T_SUBEQ", "T_LEFTEQ", "T_RIGHTEQ", "T_ANDEQ", "T_XOREQ", "T_OREQ",
3498  "FLOAT", "STRING", "NAME", "T_ERROR", "'{'", "'}'", "';'", "'='", "'['",
3499  "']'", "'.'", "'('", "')'", "','", "'+'", "'-'", "'!'", "'~'", "'*'",
3500  "'/'", "'%'", "'<'", "'>'", "'&'", "'^'", "'|'", "'?'", "':'", "$accept",
3501  "group_glsl_type", "group_hlsl_type", "lolfx_file", "lolfx_section_list",
3502  "lolfx_section", "lolfx_technique", "lolfx_identifier", "pass_list",
3503  "pass", "pass_stmt_list", "pass_stmt", "lolfx_shader",
3504  "lolfx_shader_declaration", "lolfx_shader_name_list",
3505  "lolfx_shader_name", "glsl_variable_identifier",
3506  "glsl_primary_expression", "glsl_postfix_expression",
3507  "glsl_integer_expression", "glsl_function_call",
3508  "glsl_function_call_or_method", "glsl_function_call_generic",
3509  "glsl_function_call_header_no_parameters",
3510  "glsl_function_call_header_with_parameters", "glsl_function_call_header",
3511  "glsl_function_identifier", "glsl_unary_expression",
3512  "glsl_unary_operator", "glsl_multiplicative_expression",
3513  "glsl_additive_expression", "glsl_shift_expression",
3514  "glsl_relational_expression", "glsl_equality_expression",
3515  "glsl_and_expression", "glsl_exclusive_or_expression",
3516  "glsl_inclusive_or_expression", "glsl_logical_and_expression",
3517  "glsl_logical_xor_expression", "glsl_logical_or_expression",
3518  "glsl_conditional_expression", "glsl_assignment_expression",
3519  "glsl_assignment_operator", "glsl_expression",
3520  "glsl_constant_expression", "glsl_declaration",
3521  "glsl_function_prototype", "glsl_function_declarator",
3522  "glsl_function_header_with_parameters", "glsl_function_header",
3523  "glsl_parameter_declarator", "lolfx_parameter_declaration",
3524  "glsl_parameter_declaration", "lolfx_parameter_qualifier",
3525  "glsl_parameter_qualifier", "glsl_parameter_type_specifier",
3526  "glsl_init_declarator_list", "glsl_single_declaration",
3527  "glsl_fully_specified_type", "glsl_invariant_qualifier",
3528  "glsl_interpolation_qualifier", "glsl_layout_qualifier",
3529  "glsl_layout_qualifier_id_list", "glsl_layout_qualifier_id",
3530  "glsl_parameter_type_qualifier", "glsl_type_qualifier",
3531  "glsl_storage_qualifier", "glsl_type_specifier",
3532  "glsl_type_specifier_no_prec", "lolfx_type_specifier_nonarray",
3533  "glsl_type_specifier_nonarray", "glsl_precision_qualifier",
3534  "glsl_struct_specifier", "glsl_struct_declaration_list",
3535  "glsl_struct_declaration", "glsl_struct_declarator_list",
3536  "glsl_struct_declarator", "glsl_initializer",
3537  "glsl_declaration_statement", "glsl_statement", "glsl_simple_statement",
3538  "glsl_compound_statement", "glsl_statement_no_new_scope",
3539  "glsl_compound_statement_no_new_scope", "glsl_statement_list",
3540  "glsl_expression_statement", "glsl_selection_statement",
3541  "glsl_selection_rest_statement", "glsl_condition",
3542  "glsl_switch_statement", "glsl_switch_statement_list", "glsl_case_label",
3543  "glsl_iteration_statement", "glsl_for_init_statement",
3544  "glsl_conditionopt", "glsl_for_rest_statement", "glsl_jump_statement",
3545  "glsl_translation_unit", "glsl_external_declaration",
3546  "glsl_function_definition", YY_NULL
3547  };
3548
3549#if YYDEBUG
3550  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
3551  const LolFxParser::rhs_number_type
3552  LolFxParser::yyrhs_[] =
3553  {
3554       465,     0,    -1,    23,    -1,    24,    -1,    25,    -1,    26,
3555      -1,    27,    -1,    28,    -1,    29,    -1,    30,    -1,    31,
3556      -1,    32,    -1,    33,    -1,    34,    -1,    35,    -1,    36,
3557      -1,    37,    -1,    38,    -1,    39,    -1,    40,    -1,    41,
3558      -1,    42,    -1,    43,    -1,    44,    -1,    45,    -1,    46,
3559      -1,    47,    -1,    48,    -1,    49,    -1,    50,    -1,    51,
3560      -1,    52,    -1,    53,    -1,    54,    -1,    55,    -1,    56,
3561      -1,    57,    -1,    58,    -1,    59,    -1,    60,    -1,    61,
3562      -1,    62,    -1,    63,    -1,    64,    -1,    65,    -1,    66,
3563      -1,    67,    -1,    68,    -1,    69,    -1,    70,    -1,    71,
3564      -1,    72,    -1,    73,    -1,    74,    -1,    75,    -1,    76,
3565      -1,    77,    -1,    78,    -1,    79,    -1,    80,    -1,    81,
3566      -1,    82,    -1,    83,    -1,    84,    -1,    85,    -1,    86,
3567      -1,    87,    -1,    88,    -1,    89,    -1,    90,    -1,    91,
3568      -1,    92,    -1,    93,    -1,    94,    -1,    95,    -1,    96,
3569      -1,    97,    -1,   248,    -1,   249,    -1,   250,    -1,   251,
3570      -1,   252,    -1,   253,    -1,   254,    -1,   255,    -1,   256,
3571      -1,   257,    -1,   258,    -1,   259,    -1,   260,    -1,   261,
3572      -1,   262,    -1,   263,    -1,   264,    -1,   265,    -1,   266,
3573      -1,   267,    -1,   268,    -1,   269,    -1,   270,    -1,   271,
3574      -1,   272,    -1,   273,    -1,   274,    -1,   275,    -1,   276,
3575      -1,   277,    -1,   278,    -1,   279,    -1,   280,    -1,   281,
3576      -1,   282,    -1,   283,    -1,   284,    -1,   285,    -1,   286,
3577      -1,   287,    -1,   288,    -1,   289,    -1,   290,    -1,   291,
3578      -1,   292,    -1,   293,    -1,   294,    -1,   295,    -1,   296,
3579      -1,   297,    -1,   298,    -1,   299,    -1,   300,    -1,   301,
3580      -1,   302,    -1,   303,    -1,   304,    -1,   305,    -1,   306,
3581      -1,   307,    -1,   308,    -1,   309,    -1,   310,    -1,   311,
3582      -1,   312,    -1,   313,    -1,   314,    -1,   315,    -1,   316,
3583      -1,   317,    -1,   318,    -1,   319,    -1,   320,    -1,   321,
3584      -1,   322,    -1,   323,    -1,   324,    -1,   325,    -1,   326,
3585      -1,   327,    -1,   328,    -1,   329,    -1,   330,    -1,   331,
3586      -1,   332,    -1,   333,    -1,   334,    -1,   335,    -1,   336,
3587      -1,   337,    -1,   338,    -1,   339,    -1,   340,    -1,   341,
3588      -1,   342,    -1,   343,    -1,   344,    -1,   345,    -1,   346,
3589      -1,   347,    -1,   348,    -1,   349,    -1,   350,    -1,   351,
3590      -1,   352,    -1,   353,    -1,   354,    -1,   355,    -1,   356,
3591      -1,   357,    -1,   358,    -1,   359,    -1,   360,    -1,   361,
3592      -1,   362,    -1,   363,    -1,   364,    -1,   365,    -1,   366,
3593      -1,   367,    -1,   466,    -1,   467,    -1,   467,   466,    -1,
3594     468,    -1,   474,    -1,   225,   469,   438,   470,   439,    -1,
3595       8,    -1,     7,    -1,   471,    -1,   471,   470,    -1,   195,
3596     469,   438,   472,   439,    -1,   473,    -1,   473,   472,    -1,
3597     440,    -1,     8,   441,     8,   440,    -1,     8,   441,     4,
3598     440,    -1,     8,   441,     3,   440,    -1,     8,   441,   176,
3599     440,    -1,     8,   441,   238,   440,    -1,     8,   442,     4,
3600     443,   441,     8,   440,    -1,     8,   442,     4,   443,   441,
3601       4,   440,    -1,   228,   442,     4,   443,   441,     8,   440,
3602      -1,   228,   442,     4,   443,   441,   192,   440,    -1,   173,
3603     441,     8,   440,    -1,   178,   441,     8,   440,    -1,   181,
3604     441,     8,   440,    -1,   197,   441,     8,   440,    -1,   246,
3605     441,     8,   440,    -1,   475,   559,    -1,   442,   476,   443,
3606      -1,   477,   444,   476,    -1,   477,    -1,   469,    -1,   469,
3607      -1,   478,    -1,     4,    -1,     5,    -1,     6,    -1,     3,
3608      -1,   445,   505,   446,    -1,   479,    -1,   480,   442,   481,
3609     443,    -1,   482,    -1,   480,   444,     7,    -1,   480,   413,
3610      -1,   480,   414,    -1,   505,    -1,   483,    -1,   484,    -1,
3611     480,   444,   484,    -1,   486,   446,    -1,   485,   446,    -1,
3612     487,   126,    -1,   487,    -1,   487,   503,    -1,   486,   447,
3613     503,    -1,   488,   445,    -1,   529,    -1,     8,    -1,     7,
3614      -1,   480,    -1,   413,   489,    -1,   414,   489,    -1,   490,
3615     489,    -1,   448,    -1,   449,    -1,   450,    -1,   451,    -1,
3616     489,    -1,   491,   452,   489,    -1,   491,   453,   489,    -1,
3617     491,   454,   489,    -1,   491,    -1,   492,   448,   491,    -1,
3618     492,   449,   491,    -1,   492,    -1,   493,   419,   492,    -1,
3619     493,   420,   492,    -1,   493,    -1,   494,   455,   493,    -1,
3620     494,   456,   493,    -1,   494,   415,   493,    -1,   494,   416,
3621     493,    -1,   494,    -1,   495,   417,   494,    -1,   495,   418,
3622     494,    -1,   495,    -1,   496,   457,   495,    -1,   496,    -1,
3623     497,   458,   496,    -1,   497,    -1,   498,   459,   497,    -1,
3624     498,    -1,   499,   421,   498,    -1,   499,    -1,   500,   423,
3625     499,    -1,   500,    -1,   501,   422,   500,    -1,   501,    -1,
3626     501,   460,   505,   461,   503,    -1,   502,    -1,   489,   504,
3627     503,    -1,   441,    -1,   424,    -1,   425,    -1,   426,    -1,
3628     427,    -1,   428,    -1,   429,    -1,   430,    -1,   431,    -1,
3629     432,    -1,   433,    -1,   503,    -1,   505,   447,   503,    -1,
3630     502,    -1,   508,   440,    -1,   518,   440,    -1,    20,   533,
3631     530,   440,    -1,   527,   469,   438,   535,   439,   440,    -1,
3632     527,   469,   438,   535,   439,   469,   440,    -1,   527,   469,
3633     438,   535,   439,   469,   442,   443,   440,    -1,   527,   469,
3634     438,   535,   439,   469,   442,   506,   443,   440,    -1,   527,
3635     440,    -1,   509,   446,    -1,   511,    -1,   510,    -1,   511,
3636     513,    -1,   510,   447,   513,    -1,   520,   469,   445,    -1,
3637     529,   469,    -1,   529,   469,   442,   506,   443,    -1,   514,
3638     461,   469,    -1,   514,    -1,   526,   515,   512,    -1,   515,
3639     512,    -1,   526,   515,   517,    -1,   515,   517,    -1,   516,
3640      -1,   125,    -1,    -1,   112,    -1,   116,    -1,   113,    -1,
3641      21,    -1,    22,    -1,   529,    -1,   519,    -1,   518,   447,
3642     469,    -1,   518,   447,   469,   442,   443,    -1,   518,   447,
3643     469,   442,   506,   443,    -1,   518,   447,   469,   442,   443,
3644     441,   539,    -1,   518,   447,   469,   442,   506,   443,   441,
3645     539,    -1,   518,   447,   469,   441,   539,    -1,   520,    -1,
3646     520,   469,    -1,   520,   469,   442,   443,    -1,   520,   469,
3647     442,   506,   443,    -1,   520,   469,   442,   443,   441,   539,
3648      -1,   520,   469,   442,   506,   443,   441,   539,    -1,   520,
3649     469,   441,   539,    -1,    16,   469,    -1,   529,    -1,   527,
3650     529,    -1,    16,    -1,    14,    -1,    13,    -1,   115,    -1,
3651      15,   445,   524,   446,    -1,   525,    -1,   524,   447,   525,
3652      -1,   469,    -1,   469,   441,     4,    -1,   102,    -1,   528,
3653      -1,   523,    -1,   523,   528,    -1,   522,   528,    -1,   522,
3654      -1,   521,   528,    -1,   521,   522,   528,    -1,   521,    -1,
3655     102,    -1,   112,    -1,   116,    -1,   101,   112,    -1,   101,
3656     116,    -1,    11,   112,    -1,    11,   116,    -1,    12,   112,
3657      -1,    12,   116,    -1,   125,    -1,    21,    -1,    22,    -1,
3658     530,    -1,   533,   530,    -1,   531,    -1,   531,   442,   443,
3659      -1,   531,   442,   506,   443,    -1,   532,    -1,   464,    -1,
3660     126,    -1,   109,    -1,   107,    -1,   114,    -1,   124,    -1,
3661      98,    -1,   463,    -1,   118,    -1,   119,    -1,   120,    -1,
3662     121,    -1,   534,    -1,     9,    -1,    17,    -1,    18,    -1,
3663      19,    -1,   122,   469,   438,   535,   439,    -1,   122,   438,
3664     535,   439,    -1,   536,    -1,   535,   536,    -1,   529,   537,
3665     440,    -1,   527,   529,   537,   440,    -1,   538,    -1,   537,
3666     447,   538,    -1,   469,    -1,   469,   442,   443,    -1,   469,
3667     442,   506,   443,    -1,   503,    -1,   507,    -1,   543,    -1,
3668     542,    -1,   540,    -1,   547,    -1,   548,    -1,   551,    -1,
3669     553,    -1,   554,    -1,   558,    -1,   438,   439,    -1,   438,
3670     546,   439,    -1,   545,    -1,   542,    -1,   438,   439,    -1,
3671     438,   546,   439,    -1,   541,    -1,   546,   541,    -1,   440,
3672      -1,   505,   440,    -1,   111,   445,   505,   446,   549,    -1,
3673     541,   108,   541,    -1,   541,    -1,   505,    -1,   520,   469,
3674     441,   539,    -1,   123,   445,   505,   446,   438,   552,   439,
3675      -1,    -1,   546,    -1,   100,   505,   461,    -1,   104,   461,
3676      -1,   127,   445,   550,   446,   544,    -1,   106,   541,   127,
3677     445,   505,   446,   440,    -1,   110,   445,   555,   557,   446,
3678     544,    -1,   547,    -1,   540,    -1,   550,    -1,    -1,   556,
3679     440,    -1,   556,   440,   505,    -1,   103,   440,    -1,    99,
3680     440,    -1,   117,   440,    -1,   117,   505,   440,    -1,   105,
3681     440,    -1,   560,    -1,   559,   560,    -1,   561,    -1,   507,
3682      -1,   508,   545,    -1
3683  };
3684
3685  /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
3686     YYRHS.  */
3687  const unsigned short int
3688  LolFxParser::yyprhs_[] =
3689  {
3690         0,     0,     3,     5,     7,     9,    11,    13,    15,    17,
3691      19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
3692      39,    41,    43,    45,    47,    49,    51,    53,    55,    57,
3693      59,    61,    63,    65,    67,    69,    71,    73,    75,    77,
3694      79,    81,    83,    85,    87,    89,    91,    93,    95,    97,
3695      99,   101,   103,   105,   107,   109,   111,   113,   115,   117,
3696     119,   121,   123,   125,   127,   129,   131,   133,   135,   137,
3697     139,   141,   143,   145,   147,   149,   151,   153,   155,   157,
3698     159,   161,   163,   165,   167,   169,   171,   173,   175,   177,
3699     179,   181,   183,   185,   187,   189,   191,   193,   195,   197,
3700     199,   201,   203,   205,   207,   209,   211,   213,   215,   217,
3701     219,   221,   223,   225,   227,   229,   231,   233,   235,   237,
3702     239,   241,   243,   245,   247,   249,   251,   253,   255,   257,
3703     259,   261,   263,   265,   267,   269,   271,   273,   275,   277,
3704     279,   281,   283,   285,   287,   289,   291,   293,   295,   297,
3705     299,   301,   303,   305,   307,   309,   311,   313,   315,   317,
3706     319,   321,   323,   325,   327,   329,   331,   333,   335,   337,
3707     339,   341,   343,   345,   347,   349,   351,   353,   355,   357,
3708     359,   361,   363,   365,   367,   369,   371,   373,   375,   377,
3709     379,   381,   383,   385,   387,   389,   391,   393,   395,   397,
3710     400,   402,   404,   410,   412,   414,   416,   419,   425,   427,
3711     430,   432,   437,   442,   447,   452,   457,   465,   473,   481,
3712     489,   494,   499,   504,   509,   514,   517,   521,   525,   527,
3713     529,   531,   533,   535,   537,   539,   541,   545,   547,   552,
3714     554,   558,   561,   564,   566,   568,   570,   574,   577,   580,
3715     583,   585,   588,   592,   595,   597,   599,   601,   603,   606,
3716     609,   612,   614,   616,   618,   620,   622,   626,   630,   634,
3717     636,   640,   644,   646,   650,   654,   656,   660,   664,   668,
3718     672,   674,   678,   682,   684,   688,   690,   694,   696,   700,
3719     702,   706,   708,   712,   714,   718,   720,   726,   728,   732,
3720     734,   736,   738,   740,   742,   744,   746,   748,   750,   752,
3721     754,   756,   760,   762,   765,   768,   773,   780,   788,   798,
3722     809,   812,   815,   817,   819,   822,   826,   830,   833,   839,
3723     843,   845,   849,   852,   856,   859,   861,   863,   864,   866,
3724     868,   870,   872,   874,   876,   878,   882,   888,   895,   903,
3725     912,   918,   920,   923,   928,   934,   941,   949,   954,   957,
3726     959,   962,   964,   966,   968,   970,   975,   977,   981,   983,
3727     987,   989,   991,   993,   996,   999,  1001,  1004,  1008,  1010,
3728    1012,  1014,  1016,  1019,  1022,  1025,  1028,  1031,  1034,  1036,
3729    1038,  1040,  1042,  1045,  1047,  1051,  1056,  1058,  1060,  1062,
3730    1064,  1066,  1068,  1070,  1072,  1074,  1076,  1078,  1080,  1082,
3731    1084,  1086,  1088,  1090,  1092,  1098,  1103,  1105,  1108,  1112,
3732    1117,  1119,  1123,  1125,  1129,  1134,  1136,  1138,  1140,  1142,
3733    1144,  1146,  1148,  1150,  1152,  1154,  1156,  1159,  1163,  1165,
3734    1167,  1170,  1174,  1176,  1179,  1181,  1184,  1190,  1194,  1196,
3735    1198,  1203,  1211,  1212,  1214,  1218,  1221,  1227,  1235,  1242,
3736    1244,  1246,  1248,  1249,  1252,  1256,  1259,  1262,  1265,  1269,
3737    1272,  1274,  1277,  1279,  1281
3738  };
3739
3740  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
3741  const unsigned short int
3742  LolFxParser::yyrline_[] =
3743  {
3744         0,   259,   275,   276,   277,   278,   279,   280,   281,   282,
3745     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
3746     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
3747     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
3748     313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
3749     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
3750     333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
3751     343,   344,   345,   346,   347,   348,   349,   512,   513,   514,
3752     515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
3753     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
3754     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
3755     545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
3756     555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
3757     565,   566,   567,   568,   569,   570,   571,   572,   573,   574,
3758     575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
3759     585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
3760     595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
3761     605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
3762     615,   616,   617,   618,   619,   620,   621,   622,   623,   624,
3763     625,   626,   627,   628,   629,   630,   631,   714,   718,   719,
3764     723,   724,   732,   740,   741,   749,   750,   754,   758,   759,
3765     764,   765,   766,   767,   768,   769,   770,   771,   772,   773,
3766     774,   775,   776,   777,   778,   786,   790,   794,   795,   799,
3767     807,   811,   812,   813,   814,   815,   816,   820,   821,   822,
3768     823,   824,   825,   829,   833,   837,   838,   842,   843,   847,
3769     848,   852,   853,   857,   861,   862,   863,   867,   868,   869,
3770     870,   874,   875,   876,   877,   881,   882,   883,   884,   888,
3771     889,   890,   894,   895,   896,   900,   901,   902,   903,   904,
3772     908,   909,   910,   914,   915,   919,   920,   924,   925,   929,
3773     930,   934,   935,   939,   940,   944,   945,   949,   950,   954,
3774     955,   956,   957,   958,   959,   960,   961,   962,   963,   964,
3775     968,   969,   973,   977,   978,   979,   980,   981,   982,   983,
3776     984,   988,   992,   993,   997,   998,  1002,  1006,  1007,  1011,
3777    1012,  1016,  1017,  1018,  1019,  1023,  1024,  1027,  1029,  1030,
3778    1031,  1032,  1033,  1037,  1041,  1042,  1043,  1044,  1045,  1046,
3779    1047,  1051,  1052,  1053,  1054,  1055,  1056,  1057,  1058,  1062,
3780    1063,  1067,  1071,  1072,  1073,  1077,  1081,  1082,  1086,  1087,
3781    1091,  1095,  1096,  1097,  1098,  1099,  1100,  1101,  1102,  1106,
3782    1107,  1108,  1109,  1110,  1111,  1112,  1113,  1114,  1115,  1116,
3783    1117,  1121,  1122,  1126,  1127,  1128,  1131,  1132,  1136,  1137,
3784    1138,  1139,  1140,  1141,  1142,  1143,  1144,  1145,  1146,  1147,
3785    1148,  1152,  1153,  1154,  1158,  1159,  1163,  1164,  1168,  1169,
3786    1173,  1174,  1178,  1179,  1180,  1184,  1188,  1192,  1193,  1197,
3787    1198,  1199,  1200,  1201,  1202,  1203,  1207,  1208,  1212,  1213,
3788    1217,  1218,  1222,  1223,  1227,  1228,  1232,  1236,  1237,  1241,
3789    1242,  1246,  1249,  1251,  1255,  1256,  1260,  1261,  1262,  1266,
3790    1267,  1271,  1272,  1276,  1277,  1281,  1282,  1283,  1284,  1285,
3791    1289,  1290,  1294,  1295,  1299
3792  };
3793
3794  // Print the state stack on the debug stream.
3795  void
3796  LolFxParser::yystack_print_ ()
3797  {
3798    *yycdebug_ << "Stack now";
3799    for (state_stack_type::const_iterator i = yystate_stack_.begin ();
3800         i != yystate_stack_.end (); ++i)
3801      *yycdebug_ << ' ' << *i;
3802    *yycdebug_ << std::endl;
3803  }
3804
3805  // Report on the debug stream that the rule \a yyrule is going to be reduced.
3806  void
3807  LolFxParser::yy_reduce_print_ (int yyrule)
3808  {
3809    unsigned int yylno = yyrline_[yyrule];
3810    int yynrhs = yyr2_[yyrule];
3811    /* Print the symbols being reduced, and their result.  */
3812    *yycdebug_ << "Reducing stack by rule " << yyrule - 1
3813               << " (line " << yylno << "):" << std::endl;
3814    /* The symbols being reduced.  */
3815    for (int yyi = 0; yyi < yynrhs; yyi++)
3816      YY_SYMBOL_PRINT ("   $" << yyi + 1 << " =",
3817                       yyrhs_[yyprhs_[yyrule] + yyi],
3818                       &(yysemantic_stack_[(yynrhs) - (yyi + 1)]),
3819                       &(yylocation_stack_[(yynrhs) - (yyi + 1)]));
3820  }
3821#endif // YYDEBUG
3822
3823  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
3824  LolFxParser::token_number_type
3825  LolFxParser::yytranslate_ (int t)
3826  {
3827    static
3828    const token_number_type
3829    translate_table[] =
3830    {
3831           0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
3832       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
3833       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
3834       2,     2,     2,   450,     2,     2,     2,   454,   457,     2,
3835     445,   446,   452,   448,   447,   449,   444,   453,     2,     2,
3836       2,     2,     2,     2,     2,     2,     2,     2,   461,   440,
3837     455,   441,   456,   460,     2,     2,     2,     2,     2,     2,
3838       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
3839       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
3840       2,   442,     2,   443,   458,     2,     2,     2,     2,     2,
3841       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
3842       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
3843       2,     2,     2,   438,   459,   439,   451,     2,     2,     2,
3844       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
3845       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
3846       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
3847       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
3848       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
3849       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
3850       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
3851       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
3852       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
3853       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
3854       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
3855       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
3856       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
3857       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
3858      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
3859      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
3860      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
3861      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
3862      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
3863      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
3864      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
3865      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
3866      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
3867     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
3868     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
3869     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
3870     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
3871     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
3872     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
3873     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
3874     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
3875     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
3876     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
3877     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
3878     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
3879     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
3880     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
3881     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
3882     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
3883     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
3884     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
3885     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
3886     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
3887     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
3888     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
3889     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
3890     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
3891     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
3892     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
3893     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
3894     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
3895     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
3896     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
3897     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
3898     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
3899     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
3900     435,   436,   437
3901    };
3902    if ((unsigned int) t <= yyuser_token_number_max_)
3903      return translate_table[t];
3904    else
3905      return yyundef_token_;
3906  }
3907
3908  const int LolFxParser::yyeof_ = 0;
3909  const int LolFxParser::yylast_ = 10763;
3910  const int LolFxParser::yynnts_ = 100;
3911  const int LolFxParser::yyempty_ = -2;
3912  const int LolFxParser::yyfinal_ = 15;
3913  const int LolFxParser::yyterror_ = 1;
3914  const int LolFxParser::yyerrcode_ = 256;
3915  const int LolFxParser::yyntokens_ = 462;
3916
3917  const unsigned int LolFxParser::yyuser_token_number_max_ = 692;
3918  const LolFxParser::token_number_type LolFxParser::yyundef_token_ = 2;
3919
3920
3921} // lol
3922/* Line 1135 of lalr1.cc  */
3923#line 3924 "generated/lolfx-parser.cpp"
3924/* Line 1136 of lalr1.cc  */
3925#line 1302 "gpu/lolfx-parser.y"
3926
3927
3928void lol::LolFxParser::error(const LolFxParser::location_type& l,
3929                             const std::string& m)
3930{
3931    mc.Error(l, m);
3932}
3933
Note: See TracBrowser for help on using the repository browser.